libmodbus学习(一)之Modbus RTU-master

libmodbus学习(一)之Modbus RTU-master,第1张

Modbus簇主要有三种协议: Modbus-RTU、Modbus-ASCII、Modbus-TCP

工控行业通常的设备组网看,三者应用的范围如下:

三者报文格式的区别如下:

RTU相比较ASCII具备更紧凑的报文流,传输效率更高,目前MODBUS-ASCII已经应用较少。

Modbus的 *** 作对象有4种: 线圈、离散输入、保持寄存器、输入寄存器 。

modbus_rtuc

程序流程图

外围设备与计算机通讯的方式很多,modbus通讯协议只是其中的一种。两个外围设备之间也可以实现modbus通讯,前提是外围设备内置有modbus通讯协议和接口。

DDE用于计算机的应用程序之间交换数据。一个应用程序与外围设备之间,只能通过驱动程序(可以modbus通讯方式)交换数据。另一个没有该设备驱动的应用程序,则只能通过DDE方式与有该设备驱动的应用程序交换数据。需要注意的是:不同的应用程序提供的DDE数据格式可能是不同的,没有统一的标准。

opc也是用于计算机的应用程序之间交换数据。它是按照OPC规范的标准,把外围设备的驱动程序设计成一个特殊的应用程序——可称为OPC服务程序。其他应用程序也是按照OPC规范的标准,与OPC服务程序交换数据。

拥有rs485的接口,不表示仪器支持modbus协议。只有仪器支持,才能用modbus通讯。

如果仪器支持modbus,厂家应该给出一个地址表,说明仪器中的数据的位置,比如40001地址是电压,诸如此类。拿到仪器的地址表,还需要知道仪器的通讯设置,比如RTU格式,9600,8E1,等等。

知道以上这些信息,找一个arduino的modbus主机协议栈,连接到你的应用程序中,配置好。

主程序中,用协议栈的API读取40001地址就可以得到仪器的电压。

主机不能随意的往从机中发送数据,必须是往确定存在的地址里写,或者读确定存在的地址,如果仪器中没有说明40001地址是存在的,读写这个地址会出错。

arduino 有开源的modbus 协议栈,百度直接搜索就能找到。

以上就是关于libmodbus学习(一)之Modbus RTU-master全部的内容,包括:libmodbus学习(一)之Modbus RTU-master、modbus DDE opc 这几种通讯方式 区别在于、arduino 怎么发送modbus协议等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9600945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存