最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

Modbus通信在PLC通道检测中的应用

发布时间:2011-09-04 作者:佚名  来源:EDN
关键字:PLC PLC通道检测 Modbus通信 
PLC在工业自动化控制领域中占有很大的比例,一些大型的控制系统中控制点数量达到上万,采用常规的通道测量方法来对PLC通道测量往往需要花费不少的时间,而且效率低。本文针对施耐德电气的Quantum系列PLC,通过引入Modbus-TCP协议实现普通计算机与PLC通信,用普通计算机取代编程器去进行通道测量试验。操作人员不需要对PLC和计算机的通信很熟悉就能够很快地完成通道检测,提高了工作效率。

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协议结合的一个简单应用,虽然以太网的实时性、稳定性和抗干扰性已得到很大的发展,但要把以太网真正应用到实际的控制中还有很多技术难题,这还要走很长一段路。不过以太网进入自动控制领域已是必然趋势,它将使控制变得更加简单和清楚。

3