控制器用作 Modbus TCP 上的从站设备

概述

本节介绍用作 Modbus TCP 从站设备M262 Logic/Motion Controller 的配置。

每个 M262 Logic/Motion Controller 使用 Modbus 服务器,此服务器不需要配置。Modbus 从站设备向控制器添加另一个 Modbus 服务器功能。此服务器由 Modbus 客户端应用程序通过指定 1...247 范围内的已配置单元 ID(Modbus 地址)来寻址。从站控制器的嵌入式 Modbus 服务器无需配置,可通过指定单元 ID 等于 255 来寻址。请参见 Modbus TCP 配置

要将 M262 Logic/Motion Controller 配置为 Modbus TCP 从站设备,必须向控制器添加 Modbus TCP 从站设备功能(参见后面的“添加 Modbus TCP 从站设备”部分)。此功能会在控制器上创建一个可通过 Modbus TCP 协议进行访问的特定 I/O 区域。每当外部主站需要访问控制器的 %IW%QW 对象时,会用到这个 I/O 区域。这个 Modbus TCP 从站设备功能让您能够为这个区域提供控制器 I/O 对象,而这些对象能够随后藉由单个 Modbus 读/写寄存器请求来访问。

可以从从站控制器看到输入/输出:输入由主站写入,输出由主站读取。

Modbus TCP 从站设备能够定义特权 Modbus 客户端应用程序,该应用程序的连接不会被强制关闭(嵌入式 Modbus 连接可能会在需要 8 个以上的连接时被关闭)。

与特权连接关联的警戒时钟可让您验证控制器是否正在受到特权主站的轮询。如果在超时持续时间内未收到任何 Modbus 请求,则诊断信息 i_byMasterIpLost 设为 1 (TRUE)。有关详细信息,请参阅以太网端口只读系统变量

有关 Modbus TCP 的详细信息,请参阅 www.odva.org 网站。

添加 Modbus TCP 从站设备

如要添加 Modbus TCP 从站设备,请在硬件目录中选择 Modbus TCP 从站设备

将其拖放到其中一个突出显示节点的设备树中。

有关将设备添加到项目的更多信息,请参阅:

• 使用硬件目录

• 使用上下文菜单或加号按钮

Modbus TCP 配置

若要配置 Modbus TCP 从站设备,请双击设备树中的 Ethernet_2 > ModbusTCP_Slave_Device

将出现以下对话框:

元素

描述

配置参数

IP 主站地址

Modbus 主站的 IP 地址

此地址上的连接不会关闭。

警戒时钟

警戒时钟按 500 毫秒递增

注: 警戒时钟适用于 IP 主站地址,但该地址为 0.0.0.0 时除外。

从站端口

Modbus 通讯端口 (502)

注: 可以使用 changeModbusPort 脚本命令修改端口号。

单元 ID

将请求发送到 Modbus TCP 从站设备 (1...247),而不是发送到嵌入式 Modbus 服务器 (255)。

保持寄存器 (%IW)

交换要使用的 %IW 寄存器数 (2...40)(每个寄存器为 2 字节)

输入寄存器 (%QW)

交换要使用的 %QW 寄存器数 (2...40)(每个寄存器为 2 字节)

Modbus TCP Slave Device I/O Mapping 选项卡

I/O 从主站视角映射到 Modbus 寄存器,如下所示:

  • %IW 从寄存器 0 映射到 n-1,且可读/写(n = 保持寄存器数量,每个 %IW 寄存器的大小为 2 个字节)。

  • %QW 从寄存器 n 映射到 n+m-1,且为只读(m = 输入寄存器数量,每个 %QW 寄存器的大小为 2 个字节)。

在配置 Modbus TCP 从站设备后,发送到其单元 ID(Modbus 地址)的 Modbus 命令便会访问控制器的 %IW%QW 对象,而不是当单元 ID 为 255 时被访问的常规 Modbus 字。这有利于 Modbus TCP IOScanner 应用程序进行读/写操作。

Modbus TCP 从站设备响应 Modbus 命令 的子集,但响应方式与 Modbus 标准不同,并且 目的是与外部 I/O 扫描器交换数据。以下 Modbus 命令受 Modbus TCP 从站设备支持:

功能代码十进制(十六进制)

功能

注释

3 (3)

读取保持寄存器

允许主站读取设备的 %IW 和 %QW 对象

6 (6)

写入单个寄存器

允许主站写入设备的 %IW 对象

16 (10)

写入多个寄存器

允许主站写入设备的 %IW 对象

23 (17)

读取/写入多个寄存器

允许主站读取设备的 %IW 和 %QW 对象,并写入设备的 %IW 对象

其他

不支持

注: 尝试访问 n+m-1 以上的寄存器的 Modbus 请求通过“02 - 非法数据地址”例外代码进行应答。

要将 I/O 对象链接到变量,请选择 Modbus TCP 从站设备 I/O 映射选项卡:

通道

类型

描述

输入

IW0

WORD

保持寄存器 0

...

...

...

IWx

WORD

保持寄存器 x

输出

QW0

WORD

输入寄存器 0

...

...

...

QWy

WORD

输入寄存器 y

字数取决于 Modbus TCP 选项卡的保持寄存器 (%IW)输入寄存器 (%QW) 参数。

注: 输出表示来自客户端/主站控制器的 OUTPUT(= 服务器/从站控制器的 %IW)。输入表示来自客户端/主站控制器的 INPUT(= 服务器/从站控制器的 %QW)。

总线循环选项

Modbus TCP 从站设备 I/O 映射选项卡中,选择总线循环任务以使用:

  • 使用父总线循环设置(缺省),

  • MAST

  • 项目的现有任务:您可以选择某一已有任务,并将其与扫描器进行关联。有关应用程序任务的详细信息,请参阅 EcoStruxure Machine Expert 编程指南

注: 在设备的 I/O 映射编辑器中有一个对应的总线循环任务,其中包含 Modbus TCP 从站设备。此参数定义负责刷新 %IW%QW 寄存器的任务。