modbus是软件层协议,很多时候是基于rs485这一硬件层协议上的,采用的是差分信号线,差值是正的代表1,负的是0,接收端差值要求大于200mv才能识别,发送端一般2-6v。也可以使用别的硬件层协议。
1.一主多从,从机不能主动发数据,每一次通信都由主机发起,上电后主机和从机都默认处于接收(监听)状态。发起通信主机转为发送状态,发送完数据立刻转为接收状态等待从机回应。
2.从机需去定唯一地址(0-247),其中0为广播地址,所有从机都需要接收且不需要回应。
3.传输方式分为RTU和ASC,RTU即正常的二进制传输,一个字节的数据如0x03,传输0000 0011即可,ASC将0x03拆成0和3传输他们的ASCII码,即一个字节变为两个字节,传输效率低,但是可以在监控设备中显示,方便调试。