labview实现16进制字符串打印输出

       在工作中难免遇到和别人对接的情况,遇到对方是个通情达理的高手那还好,双方通力合作很快能配合好,但是碰到菜鸟,而且还总是一口咬定是你的问题的错币,你是不是很恼火呢?这个时候就需要证据,来证明自己的清白(写个程序好难,还要证明自己)。我们写工控的和PLC合作的次数比较多。和PLC走的最多的协议是Modbus。

       那么怎么确保自己的程序发送了正确的指令呢?PLC回复了正确的指令?

       最好的办法就是做好数据日志记录。一切凭数据说话。

       Modbus rtu send data :01 03 00 01 00 01 crc;

      Modbus rtu receive data:01 03 02 00 01 crc

图片中的输入为16进制形式的字符串,如果直接输出打印则是乱码,是无法显示的。

1. 首先通过字符串至字节数据转换,得到字节数组,这样每个字节的数据就分离出来了;

2. 通过数值至16进制字符串转换,控制16进制字符为两位,比如1会自动输出01,方便阅读;

3. 提取的每个字节字符串加上空格(方便调试数据查看)进行字符串连接;

这样最终正常的字符串就可以得到了:01 03 61 9E 00 04 3A 1B ,自己再写个日志输出模块将字符串传入就能正常打印出了。

hen

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值