可编程逻辑控制器之间的内部通信外文翻译资料

 2023-03-13 03:03

本科毕业设计(论文)

外文翻译

可编程逻辑控制器之间的内部通信

作者:Marios Tyrovolas1 and Tibor Hajnal2

国籍:希腊,沙特

出处:IEEE Transactions on Industrial Informatics 2021 Vol.17 No.1 P514-523 1551-3203

中文译文:

摘要:物联网 (IoT) 可广泛应用于制造业等各种应用,可实现高运营效率和提高生产力。物联网范式的开发使得使用多于一个 PLC 的分布式控制系统 (DCS) 变得更加可行。实现具有多个 PLC的工业此 http URL案例,必须确保其此 http URL这篇论文,使用消息队列遥测传输 (MQTT) 物联网协议的 PLC 通信的解决方案是 此 http URL 使用实验工业厂房,由两台PLC控制。为实现该过程,将两台西门子网关Simatic IoT2020集成并通过Modbus远程终端单元(RTU)工业协议与PLC进行通信。最后,建立了两台网关之间的数据交换使用 MQTT 协议。

关键字:PLC 物联网 MQTT 协议

一、介绍

如今,在社会的各个方面,越来越多的人利用“智能”设备和利用现代通信网络的功能 。这种持续的进步,允许新创新,通讯和 娱乐方式使得有新的生活方式,同时扩大互联网的范围导致 从“人联网”向“物联网”(IoT)[1]转型。 物联网是指多种设备之间的互联为了在没有人工干预的情况下实时交换数据[2]。 这样的网络创造才能发挥作用在工业中扮演非常重要的角色。 特别是,工业物联网(IoT)可以显著提高工业设备的联通性、流程的可扩展性和整体工厂效率。 尽管工业物联网提供了先进技术,工业仍然依赖他们的传统系统组成的可编程逻辑控制器(plc)。 PLC指的是一种用于控制工业设备的微处理机,它能提高质量和可靠性,降低生产成本。 因此,它们被认为是任何工业的组成部分。在未来的任何工业物联网解决方案中都不能缺席。

工业物联网的出现,允许工业设备之间的通信,导致了在机器之间级别的增加dcs的使用的新趋势。具体来说,在dcs中,不是使用一个PLC来控制一个由多个执行器和机械手组成的自动化系统,而是使用更多的PLC来控制工厂。在这样的系统中,plc必须具备根据外部事件(如客户订单的最后一次变化)相互交互的能力,从而提高系统的响应能力。因此,有必要解决plc的内部通信问题。

为了实现plc之间的通信,专门开发的现场总线协议(EtherCat、Profinet、Modbus、EtherNet/IP等)提供了延迟数微秒的实时通信,提出了[4]-[8]。通过考虑未来行业基于物联网的方向,物联网协议应用于制造过程中独立单元的互联。同时,这些协议的使用可以扩展到工厂范围之外,让用户有机会远程控制自动化系统和监控生产的正确操作。这会导致一个网络的创建,在这个网络中,工业设备和用户可以通过一个独特的协议相互通信。本文提出了MQTT iot协议在一个工业实验装置上的应用,重点介绍了plc之间的相互通信。本文的组织结构如下:第二节介绍了系统的布局,第三节描述了系统实现的技术细节。最后,第四节对执行期间所达成的结论提出评论。

二、系统配置

图1 对工业厂房的高水平概述

该实验自动化系统由7个子单元组成,用于进行物体的旋转或直线运动。 如图2所示,所有的运输运动都是由十二个步进电机依次由两个plc控制。前五个电机由第一个PLC控制,其余七个电机由第二个PLC控制。为了实现这个应用程序,必须建立两个控制器之间的通信。为此,使用两个西门子网关(Simatic IoT2020)进行数据交换(图1)。Simatic io2020通过其各种通信端口从位于本案例研究[9]中的plc收集数据。这可以通过使用安全的工业协议,如Modbus, Profinet等来实现。

图2 由12台电机组成的工业厂房

三、实现细节

系统的操作思路如下:当第一个PLC完成其单个单元的移动时,一个标志被激活表示过程的完成。标志值的更改会通知给第二个控制器,而第二个控制器会执行自己的操作序列。 当电机9或11完成其操作时,第二PLC的相应标志被激活,并通过通知其值给第一控制器,重复该程序。

一个出现的问题是“控制器如何知道标记值的变化?”plc之间的数据交换是通过利用物联网技术通信的两个网关来实现的。然而,为了能够读取标记的新值,并将此变化通知控制器,Simatic io2020和plc之间的通信使用了串行通信协议Modbus RTU。

  1. Modbus RTU协议分析

Modbus RTU是一种基于主从结构的开放式工业串行通信协议。根据这种架构,从服务器永远不会传输数据,除非它们首先收到来自主服务器的请求,而主服务器拥有对数据流[10]的完全控制。对从机的查询消息由[11]组成:

设备地址:从服务器的地址值从1到247(十进制),让主服务器知道哪个从服务器在响应。

函数代码:指示主程序如何与从程序交互。

Data:该字段包含从服务器执行该功能所需的任何附加信息。

错误检查:提供验证消息内容的方法。 主服务器计算校验和并将其发送给从服务器,然后由从服务器重新计算校验和并比较两个值。 如果检测到两个值之间有任何差异,从服务器将不会响应主服务器的请求。

  1. Modbus RTU在PLC中的实现

图3 Modbus设备之间的主从关系和查询-响应关系

本案例研究通过RS232电缆实现了Simatic IoT2020 (Modbus master)与PLC (Modbus Slave)之间的Modbus RTU通信。Simatic S7-300通过软件驱动和通信处理器模块CP-340成为Modbus从机。这个驱动程序包含三个功能块:

FB36 “MSL340” (Modbus从站通信功能块)

FB3“P_SEND”(CP340西门子标准发送功能块)

FB2“P_RCV”(用于CP340的西门子标准接收功能块)

“MBSL340”是唯一被用户程序调用的函数块。 ' P_SEND '和' P_RCV '函数块在' MBSL340 '[12]中被调用。

图4 “MBSL340”功能块

因此,为了使PLC成为Modbus从机,在组织块1 (Organization Block 1, OB1)一开始就被称为“MBSL340”,并正确配置了协议的一般参数(波特率、奇偶校验、数据位、停止位)。这些参数必须与主机的相关参数匹配,因为任何不匹配都会导致通信失败。波特率设置为9600bps,同时选择奇偶校验。字符字段由8个数据位和1个停止位组成。

  1. Simatic io2020中Modbus RTU的实现

使用Codesys平台将Simatic io2020设置为Modbus Master。Codesys是一个根据国际工业标准IEC 61131-3编写控制器应用程序的开发环境,其中集成的编译器将用户的应用程序代码转换为本机机器码(二进制代码)[13]。对于提议的实现,在项目中插入了Modbus接口,随后配置了协议的通用参数和两个通信端点。如图5和图6所示,配置了响应时间、帧间时间和从地址。

图5 设置的Modbus Master在Codesys

图6 设置的Modbus Slave在Codesys

此外,还定义了主、从机之间的两条通信通道,用于向plc读写数据。网关通过发送函数代码03(读取保持寄存器)来读取标记值,而对于更新值的入口,第一个网关发送函数代码15(写多个线圈),第二个发送代码05(写单个线圈)。选择功能代码15作为第一个控制器等待两个标志值(如果电机9或11返回到它们的参考点),而使用功能代码05作为第二个PLC期望一个标志值(如果第一个控制器完成其单个单元的运动)。

  1. MQTT协议分析

为了实现两个控制器之间的数据交换,需要建立网关之间的通信。这是通过使用物联网技术,特别是MQTT通信协议实现的。MQTT是一种轻量级和“紧凑”的消息传递协议,用于在需要低带宽时远程传输数据。它关注于最小的移动头(2字节的头)和低级别嵌入式设备之间的可靠通信,从而导致网络资源[14]的有效利用。它基于publishsubscribe体系结构,其中客户机通过名为MQTT Broker的服务器相互通信。客户端可以发送数据(发布者),也可以接收数据(订阅者),这些数据被组织成一个主题层次结构。当发布者有新数据时,它会向Broker发送消息,Broker会将这些数据分发给特定主题的任何订阅者,这样两个端点就完全解耦了[15]。

图7 网关通过MQTT进行通信

  1. Simatic IoT2020中MQTT的实现

MQTT也使用Codesys平台实现。从用户程序中只调用一个功能块,该功能块是按照IEC 61131-3标准编写的

图8 MQTT客户端功能块

在将所需的函数块(FB_MQTTClient)插入到项目之后,定义其输入参数。如图7所示,设置了网关与MQTT Broker之间手动连接的xEnable参数,以及MQTT Broker的IP地址(i_xBrokerAddress)和MQTT的端口(1883)。接下来,设置了用于发布和订阅消息的两个布尔变量(xPublish和xSubscribe),同时定义了每个网关的发布和订阅主题。此外,i_xRetain参数被永久定义为系统正确操作的状态0 (false),消息的内容(有效负载)被设置为从控制器读取的标志的值。具体来说,第一个网关读取持有寄存器4001,而第二个网关同时读取持有寄存器4001和4002。因此,在第一个Simatic io2020程序中,设置了一个地址为%IW0的输入(Register4001),同时在第二个Simatic io2020程序中设置了地址为%IW0的两个输入(Register4001)和地址为%IW1的两个输入(Register4002)。此外,每个网关仅在其值发生变化时才发布数据。所提出的技术经过实验验证,使该工业装置运行正常,没有出现任何问题。具体地说,电机运行正常,同时单元微动精度损失没有出现。

四、结论

在本研究中,提出了利用Modbus RTU和MQTT协议控制一个实验工业装置的两台plc之间的互连。正如所观察到的,MQTT可以用于远程控制应用程序,但是,它没有用于更新PLC变量的内置机制。因此,它需要一个工具来接收发布的消息、处理消息并访问PLC来更新变量。

为了更好的比较,最好将重点放在通过更兼容的工业协议(如OPC UA)将可编程逻辑控制器和其他工业设备互连上。具体来说,我们可以比较plc之间的数据交换时间和系统的响应时间。这将为用户在部署应用程序时提供更大的灵活性,以满足每个自动化系统的需求。

参考文献

[1] R. Mehta, J. Sahni, and K. Khanna,“物联网:视觉、应用和挑战”,《计算机科学进展》,第132卷,第1263-1269页,2018,doi:10.1016/j.p procs.2018.05.042..

[2] H. Son, S. Elamanov, R. Nadia, J. Hwang, J. Song, J. Kim,“Poster摘要:Modbus和物联网平台互联的智能能源管理”,IEEE Xplore, 2019年11月01日。 https://ieeexplore.ieee.org/document/9065020(访问2020年12月03日)。 H. Poor,信号检测和估计介绍。 纽约:施普林格Verlag, 1985年,第4章。

[3] M. A. Ali, A. H. Miry, T. M. Salman,“基于物联网的水箱液位控制系统使用PLC”,IEE

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[596494],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。