(完整版)虚拟仪器学习心得总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟仪器学习心得总结
姓名:王水根
学号:1083420213
班级:0801101班
学院:电气学院
指导老师:付宁
虚拟仪器学习心得总结
王水根
刚开始接触虚拟仪器这个概念的时候是在大三的上学期,我不记得那天具体是什么日子了,只记得公寓前面展板上多了一个很大的海报,内容大概是哈工大虚拟仪器协会成立招新和第一届全国虚拟仪器设计大赛的相关说明。这是我第一次接触“虚拟仪器”这个当时陌生的新词。一看到这个词我马上想到我们经常用的仿真软件Multisim,那里面就有好多虚拟的电源、示波器、万用表,还有频谱分析仪、逻辑分析仪等。顿时,我觉得这个很有意思啊,要是能自己在电脑里设计一个示波器那就厉害了。可是那个虚拟的仪器又是怎么集成到其他电路仿真软件上的呢?还有虚拟仪器的定义到底是什么呢?不知道。所以我带着这些疑问上网查找和虚拟仪器的相关文档,看看虚拟仪器到底是一个什么东西,虚拟仪器在哪些领域有应用。
后来,我参加了协会组织的招新,初次接触了Labview,在花了一个通宵做完招新布置的作业后,我也成了一名Labview的初学者。这之后我知道了Labview 这个软件是用来设计虚拟仪器的,而虚拟仪器是用计算机设计的一个软件,它能完成一台台式仪器的功能。比如可以用Labview设计一个信号发生器,产生正弦波、方波、三角波、锯齿波、任意占空比矩形波等。
而Labwindows/CVI我上大二时实验室的师兄跟我说过,他那时跟我说CVI 是用来设置界面用的,一般都是硬件配上CVI一块用。可是在系统学习CVI之前我从没用过Labwindows/CVI。CVI和Labview都是很好用很优秀的软件,在自动化测试领域有着特别重要的作用。Labview采用的是G语言,也就是图形化语言,它不仅是一种编程环境,也是一门编程语言。Labview因为采用的是图形化语言,所以和CVI比起来学习更容易,编程也更简单,比较适合于专业知识比较薄弱的学习者。Labview采用的编程思想和传统C语言一样,是嵌套,主函数包含子函数的思想。所以,当要编写比较大的程序时,整个结构就显得很大很复杂,编写起来比较困难。这时,CVI相对就比较适合,因为C语言相对G语言逻辑性强,结构性要强。下面我就说说这次学习CVI的心得感受。
首先,老师帮我纠正了之前我对虚拟仪器的理解。虚拟仪器是在通用计算机上加上一组软件和/或硬件,使用者在操作这台计算机时,就像是在操作一台他自己设计的专用电子仪器。虚拟仪器是一种软件定义的系统,它基于用户需求的软件定义了一般测量硬件的功能。这就应证了前面师兄跟我说的那句话,光有软件也是不行的,还得有硬件配合,任何软件都有一定的局限性,因为它们都是基于操作系统平台的,而硬件是不需要任何平台的,它自身就可以成为一个平台。
后来,我知道了如何用CVI去设计一台虚拟仪器,了解了设计虚拟仪器的步骤。和Labview设计虚拟仪器的步骤很像,用CVI设计虚拟仪器首先也是先设计软面板,在CVI中是“.uir”文件,然后是编写程序代码,最后是编译调试运行。后来,我们比较系统性地学习了CVI测试数据的显示、分析、存储和传输方面的
设计。在这个过程中,通过练习信号发生器的设计、TCP/IP网络通讯和RS232通讯的设计,我基本上掌握了CVI的测试数据相关处理的设计。也是在这个短暂的学习过程中,我越发发觉CVI的功能是如此的强大。再后来,我们简单学习了动态链接库和多线程的应用,动态链接库和多线程技术在CVI高级程序设计中都特别有用。CVI可以使用Windows操作系统中的动态链接库来实现一些很有用的功能,而多线程技术在工程很复杂时就大有作为,这时设计程序时就可以使用两个线程、三个线程或者更多,这对提高编程效率非常有用。最后,我们简单学习了仪器驱动程序的设计,大概了解了仪器驱动程序设计的发展是跟随着虚拟仪器技术的发展而发展的。仪器驱动程序从早期的底层I/O操作和高层仪器交互,逐渐发展到仪器编程语言的标准化和软件分层(也就是独立的仪器驱动程序)。这也就是现在我们还在采用的仪器驱动程序设计方法,仪器驱动程序和仪器模块分立,仪器驱动程序和应用程序之间也独立。后来这方法就发展成了现在的VPP 规范,VPP规范对虚拟仪器软件结构和仪器驱动程序的开发进行了标准化,它的核心是定义了标准的I/O接口软件——VISA库。这样就实现了个厂家仪器的互操作。
最后我们学习了LabView知识入门,初步掌握了其设计虚拟仪器的方法和步骤,老师的讲解很到位,简单易懂。
通过学习虚拟仪器这么课,我不仅了解了虚拟仪器的相关知识,而且比较好地掌握了LabWindow/CVI的编程设计,能够编写简单的虚拟仪器。但是我也知道要想成为一名CVI编程高手还需要进行大量的练习,需要不断地学习。