随着科学技术的发展,PLC的运算速度、处理能力和通信功能得到极大提升。PLC的品牌众多,同是基于TCP/IP协议的通信方式,不同品牌
PLC之间虽然IP地址在一个网段,但也无法实现互相通信,必须借助第三方硬件或软件才可以实现数据交换。因此,研究基于Socket方式实现不同品牌PLC之间的通信,有着非常重要的实际意义。
1Socket协议概述
Socket又名套接字,是支持TCP协议或UDP 协议的网络通信操作的基本单元,TCP或UDP协议应用层和传输层协议通过Socket接口区分不同程序进程或网络通信,以实现网络传输的并发[1]。Socket的建立连接至少需要一对套接字完成,一个运行于客户端(SocketClient),另一个运行于服务器端(SocketServer)。
Socket的连接过程分为3个步骤:
a.服务器监听。服务器的套接字并不定位具体的来自客户端的套接字,而是一种等待连接的状态,通过实时监控网络状态,等待客户端的连接请求。
b.客户端请求。指SocketClient通过查SocketServer的地址和端口号,发起连接请求。
c.当SocketServer监听到SocketClient发送的请求时,响应客户端请求,建立一个线程,把SocketServer描述发给客户端,当SocketClient确认后,建立连接成功。
Socket通信流程如图1所示
图1Socket通信流程
2PLC通信协议设置
为了验证Socket通信的稳定性和有效性,笔者选取S7⁃400系列PLC与Controllogix系列PLC 通过Socket实现相互通信。
S7⁃400系列414⁃2DP处理器支持SIEMENS 的PROFINET协议[2],PROFINET基于TCP/IP协议,可以实现控制层级横向与纵向的集成。Controllogix系列1756⁃L72处理器支持Rockwell 的Ethernet IP协议[3]。由于两家公司配套软件不同,如需实现网络互通,需从物理连接和PLC硬
基于Socket方式实现不同品牌PLC之间的通信
陈峰1孟宇2杨至诚2
(1.北京金自天正智能控制股份有限公司;2.冶金自动化研究设计院)
摘要基于Socket通信方式,实现以SIEMENS PLC作为客户端、Rockwell PLC作为服务器的互相通信,给出网络配置和程序设计。通过搭建的硬件测试环境模拟测试了PLC的通信过程。
关键词Socket通信PLC网络配置程序设计
中图分类号TH862+.7文献标识码A文章编号1000⁃3932(2020)01⁃0016⁃05作者简介院陈峰(1978⁃),高级工程师,从事冶金及盐化工行业自动控制的设计工作,aritimety@126。
件网络配置两个方面完成网络配置[2,3]。
2.1物理连接
本项目有2套PLC和1台编程器,为验证系统的有效性,采用网络交换机连接方式,两套PLC和编程器都设定在一个局域网中,通过计算机CMD中的PING指令验证物理连接的有效性。
2.2PLC硬件网络配置Rockwell PLC的硬件网络配置。Controllogix 系列1756⁃L72处理器采用Rockwell RSLogix5K、RSLinx软件进行硬件配置和软件编程,具体配置步骤如下:
a.通过“Rockwell Software>RSLinx”创建新连接,通过“Communication>Configure Drivers>
Available Driver Types”选择驱动,本项目选用“EtherNet devices”;
b.添加新的驱动“Add New>添加名称>点击OK”;
c.配置以太网驱动,输入IP地址192.168.1.243并确定;
d.自动扫描网络,可查询在线网络设备;
e.打开RSLogix5K软件,通过RSWho关联RSLinx软件到CPU,实现程序下载。Rockwell RSLinx组态如图2所示。
SIEMENS的PLC硬件网络配置。414⁃2DP处理器选用STEP7编程软件完成414⁃2DP硬件配置后进入NetPro程序:
a.通过“Insert>New Connection”创建新连接,在连接伙伴处选择“unspecified”,并选择“TCP connection1”作为连接类型;
b.在TCP属性窗口“General Information”标签中选择PLC通信模块、ID号和Active connec⁃tion establishment(该选项为通信设置中Socket⁃Server或者SocketClient的设定,本项目中选择SIEMENS的PLC作为SocketClient,这里打勾);
c.在addresses窗口中设定Local/Remote IP 地址192.168.1.244和端口号10002;
d.编译后下载至PLC中。SIEMENS硬件组态如图3所示
图3SIEMENS硬件组态
3应用程序设计实现
3.1Rockwell软件实现
Rockwell PLC是通过软件实现Socket通信
功能的。MSG指令为1756⁃L72从网络中的另一
个模块异步读取或异步写入数据块的软件指令,
在使用MSG指令时:
a.定义一个新的数据类型为Message的Tag,图2Rockwell RSLinx
组态
对应一个MSG指令;
socket通信在哪一层b.选择MSG结构类型,本项目为第三方通信,因此选择CIP Generic类型;
c.建立MSG的ServiceType服务类型标签,根据Socket通信原则,本项目使用了5种类型的服务类型标签——
—Custom(用户自定义类型,当Socket通信中断时可自动修复)、Socket Create(创建Socket通信连接标签)、OpenConnection(打开Socket通信连接类型)、WriteSocket(写数据块类型)和ReadSocket(读数据块类型);
d.根据不同类型的MSG建立对应的参数设置。
MSG指令组态如图4所示。
在程序结构设计中:
a.Socket通信程序采用250ms定时扫描执行,因此将Socket封装在子程序块内,方便调用;
b.手动测试采用5个Bool位指令,即Delete_ All_Request、Create_Socket_Request、Accept_ Request、Read_Data_Request和Write_Request,实现MSG指令调用
;
图4MSG指令组态
c.MSG参数设定,例如在Socket_Open_Par 中设定SocketServer的IP地址和port号;
d.采用Ton、Mov、Xic及Xio等指令实现自动Socket程序功能;
e.调试过程中,通过观察MSG指令的(EN)、(DN)、(ER)状态监控通信是否正常,其中(EN)代表MSG指令使能、(DN)代表MSG指令执行完成、(ER)代表MSG指令错误位。Rockwell程序如图5所示
。图5Rockwell程序
3.2SIEMENS Socket软件实现
在SIEMENS的STEP7软件中,通过AGSEND(FC5)和AGRECV(FC6)实现块的读写操作。AGSEND用于
向另外的S7站、计算机站或者第三方系统发送数据;AGRECV用于从另外的S7站、计算机站或者第三方系统接收数据。PLC程序为循环扫描,扫描时间可根据程序自动调节或者设定固定时间,本项目设定250ms 执行一次读写操作过程。
在程序设计过程中,首先在OB1功能块中调用SD(250ms)计时器模块,计时器完成位是执行AGSEND和AGRECV指令。M0.0为控制位,在上升沿有效;ID为硬件组态设置;LADDR为通信模块的起始地址;SEND(RECV)为发送(接收)的地址区域;LEN为通信字的字长;DONE为完成位; ERROR为功能块的错误位,发生错误时报警; STATUS为功能块的状态字,显示功能块的运行状态。
SIEMENS程序如图6所示。
图6SIEMENS程序
4通信测试
4.1搭建硬件环境
Rockwell PLC为SocketServer端,其硬件模块由电源模块PA72、CPU模块L73、以太网模块EN2T、A10框架组成。网络部分由交换机和网线组成。
SIEMENS PLC为SocketClient端,其硬件模块由电源模块PS407、CPU模块S7⁃400414⁃2DP、以太网模块443⁃1和框架组成。网络设备和编程器选用IBM笔记本、8电口100M交换机及网线等。
4.2下载程序
分别通过Rockwell和SIEMENS的配套软件,将对应的软件下装到PLC中。
4.3通信测试
两套不同品牌PLC通信调试比较繁琐,很难一次调试成功。笔者在调试过程中,选用了一款第三方软件TCP/UDP测试软件,采用TCP/UDP 软件可以模拟Socket服务器/客户端,先用两套
PLC分别对TCP/UDP软件测试成功后再进行PLC通信。最终实现了PLC之间的通信,通信时间达到了毫秒级,而且通信中断后可自动连接。TCP/UDP通信软件如图7所示,STEP7中的监控通信数据如图8所示
图7TCP/UDP通信
软件
图8STEP7中的监控通信数据
5结束语
随着工矿企业的快速发展,PLC和工业以太网技术在企业生产中广泛应用。笔者针对不同品牌PLC之间采用Socket进行通信做了一次尝试,实现了Rockwell和SIEMENS的PLC通信,希望
(Continued from Page 8)Abstract
Aiming at the problem of large water ⁃level drop for a dam ⁃type hydropower station,a buoy de ⁃
vice and its adaptive control system were designed.The device mainly consists of the buoy body,power supply system,intelligent control system,drive system and their accessories.Through making use of a verti ⁃cal angle control algorithm and an immersion height control algorithm,the auto ⁃adjustment of the anchor chain was achieved.For purpose of ensuring the reliability of immersion height measurement,an extended Kalman filter ⁃based state estimation algorithm was designed.The device developed can be applied to alert
ships passing by the dam ⁃type hydropower station with the water level dropped sharply .Key words
buoy,control system,dam ⁃type hydropower station,extended Kalman filter,vertical angle con ⁃trol algorithm,immersion height control algorithm,state estimation algorithm
能给工控领域的设计者们一个解决思路和途径。
考文献
[1]
肖美华,余立全,肖攀.Socket 通信程序模型抽取及
可靠性验证[J ].计算机科学,2012,39(11):102~106.
[2]向晓汉,苏高峰.西门子PLC 工业通信完全精通教程[M ].北京:化学工业出版社,2013:208~275.
[3]
孙蓉,苏丽,吕淑平,等.PROFINET 控制系统设计研究[J ].实验室研究与探索,2014,33(4):103~106.
(收稿日期:2019⁃09⁃11,修回日期:2019⁃11⁃04)Communication Realization between PLCs Based on
Socket Communication Mode
CHEN Feng 1,MENG Yu 2,YANG Zhi ⁃cheng 2
(1.Beijing Aritime Intelligent Control Co.,Ltd.;2.Automation Research and Design Institute of Metallurgical Industry )
Abstract
Having Socket communication mode based to realize the communication between PLCs which
taking SIEMENS PLC as the client and Rockwell PLC as the server was implemented,including the network configuration and program design as well as simulation and testing of the PLC communication process by setting up a hardware test environment.Key words
Socket,communication ,PLC,network configuration,program design
福建虹润精密仪器有限公司封面深圳计为自动化技术有限公司封二
苏州安特威阀门有限公司封三/封底
重庆川仪自动化股份有限公司前插1北京振威展览股份有限公司前插2无锡福斯拓科科技有限公司
前插3天华化工机械及自动化研究设计院有限公司
前插4/5在线谱及分析仪表成套设备
前插6
放射性检测仪表及技术服务前插7干燥工程技术及装备前插8/9废热锅炉及余热回收装置前插10电化学设备及工程前插11塑料配混挤出技术及装备前插12有机废气(VOCs )处理系统前插13化学工业设备质量监督检验中心前插14/15迷宫压缩机及压缩机气量调节系统
前插16
广
索引

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。