3500/61 【3500/61 】
3500/61 【3500/61 】
3500/61 【3500/61 】
ModBus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是工业领域全球最流行的协议、支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用ModBus协议作为他们之间的通讯标准。通过MODBUS不同厂商生产的控制设备可以连成工业网络,进行集中监控。
ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三种通信方式:
(1)以太网,对应的通信模式是MODBUS TCP。
(2)串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。
(3)高速令牌传递网络,对应的通信模式是Modbus PLUS。
下面分别介绍一下Modbus RTU 和ASCII协议。
1、Modbus RTU
MODBUS RTU 通信协议在工业应用中最为广泛。Modbus是一种主从式协议,即一个系统中只有一个主设备,所有的操作都是主设备发起。通过查询和回应的机制进行通信。
(1)查询
查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。
(2)回应
如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。