3 上位机系统的设计
LabVIEW语言是美国国家仪器(NI)公司开发的一种基于图形化语言(G语言)的编程语言,利用该语言编写的模块化程序,具有良好的界面,简单、直观,且易于理解、调试和维护。做成的虚拟仪表可以当作许多仪器设备来使用,其功能完全由用户编程定义。另外,LabVIEW内还包含丰富的数据采集、数据信号分析以及控制等子程序,特别适用于数据采集、通信处理系统。
LabVIEW提供了很多现成的可供调用的函数库,从底层的GPIB,VXI,PXI,串口数据采集板的控制子程序到大量的仪器驱动程序;从基本的功能函数到高级分析库,几乎涵盖了仪器设计中需要的所有函数。同时,LabVIEW还支持用于网络通讯的TCP/IP协议、动态数据交换(DDE)和网络化多媒体对象技术(ActiveX)等应用软件标准。
3.1 VISA
LabVIEW提供了功能强大的VISA库。VISA(Virtual Instrument Software Architecture,虚拟仪器软件规范)是用于仪器编程的标准I/O函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API(Application Programmer Inter-face,应用程序接口)。正因为如此,VISA可以连接不同标准的I/O设备。
VISA本身并不具备编程能力,惟他通过调用底层的驱动程序来实现对仪器的编程。VISA的I/O软件库的源程序是惟一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。
3.2 LabVIEW中利用VISA实现串口通信
在LabVIEW中使用串口的基本流程为:先调用VISA Configure Serial Port来完成串口参数的初始化设置,包括了串口的资源分配,波特率的设定,数据位、停止位、校验位和流控制等。
当某一个串口初始化成功后,就可以使用该串口进行数据的收发。使用VISA Write进行数据的发送,使用VISA Read进行数据的接收。在接收数据前,有时需要VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至缓冲区中的数据字节数达到要求或是等待时间满足VISA Configure Serial Port所设定的Timeout。
在对数据的连续性要求不高的时候,VISA Read也支持分批读取接收缓冲区里的数据字节或者只是读取其中的一部分字节。
在某些特殊的情况下,可以利用VISA SET I/O Buffer Size设置串口接受/发送缓冲区的大小,使用VISAFlash I/O Buffer清空接收与发送缓冲区。
在串口使用结束后,使用VISA Close结束与VISAresource name所指定串口间的会话。
该LabVIEW程序框图中调用了一个叫做change的子VI程序,该子VI程序的功能是将高低电平的脉冲宽度值,转换成定时器的初始值,并且拼凑成一个4个字节的16进制数,通过VISA Write模块送入下位机。该子VI的程序框图如图5所示。
关键词:评论内容只代表网友观点,与本站立场无关! 评论摘要(共 0 条,得分 0 分,平均 0 分)
|