modbusrtu协议解析_modbus tcp协议

modbusrtu协议解析_modbus tcp协议基于labview开发的MODBUS RTU(CRC校验)的485通讯程序附件内容分享的是基于LabVIEW上位机与串口通信,通过LabVIEW上位机显示波形,在分享其实现的源码同时,分享一段LabVIEW上位机与串口通信工作原理。基于LabVIEW的串口波形上位机界面展示:定义通信格式

基于labview开发的MODBUS RTU(CRC校验)的485通讯程序   附件内容分享的是基于LabVIEW上位机与串口通信,通过LabVIEW上位机显示波形,在分享其实现的源码同时,分享一段LabVIEW上位机与串口通信工作原理。   基于LabVIEW的串口波形上位机界面展示:   定义通信格式及功能   因为数据不算复杂,所以定义简单下位机帧格式:帧头(0xAA) 类型字节 数据低8位 数据高8位 保留字节1 保留字节2 校验字节   如果要传送的数据比较多/复杂,则可以参考ModuleBus协议!   主要功能包括:   对帧中的类型字节进行解析,并多通道显示在示波器上   帧偏差校正(这个一般人可能都没有做,造成数据丢失,而我这只要串口传输的数据没错,就能无错漏的解析每一帧)   实时显示读取的每个字节/双字节/4字节   信号保存,保存文件名自动按时间命名,适合查阅   信号回放   对信号进行解析,用指示灯显示   程序关键点展示:   上面虽然简单,但却是功能的最主要部分,包括帧头查找和错帧处理的程序。错帧发送的情况是:比如从串口中独到的帧并不是从帧头开始而是帧中间开始,如 0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00   其前面一帧可能是这样:… 0xAA(帧头) 0x01(类型) 0x01(数据)   这样,按查找帧头的方法,数据0x12就会丢失,实际数据按理应该是0x02*256+0x01,错帧处理就是将上一帧尾部不足一帧的部分加到下一帧中,这样下一帧就变成了:0xAA(帧头) 0x01(类型) 0x01(数据) 0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00   判断类型过程很简单,使用switch结构就行了(LabVIEW中就是条件结构同时实现了if和switch),编程时就是注意必须设置默认分支就行!   文件保存我使用了数据表,因为它确实简单,这里的亮点是增加了按时间保存的功能,相当于将时间字符串加入到文件名中,这样便于后期对采集的数据进行查找,不至于混乱。   波形回放就是将存储在数据表中的程序重新显示一遍,比较简单!

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/47967.html

(0)
上一篇 2024年 9月 4日 下午1:24
下一篇 2024年 9月 4日 下午1:28

相关推荐

关注微信