在本文中,我们将讨论两个 PLC 之间通信的另一种方式,无论它们位于同一项目还是两个不同的 PLC 项目中。 在本文中,我们将讨论西门子 PLC 中的 PUT 命令,该命令可用于将数据从一个 PLC 发送或放入第二个 PLC。
什么是 PUT 命令?
一般来说,PUT 命令是 TIA Portal 内置功能块 FB,专门用于 S7 系列 CPU,用于将数据从本地 PLC 传送到远程伙伴 PLC。
使用 PUT 命令时,我将有两个 PLC,我需要将数据从一个称为本地的 PLC 发送到另一个称为伙伴的 PLC。
必须对伙伴 PLC 进行一些配置,以使其能够被其他 PLC 访问。 除了 PLC 之间的 Profinet 连接之外。
我们将创建一个示例项目来展示如何使用 PUT 命令。
西门子 PLC 中的 PUT 命令
我们将假设一个示例项目,其中同一项目中有两个 PLC,PLC_1 将充当本地 PLC,PLC_2 将充当合作伙伴 PLC。
我们想要将一个整数从本地写入伙伴 PLC。
PLC 项目示例
首先,我们创建一个新项目并添加两个 PLC。 见图1。
图1.添加本地和伙伴 PLC。
我现在需要的是配置 PLC_2,即接收数据的 PLC_2,以便能够接收该数据。 PLC_1 将与 PUT 命令一起使用。
我需要做的第一件事是允许 PUT 命令访问将接收数据的 PLC_2。 见图2。
图 2. 允许 PUT 命令访问。
如图所示,我们允许 PUT 命令从 PLC_2 的属性中访问 PLC_2,在保护和安全选项中,单击
“允许远程伙伴通过 PUT/GET 通信进行访问”
现在,我可以使用 PUT 命令将来自任何远程伙伴的数据放入 PLC_2。
第二件事是在 PLC_2 中为要放入其中的数据准备一个空间或内存。 我们假设我们想要将一个整数值放入该 PLC 中,因此我将根据该值准备一个内存。 见图3。
图3. 准备接收数据的区域。
就是这样; 这是您需要从 PLC_2 侧准备的完整配置,以便能够通过 PUT 命令接收数据。
接下来,我们设置从 PLC_1 发送的数据。 我们将创建一个数据块来保存发送到 PLC_2 的数据,在该数据块内,我们将定义一个要放入 PLC_2 的整数标签。 见图4。
图4. 创建数据块来保存发送的数据。
我们定义了一个要发送到 PLC_2 的整数标签 “SendMeToPLC_2”。 见图5。
图5.定义要发送的数据。
请注意,对于 PLC_1,我们不需要允许使用 PUT 命令选项进行访问。 我们在将接收数据的 PLC 中激活此功能,而不是在将发送数据的 PLC 中激活此功能。
现在,让我们在编程中使用 PUT 命令,在主 OB1 中我们将拖放 PUT 命令 FB。 见图6。
图6. 将PUT命令添加到OB1中。
需要注意的是,PUT命令是在S7通讯文件夹中找到的,因为它是S7系列PLC的专有功能,因为它涉及到安全问题。 请记住,在图 2 中,当我们允许使用 PUT 命令时,它位于 PLC 属性的安全和保护属性中,因为它与 PLC 安全和保护相关。
PUT 命令本质上是一个功能块,因此当将其添加到我的逻辑中时,我将被要求创建一个数据实例。 见图7。
图 7. 为 PUT 命令创建数据实例。
按“确定”后,PUT 命令现已添加到您的 PLC 逻辑中。 见图8。
图 8. PUT 命令
添加 PUT 命令后,现在我们需要对其进行配置,我们为 PUT 命令配置两个参数。
PLC 之间的连接
将从 PLC_1 PUT 到 PLC_2 的块
要转到 PUT 命令的配置视图,请按最后一张图片中显示的蓝色小图标。
在连接参数中,您将设置本地 (PLC_1) 和伙伴 (PLC_2) PLC 之间的通信。 见图9。
图9. 连接参数。
如您所见,本地 PLC 设置为 PLC_1,这是使用 PUT 命令的 PLC。 伙伴端仍然是空的,这就是我们应该分配 PLC_2 的地方。
如果您单击下拉列表,您将有两个合作伙伴选项。 见图10。
图10. 合作伙伴连接
伙伴是接收数据的 PLC; 您会发现有两个选项可供选择:
- PLC_2 [CPU 1516-3 PN/DP]
- 未指定
因为两个 PLC 都在同一个项目中,所以当我选择 PLC_2 选项时,所有连接参数都会自动填写。见图11。
图 11. PLC_2 作为伙伴
另一方面,如果合作伙伴PLC来自不同的项目,那么我将选择“未指定”选项,在这种情况下,我将必须填写一些数据,例如合作伙伴PLC的IP地址。 见图12。
图12. 未指定的合作伙伴
如您所见,在这种情况下,我需要填写一些数据,例如 IP 地址,还需要为 PLC_1 添加子网。
要为 PLC_1 添加子网,我们将转到 PLC_1 的 Profinet 属性并选择添加子网选项。 见图13。
图 13. 添加子网。
完成后,连接参数配置就完成了。 见图 14。
对于您发出的每个 PUT 命令,连接名称应该是唯一的,TIA Portal 将自动为其指定一个新名称,但您最好为项目中的连接分配一个更合适的名称。 我们这里保持原样。
图14.连接参数完成
PUT 命令配置的下一步是块参数设置。
在这些参数中,我们指定 PUT 命令的触发器,这意味着什么信号将启动 PUT 命令操作。 以及将从 PLC_1 放入哪些数据以及将其存储在 PLC_2 中的何处。 见图15。
图 15. 模块参数设置
对于开始请求 (REQ) 信号,我们定义了一个输入标签 (SendData %I0.0)。 正如我们之前提到的,我们已经定义了将发送到 PLC_2 的标签以及它将在 PLC 内存储的位置。
完成块参数配置后,PUT 命令的配置也就结束了。 见图16。
图 16. 调用 PUT 命令
所以,综上所述,当 REQ 信号被触发时,SD_1 中的数据将被发送到 ADDR_1。