IO-Link
IO-Link 是一种用于装置间沟通的标准化 IO 技术。IO-Link 主控装置也是 EtherCAT 从属装置,有多个连接埠,每个连接埠连接到一个 IO-Link 装置。连接埠设定依连接的装置而定。IO-Link 主控装置无法侦测连接埠连到什么装置,也无法得知连接埠是否有连接到装置。
因为每个连接埠设定都不一样,KINGSTAR 无法决定连接埠要用哪一种设定,因此,AddModuleConfiguration 可以在 KINGSTAR 启动之前,将连接埠设定传送给 KINGSTAR,当您呼叫 AddModuleConfiguration 时,装置 ID 是连接埠号(从零开始编号),没有收到任何设定的连接埠会停用,该连接埠也不会出现在 I/O 模组清单中。
若 IO-Link 连接埠在 KINGSTAR 启动后开启,它会分离所有模组的资料,让每个 IO-Link 连接埠都会变成独立的 I/O 模组。每个 IO-Link 装置都有自己的物件字典,依您使用的 IO-Link 主控装置而定,读写物件的方式也不同。
以下为所测试的三家厂牌的 IO-Link 主控装置,以及它们处理物件的方式:
Beckhoff
使用 AoeSdo 命令读写 IO-Link 装置中的物件。
AoeSdo 命令中的连接埠参数是 0x1000 + 连接埠号,连接埠号从零开始。例如,Beckhoff EL6224 的连接埠参数从 0x1000 到 0x1003,如果连接埠号是一,连接埠参数就是 0x1001 (1000 + 1)。
EC_Sdo 命令会自动使用 AoeSdo 命令并套用正确的连接埠参数。
Phoenix Contact
使用 AoeSdo 命令读写 IO-Link 装置中的物件。
AoeSdo 命令中的连接埠参数是 0x1000 + 连接埠号,连接埠号从一开始。连接埠参数范围从 0x1001 到 0x1008。
EC_Sdo 命令会自动使用 AoeSdo 命令并套用正确的连接埠参数。
Balluff
使用 CoeSdo 命令读写 IO-Link 装置中的物件。
以下是 Balluff IO-Link 服务资料表,其中包含了您读写单一物件所需传送的命令:
索引 | 子索引 | 名称 | 资料类型 | 存取权限 | 说明 / 值 |
---|---|---|---|---|---|
0x40n0
n = 0..7 |
0x01 | Control | UINT8 | RW |
0:无控制 2:写入 3:读取 |
0x02 | 状态 | UINT8 | RO |
0:无动作 1:忙碌 2:成功 4:错误 0xFF:失败 |
|
0x03 | 索引 | UINT16 | RW | ||
0x04 | 子索引 | UINT8 | RW | ||
0x05 | 长度 | UINT8 | RW | ||
0x06 | 资料 | UINT8 | RW | ||
0x07 | 错误码 | UINT16 | RO |
参见
RT/Win32 – KINGSTAR 总线 - 信箱
.NET API – Api.类别 - 信箱
.NET Class – ISlave 介面 - 方法