APP下载

基于PLC与PC通信的机场旅客随身行李安检设备状态监测系统的设计

2020-11-26贾玉鹏李诗然朱翔宇李传璨王志腾

通信电源技术 2020年15期
关键词:服务端通信协议IP地址

贾玉鹏,李诗然,朱翔宇,李传璨,王志腾

(郑州机电工程研究所,河南 郑州 450000)

0 引 言

S7-1200是德国西门子公司生产的一款将各个功能进行模块化封装的紧凑型工业PLC,能够满足工业上简单或复杂的逻辑控制,支持HMI和网络通信等。它的编程界面友好、编程方式简单、系统可靠性高以及模块式设计扩展性强等,使其在自动化控制领域的应用十分广泛[1]。但是,该PLC的人机接口功能不完善,不能给用户提供一个友好的人机交互界面,影响对设备运行过程的管理与监控。PC在这一方面强大而完善[2],要实现PC机管理PLC中的过程数据,需要通过通信方式将PLC产生的数据传送给PC。

S7-1200和PC机的通信方式主要有以下3种。第一,将西门子的HMI软件WinCC作为动态数据交换服务器,客户应用程序通过访问动态数据交换服务器来间接访问PLC内的数据。然而,该方式需要安装专门的组态软件,受组态软件的限制较多且扩展性较差。第二,安装西门子OPC服务器,然后按照OPC接口协议规定编写OPC客户端接口,可以完成PLC与PC的数据通信。第三,调用PLC的功能块,配置PC和PLC分别作为客户端和服务端,同时基于TCP/IP协议进行数据通信[3]。这种通信方式简单且灵活,但所选用的PLC需要支持以太网TCP/IP协议。本文详细讲解了PLC与PC基于TCP/IP协议的通信方式,并以此搭建机场旅客随身行李安检设备状态监测系统。

1 采集网络的搭建

本文预建成机场旅客随身行李安检设备状态监测系统。状态监测系统通过自动化采集和存储设备的数据,依托已构建的数据仓库,采用数据挖掘和机器学习等智能技术,完成设备状态监测和故障诊断等功能,实时感知设备状态,及早发现设备隐患,并快速辅助设备维修,最终达到大幅延长设备使用寿命和提高工作效率的目的[4]。

1.1 总体网络设计规划

机场旅客随身行李安检设备状态监测系统框架,如图1所示。

1.2 PLC数据采集

PLC现场控制总线PROFINET是基于TCP/IP协议的100 Mb/s总线,可以对所有PROFINET网络内的所有站点进行数据交换,包括传感器、电机以及电机控制器等。同时,PLC支持串口通信的功能扩展,可通过串口与多功能数显表进行通信。在PROFINET网络内部,PLC通过自带的网络接口可以读取到传感器、电机以及电机控制器实时的工作电压、工作时间、工作状态以及报警信息。此外,PLC可以通过串口读取到机场旅客随身行李安检设备的输入电压、电流以及功率等信息。PLC数据采集的硬件组成框图如图2所示。

图1 监测系统的整体框架示意图

图2 PLC数据采集硬件组成框图

1.3 采集软件设计

由于PLC端在进行数据采集时,需要采集的设备数量过多,且其采集的数据类型大部分是相同的,唯一的不同是不同设备在PLC组态里的地址不同。因此,为了简化程序,减小程序运行内存,提高CPU运行效率,可通过复用PLC的FC函数块来进行大量数据的采集。PLC程序中数据采集FC函数块,如图3所示。

图3 PLC程序中数据采集FC函数块

2 上下位机通信过程实现

设计中上位机采用普通工业PC,选取支持TCP/IP协议的PLC,为PLC与工业PC的通信提供了硬件基础。当工业PC与PLC利用TCP/IP协议进行通信时,两者的IP地址需要处于同一网段。

2.1 PLC端的软件配置

西门子S7-1200系列PLC进行TCP/IP通信时,主要调用的系统功能块包括TCON(建立通信连接)、TSEND(通过通信连接发送数据)以及TRCV(通过通信连接接收数据)。其中,TCON用来建立连接,并进行网络通信配置,具体的连接参数配置如图4所示。

图4 TCON模块连接参数配置

图4中,本地指的是PLC,伙伴指的是需要进行连接的工业PC。配置时,需要确保本地的IP地址与伙伴的IP地址处于同一IP段,保证物理上是联通的。本次设置中,设置伙伴端即工业PC端为主动建立连接的一方。由TCP的基本通信原理可知,在建立TCP/IP连接时,主动建立连接的一方为客户端。所以,本次通信配置中,PLC设置为服务端,工业PC设置为客户端。需要说明的是,通信端口的配置需要配置通信双方的端口,而不是只配置服务端。如图4所示,PLC的TCON模块连接参数配置页面中只能进行PLC端即服务端端口的配置,而客户端端口需要在工业PC进行软件编制时配置。

此外,TSEND用于PLC在通信中发送数据,TRCV用于PLC在通信中接收数据。在实际过程中,无论将PLC设置为客户端还是服务端,其软件配置没有差别,都是通过TCON块建立TCP/IP连接,通过TSEND和TRCV块进行数据的发送和接收。

2.2 工业PC端的软件编制

在本文的通信方式中,工业PC端编写的软件对外建立的通信接口为网络套接字Socket。它的编程方式根据工业PC端与PLC的连接是主动还是被动有所不同。套接字Socket在编程的过程中通过构建一个中间文件描述符来处理接口到网络的操作,具体的网络操作细节由操作系统完成,而不是直接访问发送与接收包的网络接口设备。

设计中,工业PC作为客户端,其套接字编程接口系统函数调用的流程为Socket→bind→connect。建立连接时,工业PC端编制的对应软件会主动向PLC发起连接请求,在3次握手完毕后,工业PC端的编制软件与PLC成功建立连接,随后工业PC端的编制软件会通过调用read函数和write函数与PLC端进行数据交换。当不需要工业PC与PLC进行数据交换时,工业PC端的软件可以通过调用close函数主动关闭与PLC的连接。

数据写入代码如下:

数据读取代码如下:

2.3 通信协议

PLC与工业PC成功完成通信的前提是双方都能准确接收、发送以及解码特定的数据。而通信协议是用来对PLC与工业PC交互的数据进行解码,需要进行数据交互的双方共同遵守。本文中的通信协议如图5所示,协议中定义了所传递数据的数据类型和所传递数据的含义。同时,通信协议中定义了通信双方的IP地址、端口号以及信息发送和接收的时序,以保证能够顺利将信息数据通过网络传输到指定的位置。

从图5可以看出,PLC与工业PC通信的指令长度固定为23个字符。其中,起始符为2位、结束符为2位,PLC地址为1位,数据长度为1位,且数据内容固定不发生变化。功能码为1位int型,数据内容会根据不同的器件发生变化。设备状态码为16位int型数据,内部包含设备的工作时间、工作状态、故障状态、工作电压、工作电流以及温度等数据。

图5 通信协议格式

2.4 通信测试

搭建通信测试环境如下:PLC包含1块CPU、1块扩展I/O模块、2块串口通信模块以及1块工业交换机模块;IP地址为192.168.8.180;网络端口设置为2000。工业PC机选用的是研祥工控机,PC的操作系统为Windows 10。测试过程中将工业PC的IP地址设置为192.168.8.110,随身行李安检设备状态监测系统软件端口配置为2000。为了监控网络连接和数据交换,直接在随身行李安检设备状态监测系统软件中将传递的数据打印出来。工业PC主动建立连接、工业PC接收到来自PLC的数据以及工业PC向PLC发送数据,分别如图6、图7及图8所示。

图6 工业PC主动建立连接

图7 工业PC接收到来自PLC的数据

图8 工业PC向PLC发送数据

3 PC端的数据处理

在前期积累的大量设备异常数据的基础上,依靠机器学习和三支决策等智能信息技术,由工业PC智能分析PLC端采集的数据,并在可视化界面展示设备的运行状态。此外,设备三维可视化安全态势感知、故障诊断、故障报警以及维修保养等功能,可辅助现场维保人员及管理者及早预防设备隐患,优化维修决策,延长设备的使用寿命,提高工作效率。可视化界面如图9所示。同时,PC端的数据上传至移动端,由移动端分析各用户提供给设备的检测数据和异常信息。存在报警信息时,维修人员需上报报警信息和维修结果,并在维修后将维修内容和经验上传至系统形成闭环,从而逐步完善故障诊断模型,提高诊断和预测的精度。

图9 可视化分析系统界面

4 结 论

PLC与工业PC通过以太网基于TCP/IP协议的通信方式具有简单灵活等优点。本文基于该通信方式搭建了机场旅客随身行李安检设备状态监测系统,实现了对接入系统的机场安检设备进行状态监测、报警信息、剩余寿命预测、健康评估、保养管理、巡检管理以及维修管理等,实时感知设备状态,及早发现设备隐患,快速辅助设备维修,制定应急措施,最终达到大幅延长使用寿命和提高工作效率的目的。

猜你喜欢

服务端通信协议IP地址
新时期《移动Web服务端开发》课程教学改革的研究
车载网络通信协议标准化问题研究
公安网络中IP地址智能管理的研究与思考
电动汽车充电接口及通信协议新国标发布
《IP地址及其管理》教学设计
计算机的网络身份IP地址
摸清黑客套路防范木马侵入
基于R8C的汽车OBD通用故障诊断仪设计
SIP协议系统模型的形式化研究