采集 PLC 数据

本教程介绍使用 Neuron 通过 ADS 协议采集倍福 PLC 上不同地址区域的数据。

环境介绍

本教程使用了在同一个局域网下的 2 台机器:

  • 机器 1 为 Linux 系统,安装了 Neuron 软件;您可以查阅安装指南以获取详细的 Neuron 安装说明。
  • 机器 2 为 Windows 系统,安装了倍福 TwinCAT 3 软件;您可以前往 Beckhoff TwinCAT 网站下载和安装 TwinCAT 。
机器 1机器 2
操作系统LinuxWindows
IP 地址192.168.1.152192.168.1.107
amsnetid192.168.1.152.1.1192.168.1.107.1.1
安装软件NeuronTwinCAT
网络连通连通

配置 TwinCAT

在 Neuron 和倍福 PLC 之间建立通讯,添加路由、查找 AMS Net ID、AMS port、以及变量的 index group 和 index offset。

在 TwinCAT 中添加路由

打开 TwinCAT Static Routes 对话框。

打开 TwinCAT static routes 对话框

Fig.1 - 打开 TwinCAT static routes 对话框

点击添加

TwinCAT static routes 对话框

Fig.2 - TwinCAT static routes 对话框

输入下图红框内容,其中 AmsNetId,为 Neuron 所在机器与倍福 PLC 相连的网卡的 IP 地址后加上 “.1.1” 。

TwinCAT add route 对话框

Fig.3 - TwinCAT add route 对话框

添加成功后,页面如下:

更新后的 TwinCAT static routes 对话框

Fig.4 - 更新后的 TwinCAT static routes 对话框

查看 AMS Net ID 及 AMS Port

打开 TwinCAT System 对话框查看 AMS Net ID。

TwinCAT system dialog

Fig.5 - TwinCAT system 对话框

TwinCAT PLC 默认端口号为 851。

TwinCAT PLC 项目页

Fig.6 - TwinCAT PLC 项目页

查看变量 index group 和 index offset

在本教程中我们使用以下 TwinCAT PLC 程序,其定义了足够的变量进行演示。

TwinCAT PLC 项目主程序

Fig.7 - TwinCAT PLC 项目主程序

查看 index group

Beckhoff index group/offset 页面列出了访问 PLC 内存范围所需的 index group。 对于 %MW 域,index group 为 0x4020 。对于 %MX 域,index group 为 0x4021。 对于主程序中定义的变量 b、i8、u8、i16、u16、i32、u32、i64、u64、f32、f64、str,index group 为 0x4040。

TwinCAT index group 表

Fig.8 - TwinCAT index group 表

查看 index offset

在 TwinCAT 中打开 PLC 的数据区 (data area) 页面可以查看变量的 index offset。

TwinCAT PLC data area tab

Fig.9 - TwinCAT PLC 数据区页面

通过 TPY 文件查找 index group/offset

您也可通过 TPY 文件找到 index group 和 index offset。

首先请确认 TPY 文件 已被启用。

TwinCAT PLC 项目配置页面

Fig.10 - TwinCAT PLC 项目配置页面

在项目路径打开 TPY 文件。

TwinCAT PLC 项目 TPY 文件路径

Fig.11 - TwinCAT PLC 项目 TPY 文件路径

TPY 文件中包含了 PLC 程序中所有变量的 index group 和 index offset 信息:

TwinCAT PLC 项目 TPY 文件内容

Fig.12 - TwinCAT PLC 项目 TPY 文件内容

配置 Neuron

添加 ADS 南向节点

在 Neuron 仪表板中,点击南向设备管理 -> 添加设备来添加一个 ADS 节点。

在 Neuron 仪表板中添加 ADS 节点

Fig.13 - 在 Neuron 仪表板中添加 ADS 节点

配置 ADS 节点

请点击节点配置图标来配置新创建的 ADS 节点。

在 Neuron 仪表板中配置 ADS 节点

Fig.14 - 在 Neuron 仪表板中配置 ADS 节点

为 ADS 节点添加点位

对于前文提及的 TwinCAT PLC 程序中的每个变量,我们将在 Neuron ADS 节点上添加一个相应的点位。 Beckhoff 数据类型页面给出了数据类型的长度,结合程序源代码可以得出点位的数据类型。

TwinCAT PLC 主程序

Fig.15 - TwinCAT PLC 主程序

对于点位地址,index offset 可在 TwinCAT PLC 数据区页面查看。

TwinCAT PLC 数据区页面

Fig.16 - TwinCAT PLC 数据区页面

下图展示了我们往 ADS 节点添加的所有点位。

Neuron 仪表板中显示 ADS 节点点位

Fig.17 - Neuron 仪表板中显示 ADS 节点点位

数据监控

读点位

当 TwinCAT PLC 处于运行模式后,我们可以在界面中看到所有变量值。

TwinCAT 运行模式中的变量值

Fig.18 - TwinCAT 运行模式中的变量值

在 Neuron 仪表板中,点击监控 -> 数据监控查看变量值读取正确。

Neuron data monitoring tab

Fig.19 - Neuron 数据监控标签页

写点位

在 Neuron 数据监控标签页,在 main.MXtest1 点位上点击 Write 写入 true。

Neuron write main.MXtest1

Fig.20 - Neuron 写点位 main.MXtest1

main.MWtest1 点位上点击 Write 写入值 6666

Neuron write main.MWtest1

Fig.21 - Neuron 写点位 main.MWtest1

写入成功后,可以在 TwinCAT 中查看变量值更新了。

TwinCAT variable values updated

Fig.22 - TwinCAT 中更新后的变量值