本文将简单介绍I-Device通信,并讲解在TIA Portal中使用两个S7PLC设置智能设备通信的分步教程。
通常,自动化项目中需要多个PLC之间的通信。在现代PLC中,有太多可用的通信选项,以至于很难决定使用哪一个。每个通信选项都有优点、缺点和独特的工作方式。在本文中,将介绍使用TIA Portal中的I-Device在PLC通信入门指南。在接下来的部分中,将介绍:
①介绍I-Device
②解释 I-Device的优缺点
③演示如何在TIA Portal中设置两个PLC之间的智能设备通信
I-Device
I-Device是一种在PLC之间传递数据的极快方式。它以与实时(RT)或同步实时(IRT)中的Profinet总线相同的速度运行。这意味着我们可以将数据传输时间缩短到1或2毫秒,以便在PLC之间发送数据。
I-Device不仅是一种非常快速的数据传输方式,而且还易于设置。I-Device通信的配置完全在硬件级别完成,因此不需要软件配置。
一旦设置了I-Device通信,就有内置的诊断功能可用于对PLC之间的连接进行故障排除。
最重要的是,I-device是一种灵活的通信协议。它能够处理经过安全认证的通信,这意味着可以使用I-Device在PLC之间传递紧急停止状态等安全相关信号,并且I-Device可用于与另一个启用Profinet的第三方设备进行通信。
与所有通信协议一样,I-Device通信也有其局限性。I-Device通信最重要的缺点之一是通过I-Deivce进行通信的所有设备都必须位于同一子网中。如果您确实想在子网之间传递数据,仍然可以使用PN/PN耦合器来实现。
由于I-Device通信发生在I/O级别,因此该通信没有可用的安全性,并且I-Device通信使用控制器中的实际I/O资源。
基于这些优点和缺点,很明显I-Device通信适用于在同一子网中启用Profinet的设备之间非常快速地通信少量数据。如果您需要与未启用Profinet的第三方系统进行通信,那么像Modbus/TCP这样的通信协议可能更合适。如果您需要在不同子网上的设备之间进行通信,那么可以通过以太网路由的通信协议(如TCP/IP)是更好的选择。如果您需要在两个S7 PLC之间进行通信,并且在控件中没有很多可用的I/O资源,那么如果您接受与之相关的安全风险,那么PUT/GET通信可能是一个更好的选择。
考虑到所有这些,让我们看看如何在两个PLC之间建立I-Device通信。
与I-Device的PLC-PLC通信
1、项目设置
在TIA Portal中,笔者创建了一个新项目并添加了两个PLC。两个PLC都是IO控制器。
在本例中,PLC_1将是PLC_2的IO主站。PLC_2将作为其自己的IO从站的IO主站和 PLC_1的IO从站。我们可以完全在硬件配置中完成此配置,无需任何软件配置。
2、配置PLC_2
单击PLC_2的以太网端口并导航到“属性”窗格的“操作模式”部分以查找I-Device配置。通过选中IO设备复选框启用I-Device通信。
启用I-Device通信
分配的IO控制器配置变为可用。如果I-Device主设备在另一个项目中,我们可以将其保留为“未分配”。在这种情况下,我们将设置我们的传输区域并导出此I设备的GSD文件。
设置传输区域并导出GSD文件
然后可以将该GSD文件作为硬件配置中的IO设备导入其他项目。
在此示例中,两个设备都在同一个项目中,因此我们可以直接浏览到将充当IO控制器的设备。
选择分配的IO控制器
接下来,我们要填写传输区域。此处的最佳做法是给出有意义的名称,因为这些传输区域在用户程序中以符号方式寻址。由于两个控制器都在一个项目中,我们可以同时在两个控制器中定义地址。
在这种情况下,我们的IO控制器将在QB 0上输出信息。I-Device将在IB 0上接收相同的数据。要传输的数据长度为1个字节。
设置转运区
要向相反方向发送数据,您只需单击方向箭头即可。
反转传输方向
3、下载并测试
在PLC_1中,笔者将时钟字节配置为MB0。在主OB中,我使用MOVE指令将时钟字节传输到QB 0以测试与PLC_2的通信。
设置用户程序
现在,笔者将编译和下载这两个PLC。下载更新后,无需建立连接-设备之间的通信是自动和循环的。在PLC_2的观察表中,笔者可以看到自己正在接收时钟字节。
总结
在这篇文章中,我们了解了I-Device通信是什么以及如何使用I-Device设置PLC到PLC通信。同样,I-Device是一种在同一子网上的设备之间快速交换少量数据的简单方法。I-Device通信并不适用于所有应用程序,但笔者推荐它作为西门子不再推荐的PUT/GET通信的替代品。