品牌
代理商厂商性质
上海市所在地
西门子6ES72882DR160AA0模块使用方法
Modbus应用层协议位于ISO/OSI参考模型中的第七层,它是通过请求-响应机制实现不同设备间按客户/服务器方式通信。首先客户发送请求报文到服务器,服务器接收到报文后进行差错校验,若报文无误则执行操作,并返回响应报文到客户端,若传输出现错误则返回异常响应报文,从而完成一次通信周期。Modbus协议定义了一个与传输层无关报文格式,该报文称之为协议数据元(PDU),协议数据元由占用一个字节的功能码和长252个字节的数据域组成.
功能码的有效取值范围是1~255,功能码分类分为三类:公用功能码、用户自定义功能码和保留功能码。由客户端发送到服务器的报文中的功能码指示服务器所要执行的操作,一些功能码还带有子功能码,用于执行多步操作。如果服务器接收到的报文正确并执行,由服务器返回的报文中的功能码告诉客户端设备该信息为按照该功能码执行的结果。Modbus网络通信中常用到的是公用功能码,它们在不同公司产品之间的通信中具有统一的定义。表一给出了部分公用功能码的定义。欢迎转载,本文来自电子发烧友网
数据域内存放着Modbus设备能够识别的数据信息。由客户发送到服务器的数据域含有功能码操作的附加信息,在某些请求报文中数据域的长度为零。
如果想详细了解相关产品,可以联系我公司的技术工程师。电话:021-691,316,75,手机:180,1943,7157 Q:2355,3388,64 小肖
表一
由表1中可看出Modbus协议中依据数据属性的区别定义了四种数据类型:离散输入、线圈、输入寄存器和输出寄存器。这四种数据类型的组合构成了Modbus数据模型。它们在不同的设备内存中分配的方式是由生产厂家预先制定的,可以是在同一区域,也可以是有各自的独立区域或其他方式。
西门子6ES72882DR160AA0模块使用方法
图2ModbusPDU寻址方式
PDU的寻址方式也在Modbus应用层协议中作出了具体的定义。在ModbusPDU中每一个数据都赋予从0~65535中的一个值作为该数据的地址。而在Modbus数据模型中,每一种数据类型块中的数据单元都定义了一个从1到n(设备容量决定)的值作为其地址。
Modbus数据模型要与符合IEC-61131标准的实际设备内存或者其他模型对应起来,这方面的映射关系是由设备生产厂家制定的。图二给出了Modbus寻址模型,设备内存中的四种数据模式的组织方式是由厂家决定的。由图2可知,一个ModbusPDU地址所对应的Modbus数据模型地址为该PDU地址加1。
2.2Modbus通信实现方式
要实现设备间的通信,需要将Modbus应用层协议嵌入到ISO/OSI参考模型中的低层协议中。现行的通信方式有三种:
(1)通过串行链路实现的异步数据传输(Modbus-RTUandModbus-ASCII),又称标准Modbus通信;
(2)高速令牌环网通信(Modbus-Plus);
(3)基于TCP/IP的客户/服务器结构通信(Modbus-TCP)。
表2给出这三种通信方式与ISO/OSI参考模型的比较。
在不同的通信方式中都要对ModbusPDU进行封装,组成不同的Modbus帧,这种帧在Modbus协议中有专有的名词称之为应用数据单元(ADU)。在Modbus-RTU和Modbus-Plus通信中采用的是标准应用数据单元,它只是在PDU前面加上了占用一个字节的附加地址和在PDU结束增加了占用两个字节的校验码。在Modbus-TCP/IP网络通信中需要对Modbus应用层协议进行重新封装,该封装是通过在ModbusPDU前加上了Modbus应用层协议帧头来实现。
基于串行链路的Modbus通信网络是一种主从式网络,在串行网络中只允许存在一个主节点和多247个从节点,在这种网络下,标准ModbusADU中的附加地址域只包含从节点的地址,可寻址范围是0~247,地址0作为广播模式地址使用,从节点地址的有效取值范围是1~247,并且每个从节点的地址必须是的,主节点不存在具体的地址值。主节点设备将要访问的从节点设备的地址放入到请求帧的地址域中,当该地址的从节点设备作出响应时,将会把从节点设备的地址复制到响应帧的地址域中,主节点设备通过该地址得知是由哪个从节点设备发来的响应。
如果想详细了解相关产品,可以联系我公司的技术工程师。电话:021-691,316,75,手机:180,1943,7157 Q:2355,3388,64 小肖