非循环通道

 

 

概述

提示

如果通过非循环通道访问映射到I/O区域的对象,它们的值将在下一个循环中再次被覆盖。因此,映射到I/O区域的数据不应通过非循环通道写入!

您可以通过非循环通道非循环地执行写入和读取命令。为此,在功能模块的输入/输出区域中实现了非循环通讯的数据区域。该区域包括8字节的输出和8字节的输入数据。其分配如下:

询问

 

响应

输出数据

  • 字节0:CMD - 命令
  • 字节1:SUBIDX - 子索引
  • 字节2:IDX0 - 索引(低字节)
  • 字节3:IDX1 - 索引(高字节)
  • 字节4:DATA0 - 数据(低字节)
  • 字节5:DATA1 - 数据
  • 字节6:DATA2 - 数据
  • 字节7:DATA3 - 数据(高字节)

 

 

 

 

输入数据

  • 字节0:STATUS - 状态
  • 字节1:SUBIDX - 子索引
  • 字节2:IDX0 - 索引(低字节)
  • 字节3:IDX1 - 索引(高字节)
  • 字节4:DATA0 - 数据(低字节)
  • 字节5:DATA1 - 数据
  • 字节6:DATA2 - 数据
  • 字节7:DATA3 - 数据(高字节)

 

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

非循环通讯期间出错

命令没有执行!