Canal acíclico

 

 

Vista general

AVISO

Si accede a objetos mapeados en el área de E/S mediante escritura a través del canal acíclico, sus valores se volverán a sobrescribir con el siguiente ciclo. Por ello, los datos mapeados en el área de E/S no deben escribirse a través del canal acíclico.

El canal acíclico permite ejecutar acíclicamente comandos de lectura y escritura. Para ello, se han implementado rangos de datos para la comunicación acíclica en el área de entrada/salida del módulo de función. Este rango incluye datos de salida de 8 bytes y datos de entrada de 8 bytes. Tienen la siguiente asignación:

Solicitud

 

Respuesta

Datos de salida

  • Byte 0: CMD - Comando
  • Byte 1: SUBIDX - Subíndice
  • Byte 2: IDX0 - Índice (Low Byte)
  • Byte 3: IDX1 - Índice (High Byte)
  • Byte 4: DATA0 - Datos (Low Byte)
  • Byte 5: DATA1 - Datos
  • Byte 6: DATA2 - Datos
  • Byte 7: DATA3 - Datos (High Byte)

 

 

 

 

Datos de entrada

  • Byte 0: STATUS - Estado
  • Byte 1: SUBIDX - Subíndice
  • Byte 2: IDX0 - Índice (Low Byte)
  • Byte 3: IDX1 - Índice (High Byte)
  • Byte 4: DATA0 - Datos (Low Byte)
  • Byte 5: DATA1 - Datos
  • Byte 6: DATA2 - Datos
  • Byte 7: DATA3 - Datos (High Byte)

 

CMD

IDLE→

 

Comando→

 

IDLE→

Estado:

 

←IDLE

 

←Comando

 

←IDLE

CMD - Comando

Code

Nombre

Descripción

0x00

IDLE

Establece el funcionamiento en vacío.

Con este comando puede solicitar el estado de espera para un nuevo comando una vez devuelta la ejecución del comando mediante STATUS.

0x11

READ_ONCE

Lectura de un objeto de datos

Con este comando puede solicitar los datos una vez después de que el comando haya sido detectado.

0x21

WRITE_ONCE

Lectura de un objeto de datos

Con este comando se escriben los datos solo una vez después de que el comando haya sido detectado.

SUBIDX - Subíndice: subíndice en el directorio de objetos

IDX0 / IDX1 - Índice: índice en el directorio de objetos

DATA0 – DATA3 - Datos: Datos que se deben transferir

STATUS - estado

Code

Nombre

Descripción

0x00

IDLE

Funcionamiento en vacío - Esperando comandos

0x14

READ_ONCE

Se ha detectado el comando READ_ONCE, los datos son válidos.

0x24

WRITE_ONCE

Se ha detectado el comando WRITE_ONCE, se han aceptado los datos.

0x81

READ_NOT_EXIST

Fallo - Acceso de lectura - Datos no disponibles

No se ha ejecutado el comando.

0x91

WRITE_NOT_EXIST

Fallo - Acceso de escritura - Datos no disponibles

No se ha ejecutado el comando.

0x92

WRITE_RNG_ERR

Fallo - Acceso de escritura - Campo de datos sobrepasado

No se ha ejecutado el comando.

0x93

WRITE_RDO_ERR

Fallo - Acceso de escritura - Los datos son de solo lectura

No se ha ejecutado el comando.

0x94

WRITE_WPR_ERR

Fallo - Acceso de escritura - Los datos están protegidos contra escritura

No se ha ejecutado el comando.

0x99

ACYC_COM_ERR

Fallo durante la comunicación acíclica

No se ha ejecutado el comando.