CoE对象目录
未列出的所有子索引均不存在,访问它们会导致相应错误。
标准对象(0x1000..0x1FFF)
对象0x1000——“设备类型”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
Device Type |
UDINT |
EtherCAT从站类型 LoWord包含所使用的CoE配置文件(5000:模块化设备)HiWord包含模块配置文件(0:制造商特定) |
对象0x1008 – “设备名称”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | Device Name | STRING | 设备名称(“SAG1000主用接口”或“SAG1000备用接口”) |
对象0x1009——“硬件版本”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | Hardware Version | STRING | 所用硬件的版本号(固件第一版不可用) |
对象0x100A - “软件版本”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | Software Version | STRING | 固件版本号(例如“1.0.0”) |
对象0x1018 - “身份标识”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量 |
|
0x01 |
Vendor Id |
UDINT |
用于识别从站的制造商ID(23/0x 17) |
|
0x02 |
Product Code |
UDINT |
用于识别从站的产品编号(7) |
|
0x03 |
Revision Number |
UDINT |
修订版本号 |
|
0x04 |
Serial Number |
UDINT |
序列号 |
对象0x10F4 - “外部同步状态”
用于DC同步,也可参见。
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x13) |
|
0x01 |
Sync mode |
BIT2 |
0: 无同步 1: 从站作为同步主站 2: 从站作为同步从站 通过0x10F5.01定义 |
|
0x0E |
Control value update toggle |
BOOL |
未使用,始终为0 |
|
0x0F |
Time stamp update toggle |
BOOL |
将随子索引0x11/0x12的每次变更而切换 |
|
0x10 |
Time stamps invalid |
BOOL |
1:子索引0x11/0x12中的数值无效 |
|
0x11 |
Internal time stamp |
ULINT |
自身时间戳 |
|
0x12 |
External time stamp |
ULINT |
SAG1000另一侧时间戳 |
|
0x13 |
Time control value |
DINT |
未使用,始终为0 |
对象0x10F5 - “同步设置”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x12) |
|
0x01 |
Sync master |
BOOL |
1: 从站作为同步主站 0:从站作为同步从站 标准值:1,即,每侧均可作为主站/无需同步。 (该设置并非SAG1000本身所需,但若两侧均标识为同步从站,则不允许切换至"安全操作/操作"模式) |
|
0x02 |
32 bit time stamps |
BOOL |
1:仅使用时间戳的32位(SAG1000无需/不校验此设置) |
|
0x11 |
Time control interval (ms) |
UINT |
定义0x10F4中时间戳的更新频率。 可从SAG1000两侧写入,但指向同一数值。 限制范围为[1...1000]ms |
|
0x12 |
System time additional offset |
ULINT |
若同步从站的两时钟目标差值不为0,可将该值存储在此处,作为对另一侧的参考信息。(SAG1000本身不使用该值) |
对象0x10FF - “桥接变量配置”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x00..0xFF | Bridge Variable Entry | OCTET_STRING | 见下文 |
此对象可在主侧写入,用于向已创建的变量传输更多信息。如所述,过程数据的定义仅通过PDO中的条目完成:只定义了变量的长度,没有名称或类型等。
若变量的配置仅需在一侧完成并传输至另一侧,可使用此对象定义详细的配置。(例如,Sinsegye EtherCAT工作台在主侧通过“下载变量配置”使用此对象,在副侧通过“从设备加载”使用此变量——请参见工作台中的“设备专属”选项卡)
SAG1000当前并未使用此对象本身。
每个子索引精确描述一个变量OCTET_STRING结构如下所示:
| 字节 | 描述 |
| 0 | 保留位(写入1) |
| 1 | 保留位(写入0) |
| [2, 3] | 索引0x6000用于输入(主),0x7000用于输出 |
| 4 | 子索引 |
| 5 | 保留位(写入0) |
| [6, 7] | 数据类型(见1) |
| [8, 9] | 位长度 |
| [10, 11] | 保留位(写入0) |
| [12, n] | 名称(最多256字符,末尾0非必需) |
对象0x1400 - “RxPDO 0x1600参数”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x09) |
|
0x07 |
RxPDO State |
BOOL |
当输出变量无法复制到对侧时,将由从站设置。(因为对侧未处于“安全操作/操作”状态) |
|
0x08 |
RxPDO Control |
BOOL |
当输出数据无效时,将由主站设置。默认情况下SAG1000会忽略此数值。 在对象0x2000中,可以定义将此值传输到对侧的对应输入数据无效(TxPDO状态) |
|
0x09 |
RxPDO Toggle |
BOOL |
当输出数据发生变化时,可由主站切换。 默认情况下SAG1000会忽略此数值。 在对象0x2000中,可以定义使用此值来优化复制到另一侧的过程,或者将此值传输到另一侧的对应输入数据已更改(TxPDO Toggle) |
对象0x1600 - “输出”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01..0xFF | PDO Mapping | PDO_MAPPING | 输出变量 |
对象0x1605 - “输出PDO 参数”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x04) |
| 0x01 | PDO Mapping | PDO_MAPPING | |
| 0x02 | PDO Mapping | PDO_MAPPING | |
| 0x03 | PDO Mapping | PDO_MAPPING | |
| 0x04 | PDO Mapping | PDO_MAPPING |
对象0x1800 - “TxPDO 0x1A00参数”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x09) |
| 0x07 | TxPDO State | BOOL | 当输入数据无效时,由从站设置,即另一侧未处于“运行”状态。此外,还可以使用对侧的RxPDO状态值,该值可在对象0x2000中进行调整。 |
| 0x09 | TxPDO Toggle | BOOL | 当输入映像被重写时,由从站切换,即在另一侧收到来自EtherCAT的新输出数据后进行切换。或者,也可以使用另一侧的RxPDO切换值,该值可在对象0x2000中进行调整。 |
对象0x1801 - “TxPDO 0x1A01参数”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x06) |
| 0x06 | Exclude TxPDOs | OCTET_STRING | 禁止与此项同时分配的PDO:0x1A02/0x1A03/0x1A04 |
对象0x1802 - “TxPDO 0x1A02参数”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x06) |
|
0x06 |
Exclude TxPDOs |
OCTET_STRING |
禁止与此项同时分配的PDO: 0x1A01/0x1A03/0x1A04 |
对象0x1803 - “TxPDO 0x1A03参数”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x06) |
|
0x06 |
Exclude TxPDOs |
OCTET_STRING |
禁止与此项同时分配的PDO: 0x1A01/0x1A02/0x1A04 |
对象0x1804 – “TxPDO 0x1A04参数”
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x06) |
|
0x06 |
Exclude TxPDOs |
OCTET_STRING |
禁止与此项同时分配的PDO: 0x1A01/0x1A02/0x1A03 |
对象0x1A00 – “输入”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01..0xFF | PDO Mapping | PDO_MAPPING | 输入变量,参见 |
对象0x1A01 – “同步从站(仅状态)”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x06) |
| 0x01 | PDO Mapping | PDO_MAPPING | |
| 0x02 | PDO Mapping | PDO_MAPPING | |
| 0x03 | PDO Mapping | PDO_MAPPING | |
| 0x04 | PDO Mapping | PDO_MAPPING | |
| 0x05 | PDO Mapping | PDO_MAPPING | |
| 0x06 | PDO Mapping | PDO_MAPPING |
对象0x1A02 – “同步从站(64位)”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x09) |
| 0x01 | PDO Mapping | PDO_MAPPING | |
| 0x02 | PDO Mapping | PDO_MAPPING | |
| 0x03 | PDO Mapping | PDO_MAPPING | |
| 0x04 | PDO Mapping | PDO_MAPPING | |
| 0x05 | PDO Mapping | PDO_MAPPING | |
| 0x06 | PDO Mapping | PDO_MAPPING | |
| 0x07 | PDO Mapping | PDO_MAPPING | |
| 0x08 | PDO Mapping | PDO_MAPPING | |
| 0x09 | PDO Mapping | PDO_MAPPING |
对象0x1A03 – “同步从站(32位)”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x09) |
| 0x01 | PDO Mapping | PDO_MAPPING | |
| 0x02 | PDO Mapping | PDO_MAPPING | |
| 0x03 | PDO Mapping | PDO_MAPPING | |
| 0x04 | PDO Mapping | PDO_MAPPING | |
| 0x05 | PDO Mapping | PDO_MAPPING | |
| 0x06 | PDO Mapping | PDO_MAPPING | |
| 0x07 | PDO Mapping | PDO_MAPPING | |
| 0x08 | PDO Mapping | PDO_MAPPING | |
| 0x09 | PDO Mapping | PDO_MAPPING |
对象0x1A04 - “同步主站”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x04) |
| 0x01 | PDO Mapping | PDO_MAPPING | |
| 0x02 | PDO Mapping | PDO_MAPPING | |
| 0x03 | PDO Mapping | PDO_MAPPING | |
| 0x04 | PDO Mapping | PDO_MAPPING |
对象0x1A05 - “输入PDO参数”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x05) |
| 0x01 | PDO Mapping | PDO_MAPPING | |
| 0x02 | PDO Mapping | PDO_MAPPING | |
| 0x03 | PDO Mapping | PDO_MAPPING | |
| 0x04 | PDO Mapping | PDO_MAPPING | |
| 0x05 | PDO Mapping | PDO_MAPPING |
对象0x1C00 - “SM类型”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x04) |
| 0x01 | SubIndex001 | ENUM | SM0类型(1/MBox输出) |
| 0x02 | SubIndex002 | ENUM | SM1类型(2/输入邮箱) |
| 0x03 | SubIndex003 | ENUM | SM2类型(3/输出) |
| 0x04 | SubIndex004 | ENUM | SM3类型(4/输入) |
对象0x1C12 - “PDO分配”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01..0xFF | PDO Assignment | UINT | SM2分配的PDO |
对象0x1C13 - “PDO分配”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01..0xFF | PDO Assignment | UINT | SM3分配的PDO |
制造商特定对象(0x2000..0x5FFF)
对象0x2000 - “其他设置”
所有设置均影响两侧,无论从哪侧访问,设置持续有效,直至SAG1000重启或写入其他值。
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x07) |
|
0x01 |
Forward master PDO toggle bit |
BOOL |
1:RxPDO切换位,应复制到另一侧的Tx PDO切换位中。 |
|
0x02 |
Optimize copy by master PDO toggle bit |
BOOL |
1:仅当RxPDO切换位显示输出数据发生改变时,方可将输出数据复制到另一侧的输入数据中。 若两侧主站均能正确响应切换位,则可实现性能提升,否则不得设置此对象。 |
|
0x03 |
Forward master PDO invalid bit |
BOOL |
1:RxPDO控制位应复制到另一侧的TxPDO状态位中 |
|
0x04 |
Ignore variable mismatch |
BOOL |
1:允许两侧存在不同的变量配置/长度(所有变量在内部都是单个连续的内存块:如果长度不同,则最后部分保持未使用状态) |
|
0x05 |
DCTimes auto sync |
UDINT |
位0:1:“DC自动同步”已激活,请参见。所有其他位必须写为0 |
|
0x06 |
DCTimes auto sync target |
LINT |
DC自动同步的目标差值:0表示两个时钟应同步,例如,100表示从时钟与主时钟相差100纳秒。 当前差值可从0x2001.02读取,或通过过程数据的内外部时间戳值计算得出 |
|
0x07 |
Zero inputs on other's Op fall back |
BOOL |
当对侧退出运行状态时,所有输入变量归零。 |
对象0x2001 – “其他信息”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x02) |
| 0x01 | Other side's next SYNC0 (0x0990) | ULINT | 对侧ESC寄存器0x0990的值(作为两个同步单元需同时同步时的小助手) |
|
0x02 |
DC times delta (Pri. minus Sec.) |
LINT |
0x10f4.11减0x10f4.12 (次侧则为0x10f4.12减0x10f4.11) |
对象0x2010 - “统计数据”
该对象包含多项统计数据,通常仅用于故障排查。
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
子索引最大数量(0x16) |
|
0x01 |
Reset |
UDINT |
每次写入操作均会重置统计数据(尽可能执行)通过读取操作可获取上次重置的时间(参见子索引0x02) |
|
0x02 |
Time |
UDINT |
自SAG1000启动以来经过的时间(以毫秒为单位) |
|
0x03 |
Output events (Pri.) |
UDINT |
统计从EtherCAT向主侧传输新输出数据的次数 |
|
0x04 |
Output events (Sec.) |
UDINT |
统计从EtherCAT向副侧传输新输出数据的次数 |
|
0x05 |
Output interval (Pri.) |
UDINT |
测量从EtherCAT传输新输出数据到主侧的时间间隔(微秒)(平均值,基于1000次输出事件计算) |
|
0x06 |
Output interval (Sec.) |
UDINT |
测量从EtherCAT传输新输出数据到副侧的时间间隔(微秒)(平均值,基于1000次输出事件计算) |
|
0x07 |
Output jitter (Pri.) |
UDINT |
输出区间(主)的平均偏差(微秒) |
|
0x08 |
Output jitter (Sec.) |
UDINT |
输出间隔(秒)的平均偏差(微秒) |
|
0x09 |
Provision time |
UDINT |
测量最新输出数据从主侧传输到副侧所用的时间(微秒) 理想情况下,这大约是EtherCAT(输出同步管理器中断)提供新输出数据并将其完全传输到另一侧的输入数据(输入同步管理器)所需的时间——通常,对于此过程,可以假设大约是部署时间的两倍。(如果复制操作由对象0x2000中的设置决定,则此假设不再适用 |
|
0x10 |
EoE Frames EtherCAT Rx |
UDINT |
从EtherCAT接收的以太网帧数 |
|
0x11 |
EoE Frames EtherCAT Tx |
UDINT |
已发送至EtherCAT的以太网帧数 |
|
0x12 |
EoE Frames EtherCAT Tx Error |
UDINT |
因错误导致无法发送至EtherCAT的以太网帧数 |
|
0x13 |
EoE Frames EtherCAT Tx Overrun |
UDINT |
因发送缓冲区溢出导致无法发送至EtherCAT的以太网帧数 (此类帧丢失很可能会发生——以太网侧的高层协议如TCP/IP会处理此情况) |
|
0x14 |
EoE Frames Local Rx |
UDINT |
以太网接口接收的帧数 |
|
0x15 |
EoE Frames Local Tx |
UDINT |
发送至以太网接口的帧数 |
|
0x16 |
EoE Frames Local Tx Overrun |
UDINT |
因发送缓冲区溢出导致无法发送至以太网接口的帧数 |
对象0x2020 - “以太网”
该对象包含有关以太网接口的一些数据,通常仅用于故障排除。
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量(0x05) |
| 0x01 | Link | STRING | 链路状态,例如“百兆全双工”或“无连接” |
| 0x02 | Link lost count | UDINT | 统计“链路”状态回落至“无连接”状态的次数 |
| 0x03 | Defective RX frames | UDINT | 错误帧数(如因循环冗余校验错误导致) |
| 0x04 | Possible RX overruns | UDINT | 统计接收缓冲区满载时新数据到达的频次 |
| 0x05 | TX frames dropped | UDINT | 未发送的帧数 |
对象0x2030 - “UDP网关”
该对象包含UDP网关模式的数据,如6.2.6中所述。它仅存在于主站点处。
| 子索引 | 名称 | 类型 | 描述 |
|
0x00 |
SubIndex000 |
USINT |
已使用子索引最大数量(0x30) |
|
0x01 |
Enabled |
UINT |
1:UDP网关模式激活标准:0 / 关闭 |
|
0x02 |
Destination MAC address |
OCTET_ STRING |
SAG1000发送的UDP帧目标地址默认为以太网广播地址,“ff ff ff ff ff ff” |
|
0x03 |
Destination IP address |
UDINT |
SAG1000发送的UDP帧目标地址默认为IP广播地址,“0x ff ff ff ff” (255.255.255.255). 若设置其他目标地址,则目的MAC地址必须匹配(不启用ARP) |
|
0x04 |
Destination port |
UINT |
SAG1000传输的UDP数据帧目标端口标准值为0x4543 |
|
0x06 |
Own MAC address |
OCTET_ STRING |
用于发送UDP数据帧的本机MAC地址(不可修改)。 |
|
0x07 |
Own IP address |
UDINT |
用于接收和发送UDP帧的本机IP地址。默认值:0 若设置为0,则在接收时,仅检查本机MAC地址, 即,接受所有IP地址。(在任何情况下广播均会被接受) 如果设置该选项,传输时也会使用0值! 不支持ARP,即如果设置了IP地址,在远端站点,必须在ARP表中写入对应条目。 |
|
0x08 |
Subnet mask |
UDINT |
如果UDP远端站点要向子网发送数据 广播地址:此命令用于设置子网掩码(需先配置“本机IP地址”) 默认值:0/无 |
|
0x09 |
Own port |
UINT |
UDP网关帧需要发送至的本机UDP端口 默认值:0x4543 |
|
0x0a |
Packet magic |
UDINT |
发送和接收帧头中“魔数”字段的值——具有不同“魔数”值的接收帧将被拒绝。 默认值:0x50445545 |
|
0x0b |
UDP data min tx interval |
DINT |
> 0:最小间隔时间(微秒),即,若提前收到EtherCAT新数据,则忽略这些数据/不生成UDP指令。 每个EtherCAT周期均会生成一条UDP指令。 当值为“-3”时每 3个周期生成一条UDP指令,依此类推。 (0:不发送UDP过程数据指令) 默认值:10000 |
|
0x0c |
UDP not ready interval |
UDINT |
当SAG1000未处于EtherCAT“运行”状态时, ECATSTATEINFO指令的发送间隔(微秒)(数值限制为≥1000,默认值:100000) |
|
0x0d |
Client timeout |
UINT |
若在此时间内未从UDP远程站点接收到有效帧,则判定连接已中断。 0:无超时;远端站点永远不会被判定为中断(注意!在此情况下,中断后必须继续使用对应的发送帧索引)(默认值:3000。中断结果:LED信号) |
|
0x10 |
RX frames |
UDINT |
已确定的UDP帧数(即魔数等校验信息均正确的帧) |
|
0x11 |
Last RX index |
UINT |
最后接收帧头的索引字段值 |
|
0x12 |
Last RX id |
USINT |
最后接收帧头的ID字段值 |
|
0x13 |
RX lost |
UDINT |
根据最后接收帧的“索引”字段确定的丢失帧数 |
|
0x14 |
RXlost events |
UDINT |
“接收丢失”状态的变化次数,即接收到意外索引的频率。 |
|
0x15 |
RX out of order |
UDINT |
“乱序”帧数量 - 依据索引判定为已被接收但被忽略的帧 。(计算示例见UDP远程站) |
|
0x16 |
RX dropped |
UDINT |
被忽略的帧数(“魔数”或“保留位”字段无效) |
|
0x20 |
TX frames |
UDINT |
已传输帧数 |
|
0x21 |
Next TX index |
UINT |
下一帧的“索引”字段 |
|
0x22 |
TX failed |
UDINT |
传输过程中检测到错误的帧数。 |
|
0x30 |
UDP data rx processed |
UDINT |
已执行的PROCESSDATA命令数量。 (若SAG1000未处于"安全运行"/"运行"状态或接收数据量过小,则指令不会执行。) |
配置文件特定对象(0x6000..0xFFFF)
对象0x6000 - “输入”
该对象的条目对应已创建的输入变量,即仅当PDO 0x1A00配置下载至SAG1000后,才会生成。
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01..0xFF | Bridge Variable | variable | 桥接变量 |
小于8位的变量将生成为位类型,即“位1”“位7”及所有其他变量均以“OCTET_STRING”形式生成,并附带相应长度
对象0x7000 –“输出”
该对象的条目对应已创建的输出变量,即仅当0x1600过程数据对象配置下载至SAG1000控制器后,才会生成。
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01..0xFF | Bridge Variable | variable | 桥接变量 |
请参见前面关于输入的说明。输出变量在“预运行”状态下仍可写入。(切换至“安全运行/运行”状态时,这些值将被EtherCAT覆盖)
对象0xF000 – 模块化设备配置文件
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01 | Module index distance | UINT | 为兼容模块化设备配置文件 |
| 0x02 | Maximum number of modules | UINT |
对象0xF008 –“代码字”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | Code word | UDINT | 未使用 |
对象0xF010 – “模块列表”
| 子索引 | 名称 | 类型 | 描述 |
| 0x00 | SubIndex000 | USINT | 子索引最大数量 |
| 0x01 | SubIndex001 | UDINT | 仅用于兼容模块化设备配置文件 |
FoE(固件更新)
SAG1000固件可通过FoE更新。此操作仅可在主侧执行,且该侧必须处于EtherCAT启动状态。仅当次侧未处于“安全操作/运行”状态时,才能进入BootStrap状态
更新后必须重启SAG1000(断开供电电压)
只需通过FoE下载将固件文件传输至SAG1000即可完成更新。FoE文件名必须以“固件更新”开头且密码为“0”。