在之前的文章中,我们介绍了分布式 IO 模块的概念,以及如何使用 PLC 配置 IO 模块。 在本文中,我们将展示如何在 PLC 系统之间进行分布式 IO 共享。
内容:
- 问题描述。
- 与两个 PLC 共享 IO 设备。
- 将不同的内部模块分配给 PLC。
问题描述
在上一篇文章中,我们展示了如何将分布式 IO 模块与 PLC 连接和配置,并通过该 PLC 控制分布式模块的 IO 点。 在本文中,我们讨论需要将同一分布式 IO 模块与两个不同 PLC 一起使用的情况。 见图1。
图 1. 两个不同的 PLC 项目。
PLC 系统之间的分布式 IO 共享
想象一下,我们需要在两个 PLC 之间共享分布式模块的输入和输出点。 在两个 PLC 之间共享分布式 IO 模块是可能的,但并非所有模块都能做到这一点,但大多数现代模块都可以。
共享信息的另一种方法是将所有信息从分布式 IO 获取到一个 PLC,并在两个 PLC 之间建立通信,然后交换所需的数据。 这将在另一篇文章中展示。
在分布式 IO 设备(IO设备_1)中,我们配置了许多 IO 模块,例如 4DIx24VDC 模块、8DOx24VDC 模块、2DIx24VDC 模块以及更多模块。 见图 2。
图 2. 我们的 IO 设备中的不同 IO 模块。
与两个 PLC 共享 IO 设备
在本文中,我们将假设正如您从图片中看到的那样,我们要通过 PLC_1 控制 4DIx24VDC 模块和 8DOx24VDC 模块,并且我想从 PLC_2 控制 2DIx24VDC 模块和 2DOx24VDC 模块。
所以我想在两个 PLC 之间共享不同的模块,从而共享名称设备。
如图 1 所示,分布式 IO 设备(IO 设备_1)已经是 PLC_1 的扩展,正如我们在上一篇文章中设置的那样,但我们还需要将其设为 PLC_2 的扩展,以便可以在两者之间共享 PLC。 见图 3。
图 3. IO 设备是 PLC_1 的扩展
通常,在执行此操作时,我们会将每个 PLC 置于不同的 TIA Portal 项目中,但由于我们没有真正的硬件设备,因此我们将仅使用一个 TIA Portal 软件项目来演示如何在两个 PLC 之间共享分布式 IO 模块 。
我们有一个项目有两台 PLC。 我们需要将 IO 设备_1 分配给 PLC_1 和 PLC_2
为此,请在网络视图中复制该模块并将其粘贴到您的项目中以拥有两个模块。 见图 4。
图 4. 复制并粘贴 IO 设备。
现在,我们需要将此 IO 设备分配给 PLC_2,就像我们在上一篇文章中对 PLC_1 所做的那样。 见图 5。
图 5. 将模块分配给 PLC_2
现在,如果您尝试将项目下载到两个 PLC,PLC_1 将能够找到 IO 模块。 但是,PLC_2 将无法找到 IO 模块,因为没有名为 IO device_2 的实际硬件模块,我们只有一个硬件 IO 设备,并且从上一篇文章开始,它被配置为名称 IO device_1,这就是为什么 PLC_2 将 找不到 IO 设备。 见图 6。
图 6. 通过设备网络名称进行连接。
因此,我们需要为两个 IO 模块指定相同的设备网络名称,见图 7。
图 7. 网络设备名称
如您所见,IO 模块的网络设备名称为 IO device_1,其他 IO 模块见图 8。
图 8. 第二个 IO 模块的网络设备名称。
此处,网络名称为 IO device_2。 我们需要为两个 IO 模块指定相同的名称,以便两个 PLC 都能找到它并连接到它。
取消选中自动名称生成选项,这样我们就可以更改名称并将它们都设为 IO device_1,同时确保两个模块中红色区域内的所有信息相同。 见图 9。
图 9.取消点击自动生成选项。
在我们将两个模块的信息更改为相同后,请检查图片 10a 和 10b。
图 10a. 第二个 IO 模块。
图 10b. 第一个IO模块
现在两个 IO 模块是相同的,两个 PLC 都可以找到 IO 模块并与其通信。 见图 11。
图11. 两台 PLC 都能找到 IO 模块。
到目前为止,我们假设两个 PLC 都位于同一个 TIA Portal 项目中。
但是,如果我们与另一个 TIA Portal 项目中的控制器共享 IO 模块,我们将执行与之前相同的操作,但会添加一个额外的步骤。
在此步骤中,我们将转到 IO 模块的属性并更改共享设备 IO 周期选项,如图 12 所示。
图 12. 项目外部的 IO 控制器
从图中可以看到,如果两个 PLC 属于不同的 TIA Portal 项目,我们将红框内的值改为 1。
由于我们在同一个项目中拥有两个 PLC,因此我们将其保持为零。
现在两个 PLC 都可以看到 IO 设备并与其通信,我们需要告诉 IO 模块,哪些内部模块应该与哪个 PLC 通信。
正如我们在图 2 中提到的,我们需要一个 4DIx24VDC 模块和 8DOx24VDC 模块来与 PLC_1 通信,我想从 PLC_2 控制2DIx24VDC 模块和 2DOx24VDC 模块。
我们可以按照以下步骤来做到这一点。
为 PLC 分配不同的内部模块
首先进入 IO 设备_1 的属性,您会发现 IO 设备的所有内部模块都属于 PLC_1。 见图 13。
图 13. IO 模块的共享设备。
从图中可以看到,访问 IO 设备的所有内部模块都分配给 PLC_1,但是正如我们之前提到的,我们需要 PLC_2 访问最后两个内部模块 2DIx24VDC 模块和 2DOx24VDC 模块。
为此,只需右键单击所需的模块并取消选择 PLC_1 选项,并将其设为空白以指示该模块将通过不同的控制器进行控制。 见图 14。
图 14. 取消选择内部模块。
如果取消选择 PLC_1 选项后检查 IO 设备_1 的设备概览,您将看到这些内部模块没有为 PLC_1 分配地址,表明它们属于其他位置。 见图 15。
图 15. 未分配给 PLC_1 的模块无寻址
现在,我需要将这两个模块分配给 PLC_2 的 IO device_2。
通过执行与之前相同的步骤,转至 IO 设备_2 的共享设备属性,并仅将 PLC_2 分配给两个需要的模块。 见图 16。
图 16. 将所需模块分配给 PLC_2
现在,2DIx24VDC 模块和 2DOx24VDC 模块已分配给 PLC_2,如果您检查设备概述,您会发现它们的寻址方式与我们想要的 PLC_2 相同。 见图 17。
图 17. 寻址属于 PLC_2
这就是我们如何在两个 PLC 之间共享一个 IO 模块,无论它们位于同一个 TIA Portal 项目中还是位于两个不同的项目中。