
信息与通信Modbus通讯.ppt
35页Modbus on serial line - January 2006TOLEDModbus –串行通讯ØModbus协议于1978年由Modicon开发Ø1979年开始,Modbus作为一个标准的工业协议开始应用Ø基于RS232/RS485物理结构Ø是异步的,串行数据通信Ø支持主/从结构Modbus on serial line - January 2006TOLEDRS485 两线制/四线制主-从 未使用Modbus应用协议运行原理运行原理- Modbus串行以及OSI模型 应用层应用层表达层表达层会话层会话层传输层传输层网络层网络层链路层链路层物理层物理层传输模式: RTU / ASCIIRS2321234567Modbus on serial line - January 2006TOLED运行原理运行原理- 总线拓扑结构点点- -到到- -点模式点模式总线总线主干-支干菊花链线性终端电阻Modbus on serial line - January 2006TOLED运行原理运行原理- Modbus 主从协议一个主站1~247个从站响应响应请求请求通讯仅能由主站来初始化Modbus on serial line - January 2006TOLED运行原理运行原理- 帧结构功能码功能码数据数据地址地址CRC 或或 LRC数据区,取决于功能代码= 0 ~ 247 识别从站的地址有效性检查有效性检查= 1 to 127 执行的功能Modbus PDUPDU = 协议数据单元两种编址模式:单发广播地址范围= 1 ~ 247地址范围 = 0(仅用于写模式) Modbus on serial line - January 2006TOLED运行原理运行原理- 单发模式编址1 2 3 4 5n地址 = 1 ~ 247请求请求功能码功能码请求数据请求数据5CRC响应响应功能码功能码响应数据响应数据5CRCModbus on serial line - January 2006TOLED运行原理运行原理-播送模式编址播送模式编址 12345n从站无需响应主站从站无需响应主站请求请求功能码功能码请求数据请求数据0CRC仅用于写功能仅用于写功能地址 = 0Modbus on serial line - January 2006TOLED运行原理运行原理- 单发编址时序图主站主站从站 1从站 n媒体介质等待等待超时超时处理响处理响应应分析响应. 准备请求从站1请求从站1请求响应响应响应响应下一个请求下一个请求下一个请求下一个请求Modbus on serial line - January 2006TOLED运行原理运行原理-播送编址时序图播送编址时序图主站主站从站 1从站 n媒体介质媒体介质广播请求广播请求广播请求广播请求下一次请求下一次请求等待超时处理 响应处理 响应Modbus on serial line - January 2006TOLED运行原理运行原理- 传输错误事件时序图主站主站从站 1从站 n媒体介质媒体介质从站 1 请求从站 1 请求重发或下一次传输重发或下一次传输等待超时错误 检测无响应无响应Modbus on serial line - January 2006TOLEDModbus RTU/ASCII-两种定义的串行传输模式RTU模式ASCII模式每个字符的内容和格式封装格式: 帧的起始和结束定义:传输模式和串口参数对所有的产品而言必须是一致的传输模式和串口参数对所有的产品而言必须是一致的必须的必须的可选的可选的Modbus on serial line - January 2006TOLEDModbus RTU/ASCII- RTU模式: 内容每个数据项在一个字节内被编码每个数据项在一个字节内被编码B0B1B2B3B4B5B6B7两个16进制数字编码实例: 读设备身份 = 43 = 0x2B0x20xB11010100Modbus on serial line - January 2006TOLEDModbus RTU/ASCII- RTU模式: 字符格式= 11位Nombre pair de bits à 1Odd number of bits at 1Bit 0Start Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1Parity Stop8 bits de donnée偶校验方式1 停止位100101011Parity10x2B comprises 4 bits at 1编码实例: 读设备身份 = 43 = 0x2B0Parité paire1奇/偶Bit 0Start Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1Stop Stop8 bits de donnée2 停止位无校验方式100101011110x2B comprises 4 bits at 1编码实例: 读设备身份 = 43 = 0x2BModbus on serial line - January 2006TOLEDModbus RTU/ASCII- RTU模式: 帧格式功能码功能码数据数据地址地址CRC0 ~ 252 字节1 字节2 字节1 字节256 字节〔最大〕<= 1.5 字符.帧 OK帧 OK帧 NOK>= 1.5 字符.时间限制>= 3.5 字符.>= 3.5 字符.起始起始 >= 3.5 字符字符结束结束 >= 3.5 字符字符Modbus on serial line - January 2006TOLEDModbus RTU/ASCII- ASCII模式:内容每个数据项以两个每个数据项以两个ASCII字符编码字符编码(7(7位位) )B0B1B2B3B4B5B6B0B1B2B3B4B5B6两个ASCII字符编码实例: 读设备身份 = 43 = 0x2B01000010100110ASCII code "2" = 0x32ASCII code "B" = 0x42Modbus on serial line - January 2006TOLEDModbus RTU/ASCII- ASCII模式: 字符格式= 10位Nombre pair de bits à 1Odd number of bits at 1Bit 0Start Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1Parity Stop7 data bits偶校验方式1 停止位10110010Parity10x32 comprises 3 bits at 1实例: 用ASCII编码字符 "2" = 0x321Even parity0奇奇/ /偶偶Bit 0StartBit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1Stop Stop7 bits de donnée2 停止位无校验方式10110010110x32 comprises 3 bits at 1实例: 用ASCII编码字符"2" = 0x32Modbus on serial line - January 2006TOLEDModbus RTU/ASCII- ASCII模式: 帧格式: 1 字符字符.CR + LF 2 字符字符.时间限制功能码功能码数据数据地址地址LRC0 ~ 2 x 252 字符2 字符.2 字符2 字符513 字符〔最大〕<= 1 to 5 秒.帧 OK帧 OK帧 NOK>= 1 to 5 秒.无内部帧时间限制.Modbus on serial line - January 2006TOLEDModbus RTU/ASCII-功能码Ø01 read coil status- 读线圈状态Ø02 read input status-读输入存放器状态Ø03 read holding registers-读保持型存放器Ø04 read input registers-读输入存放器Ø05 force single coil-强制单个线圈Ø06 preset single register-预置单个存放器Ø15 force multiple coil-强制多路线圈Ø16 preset multiple registers-预置多存放器Ø23 read/write 4X registers-读/写4X存放器Modbus on serial line - January 2006TOLEDModbus RTU/ASCII- 传输错误检测奇偶校验帧校验字符层主站和从站之间执行两种类型检测消息层奇或偶检验 的选择如果是ASCII模式: 计算LRCLRC = Longitudinal Redundancy Checking如果是RTU模式: 计算CRCCRC = Cyclical Redundancy CheckingModbus on serial line - January 2006TOLEDModbus RTU/ASCII- 错误检测错误检测的反响的反响从站检测到一个传输错误主站主站请求 等待超时等待超时不会提供响应不会提供响应不会处理请求不会处理请求主站检测到一个传输错误发送错误到应用程序发送错误到应用程序重新发送或重新发送或从站错误错误 检测检测主站主站从站等待等待处理处理 响应响应响应响应错误错误 检测检测不会处理请求不会处理请求重新发送或重新发送或发送错误到应用程序发送错误到应用程序请求 Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层- 三种标准化Modbus电气接口RS485 2线制多点点到点RS485 4线制RS232必需的可选的可选的无需改变集成进 一个已存在的安装点到点模式 15 米(最大).传输速率:9600 bps /19200 bps (19.2 Kbps 缺省设置)其它速率: 1200, 2400, 4800, 38400, 56 Kbps, 115 Kbps 可选Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层- Modbus RS485 2线制安装公共端差分双绞Slave 1TRSlave nTR5 V650 ohms650 ohmsMasterRT拓扑结构拓扑结构: 总线类型最大长度最大长度: 主段: 1,000米/ 19,200 bits/s支干: 总共40米主电缆类型: 屏蔽双绞最大设备数最大设备数:不带中继,32个设备,包含主站120 ohms 1 nF120 ohms 1 nFPGD0D1Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层-Modbus RS485 4线制安装Slave 1TRSlave nTR从双绞主双绞公共端MasterRT5 V5 V 650 ohms 650 ohms拓扑结构拓扑结构: 总线类型120 ohms 1 nF120 ohms 1 nF120 ohms 1 nF120 ohms 1 nFPG最大长度最大长度: 主段: 1,000米/ 19,200 bits/s支干: 总共40米最大设备数最大设备数:不带中继,32个设备,包含主站Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层-Modbus 2/4线制兼容性连接2线制设备到一个4线制安装可能的, 通过调整安装接线连接4线制设备到一个2线制安装两种可能性:可能的,通过调整设备接线Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层- 连接2线制设备到一个4线制安装Slave 1TRMasterRT公共端5 V5 V 650 ohms 650 ohmsSlave nTRLine terminatorLineterminator断开一端的线性电阻1调整安装删除一对极电阻2在一端闭合两对双绞3用两线制连接设备4120 ohms 1 nF120 ohms 1 nF新两线总线的总长度必须小于1,000米Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层-连接4线制设备到一个2线制安装公共端差分双绞Slave 1TR5 V 650 ohms 650 ohmsMasterRT闭合传输到设备的接受1调整设备接线连接设备到两线制安装2Slave nTR120 ohms 1 nF120 ohms 1 nFModbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层-Grounding120 ohms 1 nF公共端差分双绞Slave 1TRSlave nTR5 V650 ohms650 ohmsMasterRT120 ohms 1 nF120 ohms 1 nFPGD0D1RS485通讯只允许在传输线通过-7V~+12V的电压范围。
任何过高的电压会导致网络的崩溃,甚至设备的损坏为了保证电压不被超过,恰当的接地是必须的Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层-Polarization极化电阻120 ohms 1 nF公共端差分双绞Slave 1TRSlave nTR5 V650 ohms650 ohmsMasterRT120 ohms 1 nF120 ohms 1 nFPGD0D1为了保护接受设备免受外界的干扰采集到正确的状态,必须保证线上电压被偏置,那么需要给差分线路加上一对外部电阻,目的是产生足目的是产生足够的够的DCDC偏置电流以维持偏置电流以维持D0/D1D0/D1之间至之间至少少200mV200mV的电压差的电压差Modbus on serial line - January 2006TOLED三种标准化物理层三种标准化物理层-Termination终端电阻120 ohms 1 nF公共端差分双绞Slave 1TRSlave nTR5 V650 ohms650 ohmsMasterRT120 ohms 1 nF120 ohms 1 nFPGD0D1为了保护Modbus免受未知的影响,例如,反射和减小环电流,需要路两端添加RC终端Modbus on serial line - January 2006TOLED执行类执行类- -透明就绪规那么透明就绪规那么 三个执行层次,用于三个效劳层次Basic属于一个类 仅如果 所有所需的效劳被支持时RegularRegularExtendedExtended一个设备 也能 支持属于更高类的效劳.一个嵌入式的功能层次模型Modbus on serial line - January 2006TOLED执行类执行类-透明就绪设备身份All TR Modbus TCP-IP devicesCommunication servicesB to DModbus BasicTCP-IP +...Modbus Basic TCP-IP + FDR +...Modbus Regular TCP-IP + FDR +...其它其它TR设备设备(通过一个通过一个TR网关网关) 无无ModbusModbus BasicModbus RegularTR Modbus设备设备〔 〔通通过过一个一个TR网关网关〕 〕102030000105网页效劳A – 无网页两个执行类用于Modbus串行设备 A01 & A05Modbus on serial line - January 2006TOLED执行类执行类-两个执行类两个执行类Class A01Class A05消息类: BasicAccess to registersonly消息类: RegularBasic + accessto bits and diagnostics数据链接类: BasicNotconfigurable数据链接类: RegularConfigurable设备管理类: BasicLevel 1identificationModbus on serial line - January 2006TOLED执行类执行类- -效劳类效劳类- -数据链路层数据链路层BasicRegular无组态选项可组态的数据链路层地址: 1 to X with X<= 247波特率: 9600 bps奇偶: odd传输模式: RTU如果是从站,那么支持广播模式Basic +地址: 支持地址248*波特率: 9600/19200 奇偶: 奇和偶Modbus on serial line - January 2006TOLED诊断错误诊断错误-错误码Ø01 无效的功能码Ø02 无效的数据地址Ø03 无效的数据值Ø04 从站设备失败Ø05 确认,从站已经接受请求并且正在处理,那么返回该确认消息Ø06 从站设备忙Ø07 否认确认,从站无法执行请求Ø08 内存奇偶校验错误Modbus on serial line - January 2006TOLEDQ&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的步骤和方法. 。
