非循环通道
概述
提示

如果通过非循环通道访问映射到I/O区域的对象,它们的值将在下一个循环中再次被覆盖。因此,映射到I/O区域的数据不应通过非循环通道写入!
您可以通过非循环通道非循环地执行写入和读取命令。为此,在功能模块的输入/输出区域中实现了非循环通讯的数据区域。该区域包括8字节的输出和8字节的输入数据。其分配如下:
询问 |
| 响应 |
|---|---|---|
输出数据
|
→ ←
| 输入数据
|
CMD | IDLE→ |
| 命令→ |
| IDLE→ | |
状态: |
| ←IDLE |
| ←命令 |
| ←IDLE |
CMD - 命令
代码 | 名称 | 说明 |
|---|---|---|
0x00 | IDLE | 设为空载。 使用此命令,您可以在STATUS返回命令执行完成后请求等待状态以进行下一个命令。 |
0x11 | READ_ONCE | 读取数据对象 该命令允许您在命令被识别后请求一次数据。 |
0x21 | WRITE_ONCE | 写入数据对象 使用此命令,在命令被识别后,数据将只被写入一次。 |
SUBIDX - 子索引:对象目录中的子索引
IDX0 / IDX1 - 索引:对象目录中的索引
DATA0 – DATA3 - 数据:需要传输的数据
STATUS - 状态
代码 | 名称 | 说明 |
|---|---|---|
0x00 | IDLE | 空载 - 等待命令 |
0x14 | READ_ONCE | READ_ONCE命令被识别,数据有效。 |
0x24 | WRITE_ONCE | WRITE_ONCE命令被识别,数据被接受。 |
0x81 | READ_NOT_EXIST | 故障 - 读取访问 - 数据不可用 命令没有执行! |
0x91 | WRITE_NOT_EXIST | 故障 - 写入访问 - 数据不可用 命令没有执行! |
0x92 | WRITE_RNG_ERR | 故障 - 写入访问 - 超出数据范围 命令没有执行! |
0x93 | WRITE_RDO_ERR | 故障 - 写入访问 - 数据只能读取 命令没有执行! |
0x94 | WRITE_WPR_ERR | 故障 - 写入访问 - 数据是只读的 命令没有执行! |
0x99 | ACYC_COM_ERR | 非循环通讯期间出错 命令没有执行! |