1、Modbus是一种一主多从的通信方式,允许一个主机最多连接247个从属控制器,实际使用时,根据从属控制器特性,确定连接个数。
2、Mobus支持RS485、RS232、RS422和以太网设备,通常用于PLC,DCS以及智能仪表当中。
3、它是一种双工通信方式,具体是半双工还是全双工要依据设备的通信接口确定,(RS485的是半双工的,使用RS232的是全双工的)。
4、网络通信是“对等”的,但是在modbus的消息位,仍然有主从原则。
5、查询、回应格式;
查询:功能码+数据域+错误检测域。
比如发送功能码03,意思是:要求从设备读取保持寄存器并放回读取到的内容。那么数据域需要告知从设备从那个寄存器开始读取,以及读取的个数是多少。错误检测域用于为从属设备验证接收到的信息是否正确。
回应:功能码+数据域+错误检测域
比如回应功能码03,数据域是读取到的寄存器内容。如果执行错误,功能码将不再是03,将被修改为其它功能码值。
6、Modbus的支持传输模式,ASCII和RTU模式。通常使用ASCII码模式,而且占用的位数为7bit,而不是8bit,这样的好处是字符发送时间间隔可达到1s时而不发生错误。使用的错误检测域是LRC(纵向冗长检测)。比如发送63,则需要发送‘6’和‘3’。另外一种RTU模式,传输的是二进制模式,优点是:相同传输波特率下,传输数据密度高,速率快,缺点是不容易解析。
7、错误检测域:使用CRC检测或是LRC检测的方法。