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 总线 - 信箱

AoeReadCommand

AoeReadSdoObject

AoeReadWriteCommand

AoeWriteCommand

AoeWriteControlCommand

AoeWriteSdoObject

CoeReadSdoEntryDescription

CoeReadSdoObject

CoeReadSdoObjectDescription

CoeReadSdoODList

CoeWriteSdoObject

.NET API – Api.类别 - 信箱

AoeReadCommand

AoeReadSdoObject

AoeReadWriteCommand

AoeWriteCommand

AoeWriteControlCommand

AoeWriteSdoObject

CoeReadSdoEntryDescription

CoeReadSdoObject

CoeReadSdoObjectDescription

CoeReadSdoODList

CoeWriteSdoObject

.NET Class – ISlave 介面 - 方法

AoeReadCommand

AoeReadSdoObject

AoeReadWriteCommand

AoeWriteCommand

AoeWriteControlCommand

AoeWriteSdoObject

CoeReadSdoEntryDescription

CoeReadSdoObject

CoeReadSdoObjectDescription

CoeReadSdoODList

CoeWriteSdoObject