Jump to content
  • Sign in to follow this  

    GET 命令 – 西门子 PLC 到 PLC 通信项目

       (0 reviews)

    caixiaofeng

    在上一篇文章中,我们讨论了 PUT 命令以及如何使用它在同一项目或两个不同项目中的两个 PLC 之间进行通信。 在本文中,我们将讨论用于西门子 PLCPLC 通信项目中用于数据交换的 GET 命令。

    GET 命令是什么?

    就像 put 命令一样,GET 命令是 TIA Portal 内置功能块 FB,专门用于 S7 系列 CPU,用于将数据从远程伙伴 PLC 获取到本地 PLC。 与 PUT 命令相反GET 命令不是将数据从 PLC_1 放入 PLC_2,而是将数据从 PLC_2 获取到 PLC_1

    当使用 GET 命令时,我有两个 PLC,我需要从一个称为“伙伴”的 PLC 到另一个称为“本地”的 PLC 获取数据。 本地 PLC 是对 GET 命令进行编程的地方。

    除了两个 PLC 之间的 Profinet 连接之外。 必须对伙伴 PLC 进行一些配置,以使其能够被其他 PLC 访问。

    我们将创建一个示例项目来展示如何使用 GET 命令。

    西门子 PLCPLC 通信项目

    我们将假设一个示例项目,其中同一项目中有两个 PLCPLC_1 将充当本地 PLCPLC_2 将充当合作伙伴 PLC

    为了创建需要使用 GET 命令的情况,我们假设我们想要从伙伴 PLC_2 读取/获取整数到本地 PLC_1。

    首先,我们创建一个新项目并添加两个 PLC。 见图1。

    93-1.gif

    图1.新建一个工程,添加两台PLC。

    现在,我们需要配置伙伴 PLC_2 以启用来自 PLC_1 的 GET 访问。 我们还需要准备将从 PLC_2 移至 PLC_1 的数据。

    首先,我们需要允许 GET 命令访问将提供数据的 PLC_2。 见图2。

    93-2.gif

    图 2. 允许 GET 命令访问。

    从图中可以看到,我们允许GET命令从PLC_2的属性中访问PLC_2,在保护和安全选项中,单击

    “允许远程合作伙伴通过 PUT/GET 通信进行访问”

    现在,我可以使用 GET 命令从伙伴 PLC_2 读取/获取数据。

    接下来,我们要创建将移动到 PLC_1 的数据,我们假设 PLC_1 要从 PLC_2 获取整数

    我们将定义一个名为 “SendDataToPLC_1” 的整数标签,该整数标签将从 PLC_2 读取到 PLC_1。 见图3。

    93-3.gif

    图3. 定义要移动到 PLC_1 的数据

    就是这样; 这是您需要从 PLC_2 侧准备的完整配置,以便能够通过 GET 命令接收数据。

    现在,我们转到 PLC_1,在 PLC_1 中,我们要创建使用 GET 命令从 PLC_2 读取数据的逻辑。

    正如我们在上一篇文章中所做的那样,我们只需将 GET 命令拖放到主 OB1 中即可。 见图4。

    93-4.gif

    图4.拖放GET命令

    需要注意的是,GET命令位于S7通讯文件夹中,因为它是S7系列PLC的专有功能,因为它涉及到安全问题。 请记住,在图 2 中,当我们允许使用 GET 命令时,它位于 PLC 属性的安全和保护属性中,因为它与 PLC 安全和保护相关

    当您将 GET 命令拖放到您的系统中时,您将被要求创建一个数据块实例,因为 GET 命令本质上是一个功能块 FB。 见图5。

    93-5.gif

    图 5. 为 GET 命令创建数据实例。

    现在,我们将 GET 命令添加到逻辑中,我们需要开始配置 GET 块,就像之前使用 put 命令所做的那样。 要打开 GET 命令的配置视图,请按块顶部的蓝色小图标。 见图6。

    93-6.gif

    图 6. 打开配置视图。

    我们有两个主要参数需要配置,连接参数和块参数。 见图7。

    93-7.gif

    图 7. GET 块配置。

    从图中可以看到,Local PLC就是调用GET命令的PLC。 虽然合作伙伴 PLC 是提供数据的 PLC,但它也是我们允许 GET 访问的同一 PLC。 在我们的项目中,合作伙伴 PLC 是 PLC_2。

    从图中还可以看到,伙伴是空的,我们必须选择 PLC。 见图8。

    93-8.gif

    图8. 合作伙伴列表中的不同选项

    正如您所看到的,我们为合作伙伴 PLC 有两种不同的选项可供选择。

    未指定是指当 PLC 属于不同的 TIA Portal 项目时,如果 PLC 属于同一 TIA Portal 项目,则您将在列表中找到其他 PLC

    当您选择PLC_2选项时,因为我们的PLC在同一个项目中,连接配置将自动填写。见图9。

    93-9.gif

    图 9. PLC_2 作为伙伴

    因为两个PLC都在同一个项目中,所以当我选择PLC_2选项时,所有连接参数都会自动填写。

    另一方面,如果合作伙伴PLC来自不同的项目,那么我将选择“未指定”选项,在这种情况下,我将必须填写一些数据,例如合作伙伴PLC IP地址。 见图10。

    93-10.gif

    图 10. 未指定的合作伙伴 PLC

    如您所见,当伙伴为“Unspecified”时,您将需要手动添加一些信息,例如伙伴PLC IP地址。

    还可以看到我们需要给本地PLC_1添加一个子网。 为此,您只需转到 PLC_1 的 Profinet 属性并选择添加新子网。 见图11。

    93-11.gif

    图 11. 为 PLC_1 添加子网

    在PLC_1中添加新的子网后,连接参数配置就完成了。 见图12。

    93-12.gif

    图12.连接参数完成。

    我们需要处理的下一个配置是块参数。

    在块参数中,我们定义将在两个 PLC 之间移动的数据以及允许开始执行 GET 块的触发信号。 见图13。

    93-13.gif

    图 13. 块参数。

    如您所见,我们需要定义 GET 块的触发信号,还需要定义将从 PLC_2(读取区域 ADDR_1)移动哪些数据以及这些数据将移至何处(存储区域 RD_1)。

      我们已经定义了 ADDR_1,其前面是我们在 PLC_2 中定义的 SendDataToPLC_1 整数标记

    现在,我们将为该整数标签和触发信号定义存储区域。 见图 14。

    93-14.gif

    图 14. 定义触发信号和存储区域

    定义触发信号 ADDR_1 和 RD_1 后,我们将这些参数填充到块配置中。 见图15。

    93-15.gif

    图15.填写区块参数

    现在,GET 块的配置已完成,您可以看到该块现在已准备好下载和运行。 见图16。

    93-16.gif

    图 16. GET 块

    GET 块现已配置完毕,一旦触发信号激活,该块将从 PLC_2 读取 ADDR_1 并将其写入 PLC_1 中的 RD_1。

    Sign in to follow this  


    User Feedback

    Create an account or sign in to leave a review

    You need to be a member in order to leave a review

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    There are no reviews to display.


×
×
  • Create New...