1Serviço de Comunicação Serial CNC Periférico Genérico

Propaganda
1Serviço de Comunicação Serial CNC <=> Periférico Genérico
( ARM 9.22 )
1.1Descrição geral
Permite a comunicação serial entre o CNC e um ou mais periféricos Genéricos através de um
protocolo definido pelo PLC programando uma estrutura genérica proposta pelo serviço.
Ponteiro base da estrutura do serviço (base indireta):
Variável Reservada #10255 ( W )
Habilitação do serviço: Base da estrutura precisa conter o valor constante 2727
1.2Parâmetros de Configuração utilizados
P052
P053
P054
P055
P056
- Taxa de comunicação serial
(default = 9600)
- Número de bits da serial
(default = 8)
*FIXO
- Número de stop bits da serial
(default = 1)
*FIXO
- Paridade da serial
(default = sem paridade) *FIXO
- Endereço do CNC na rede Mestre / Escravo e ModBus.
1.3Parâmetros de PLC utilizados
1.4Estrutura de Dados e Comandos ( CNC  PERIFÉRICO )
Habilitação do Serviço: VIA VARIÁVEL RESERVADA #10255 = BASE ESTRUTURA
Ponteiro base da estrutura do serviço (base indireta): #10255
Tamanho da estrutura = 32 bytes.
Endereço
Base+0
Base+2
Tipo
Uint16
Uint16
Nome
SIGNATURE
TX_SIZE
Base+4
Uint16
TX_BUF_ADR
Base+6
Base+8
Uint16
Uint16
RX_SIZE
RX_BUF_ADR
Base+10
Uint16
CMD
Base+12
Uint16
STATE
Base+14
Uint16
STATUS
Base+16
Uint16
TYPE
Base+18
Base+20
Base+22
Uint16
Uint16
Uint16
INI_TOKEN
END_TOKEN
CKS_TYPE
Base+24
Uint16
TIMEOUT
Descrição
VALOR FIXO = 2727
TAMANHO DO BUFFER DE
TRANSMISSÃO
Ponteiro p/ BUFFER DE
TRANSMISSÃO: ADR PLC MEMO TX
TAMANHO DO BUFFER DE RECEPÇÃO
Ponteiro p/ BUFFER DE RECEPÇÃO:
ADR PLC MEMO RX
COMANDO:
0 = NENHUM
1 = TRANSMITIR
2 = RESET
0 = READY
1 = LEITURA
2 = ESCRITA
3 = OK, COMANDO EXECUTADO
4 = ERRO
5 = AGUARDANDO COMUNICAÇÃO
0 = OFF
1 = TX_OK
2 = RX_OK
3 = TX_ERRO
4 = RX_ERRO
5 = TIMEOUT
6 = CMD INVALIDO
TIPO DE PROTOCOLO:
0 = GENÉRICO, ASCII
1 = GENÉRICO, BINÁRIO
CÓDIGO ASCII TOKEN INICIAL
CÓDIGO ASCII TOKEN FINAL
0 = SEM CHECK SUM
1 = 1 BYTE PARA CHECK SUM
2 = 2 BYTES PARA CHECK SUM
0 = SEM RESPOSTA
>0 = RESPOSTA ANTES DE TIMEOUT
( UNIDADES PLC TIC )
Descrição de funcionamento:
O PLC deve definir as propriedades do serviço de comunicação inicializando a estrutura de
comunicação com as informações necessárias, ANTES de escrever na variável reservada que
inicia o serviço de comunicação:
1 – Definir o endereço inicial onde fica a estrutura ( reservar 32 bytes ).
Ex.: Estrutura fica na posição 800 ocupando 32 bytes : 800 até 831.
2 – Definir onde ficam os buffers de comunicação : RX e TX, levando em conta também o
tamanho que cada buffer ocupará na memória do PLC.
Ex.: Estrutura fica na posição 800 ocupando 32 bytes : 800 até 831.
Buffer de recepção fica em 832 ocupando 32 bytes
Buffer de transmissão fica em 864 ocupando 32 bytes
3 – Inicializar a estrutura do serviço de comunicação:
Ex.:
800
802
804
806
808
810
812
814
816
818
820
822
802
= (w) 2727
= (w) 32 = (w) 832 = (w) 32 = (w) 864 = (w) 0 = (w) 0 = (w) 0 = (w) 0 = (w) 62 = (w) 60 = (w) 2 = (w) 0 -
- identidade
TAMANHO DO BUFFER DE TRANSMISSÃO
BUFFER DE TRANSMISSÃO TX
TAMANHO DO BUFFER DE RECEPÇÃO
BUFFER DE RECEPÇÃO
COMANDO
ESTADO
STATUS
TIPO DE PROTOCOLO: 0 = GENÉRICO ASCII
TOKEN INICIAL: >
TOKEN FINAL: <
CHECK_SUM : 2 BYTES
TIMEOUT
4 - Inicializar o serviço de comunicação:
#10255 = BASE ESTRUTURA
Ex.: #10255 = 800
5 – Para transmitir:
Colocar o CONTEÚDO da mensagem no buffer de transmissão com o número de bytes
correspondente ( ao conteúdo apenas ). O CNC vai transmitir:
{TOKEN_INICIAL} CONTEÚDO {CHECK_SUM} {TOKEN_FINAL}
OS CAMPOS ENTRE CHAVES SÃO OPCIONAIS, APENAS CONFORME
ESPECIFICADO.
TIMEOUT = QUANDO NÃO ZERO CONTA TEMPO, RECEPÇÃO DE MENSAGEM
ZERA TIMER.
5 – Para RECEBER:
Caso chegue uma resposta durante a contagem do tempo de timeout, esta zera timer e não
informa mais o erro de timeout.
Caso chegue uma resposta válida, apenas o CONTEÚDO da mensagem será colocado no buffer
de recepção e o tamanho do CONTEÚDO informado.
{TOKEN_INICIAL} CONTEÚDO {CHECK_SUM} {TOKEN_FINAL}
OS CAMPOS ENTRE CHAVES SÃO OPCIONAIS, APENAS CONFORME
ESPECIFICADO.
Download