Modbus 标准物理层可采用 RS-232 串行通信方式、但长距离通信中常采用 RS-422 或 RS-485 代替;多点通信情况下只采用 RS-485 方式,故 RTU 模式下 Modbus 系统采用屏蔽双绞线、通信距离可达 1000 m。一条总线最多可配置 31 个从站设备,传输线上信息交换是半双工的、即同时只能有一台设备允许发送信息;主站在发送下一条指令前等待从站回应、避免线路冲突。
RTU 模式传输格式是 1 个数据位、2 个停止位、无奇偶校验位;通信数据安全由控制参数 CRC-16 码保证。RTU 接收设备依靠接收字符间经过的时间判断一帧开始:若经过 3 个半字符时间后仍无新字符或未完成帧、接收设备就放弃该帧、并设下一字符为新一帧开始。
在采用 Modbus 总线构建的 SCADA 系统中,主站与从站控制设备上都要实现 Modbus 通信协议,主站控制器的通信协议实现过程如图4-17 所示。
图4-17 Modbus 通信子程序流程