Labview-Modbus-RTU通讯举例

[复制链接]
查看10355 | 回复0 | 2024-5-17 08:36:17 | 显示全部楼层 |阅读模式
接上一篇文章继续,先说Modbus-RTU的通讯举例吧;由于目前手上没相关设备,后面继续增加ASCII和TCP的通讯举例,RTU通讯演示用了一款电表,使用了USB转485通讯线连接电脑,先看实现的效果。



再看程序面板代码,实现很简单,最主要的参数就是端口号、波特率、数据位、停止位,有这些参数就可以建立通讯。程序可以进一步封装,根据功能码的不同和返回字节数参数进行截取,或许后面会尝试用类的思想进行封装,现在就算我已经简单学会了吧





在编写程序前要先确认硬件链路没问题,可以先使用串口工具测试下再编写,少走些弯路。

即使通讯成功,在错误输出簇中依然会有错误代码产生,别慌,原因是:

有许多类似的VISA驱动可以返回状态代码,用来表示VISA操作后的状态。
因为有些应用程序需要检查这些状态代码,所以它们会在错误簇中返回,而不会设置错误布尔值。错误代码(Error codes)为负数,状态代码(status codes)为正数。

电表的部分通讯协议参考:



查询电压的发送和返回值举例:



对于一款产品为确保通讯可靠稳定,一般情况下需要了解如下参数,具体参数就不说明了,不懂百度就好。


常用功能码报文帧举例:








有志同道合的朋友可以私聊共同学习,如果能帮得上你,别忘了点个赞关注下!文章不定期修正补充更新!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则