主页
技术支持
LabVIEW中在VISA串行写入时加入终止符
LabVIEW中在VISA串行写入时加入终止符
更新 Dec 5, 2023
环境
环境显示经过验证可用于本文描述的解决方案的产品。此解决方案也可能适用于其他类似产品或应用程序。
驱动
NI-VISA
我的串行仪器需要终止字符,但是当我使用VISA串行VI向串口发送命令时,有时无法添加LF(换行),CR(回车)或EOL(行结束)在字符串发送的末尾。如何添加所需的终止字符?
您需要在
NI-VISA
驱动程序中为写入属性设置终止字符使能、终止字符和串行结束模式。
右键单击程序框图并选择
Instrument I/O»VISA»Advanced»VISA Property Node,
创建一个VISA属性节点 。
展开VISA属性节点以适应三个属性。
右键单击属性节点,然后选择
“全部更改为写入”
。
要选择属性:右键单击“属性”,然后
选择属性
»
Message Based Settings»Termination Character Enable
。
右键单击并
选择属性
»
Message Based Settings»Termination Character
。
右键单击并选择属性
»
Serial Settings»End Mode for Writes
。
将True常量连接到
TermChar En
属性。
将要附加的ASCII字符的十进制值连接到
TermChar
属性。 Linefeed的十进制值为10,Carriage Return的十进制值为13. End of Line字符是Carriage Return后跟换行符的组合,不支持通过此方法作为终止字符。对于允许多个终止字符的替代方法,或者如果您不确定终止字符的ASCII值,请参阅
NI-VISA中关于终止字符的
白皮书。
右键单击
ASRL End Out
属性,然后选择
Create
»Constant
。这将创建终端字符选项的枚举。从枚举列表中选择
TermChar
。
现在,您的所有写入都将自动以该字符终止。
Additional Information
注意:
TermChar En和TermChar仅用于读取,并且TermChar En必须设置为true才能设置TermChar属性。或者,ASRL End Out用于读取和写入。
或者,您可以使用Concatenate Strings函数来构建要发送到串行端口的字符串。 LabVIEW有三个常用的终止字符,它们是字符串函数选项板中的字符串常量:回车常量,换行常量和行结束常量。
如果您需要的不是预先制作的LabVIEW常量,您可以随时创建自己的。在程序框图上创建一个字符串常量,然后右键单击它。从弹出菜单中选择
“\”代码显示
。现在您可以使用代码显示格式。有关详细信息,请参阅下面的
终止字符代码表
。
终止字符代码表
终止字符
代码显示
换行(LF)
\n
回车(CR)
\r
行尾(EOL)
\r\n
换页(FF)
\F
请记住,物理硬件上的终止需要符合相应的串行标准。如果物理硬件上的终端不正确,则会导致软件端的终止字符出现问题。
相关链接
Why Does My Serial Instrument Not Respond to Commands?
其他支持选项
询问NI社区
在我们的论坛中与其他用户协作
搜索NI社区以寻求解决方案
请求工程师的支持
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
打开服务请求
了解软件订阅和服务
了解硬件服务计划
Was this information helpful?
Helpful
Not Helpful