您现在的位置是:首页 > PLC技术 > PLC技术

Modbus通信协议和相关知识点

来源:艾特贸易2017-06-04

简介对施耐德产品而言, PLC 与 PLC 之间的通信有 Modbus TCP 、 Ethernet IP 等方式。另外,采用 Unity Pro 编程的 PLC 与施耐德驱动产品的通信方式还有 Modbus 、 Canopen( 主要是 Premium 和 M340) 、 Modb

    对施耐德产品而言,PLCPLC之间的通信有Modbus TCPEthernet IP等方式。另外,采用Unity Pro编程的PLC与施耐德驱动产品的通信方式还有ModbusCanopen(主要是PremiumM340)Modbus PlusProfibus-DP等通信方式。

    Modbus网络是施耐德设备最常使用的通信方式之一,这里首先介绍了Modbus的协议和内容,对Modbus通信常用到的概念也作了细致的解释,例如Modbus RTU的概念、总线的极性偏置、CRC循环冗余校验码的计算方法、Modbus总线的长度、从站的数量、Modbus的功能码和广播方式等。

    最后通过Premium PLCATV32Modbus通信的实例,全面说明了在不同组合模式下,Premium PLC与变频器进行Modbus通信时的接线、程序编写和变频器的参数设置方法。另外,本文还介绍了通过IO Scanner input/output参数来提高ATV32 Modbus通信效率的方法。

    ModbusOSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供主/从通信。Modbus协议和ISO/OSI模型如图9-1所示。

 Modbus协议和ISO/OSI模型

    9-1  Modbus协议和ISO/OSI模型

    Modbus是一个请求/应答协议,并且提供功能码规定的服务,Modbus功能码是Modbus请求/应答PDU的元素。目前,互联网组织能够使TCP/IP栈上的保留系统端口502也能访问ModbusModbus通信栈如图9-2所示。

 Modbus通信栈

    9-2  Modbus通信栈

    1Modbus主站/从站协议原理

    Modbus串行链路协议是一个主一从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子节点(最大编号为247)连接于同一个串行总线。Modbus通信总是由主节点发起,而子节点在没有收到来自主节点的请求时,是不会发送数据的,另外,子节点之间也不会互相通信。同时,主节点在同一时刻是只会发起一个Modbus请求的。

    主节点可以采用单播模式和广播模式两种模式对子节点发出Modbus请求。

    (1)单播模式

    主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文(一个应答)。

    一个Modbus事务处理包含两个报文,即一个来自主节点的请求,一个来自子节点的应答。

    每个子节点必须有唯一的地址(1247),这样才能区别于其他节点被独立的寻址。

    (2)广播模式

    主节点向所有的子节点发送请求。

    地址0专门用于广播数据。对于主节点广播的请求从节点不会应答此请求。广播模式的请求一般是用于对从站的写请求。

    2Modbus帧描述

    Modbus应用协议定义了简单的独立于其下面通信层的协议数据单元( Protocol Data UnitPDU)Modbus协议数据单元如图9-3所示。

 Modbus协议数据单元

    9-3  Modbus协议数据单元

    施耐德变频器的Modbus协议映射在协议数据单元之外引入了一些附加的域。发起Modbus事务处理的客户端构造Modbus PDU,然后添加附加的域以构造适当的通信PDU。串行链路上的Modbus帧如图9-4所示。

 串行链路L的Modbus帧

    9-4  串行链路LModbus

    3.两种串行传输模式

    ModbusRTU模式和ASCII模式两种串行传输模式。

    Modbus串行链路上所有设备的通信设置必须相同,包括波特率和数据校验方式等。

    (1) ModbusRTU传输模式

    施耐德ATV32变频器只支持Modbus RTU模式。

    当设备使用RTU(Remote Terminal Unit)模式在Modbus串行链路通信时,报文中每个8位字节含有两个4位十六进制字符。这种模式的主要优点是较高的数据密度,在相同的波特率下比ASCII模式有更高的吞吐率。同时,每个报文必须以连续的字符流传送。