LabVIEW或MAX下的VISA测试面板中串口无法工作
什么串口设备在超级终端中工作,但不在LabVIEW或Measurement& Automation Explorer (MAX)下的VISA测试面板中工作?
解答: 串口设备可能在超级终端中工作但不在LabVIEW或MAX下的VISA测试面板中工作的原因有两个:终止符不同和字符传输速度不同。使用下面的方法来解决与这两个原因相关的问题。
确保超级终端与LabVIEW中使用的终止符相匹配
一般情况下,超级终端在其发送的每条信息之后添加一组 \r\n,它对应于一个回车符后紧跟着一个换行符。
在LabVIEW中可以使用字符型输入和显示控件的 \代码显示项来检查终止符是否一致。例如,可以使用loopback测试方法(关于loopback测试说明请参见下面链接中的NI开发者园地指南)从超级终端发出一个字符串,然后在LabVIEW中读回。这会帮助确定超级终端使用了什么终止符。然后,再次使用loopback测试,从LabVIEW中发出相同的字符串并在LabVIEW中读回。对比这些值即可决定两者的终止符是否相匹配。
降低向设备发送命令字符串的速度。(如果串口设备较旧,并且/或者其没有硬件控制它,因此LabVIEW和/或MAX中的VISA测试面板以多快的速度向其发送串行数据就是一个问题
一旦向超级终端中输入字符,超级终端就会将向串口写入这些字符。因此,当输入字符串时,超级终端将在字符串结束后发送6个独立的终止字符:首先是s, 然后是t, 最后是r等等。
编辑
添加图片注释,不超过 140 字(可选)
然而,LabVIEW则会获取所有字符串并一次性写入设备,且各字符间没有延迟。可以使用一个for循环来进行测试,将该字符串输出到设备中且每次只输出一个字符,在循环内为每个字符间的输出设置一个短暂的延时。附件中的Basic Serial Write and Read_1 bit.vi就是一种实现方法
更详细的内容,参加如下附件的介绍。
LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序
上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系们。