M241 Logic Controller 作为 EtherNet/IP 上的目标设备

简介

本节介绍用作 EtherNet/IP 目标设备的 M241 Logic Controller 的设置。

有关 EtherNet/IP 的详细信息,请参阅 www.odva.org 网站。

EtherNet/IP 目标配置

如要将 M241 Logic Controller 配置为 EtherNet/IP  目标设备,必须将 EtherNet/IP 管理器添加到控制器。在硬件目录中选择 EthernetIP,将其拖到设备树,然后将其放到一个突出显示的节点上。

EtherNet/IP 参数配置

要配置 EtherNet/IP 参数,请双击设备树中的 COM_Bus > TM4ES4 > EthernetIP

显示以下对话框:

G-SE-0047870.1.gif-high.gif

 

 

EtherNet/IP 配置参数定义如下:

o实例

引用输入或输出区的编号。

o大小

输入或输出区通道的数量:

每个通道的内存大小为 2 个字节,用于存储 %IWx 或 %QWx 对象的值,其中 x 是通道号。

例如,如果输出区大小为 20,这表示有 20 个输入通道 (IW0...IW19) 用于寻址 %IWy...%IW(y+20-1),其中 y 是该输出区的第一个可用通道。

元素

允许的控制器范围

EcoStruxure Machine Expert 缺省值

输出区

实例

150...189

150

大小

2...40

20

输入区

实例

100...149

100

大小

2...40

20

EDS 文件生成

您可以生成 EDS 文件,以便更容易地配置 EtherNet/IP 循环数据交换。

步骤

操作

1

设备树中,右键单击 EthernetIP 节点并从上下文菜单中选择导出为 EDS

2

根据需要修改缺省文件名和位置。

3

单击保存

注意: 使用 EDS 文件中的 Major Revision 和 Minor Revision 对象来确保 EDS 文件的唯一性。这些对象的值不反映实际的控制器修订级别。

一般 M241 Logic Controller 和 M251 Logic Controller EDS 文件也可从 Schneider 网站上获得。必须根据您的应用来调节 EDS 文件。为此,应编辑文件并定义集合实例和大小。

EthernetIP 从站 I/O 映射 选项卡

可以在 EthernetIP 从站 I/O 映射 选项卡中定义和命名变量。此选项卡还提供其他信息,例如拓扑寻址。

G-SE-0005340.2.gif-high.gif

 

 

下表描述了 EthernetIP 从站 I/O 映射配置:

通道

类型

缺省值

描述

输入

IW0

WORD

-

控制器输出的命令字 (%QW)

IWxxx

输出

QW0

WORD

-

控制器输入的状态 (%IW)

QWxxx

字数取决于在以太网/IP 配置中配置的大小参数。

输出表示来自起点控制器的 OUTPUT(= 控制器的 %IW)。

输入表示来自起点控制器的 INPUT(= 控制器的 %QW)。

EtherNet/IP 上的连接

若要访问目标设备,起点会打开连接,这个连接可包含若干发送请求的会话。

一个显式连接使用一个会话(会话是一个 TCP 或 UDP 连接)。

一个 I/O 连接使用 2 个会话。

下表显示了 EtherNet/IP 连接限制:

特性

最大值

显式连接

8(3 类)

I/O 连接数

1(1 类)

连接

8

会话数

16

同时请求数

32

注意: M241 Logic Controller 仅支持循环连接。如果起点通过状态修改这一触发类型来打开连接,那么控制器不会拒绝该连接,但会以 RPI 速率发送数据包。

配置文件

控制器支持以下对象:

对象类

类 ID

类别

实例数

对接口行为的影响

标识对象

01 hex

1

1

支持复位服务

消息路由器对象

02 hex

1

1

显式消息连接

组件对象

04 hex

2

2

定义 I/O 数据格式

连接管理器对象

06 hex

 

1

TCP/IP 接口对象

F5 hex

1

1

TCP/IP 配置

以太网链接对象

F6 hex

1

1

计数器和状态信息

接口诊断对象

350 hex

1

1

扫描器诊断对象

351 hex

1

1

连接诊断对象

352 hex

1

1

显式连接诊断对象

353 hex

1

1

标识对象(类 ID = 01(十六进制))

下表描述了标识对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

01h

标识对象的实现修订号

2

Get

最大实例数

UINT

01h

最大实例数

3

Get

实例数

UINT

01h

对象实例数

4

Get

可选实例属性列表

UINT、UINT [ ]

00h

前 2 个字节包含可选实例属性数。随后的每个字节对表示其他可选实例属性数。

6

Get

最大类属性

UINT

07h

最大类属性值

7

Get

最大实例 属性

UINT

07h

最大实例属性值

下表对类服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

0E

获取单个属性

返回指定属性的值

下表对实例服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

05

复位(1)

初始化以太网/IP 组件(控制器重新启动)

0E

获取单个属性

返回指定属性的值

(1) 复位服务描述:

当标识对象收到复位请求时,它将执行以下操作:

o判断自己是否可以提供所请求的复位类型

o对请求做出响应

o尝试执行请求的复位类型

复位公共服务有一个特定参数:复位类型 (USINT),它具有以下值:

复位类型

0

重启控制器。

注意: 如果省略此参数,则该值将成为缺省值。

1

热复位。

2

不支持。

3...99

保留

100...199

供应商特定

200...255

保留

下表对实例属性进行了描述:

属性 ID

访问

名称

数据类型

详细信息

1

Get

供应商 ID

UINT

243h

Schneider 自动化 ID

2

Get

设备类型

UINT

0Eh

控制器

3

Get

产品代码

UINT

1002h

控制器产品代码

4

Get

版本

USINT、USINT 的结构

控制器的产品修订号 (1)

相当于控制器版本的 2 个低字节

5

Get

状态

字 (2)

请参阅下表中的定义

6

Get

序列号

UDINT

控制器的序列号

XX + MAC 地址上的 3 LSB

7

Get

产品名

USINT、STRING 的结构

(1)WORD 中的映射:

oMSB:次修订号(第二个 USINT)

oLSB:主修订号(第一个 USINT)

示例:0205h 表示修订号 V5.2。

(2) 状态描述(属性 5):

名称

描述

0

已被拥有

未使用

1

保留

2

已配置

TRUE 表示设备应用程序已进行重新配置。

3

保留

4...7

扩展设备状态

o0:自我测试或未确定

o1:正在进行固件更新

o2:至少检测到一个无效 I/O 连接

o3:未建立任何 I/O 连接

o4:非易失性配置无效

o5:检测到不可恢复错误

o6:至少有一个 I/O 连接处于运行状态

o7:至少已建立一个 I/O 连接,所有连接都处于空闲模式

o8:保留

o9...15:未使用

8

轻微可恢复故障

TRUE 指示设备检测到在大多数情况下可以恢复的错误。

此类型事件不会引起设备状态的改变。

9

轻微不可恢复故障

TRUE 指示设备检测到在大多数情况下不可恢复的错误。

此类型事件不会引起设备状态的改变。

10

重大可恢复故障

TRUE 表示设备检测到错误,该错误需要设备报告例外并进入 HALT 状态。

此类型的事件会导致设备状态发生更改,但在大多数情况下可以恢复。

11

重大不可恢复故障

TRUE 表示设备检测到错误,该错误需要设备报告例外并进入 HALT 状态。

此类型的事件会导致设备状态发生更改,但在大多数情况下不可恢复。

12...15

保留

消息路由器对象(类 ID = 02(十六进制))

下表描述了消息路由器对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

01h

消息路由器对象的实现修订号

2

Get

最大实例数

UINT

01h

最大实例数

3

Get

实例数

UINT

01h

对象实例数

4

Get

可选实例属性列表

UINT、UINT [ ] 的结构

20

前 2 个字节包含可选实例属性数。随后的每个字节对表示其他可选实例属性数(从 100 到 119)。

5

Get

可选服务列表

UINT

00h

所有已实现可选服务属性数和列表(0:未实现任何可选服务)

6

Get

最大类属性

UINT

07h

最大类属性值

7

Get

最大实例 属性

UINT

119

最大实例属性值

下表对类服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

0E

获取单个属性

返回指定属性的值

下表对实例服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

0E

获取单个属性

返回指定属性的值

下表对实例属性进行了描述:

属性 ID

访问

名称

数据类型

描述

1

Get

已实现对象列表

UINT、UINT [ ] 的结构

已实现对象列表。前 2 个字节包含已实现对象数。随后的每两个字节都表示其他已实现类数。

此列表包含以下对象:

o标识

o消息路由器

o组合

o连接管理器

o参数

o文件对象

oModbus

o端口

oTCP/IP

o以太网链接

2

Get

可用数

UINT

512

支持的最大并发 CIP(1 类或 3 类)连接数

组件对象(类 ID = 04,十六进制)

下表描述了组件对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

2

组件对象的实现修订号

2

Get

最大实例数

UINT

189

最大实例数

3

Get

实例数

UINT

2

对象实例数

4

Get

可选实例属性列表

结构:

UINT

UINT [ ]

 

1

4

前 2 个字节包含可选实例属性数。随后的每个字节对表示其他可选实例属性数。

5

Get

可选服务列表

UINT

00h

所有已实现可选服务属性数和列表(0:未实现任何可选服务)

6

Get

最大类属性

UINT

07h

最大类属性值

7

Get

最大实例 属性

UINT

04h

最大实例属性值

下表对类服务进行了描述:

服务代码 (十六进制)

名称

描述

0E

获取单个属性

返回指定属性的值

下表对实例服务进行了描述:

服务代码 (十六进制)

名称

描述

0E

获取单个属性

返回指定属性的值

10

设置单个属性

修改指定属性的值

支持的实例

输出表示来自起点控制器的 OUTPUT(= 控制器的 %IW)。

输入表示来自起点控制器的 INPUT(= 控制器的 %QW)。

该控制器支持 2 个组件:

名称

实例

数据大小

控制器输出 (%IW)

可配置:必须介于 100 和 149 之间

2...40 个字

控制器输入 (%QW)

可配置:必须介于 150 和 189 之间

2...40 个字

注意: 组件对象将多个对象的属性绑定在一起,因此通过单个连接即可在各对象之间进行信息交换。组件对象是静态对象。

使用中的集合可通过访问网络配置工具 (RSNetWorx) 中的参数进行修改。控制器需要重启才能注册新的集合分配。

下表对实例属性进行了描述:

属性 ID

访问

名称

数据类型

描述

3

Get/Set

实例数据

字节数组

只有控制器输出可使用数据集服务

4

Get

实例数据大小

UINT

4...80

数据大小(以字节为单位)

从以太网/IP 扫描器访问

在以太网/IP 扫描器需要用 M241 Logic Controller 来交换集合时,会使用以下访问参数 (Connection path):

o4 类

o实例 xx,其中 xx 指代实例值(示例:2464(十六进制) = 实例 100)。

o属性 3

此外,必须在起点中定义配置集合。

例如:类 4、实例 3、属性 3,由此获得的 Connection Path 将是:

o2004(十六进制)

o2403(十六进制)

o2c<xx>(十六进制)

连接管理器对象(类 ID = 06(十六进制))

下表描述了组件对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

2

连接管理器对象的实现修订号

2

Get

最大实例数

UINT

189

最大实例数

3

Get

实例数

UINT

2

对象实例数

4

Get

可选实例属性列表

结构:

UINT

UINT [ ]

可选属性数和列表。第一个字包含要跟随的属性数,接下来的每个字包含其他属性代码。

跟随的可选属性包括:

o传入 connection open 请求总数

o因 Forward Open 格式不符而遭到拒绝的请求数

o因资源不足而遭到拒绝的请求数

o因 Forward Open 发送的参数值而遭到拒绝的请求数

o接收的 Forward Close 请求数

o格式无效的 Forward Close 请求数

o无法与活动连接匹配的 Forward Close 请求数

o因另一端停止生成或网络断开连接而超时的连接数

6

Get

最大类属性

UINT

07h

最大类属性值

7

Get

最大实例 属性

UINT

08h

最大实例属性值

下表对类服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

0E

获取单个属性

返回指定属性的值

下表对实例服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有实例属性的值

0E

获取单个属性

返回指定属性的值

4E

Forward Close

关闭现有连接

52

未连接发送

发送多跳未连接请求

54

Forward Open

打开新连接

下表对实例属性进行了描述:

属性 ID

访问

名称

数据类型

描述

1

Get

Open 请求

UINT

收到的 Forward Open 服务请求数

2

Get

Open 格式拒绝

UINT

因格式无效而遭到拒绝的 Forward Open 服务请求数

3

Get

Open 资源拒绝

字节数组

因缺乏资源而遭到拒绝的 Forward Open 服务请求数

4

Get

Open 其他拒绝

UINT

因格式无效或缺乏资源之外的原因而遭到拒绝的 Forward Open 服务请求数

5

Get

Close 请求

UINT

收到的 Forward Close 服务请求数

6

Get

关闭格式请求

UINT

因格式无效而遭到拒绝的 Forward Close 服务请求数

7

Get

Close 其他请求

UINT

因格式无效之外的原因而遭到拒绝的 Forward Close 服务请求数

8

Get

连接超时

UINT

由此连接管理器控制的连接中已发生的总连接超时数

TCP/IP 接口对象(类 ID = F5(十六进制))

此对象维护以太网 802.3 通讯接口的特定与链路的计数器和状态信息。

下表描述了 TCP/IP 接口对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

4

TCP/IP 接口对象的实现修订号

2

Get

最大实例数

UINT

2

最大实例数

3

Get

实例数

UINT

2

对象实例数

下表对类服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

0E

获取单个属性

返回指定属性的值

实例代码

仅支持实例 1。

下表对实例服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有实例属性的值

0E

获取单个属性

返回指定实例属性的值

下表对实例属性进行了描述:

属性 ID

访问

名称

数据类型

描述

1

Get

状态

DWORD

位级别

o0:尚未配置接口配置属性。

o1:接口配置包含有效配置。

o2...15:保留。

2

Get

配置能力

DWORD

位级别

o0:BOOTP 客户端

o1:DNS 客户端

o2:DHCP 客户端

o5:在 EcoStruxure Machine Expert 中配置

所有其他位均保留,且设置为 0。

3

Get

配置

DWORD

位级别

o0:接口配置有效。

o1:使用 BOOTP 获取接口配置。

o2:使用 DHCP 获取接口配置。

o3:保留

o4:DNS 启用

所有其他位均保留,且设置为 0。

4

Get

物理链路

UINT

路径大小

元素路径中 16 位字的数量

填充的 EPATH

路径

识别物理链接对象的逻辑段。该路径被限制到一个逻辑类段和一个逻辑实例段。最大大小为 12 字节。

5

Get

接口配置

UDINT

IP 地址

UDINT

网络掩码

UDINT

网关地址

UDINT

主要名称

UDINT

辅助名称

0:尚未配置任何辅助名称服务器地址。

STRING

缺省域名

0:未配置任何域名

6

Get

主机名

STRING

ASCII 字符。

0:未配置任何主机名

以太网链接对象(类 ID = F6(十六进制))

此对象提供配置 TCP/IP 网络接口设置的机制。

下表描述了以太网链接对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

4

以太网链接对象的实现修订号

2

Get

最大实例数

UINT

3

最大实例数

3

Get

实例数

UINT

3

对象实例数

下表对类服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有类属性的值

0E

获取单个属性

返回指定属性的值

实例代码

仅支持实例 1。

下表对实例服务进行了描述:

服务代码 (十六进制)

名称

描述

01

获取全部属性

返回所有实例属性的值

0E

获取单个属性

返回指定实例属性的值

下表对实例属性进行了描述:

属性 ID

访问

名称

数据类型

描述

1

Get

接口速度

UDINT

速度(Mbps)(10 或 100)

2

Get

接口标志

DWORD

位级别

o0:链接状态

o1:半双工/全双工

o2...4:协商状态

o5:手动设置 / 需要复位

o6:检测到本地硬件错误

所有其他位均保留,且设置为 0。

3

Get

物理地址

6 USINT 数组

此数组包含产品 MAC 地址。

格式:XX-XX-XX-XX-XX-XX

接口诊断对象(类 ID = 350(十六进制))

下表描述了 接口诊断对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

01h

每次更新对象时,增加 1。

2

Get

最大实例

UINT

01h

对象的最大实例数。

扫描器诊断对象(类 ID = 351(十六进制))

下表描述了扫描器诊断对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

01h

每次更新对象时,增加 1。

2

Get

最大实例

UINT

01h

对象的最大实例数。

连接诊断对象(类 ID = 352(十六进制))

下表描述了连接诊断对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

01h

每次更新对象时,增加 1。

2

Get

最大实例

UINT

0...n(CIP IO 连接的最大数量)

对象的最大实例数。

注意: O->T 和 T->O 路径都有一个 IO 连接诊断对象实例。

显式连接诊断对象(类 ID = 353(十六进制))

下表描述了显式连接诊断对象的类属性:

属性 ID

访问

名称

数据类型

详细信息

1

Get

版本

UINT

01h

每次更新对象时,增加 1。

2

Get

最大实例

UINT

0...n(CIP IO 连接的最大数量)

对象的最大实例数。