新闻中心

EEPW首页>测试测量>设计应用> LABVIEW的通讯问题

LABVIEW的通讯问题

作者: 时间:2017-01-05 来源:网络 收藏




图:选择添加用户控件



将串口控件放置在Front Panel上,在框图程序中用控件属性对其进行编程,实现所需要的功能。
注意:一个串口资源要有一个MSCOMM控件与之相对应。

第三部分 注意事项

一、串口通讯的波特率设置要精确,比如要求9600的波特率,则晶振应选择11.0593MHz或其倍数。
二、由于通常情况下LabVIEW串口VI接收或发送的都是字符串(Normal),所以如果需要发送或接收十六进制数值(Hex),请在发送或接收之前进行必要的转换。
2.1、数值型数据的处理方法:
2.1.1、1、如果这些数据是静态的,也就说在程序设计阶段要传输的数据就已经确定了,在这种情况下,首先设置VISA Write的write buffer的显示属性为Hex Display,然后直接输入要发送的16进制字符串就可以了。串口设备的控制命令通常是由一个或多个16进制字符组成的,当我们需要对其进行控制时经常会采用这种方法发送控制命令。
2.1.2、数据是动态的;即要传输的数值型数据是动态产生和变化的,在发送之前首先要将其转换成对应的16进制字符串,才能赋给VISA Write发送。将这些数据构成一个数组,用Byte Array To String进行转换,转换的结果就是对应数组数值的字符串,可以提交VISA Write发送。或者使用Type Cast也可以实现同样的功能。



2.2、字符串型数据的处理方法:
我们在处理过程当中,传输的数据可能具有一定格式或协议,比如一个完整的数据帧包括起始段、数据段、校验段等等,而每一段往往又有几个部分组成,这几个部分的类型和长度可能又不尽相同,可能是数值型的,可能是字符型的,也可能是布尔型的,单字节或者是多字节。此时我们往往都采用统一的字符形式来处理这些数据,因此有时候我们说,字符是LabVIEW里最方便的数据类型。经过打包的字符数据要经过串口发送需要进行必要的转换,否则传输将出错。比如我们打包过后需要发送的的字符串为:34 12 56 78 94(空格为了区分),如果直接将其赋给VISA Write发送,串口上的数据将是:33 34 31 32 35 36 37 38 39 34。正确的转换程序如下。



数据接收:
从计算机串口接收到的数据是16进制的ASCII码,要转换成对应的数值型数据,可以使用String To Byte Array或者Type Cast。

三、LabVIEW串口VI不能使用中断方式传输。


上一页 1 2 下一页

关键词:LABVIEW通讯问

评论


相关推荐

技术专区

关闭