1、Modbus 串行通讯,Modbus协议于1978年由Modicon开发1979年开始,Modbus作为一个标准的工业协议开始应用基于RS232/RS485物理结构是异步的,串行数据通信支持主/从结构,运行原理- Modbus串行以及OSI模型,应用层,表达层,会话层,传输层,网络层,链路层,物理层,传输模式: RTU / ASCII,RS232,1,2,3,4,5,6,7,运行原理- 总线拓扑结构,点-到-点模式,总线,运行原理- Modbus 主从协议,1247个从站,运行原理- 帧结构,功能码,数据,地址,CRC 或 LRC,地址范围= 1 247,地址范围 = 0 (仅用于写模式),运
2、行原理- 单发模式编址,1,2,3,4,5,n,地址 = 1 247,运行原理-广播模式编址,1,2,3,4,5,n,从站无需响应主站,仅用于写功能,地址 = 0,运行原理- 单发编址时序图,主站,从站 1,从站 n,媒体介质,运行原理-广播编址时序图,主站,从站 1,从站 n,媒体介质,运行原理- 传输错误事件时序图,主站,从站 1,从站 n,媒体介质,Modbus RTU/ASCII-两种定义的串行传输模式,RTU模式,ASCII模式,每个字符的内容和格式,封装格式: 帧的起始和结束,定义:,传输模式和串口参数对所有的产品而言必须是一致的,必须的,可选的,Modbus RTU/ASCII-
3、 RTU模式: 内容,每个数据项在一个字节内被编码,B0,B1,B2,B3,B4,B5,B6,B7,编码实例: 读设备身份 = 43 = 0x2B,Modbus RTU/ASCII- RTU模式: 字符格式= 11位,Bit 0,Start,Bit 7,Bit 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Parity,Stop,8 bits de donne,偶校验方式,1 停止位,Bit 0,Start,Bit 7,Bit 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Stop,Stop,8 bits de donne,2 停止位,无校验方式,Modbu
4、s RTU/ASCII- RTU模式: 帧格式,功能码,数据,地址,CRC,256 字节(最大),Modbus RTU/ASCII- ASCII模式:内容,每个数据项以两个ASCII字符编码(7位),B0,B1,B2,B3,B4,B5,B6,B0,B1,B2,B3,B4,B5,B6,编码实例: 读设备身份 = 43 = 0x2B,Modbus RTU/ASCII- ASCII模式: 字符格式= 10位,Bit 0,Start,Bit 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Parity,Stop,7 data bits,偶校验方式,1 停止位,Bit 0,Start,B
5、it 6,Bit 5,Bit 4,Bit 3,Bit 2,Bit 1,Stop,Stop,7 bits de donne,2 停止位,无校验方式,Modbus RTU/ASCII- ASCII模式: 帧格式,功能码,数据,地址,LRC,513 字符(最大),Modbus RTU/ASCII-功能码,01 read coil status- 读线圈状态 02 read input status-读输入寄存器状态 03 read holding registers-读保持型寄存器 04 read input registers-读输入寄存器 05 force single coil-强制单个线圈
6、06 preset single register-预置单个寄存器 15 force multiple coil-强制多路线圈 16 preset multiple registers-预置多寄存器 23 read/write 4X registers-读/写4X寄存器,Modbus RTU/ASCII- 传输错误检测,奇偶校验,帧校验,字符层,主站和从站之间执行两种类型检测,消息层,Modbus RTU/ASCII- 错误检测的反馈,从站检测到一个传输错误,主站,请求,等待超时,不会提供响应,不会处理请求,主站检测到一个传输错误,主站,从站,等待,处理 响应,响应,不会处理请求,请求,三种标
7、准化物理层- 三种标准化Modbus电气接口,RS485 2线制,多点 点到点,RS485 4线制,RS232,必需的,可选的,可选的,无需改变集成进 一个已存在的安装,点到点模式 15 米(最大).,三种标准化物理层- Modbus RS485 2线制安装,公共端,差分双绞,拓扑结构: 总线类型,最大长度: 主段: 1,000米/ 19,200 bits/s 支干: 总共40米 主电缆类型: 屏蔽双绞,最大设备数: 不带中继,32个设备,包含主站,D0,D1,三种标准化物理层-Modbus RS485 4线制安装,从双绞,主双绞,公共端,拓扑结构: 总线类型,最大长度: 主段: 1,000米
8、/ 19,200 bits/s 支干: 总共40米,最大设备数: 不带中继,32个设备,包含主站,三种标准化物理层-Modbus 2/4线制兼容性,连接2线制设备到一个4线制安装,可能的, 通过调整安装接线,连接4线制设备到一个2线制安装,两种可能性:,可能的,通过调整设备接线,三种标准化物理层- 连接2线制设备到一个4线制安装,公共端,5 V,650 ohms,650 ohms,Slave n,T,R,Line terminator,Line terminator,调整安装,新两线总线的总长度必须小于1,000米,三种标准化物理层-连接4线制设备到一个2线制安装,公共端,差分双绞,Slave
9、 1,T,R,调整设备接线,Slave n,T,R,三种标准化物理层-Grounding,公共端,差分双绞,D0,D1,RS485通讯只允许在传输线通过7V+12V的电压范围。任何过高的电压会导致网络的崩溃,甚至设备的损坏。为了保证电压不被超过,恰当的接地是必须的,三种标准化物理层-Polarization极化电阻,公共端,差分双绞,D0,D1,为了保护接受设备免受外界的干扰采集到正确的状态,必须保证线上电压被偏置,那么需要给差分线路加上一对外部电阻,目的是产生足够的DC偏置电流以维持D0/D1之间至少200mV的电压差,三种标准化物理层-Termination终端电阻,公共端,差分双绞,D0
10、,D1,为了保护Modbus免受未知的影响,例如,反射和减小环电流,需要在线路两端添加RC终端,执行类-透明就绪规则,三个执行层次,用于三个服务层次,Basic,属于一个类 仅如果 所有所需的服务被支持时,Regular,Extended,一个设备 也能 支持属于更高类的服务.,一个嵌入式的功能层次模型,执行类-透明就绪设备身份,All TR Modbus TCP-IP devices,Communication services,B to D,Modbus Basic TCP-IP +.,Modbus Basic TCP-IP + FDR +.,Modbus Regular TCP-IP +
11、 FDR +.,其它TR设备 (通过一个TR网关),无 Modbus,Modbus Basic,Modbus Regular,TR Modbus设备 (通过一个TR网关),10,20,30,00,01,05,网页服务,A 无网页,执行类-两个执行类,Class A01,Class A05,执行类-服务类-数据链路层,Basic,Regular,无组态 选项,可组态的数据链路层,Basic + 地址: 支持地址248* 波特率: 9600/19200 奇偶: 奇和偶,诊断错误-错误码,01 无效的功能码 02 无效的数据地址 03 无效的数据值 04 从站设备失败 05 确认,从站已经接受请求并
12、且正在处理,则返回该确认消息 06 从站设备忙 07 否定确认,从站无法执行请求 08 内存奇偶校验错误,Q&A,1. 不同厂商的Modbus设备是否能够被一个网关同时读取? 能和不能的判断原则是什么? 2. 网关最多能连接多少个Modbus设备? 判断依据是什么? 3. 网关能带多少Modbus监控点? 判断依据是什么? 4. 不同的Modbus通讯芯片是否对Modbus的通讯会有影响? 如何判断? 5. 如何判断Modbus设备遵循的是标准的Modicon Modbus协议? 6. Modbus ASCII通讯需要注意什么? 7. Modbus IP的通讯方式需要注意什么? 应用上有什么技巧? 8. 网络终端电阻的应用. 9. 测试软件? 测试辅助硬件设备? 10. Modbus Repeater 或Modbus路由器的应用? 11. Modbus Troubleshooting的步骤和方法.,