当前位置:首页 期刊杂志

PLC间通讯的设计与实现

时间:2024-09-03

辽宁科技大学 许荣坤 彭安娜 崔建一 孙上千 邹 朋 朱翔宇

在工业产业链日益完善的今天,单个PLC的工作能力已经远远无法满足一条生产链的需求,往往需要多个PLC间的协同配合,共同来完成某一任务。因此PLC间的通讯就尤为重要。它不仅可以大大降低单个PLC的工作量,还能提高PLC的稳定性,从而提高该生产线的稳定性和生产效率。在工业自动化等多个领域,对PLC间数据传输的要求更高,需要PLC间满足实时性和确定性。

1 PLC间通讯

单个PLC自身的数据处理量和处理速度和电脑一样有极限点,所以要各个点分担数据处理量,利用PLC之间的通讯,来加快程序的运行速度。在当今的工业生产中,需要处理的数据量越来越多且越来越复杂,因此通过PLC间的通讯,来增加数据处理的点,防止由于数据过多导致数据处理缓慢甚至PLC损坏,造成不必要的工业事故。

为确保数据处理的及时性,PLC间必须采用实时通讯保证数据处理的流畅性,实时是指系统在定义的时间内处理外部事件。通过PLC之间的实时通讯可解决许多问题,比如在极端环境下保持可靠的通讯网络、在全天候保持可靠的数据交换、保证高效通讯的最大可用性等,这些都是在工业网络中不可缺少的条件,所以,PLC之间的实时通讯在现在的工业中是非常必要的,在提高产量以及提高安全性方面都有着巨大的作用。

2 通过PROFINET IO系统来实现PLC间实时通信

实时通信要求系统满足两个条件:实时性和确定性。实时要求系统在规定的时间内处理外部事件。确定性是指系统以可预测(确定的)方式进行反馈响应。PROFINET不仅符合工业以太网所要求具备的实时的确定性传输,还为实时通信提供了优化通道。用PROFINET来做确定的实时通信的优点:在规定的时间周期内传输对时间要求严格的数据,以及其他标准协议的通讯可以在同一网络中不掉帧传输。PROFINET通信支持工程组态数据和诊断数据及中断的非循环传输,以及用户数据的循环传输。PROFINET 8个主要功能模块之一,PROFINET分布式现场设备(PROFINET IO)。具有实时通信功能的PROFINET IO是集成I/O系统的最优解决方案。作为PROFINET的一部分,PROFINET IO更多的用于模块化和分布式应用上。PROFINET IO也适用于符合PROFINET标准(IEC 61158-x-10)的可编程控制器之间。PROFINET IO在组态、编程和诊断方法上和PROFIBUS DP基本上相同,但PROFINET IO比PROFIBUS的性能更好。

在这里介绍一种PROFINET IO系统的搭建。如图1所示,选定S7 1200(A)为IO控制器,S7 1200(B)为IO设备。图中交换机选择的是SCALANCE XB208,因为它是根据标准IEC 61158支持PROFINET标准的交换机。

图1 网络结构图

首先用工业以太网线缆按照图中所示,将各个设备连接起来,接通电源。将上位机的IP地址配置为192.168.10.254,子网掩码改为255.255.255.0;利用PST工具将XB208的IP地址改为192.168.10.10。

在Portal软件中创建一个项目,添加S7 1200 PLC,在项目信息中将名称修改为“IOController”;在以太网地址中设置其IP地址和子网掩码;在操作模式中,使用默认配置,即IO控制器;添加两个BYTE数据类型变量,分别命名为Tag_1和Tag_2,地址分别为%QB2和%IB2;并将这两个变量添加到监控表中,将格式分别设置为二进制和字符。

再添加一个S7 1200 PLC,命名为“IO-Device”;改地址,在操作模式中勾选”IO设备“,在”已分配的IO控制器“一栏下拉列表选择IO控制器”IO-Controller.PROFINET接口_1“;添加两个BYTE数据类型变量,分别命名为Tag_3和Tag_4,地址分别为%IB2和%QB3;并将这两个变量添加到监控表中,将格式分别设置为二进制和字符。

最后设置传输区。在智能设备通信中双击两次“新增“,添加两个传输区,如图2所示,单机箭头,可改变传输方向。

图2 传输区设置

通信测试。将IO-Controller和IO-Device分别下载并运行,点击监控表中的“全部监视“按钮;在IO控制器中,将Tag_1所在行的修改值的地方右击,将其修改为1,则监视值变为与修改值一样的数据,切换到IO设备的监控表中可以看到IO设备的%IB2地址的值也改变为一样的值;将”Tag_4”的修改值设置为”w“,右击,立即修改,则监视值变为与修改值一样的数据,切换到IO控制器的监控表中可以看到IO控制器的%IB2地址的值也改变为一样的值。

3 该方法的优势

S7-1200 CPU的PROFINET通信口除了PROFINET IO,还支持以下通信协议及服务:S7通信,TCP,ISO on TCP,UDP,Modbus TCP,HMI通信,Web通信,OPC UA服务器,Email,安全TCP等。

以S7通讯为例,S7通讯在博途软件中添加两个S7-1200后,进行网络配置,注意为同一子网下的不同IP,接着进行S7连接,在设备视图的网络视图中选择连接方式为S7连接,编译下载,确保连接的在线状态。在两个PLC的程序块中都需要创建两个DB模块,一个输入,一个输出。在指令选项下的通信中选择S7通信下的GET和PUT两条通信指令。PUT向远程CPU写入数据,GET从远程CPU读取数据。UDP通讯需要添加通信指令集下开放式用户通信中的TSEND_C、TRCV_C指令,接着配置TURCV,TUSEND指令。TCP通信是用到开放式用户通信中的TSEND,TRCY,TCON指令。TCON是建立以太网连接,TDISCON是断开以太网连接,TSEND是TCP和ISO ON TCP使用的发送数据,TRCV是TCP和ISO ON TCP使用的接收数据,TUSEND是UDP使用的发送数据,TURCV是UDP使用的接收数据,TSEND_C是建立以太网连接并发送数据,TRCV_C建立以太网连接并接收数据。接下来根据设计的需要进行编程,程序将会很繁杂。而与这些通信方式相比,PROFINET IO通信建立连接的方式简单,无需配置通信指令,更加高效易操作。

结语:随着技术的进步,PLC间通信的方式也变得多种多样。在工业实时控制中,延时越小越好。PROFINET直接在数据链路层进行封装,大大提高了通讯的性能,PROFINET IO系统作为PLC间实时通信的一种方式,它操作简单,容易理解也易上手。PROFINET的灵活性,高效性,高性能,在工业生产中,起到至关重要的作用。提高实时工厂的生产率,需要关注PROFINET技术的发展。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!