M241 Logic Controller 作为 EtherNet/IP 上的目标设备
本节介绍用作 EtherNet/IP 目标设备的 M241 Logic Controller 的设置。
有关 EtherNet/IP 的详细信息,请参阅 www.odva.org 网站。
如要将 M241 Logic Controller 配置为 EtherNet/IP 目标设备,必须将 EtherNet/IP 管理器添加到控制器。在硬件目录中选择 EthernetIP,将其拖到设备树,然后将其放到一个突出显示的节点上。
要配置 EtherNet/IP 参数,请双击设备树中的 COM_Bus > TM4ES4 > EthernetIP。
显示以下对话框:
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 文件,以便更容易地配置 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 映射配置:
通道 |
类型 |
缺省值 |
描述 |
||
---|---|---|---|---|---|
输入 |
IW0 |
WORD |
- |
控制器输出的命令字 (%QW) |
|
IWxxx |
|||||
输出 |
QW0 |
WORD |
- |
控制器输入的状态 (%IW) |
|
QWxxx |
字数取决于在以太网/IP 配置中配置的大小参数。
输出表示来自起点控制器的 OUTPUT(= 控制器的 %IW)。
输入表示来自起点控制器的 INPUT(= 控制器的 %QW)。
若要访问目标设备,起点会打开连接,这个连接可包含若干发送请求的会话。
一个显式连接使用一个会话(会话是一个 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 |
– |
|
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 |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
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 |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
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 |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
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 |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
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 |
– |
由此连接管理器控制的连接中已发生的总连接超时数 |
此对象维护以太网 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:未配置任何主机名 |
此对象提供配置 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 |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
1 |
Get |
版本 |
UINT |
01h |
每次更新对象时,增加 1。 |
2 |
Get |
最大实例 |
UINT |
01h |
对象的最大实例数。 |
下表描述了扫描器诊断对象的类属性:
属性 ID |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
1 |
Get |
版本 |
UINT |
01h |
每次更新对象时,增加 1。 |
2 |
Get |
最大实例 |
UINT |
01h |
对象的最大实例数。 |
下表描述了连接诊断对象的类属性:
属性 ID |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
1 |
Get |
版本 |
UINT |
01h |
每次更新对象时,增加 1。 |
2 |
Get |
最大实例 |
UINT |
0...n(CIP IO 连接的最大数量) |
对象的最大实例数。 |
注意: O->T 和 T->O 路径都有一个 IO 连接诊断对象实例。
下表描述了显式连接诊断对象的类属性:
属性 ID |
访问 |
名称 |
数据类型 |
值 |
详细信息 |
---|---|---|---|---|---|
1 |
Get |
版本 |
UINT |
01h |
每次更新对象时,增加 1。 |
2 |
Get |
最大实例 |
UINT |
0...n(CIP IO 连接的最大数量) |
对象的最大实例数。 |