Skip to main content

配置网络变量交换

在发送方设备和接收方设备之间交换网络变量需要执行以下步骤:

1、在发送端设备中创建网络变量列表并生成导出文件

要求:将应用程序插入已用作发送设备的 PLC 的设备树中。

  1. 选择应用程序并插入 网络变量列表(发件人) 目的。在里面 添加网络变量列表(发件人) 对话框,配置以下设置: 网络类型: UDP (例子: icon_nvl_sender.png "NVL_Sender”)。

  2. 双击 NVL 对象以打开相应的编辑器并键入网络变量的声明。例子:

    VAR_GLOBAL

    iglobvar:INT;

    bglobvar:BOOL;

    strglobvar:STRING;

    END_VAR

  3. 右键单击设备树中的 NVL 对象以打开 特性.在里面 特性 对话框,打开 网络变量 标签。这显示了以下设置: 网络类型:UDP;列表标识符:1;打包变量;循环传输:每 50 ms。

  4. 注意:您还可以通过配置其网络变量属性将现有 GVL 转换为网络变量列表。

  5. 在里面 特性 的对话框 NVL_发件人, 点击 链接到文件 标签。定义文件名 <export>.gvl 以及 GVL 导出文件在文件系统中的位置。选择 编译前导出 选项。

  6. 点击 构建 → 构建 编译应用程序。

网络变量列表的导出文件现在位于定义的文件夹中。

2. 在接收设备中创建关联的网络变量列表

要求:设备树中存在发送设备和接收设备。具有任务配置的应用程序插入到设备下方。 NVL 或 GVL 在发送方设备下方创建为要发送的网络变量列表。

  1. 在设备树中选择接收器的应用,点击 添加对象→网络变量列表(接收者).

    添加网络变量列表(接收方) 对话框打开。

  2. 在对话框中,选择先前创建的发送设备 NVL 并指定名称(例如: icon_nvl_receiver.png “NVL_Receiver”)。 CODESYS 使用发送者列表中的变量声明自动填充此接收者列表。

    注意:作为替代方案,您可以选择 从文件导入 选项并加载先前从发件人列表中生成的导出文件。

3. 测试网络变量交换

要求:发送方设备中存在网络变量列表(发送方),接收方设备中存在网络变量列表(接收方),且两个列表具有相同的变量声明。

  1. 在发送方设备中的应用程序下方,创建一个递增网络变量的程序。

    例子: iglobvar:=iglobvar+1;

  2. 配置应用程序任务,以便该程序调用它。

  3. 在接收器设备中的应用程序下方,创建一个将此网络变量的值写入本地变量的程序。

    例子: ilocalvar:=iglobvar;

  4. 配置应用程序任务,以便该程序调用它。

  5. 将这两个应用程序下载到控制器并启动它们。 (将应用程序设置为活动、登录、下载和启动)

  6. 在两个程序的编辑器的在线视图中,检查 iglobvar 接收者和发送者匹配。

V2.3 和 V3 PLC 之间的网络变量通讯配置

要求:V2.3 项目中存在一个全局变量列表,其中包含您想要读入的网络变量 V3 项目。在里面 V3 项目中,在 PLC 下方的设备树中,有一个应用程序,其中包含使用变量的程序。

  1. 打开 特性 V2.3 项目(发送方)中的 GVL 对话框。

  2. 将另一个 PLC 作为具有应用程序和任务的虚拟对象插入到项目中。然后在它下面创建V2.3 GVL,如下:

  3. 插入一个 网络变量列表(发件人) 虚拟应用程序下方名为“dummy23”的对象。

  4. 右键点击 假人23 打开 特性 对话。点击 网络属性 标签。键入与 V2.3 项目中的 GVL 相同的网络属性。

  5. 充满 假人23 具有与 V2.3 GVL 中相同的变量声明。

  6. 定义导出文件“dummy23.gvl”的位置 链接到文件 的选项卡 特性 为了 假人23.

  7. 将虚拟控制器的应用程序设置为活动并单击 构建 → 生成代码 (F11)。

    当应用程序编译成功后, CODESYS 自动创建 dummy23.gvl 导出文件。

  8. 将物理 PLC 的应用设置为激活,然后右键打开 添加对象 对话。

  9. 选择 网络变量列表(接收方) 并指定一个名称(例如:“NVL_from_23”)。

  10. 选择 从文件导入 选项并选择 dummy23.gvl,这是之前生成的。

  11. 查看 NVL_from_23,刚刚创建。您必须获得与 V2.3 项目中的发送方 GVL 中相同的变量声明。

有关更多信息,请参阅: 网络变量列表(发件人)网络变量列表(接收方)