Canal acíclico

 

 

Visão geral

INFORMAÇÃO

Se você acessar objetos que estão mapeados na área de E/S através do canal acíclico, seus valores serão substituídos novamente no próximo ciclo. Portanto, os dados mapeados na área de E/S não devem ser escritos através do canal acíclico!

Você pode executar comandos de gravação e leitura de forma acíclica por meio do canal acíclico. Para essa finalidade, as áreas de dados para comunicação acíclica foram implementadas na área de entrada/saída do módulo funcional. Essa faixa compreende 8 bytes de dados de saída e 8 bytes de dados de entrada. Eles têm a seguinte atribuição:

Consulta

 

Resposta

Dados de saída

  • Byte 0: CMD - Comando
  • Byte 1: SUBIDX - Subindex
  • Byte 2: IDX0 - Index (Low-Byte)
  • Byte 3: IDX1 - Index (High-Byte)
  • Byte 4: DATA0 - Data (Low-Byte)
  • Byte 5: DATA1 - Data
  • Byte 6: DATA2 - Data
  • Byte 7: DATA3 - Data (High-Byte)

 

 

 

 

Dados de entrada

  • Byte 0: STATUS - Status
  • Byte 1: SUBIDX - Subindex
  • Byte 2: IDX0 - Index (Low-Byte)
  • Byte 3: IDX1 - Index (High-Byte)
  • Byte 4: DATA0 - Data (Low-Byte)
  • Byte 5: DATA1 - Data
  • Byte 6: DATA2 - Data
  • Byte 7: DATA3 - Data (High-Byte)

 

CMD

IDLE→

 

Comando→

 

IDLE→

Status:

 

←IDLE

 

←Comando

 

←IDLE

CMD - Comando

Code

Nome

Descrição

0x00

IDLE

Definir operação em vazio.

Você pode usar esse comando para solicitar o estado de espera de um novo comando após a execução do comando ter sido relatada via STATUS.

0x11

READ_ONCE

Leitura de um objeto de dados

Você pode usar esse comando para solicitar os dados uma vez após o comando ter sido reconhecido.

0x21

WRITE_ONCE

Gravação de um objeto de dados

Com esse comando, os dados são gravados apenas uma vez após o comando ter sido reconhecido.

SUBIDX - Subindex: subíndice na lista de objetos

IDX0 / IDX1 - Index: índice na lista de objetos

DATA0 – DATA3 - Dados: Dados a serem transferidos

STATUS - Status

Code

Nome

Descrição

0x00

IDLE

Operação em vazio - aguarda comandos

0x14

READ_ONCE

O comando READ_ONCE foi reconhecido, os dados são válidos.

0x24

WRITE_ONCE

O comando WRITE_ONCE foi reconhecido, os dados foram aceitos.

0x81

READ_NOT_EXIST

Irregularidade - Acesso de leitura - Dados não disponíveis

Comando não foi executado!

0x91

WRITE_NOT_EXIST

Irregularidade - Acesso de escrita - Dados não disponíveis

Comando não foi executado!

0x92

WRITE_RNG_ERR

Irregularidade - Acesso de escrita - Intervalo de dados excedido

Comando não foi executado!

0x93

WRITE_RDO_ERR

Irregularidade - Acesso de escrita - Os dados só podem ser lidos

Comando não foi executado!

0x94

WRITE_WPR_ERR

Irregularidade - Acesso de escrita - Dados protegidos contra gravação

Comando não foi executado!

0x99

ACYC_COM_ERR

Irregularidade durante a comunicação acíclica

Comando não foi executado!