首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 通信与网络
Modbus通信在PLC通道检测中的应用
来源:本站整理  作者:佚名  2010-06-27 10:09:58





Modbus-TCP实现了在TCP/IP以太网上以客户/服务器方式的Modbus报文通信。这种通信模型是将Modbus协议作为应用层协议嵌入到低层TCP/IP协议中构成的。与标准Modbus帧相比,Modbus-TCP帧中的寻址与校验交由TCP/IP协议完成。如图3所示,使用封装的方法将Modbus PDU嵌入到TCP报文中形成Modbus-TCP帧,该帧在PDU之前形成了一个占用7个字节大小的MBAP帧头,帧头可以划分为四部分,如表3所示。


交易标识符用于交易校验,服务器端节收到由客户发来的请求交易标识符并复制到响应中。协议标识符用于系统内多路复用传输,取0值时代表Modbus协议传输。长度域记录了该域后续报文的字节长度(包括设备识别符和数据域),用于服务器识别报文的传输结束。设备标识符用于系统内路由,当需要与通过以太网网关连接的Modbus串行链路或Modbus-Plus通信网络上的设备进行通信时,该标识符域的值由Modbus-TCP客户在请求帧中设置,服务器接收到后,在响应帧中复制该值。

3 Modbus-TCP应用


针对施奈德电气旗下的Quantum系列PLC,为了加快完成这方面的工作,采用自编写的程序实现计算机对PLC的四种数据类型直接操作。硬件方面,Quantum系列PLC有能提供以太网接口的网络模块,通过底板与CPU通信,它作为Modbus-TCP通信的服务器,不需要我们做其他编程工作。PLC为上文所陈述的四种数据类型定义了四个独立的内存区,其中离散输入为1区,线圈为0区,输入寄存器为3区,输出寄存器为4区,寻址方式为区号加上5位的十进制地址,当输入地址不足6位时,系统将自动认为最高位数值为内存分区号,其后数值为该区域内的地址编号。由于操作的目的在于检验PLC系统中IO通道的正确性,所需要使用的功能码有:读线圈01、读离散输入02、读保持寄存器03、读输入寄存器04、写多线圈15和写多个寄存器16。


一次完整的Modbus-TCP通信在时间上可以划分为三个步骤:连接的建立、Modbus数据传输和连接的释放。在进行Modbus数据传输之前首先要建立起一个连接,设备是通过在502端口提供一个监听口(socket)来允许与其它设备建立新连接和进行数据传输。当某一设备需要与远方的服务器进行数据交换时,必须通过自身大于1024的端口与服务器的502端口建立连接。TCP连接建立后,客户端设备便可以发送Modbus请求帧到服务器,服务器接收到请求后作出响应,向连接客户的端口发送响应报文。传输结束时,客户端负责进行释放通信连接的初始化工作。


程序在DOS模式下运行,提供有以下运行参数:
-ip: 即目标服务器的IP地址;
-p: PLC的Modbus通信端口,默认值为502;
-c: 服务器执行功能码的操作对象数量;
-r: 操作的起始地址;
-w: 写操作参数;
-a: 自动操作模式;
-t: 自动操作的时间间隔;
-b: 线圈写操作的布尔值。

4 结束语


通过以太网来实现计算机直接读写PLC数据,使得厂级监控网络能够直接与现场设备通信,监控人员能够在熟悉的计算机画面上对PLC通道进行检测,与依靠人为施加信号来进行检测相比,前者明显地降低了操作人员的工作量,而且当需要检测的IO点数量越大时,效率越高。本程序只是Modbus与TCP/IP协议结合的一个简单应用,虽然以太网的实时性、稳定性和抗干扰性已得到很大的发展,但要把以太网真正应用到实际的控制中还有很多技术难题,这还要走很长一段路。不过以太网进入自动控制领域已是必然趋势,它将使控制变得更加简单和清楚。

上一页  [1] [2] [3]  下一页

关键词:

·上一文章:Modbus最新动态及应用
·下一文章:ASON路由技术体系结构

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:101,281.30000 毫秒