1.Modbus是什么:
是工业性的总线协议,用于工业电子设备之间的通信。
2.Modbus协议的分类:
1):Modbus-RTU(直接传输二进制数据,常使用RS-232或RS-485接口
2): Modbus-ASCII (传输ASCII字符格式数据,常使用RS-232或RS-485接口)
3)Modbus-TCP(传输TCP码,常使用以太网接口)
其中Modbus-RTU比较常用,比较简单,在单片机上比较容易实现。
3.Modbus特点:
1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。
2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。
4.Modbus和UART通信,RS-232,RS485之间是什么关系?
在OSI七层模型中,Modbus主要是对用第 7 层——应用层中的报文传输协议。
UART通信主要对应到第2层——数据链路层。
而RS-232、RS-485本质上是电平规范,主要对应到第1层——物理层。


总结:设备A若向给设备B发送一段数据,则可以按照Modbus协议规定的报文格式进行编码,数据最终经过物理层采用不同的电气方式来传输逻辑0和逻辑1,这些信号最终被设备B所接收,设备B按照Modbus协议进行解码,最终得到设备A原本想要发送的数据。
5.TTL,RS232和RS-485三种电平规范的区别

6.Modbus协议传输规则:
MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上 的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。

完整的RTU的报文帧格式如下:★

MODBUS工业总线上,其理论范围是1~~254,MODBUS协议会给每个从机分配一个地址,在总线中发送地址,对应的从机会给回应。
主机:想要在从机那获得什么?想让从机执行什么样的功能。
从机:收到功能码后,找对应的数据反馈给主机或者按照主机的要求去执行操作
数据的长度,与功能码有关。
对报文中前面的数据进行校验运算,从机会将主机发送过来的CRC校验值和从机自己计算出的校验值进行比较,如果不相同,说明接收出现了问题。
主机请求将数据写入设备地址为0x58的从机中,要求对寄存器49到寄存器51分别写入0x5566、0x3344、0x7788,写出主机请求报文和从机响应报文。



