sistema de automação horustech hrs1777-pst_br
DESCRIPTION
protocolo de comunicaçãoTRANSCRIPT
Protocolo de Comunicaça o HRS-1
DT214
Sistema de automação
Horustech – HRS1777 – PST/BR
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
2
PROTOCOLO DE COMUNICAÇÃO HRS-1 Vr. 1.4 05/04/2012
CONVENÇÕES GERAIS
01. STATUS
02. ABASTECIMENTO
03. VISUALIZAÇÃO
04. TOTALIZADORES
05. INCREMENTO
06. ALTERAÇÃO DE PREÇO
07. LEITURA DE REGISTRO DE ABASTECIMENTO
08. PRÉ-DETERMINAÇÃO
09. AJUSTE DE CALENDÁRIO
10. LEITURA DE CALENDÁRIO
11. IDENTIFICADOR
12. GRAVAÇÃO DE IDENTIFICADOR
13. DELEÇÃO DE IDENTIFICADOR
14. LEITURA DE REGISTRO DE IDENTIFICADOR
15. LEITURA DE INFORMAÇÕES DO EQUIPAMENTO
16. MODO DE OPERAÇÃO
17. TABELA BICO
18.GRAVAÇÃO AUTOMÁTICA DE IDENTIFICADORES
19. INCREMENTO DE IDENTIFICADOR
20. INVERSÃO DE BICOS
Códigos de erro
Códigos de tipos de combustíveis
Códigos de tipo de modelo de bombas
Códigos de forma de trabalho do sensor
Cálculo de Check-Sum
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
3
CONVENÇÕES GERAIS
Introdução A. Todos os comandos são iniciados com o caractere “>”, seguido de “?” para consulta e “!” para resposta da automação. B. Após os caracteres de inicio de bloco, o protocolo informa o tamanho dos dados, em hexadecimal. C. O campo de dados é dividido em duas partes, o índice do comando, informado em hexadecimal de dois caracteres (00..FF), e os parâmetros, que serão de
tamanho variável, de acordo com a informação do cabeçalho. D. Campos denominados “ICOM” são representados em decimal na faixa de 01 a 03, contendo dois caracteres em qualquer comando/resposta; E. Campos denominados “Bomba” são representados em decimal na faixa de 1 a 4, representado em um caractere em qualquer comando/resposta; F. Campos “bico” são representados em decimal, de 0 a 99; G. Campos tanque e combustível são representados em decimal, de 0 a 99; H. Campos “Conector” são representados em decimal, na faixa de 1 a 4 em
decimal, sendo apresentado sempre com um caractere;
Escopo
>PCCCCX...........KK • >: Delimitador; • P: Tipo do comando o ?: Consulta para a automação; Modificado o !: Resposta da automação; • C[4]: Tamanho do campo DATA em hexadecimal; • X[2-65535]: Dados do comando: o Tipo [2]: Índice do comando; o Parâmetros [0-65532]: Parâmetros auxiliares do comando; • K[2]: Somatório dos valores ASCII dos caracteres do comando, sendo desprezado o byte mais significativo;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
4
Exemplo
>!000A01AALB P A34 │││ │ │ │││ │ └━ “34” [2] = Check-Sum │││ │ │││ └━━━━━━━ “01AALB P A” [10] = DATA │││ │ │ │││ │ └━━━ “AALB P A” [Tamanho DATA - 2] = Parâmetros │││ │ │││ └━━━━ “01” [2] = Índice do comando │││ │││ ││└━━━━━━━━━ “000A” [4] = Tamanho DATA 000A = 10 ││ │└━━━━━━━━━━ ! [1] = Resposta da automação │ └━━━━━━━━━━━ > [1] = Caractere de início de bloco │ └━━━━━━━━━━━ > [1] = Caractere de início de bloco
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
5
01. STATUS
Descrição O comando de STATUS (01) é utilizado para ler as informações de estado de cada
bico no momento da requisição. Tamanho 02 (0x0002) Índice 01 (0x01) Exemplo >?CCCC01KK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 01 [2]: Índice comando; • KK [2]: Check-sum; Resposta A resposta do comando STATUS (01) retornará até 101 caracteres, sendo dois
caracteres descrevendo o índice do comando e um caractere para cada bico
configurado na automação, assim, o tamanho da resposta é variável. Bicos não
configurados retornarão um espaço em branco. Tamanho Variável [2-101] ([0x0002..0x0065]) Exemplo >!CCCC01FFFFFFFFKK • >: Delimitador;
• !: Resposta automação; • CCCC: Contador de caracteres; • 01 [2]: índice comando; • F [0-99]: Caractere de estado o B: Bico bloqueado; o L: Bico livre; o A: Bico abastecendo; o F: Bico em falha; o <SPACE>: Bico não configurado; o E: Bico em espera; o P: Bico pronto para abastecer; • KK [2]: Check-sum;
>!0A01AALB P AKK • No exemplo acima, o maior bico do cenário é o de número oito. • Os bicos um, dois e oito estão abastecendo. • O bico três está livre e o quatro está bloqueado. • Os bicos cinco e sete não estão configurados na automação. • O bico seis está pronto para abastecer.
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
6
02. ABASTECIMENTO
Descrição O comando de ABASTECIMENTO (02) é utilizado para leitura de abastecimento
finalizado. Tamanho 02 (0x0002) Índice 02 (0x02) Exemplo >?CCCC02KK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 02[2]: Índice comando;
• KK [2]: Check-sum; Resposta O comando ABASTECIMENTO (02) retornará até 116 caracteres, conforme
demonstrado abaixo. No caso de memória vazia, a resposta terá tamanho dois:
>!0202KK; Tamanho Variável: [2,116] ([0x0002,0x0074]) Exemplo >!CCCC02NNNNNNBBCCAATTTTTTLLLLLLPPPPvvvttttddmmyyhhnneeeeeeeeeeEEEEEEEEEEiiiii
iiiiiiiiiiiIIIIIIIIIIIIIIIIaaaaaaaaKK • >: Delimitador;
• !: Resposta automação; • CCCC: Tamanho da informação; • 02 [2]: Índice do comando; • NNNNNN [6]: Índice do abastecimento na memória da automação; • BB [2]: Número do bico; • CC [2]: Código do combustível; • AA [2]: Número do tanque fornecedor do bico; • TTTTTT [6]: Valor total abastecido; • LLLLLL [6]: Volume total fornecido; • PPPP [4]: Preço unitário praticado; • vvv [3]: Número de casas decimais dos campos total, volume e p.unit.; • tttt [4]: Tempo de duração do abastecimento; • ddmmyyhhnn [10]: Data completa do abastecimento; • eeeeeeeeee [10]: Totalizador inicial do abastecimento; • EEEEEEEEEE [10]: Totalizador final do abastecimento; • iiiiiiiiiiiiiiii [16]: Identificador 1; • IIIIIIIIIIIIIIII [16]: Identificador 2; • aaaaaaaa [8]: Volume atual do tanque fornecedor de combustível; • KK [2]: Check-sum
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
7
03. VISUALIZAÇÃO
Descrição O comando de VISUALIZAÇÃO (03) é utilizado para leitura de abastecimentos em
andamento. Tamanho 02 (0x0002)
Índice
03 (0x03)
Exemplo >?CCCC03KK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 03 [2]: Índice comando; • KK [2]: Check-sum; Resposta O comando VISUALIZAÇÃO (03) retornará oito caracteres para cada bico que
estiver abastecendo no momento da consulta, sendo dois caracteres informando o
bico e seis caracteres informando o volume. No caso de bombas Gilbarco, o
retorno dar-se-á em valor. Tamanho Variável [2-65535] ([0x0002..0xFFFF]) Exemplo >!CCCC03BBLLLLLLKK • >: Delimitador;
• !: Resposta automação; • CCCC: Contador de caracteres; • 03 [2]: Índice comando; • BB [2]: Número do bico; • LLLLLL [6]: Volume total fornecido no momento da consulta; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
8
04. TOTALIZADORES
Comando Utilizado para informar os dados de totais de determinado bico. Tamanho 06 (0x0006) Índice 05 (0x05) Exemplo >?CCCC05BBTTKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 05 [2]: Índice comando; • BB [2]: Bico a ser consultado; • TT [2]: Tipo de pedido o 01: Litros; o 02: Valor em dinheiro; o 03: Preço unitário; o 04: Completo; • KK [2]: Check-sum; Resposta O comando acima retornará os valores correspondentes aos totalizadores do
bico. O caractere de tipo define qual informação deve ser lida. Tamanho Variável (4, 10, 16, 30) (0x0004, 0x000A, 0x0010, 0x001E) Exemplo Erro na resposta de totais (4): >!CCCC05ECKK Resposta de totais em volume (16): >!CCCC05BBTTLLLLLLLLLLKK Resposta de totais em valor (16): >!CCCC05BBTTVVVVVVVVVVKK Resposta de consulta de preço unitário (10): >!CCCC05BBTTPPPPKK Resposta de consulta completa de totais (30): >!CCCC05BBTTLLLLLLLLLLVVVVVVVVVVPPPPKK • >: Delimitador; • !: Resposta automação; • CCCC: Contador de caracteres; • E [1]: Indicador de erro; • CC [2]: Código do erro; o 0: Bico inválido; o 1: Tipo inválido; • 05 [2]: Índice comando; • BB [2]: Número de bico; • T [1]: Tipo de pedido o L: Litros; o V: Valor em dinheiro; o P: Preço unitário; o C: Completo;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
9
• LLLLLLLLLL [10]: Totalizador em litros no momento da consulta; • VVVVVVVVVV [10]: Totalizador em dinheiro no momento da consulta; • PPPP [4]: Preço unitário praticado pelo bico no momento da consulta; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
10
05. INCREMENTO
Comando
Utilizado para passar o ponteiro de leitura para o próximo abastecimento. Tamanho 02 (0x0002) Índice 06 (0x06) Exemplo >?CCCC06KK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 06 [2]: Índice comando; • KK [2]: Check-sum; Resposta O comando acima retornará a posição do ponteiro de leitura após sua execução. Tamanho 14 (0x000E) Exemplo >!CCCC06nnnnnnNNNNNNKK • >: Delimitador; • !: Resposta automação; • CCCC: Contador de caracteres; • 06 [2]: Índice comando; • nnnnnn [6]: Posição para a qual o ponteiro foi movido; • NNNNNN [6]: Posição na qual o ponteiro se encontra; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
11
06. ALTERAÇÃO DE PREÇO
Comando Utilizado para alterar o preço unitário do bico. O preço será atualizado no
DISPLAY da bomba somente após o bico ser retirado do repouso. Tamanho 08 (0x0008) Índice 07 (0x07) Exemplo >?CCCC07BBPPPPKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 07 [2]: Índice comando; • BB [2]: Bico; • PPPP [4]: Novo preço (somente números); • KK [2]: Check-sum; Resposta O comando retornará um código informando a situação do pedido. Tamanho 03 (0x0003) Exemplo >!CCCC07CDKK • >: Delimitador;
• !: Resposta automação; • CCCC: Contador de caracteres; • 07 [2]: Índice comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
12
07. LEITURA DE REGISTRO DE ABASTECIMENTO
Comando Utilizado para ler um abastecimento de uma determinada posição na memória da
automação. Tamanho 08 (0x0008) Índice 08 (0x08) Exemplo >?CCCC08NNNNNNkk • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 08 [2]: Índice comando; • NNNNNN [6]: Posição a ser consultada; • KK [2]: Check-sum Resposta O comando retornará a informação completa do abastecimento solicitado,
totalizando 110 caracteres. Em caso de memória vazia, a resposta terá tamanho
zero: >!0208KK Tamanho Variável (2, 117) (0x0003, 0x006E) Exemplo >!CCCC08NNNNNNBBCCAATTTTTTLLLLLLPPPPvvvttttddmmyyhhnnsseeeeeeeeeeEEEEEEEEEEiii
iiiiiiiiiiiiiIIIIIIIIIIIIIIIIaaaaaaaaKK • >: Delimitador;
• !: Resposta automação; • CCCC: Tamanho da informação; • 08 [2]: Índice do comando; • NNNNNN [6]: Índice do abastecimento na memória da automação; • BB [2]: Número do bico; • CC [2]: Código do combustível; • AA [2]: Número do tanque fornecedor do bico; • TTTTTT [6]: Valor total abastecido; • LLLLLL [6]: Volume total fornecido; • PPPP [4]: Preço unitário praticado; • vvv [3]: Número de casas decimais dos campos total, volume e preço unitário; • tttt [4]: Tempo de duração do abastecimento; • ddmmyyhhnnss [12]: Data completa do abastecimento; • eeeeeeeeee [10]: Totalizador inicial do abastecimento; • EEEEEEEEEE [10]: Totalizador final do abastecimento; • iiiiiiiiiiiiiiii [16]: Identificador 1; • IIIIIIIIIIIIIIII [16]: Identificador 2; • aaaaaaaa [8]: Volume atual do tanque fornecedor de combustível; • KK [2]: Check-sum
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
13
08. PRÉ-DETERMINAÇÃO
Comando O comando de PRÉ-DETERMINAÇÃO é utilizado para autorizar um abastecimento com
valor máximo definido. Atenção: Alguns modelos de bombas não são compatíveis com esse comando, nesse
caso, a bomba será liberada normalmente para abastecimento, porém, o
abastecimento não finalizará no valor previamente definido. Tamanho 10 (0x000A) Índice 09 (0x09) Exemplo >?CCCC09BBVVVVVVKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 09 [2]: Índice comando; • BB [2]: Número do bico; • VVVVVV [6]: Valor pré-determinado; • KK [2]: Check-sum; Resposta Esse comando retornará um caractere informando a situação da execução do
comando. Tamanho 03 (0x0003) Exemplo >!CCCC09CDKK • >: Delimitador; • !: Resposta da automação; • CCCC: Tamanho da resposta; • 09 [02]: Índice do tipo do comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
14
09. AJUSTE DE CALENDÁRIO
Comando O comando de CALENDÁRIO é utilizado para ajustar as definições de data e hora
do equipamento. Tamanho 12 (0x000C) Índice 16 (0x10) Exemplo >?CCCC0AYYMMDDddHHNNSSKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 0A [2]: Índice comando; • YY [2]: Ano; • MM [2]: Mês; • DD [2]: Dia; • dd [2]: Dia da semana (01=domingo, 02=segunda, ...); • HH [2]: Hora; • NN [2]: Minuto; • SS [2]: Segundos; • KK [2]: Check-sum; Resposta Esse comando retornará um caractere informando a situação da execução do
comando. Tamanho 04 (0x0004) Exemplo >!CCCC0ACDKK • >: Delimitador; • !: Resposta da automação; • CCCC: Tamanho da resposta; • 0A [02]: Índice do tipo do comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
15
10. LEITURA DE CALENDÁRIO
Comando O comando de LEITURA DE CALENDÁRIO é utilizado para ler a data e hora do
equipamento. Tamanho 02 (0x0002) Índice 11 (0x0B) Exemplo >?CCCC0BKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 0B [2]: Índice comando; • KK [2]: Check-sum; Resposta Esse comando retornará a informação completa de calendário do equipamento. Tamanho 16 (0x0010) Exemplo >!CCCC0BYYMMDDddHHNNSSKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 0B [2]: Índice do tipo do comando; • YY [2]: Ano; • MM [2]: Mês; • DD [2]: Dia; • dd [2]: Dia da semana (01=domingo, 02=segunda, ...); • HH [2]: Hora; • NN [2]: Minuto; • SS [2]: Segundos; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
16
11. IDENTIFICADOR
Comando O comando de IDENTIFICADOR é utilizado para ler códigos de identificadores
reconhecidos pelos sensores. Tamanho 02 (0x0002) Índice 12 (0x0C) Exemplo >?CCCC0BKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 0C [2]: Índice comando; • KK [2]: Check-sum; Resposta Esse comando retornará a informação completa da identificação lida no sensor. Tamanho 42 (0x002A) Exemplo >!CCCC0CNNNNNNaabbccddTTTTTTTTTTTTTTTTDDMMHHNNKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 0C [02]: Índice do tipo do comando; • NNNNNN [06]: Posição da leitura na memória; • aabbccdd [08]: Lista de bicos sob controle do sensor lido: o aa: Bico A; o bb: Bico B; o cc: Bico C; o dd: Bico D; • SS [2]: Número do sensor; • T [16]: Código do identificador; • DD [2]: Dia; • MM [2]: Mês; • HH [2]: Hora; • NN [2]: Minuto; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
17
12. GRAVAÇÃO DE IDENTIFICADOR
Comando O comando de GRAVAÇÃO DE IDENTIFICADOR é utilizado para gravar códigos de
identificadores na memória da automação, após esse procedimento, os cartões
reconhecidos pela automação, podem liberar o bico para abastecimento sem
intervenção do computador, sendo assim, as liberações passam a ser controladas
pelo equipamento. Tamanho 19 (0x0013) Índice 13 (0x0D) Exemplo >?CCCC0DTTTTTTTTTTTTTTTTLLKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 0D [2]: Índice comando; • T [16]: Código de identificador; • L [2]: Controle: o 27:Libera bomba para abastecimento; o 04:Não libera bomba para abastecimento;
• KK [2]: Check-sum; Resposta Esse comando retornará a posição do identificador em memória, ou um código de
erro caso não tenha sido possível realizar a gravação. Tamanho 24 (0x0018) Exemplo >!CCCC0DNNNNNNTTTTTTTTTTTTTTTTKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 0D [02]: Índice do tipo do comando; • NNNNNN [6]: Posição em que o identificador foi armazenado; • T [16]: Código do identificador armazenado; • KK [2]: Check-sum; >!CCCC0DCDKK • >: Delimitador; • !: Resposta da automação; • CCCC: Tamanho da resposta; • 0D [02]: Índice do tipo do comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
18
13. DELEÇÃO DE IDENTIFICADOR
Comando O comando de DELEÇÃO DE IDENTIFICADOR é utilizado para apagar códigos de
identificadores na memória da automação. Tamanho 22 (0x0016) Índice 24 (0x18) Exemplo >?CCCC0ENNNNNNTTTTTTTTTTTTTTTTKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 0E [2]: Índice comando; • NNNNNN [6]: Posição do identificador na memória; • T [16]: Código de identificador a ser deletado; • KK [2]: Check-sum; Resposta Esse comando retornará a posição do identificador em memória, ou um código de
erro caso não tenha sido possível realizar a deleção. Tamanho 04 (0x0004) Exemplo >!CCCC0ECDKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 0E [02]: Índice do tipo do comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
19
14. LEITURA DE REGISTRO DE IDENTIFICADOR
Comando O comando de LEITURA DE REGISTRO DE IDENTIFICADOR é utilizado para obter todos
os dados relativos à um identificador presente na memória. Tamanho 8 (0x0008) Índice 16 (0x10) Exemplo >?CCCC10NNNNNNKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 0F [2]: Índice comando; • N [6]: NNNNNN; • KK [2]: Check-sum; Resposta Esse comando retornará os dados relativos ao identificador em memória, ou um
código de erro caso não tenha sido possível encontrar. Tamanho 37 (0x0025) Exemplo >!CCCC10NNNNNNTTTTTTTTTTTTTTTTSCCCCCCDDDDDDKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 10 [02]: Índice do tipo do comando; • NNNNNN [6]: Posição do identificador na memória; • T [16]: Código do identificador; • S [1]: Liberação de bico para abastecimento: o 0: Não; o 1: Sim; • CCCCCC [6]: Crédito; • DDDDDD [6]: Débito; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
20
15. LEITURA DE INFORMAÇÕES DO EQUIPAMENTO
Comando O comando de LEITURA DE INFORMAÇÕES DO EQUIPAMENTO é utilizado para obter
todos os dados relativos ao equipamento, como versão de software, status da
bateria, etc. Tamanho 06 (0x0006) Índice 18 (0x12) Exemplo >?CCCC12KK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 12 [2]: Índice comando; • KK [2]: Check-sum; Resposta Esse comando retornará as informações relativas ao equipamento. Tamanho 110 (0x006E) Exemplo Resposta : >!006E12B01.00 F03.01 04/08/12 0 12,85 2 0218 4-
00001234 03/08/12 06/08/12 00:26:28:00:44:88
192.168.0.91;31/08/12 FFD
>!CCCC12vVV.VV fFF.FF DD/MM/AA B bbbbb E eeee C-NNNNNNNN DD/MM/AA DD/MM/AA
MM:MM:MM:MM:MM:MM III.III.I.III;DD/MM/AA dKK
• >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 12 [02]: Índice do tipo do comando; • v [1]: ‘B’ Descritor de versão BOOT-LOADER; • VV.VV [5]: Versão do BOOT-LOADER; • <space> [1]: Espaço separador; • f [1]: ‘F’ Descritor de versão do FIRMWARE; • FF.FF [5]: Versão do FIRMWARE; • <space> [1]: Espaço separador; • DD/MM/AA [8]: Data do FIRMWARE; • <space> [1]: Espaço separador; • B [1]: Informação da bateria: o 0: Bateria normal; o 1: Bateria baixa; o 2: Bateria em estado crítico (providenciar troca); • <space> [1]: Espaço separador; • bbbbb [5]: Tensão da bateria;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
21
• <space> [1]: Espaço separador; • E [1]: Informação da rede externa: o 0: Desligado; o 1: Baixo; o 2: Normal; o 3: Alto; • <space> [1]: Espaço separador; • eeee [4]: Tensão da rede externa; • <space> [1]: Espaço separador; • C [1]: Carácter tipo de Permissões; • <-> [1]: caractere separador; • NNNNNNNN [8]: Número Serial; • <space> [1]: Espaço separador; • DD/MM/AA [8]: Data da Fabricação; • <space> [1]: Espaço separador; • DD/MM/AA [8]: Última data Válida; • <space> [1]: Espaço separador; • MM:MM:MM:MM:MM:MM [17]: MAC; • <space> [1]: Espaço separador; • III.III.I.III [13]: IP; • <;> [1]: caractere separador; • DD/MM/AA [8]: Data validade do certificado (se existir); • <space> [1]: Espaço separador; • <d> [1]: D:DHCP Dinâmico F: IP Fixo; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
22
16. MODO DE OPERAÇÃO
Comando O comando de MODO DE OPERAÇÃO é utilizado para alterar a maneira que a
automação gerencia as solicitações de abastecimento das bombas. Em modo “B” (bloqueio), ao retirar o bico para abastecimento, a bomba entrará
no estado “E” (espera), assim, para permitir que esse abastecimento seja
realizado, necessitaremos enviar o comando de modo “A” (autoriza) para que a
automação autorize o bico e após esse abastecimento, o bico volta ao estado
anterior; Em modo “L” (livre), ao receber uma solicitação do bico para abastecer, a
automação autoriza automaticamente o bico para abastecer; Tamanho 6 (0x0006) Índice 19 (0x13) Exemplo >?CCCC13BBMMKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 13 [2]: Índice comando; • BB [2]: Bico; • M [1]: Modo: o 01 [2]: Automação autoriza o bico para abastecimento sempre que
solicitado; o 02 [2]: Automação autoriza o bico para somente um abastecimento; o 03 [2]: Automação bloqueia o bico para abastecimento; o 04 [2]: Interrompe o abastecimento no momento do comando (para bombas
que permitem); o 05 [2]: Pausa o abastecimento (para bombas que permitem); • KK [2]: Check-sum; Resposta Esse comando retornará um caractere informando a situação da execução do
comando. Tamanho 4 (0x0004) Exemplo >!CCCC13CDKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 13 [02]: Índice do tipo do comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
23
17. TABELA BICO
Comando O comando TABELA BICO é utilizado para informar dados do bico escolhido, como
código do bico na automação, número do tanque atribuído e código do produto; Tamanho 5 (0x0005) Índice 20 (0x14) Exemplo >?CCCC14BBKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 14 [2]: Índice comando; • BB [2]: Número do bico; • KK [2]: Check-sum; Resposta Esse comando retornará os dados relativos ao bico, conforme configurado no
comando de configuração; Tamanho 12 (0x000C) Exemplo >!CCCC14BBIIcbttppKK • >: Delimitador;
• !: Resposta da automação; • CCCC: Tamanho da resposta; • 14 [02]: Índice do tipo do comando; • BB [2]: Número de bico na pista; • II [2]: ICOM (01-03); • c [1]: Conector (A-D); • b [1]: Bomba(1-4); • tt [2]: Número do tanque; • pp [2]: Código do produto; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
24
18. GRAVAÇÃO AUTOMÁTICA DE IDENTIFICADORES
Comando
Utilizado para colocar a automação em modo de gravação automática, nesse modo,
todos os cartões lidos pelos sensores, são diretamente gravados na memória do
equipamento.
Tamanho
05 (0x0005)
Índice
23 (0x17)
Exemplo
>?CCCC17LTTKK
• >: Delimitador;
• ?: Consulta automação;
• CCCC: Contador de caracteres;
• 17 [2]: Índice comando;
• CC [2]: Inicia/Finaliza auto-gravação:
o 5A: Inicia;
o 5B: Finaliza;
o 5C: Apaga identificadores armazenados;
• CC [2]: Controle:
o 27: Não;
o 1: Sim;
• T [2]: Tempo em segundos que o comando irá permanecer ativo;
• KK [2]: Check-sum;
Resposta
O comando acima retornará um código de confirmação de execução.
Tamanho
04 (0x0004)
Exemplo
>!CCCC17CDKK
• >: Delimitador;
• !: Resposta automação;
• CCCC: Contador de caracteres;
• 17 [2]: Índice comando;
• C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
25
19. INCREMENTO DE IDENTIFICADOR
Comando Utilizado para passar a leitura para o próximo identificador lido; Tamanho 02 (0x0002) Índice 24 (0x18) Exemplo >?CCCC18KK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 18 [2]: Índice comando; • KK [2]: Check-sum; Resposta O comando acima retornará um código de confirmação de execução. Tamanho 08 (0x0008) Exemplo >!CCCC18nnnnnnKK • >: Delimitador;
• !: Resposta automação; • CCCC: Contador de caracteres; • 18 [2]: Índice comando; • nnnnnn [6]: Posição para a qual o ponteiro foi movido; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
26
20. INVERSÃO DE BICOS
Comando Utilizado para inverter o número de bico configurado através do comando de
configuração; Tamanho 06 (0x0006) Índice 25 (0x19) Exemplo >?CCCC18AABBKK • >: Delimitador;
• ?: Consulta automação; • CCCC: Contador de caracteres; • 18 [2]: Índice comando; • AA [2]: Bico A; • BB [2]: Bico B; • KK [2]: Check-sum; Resposta O comando acima retornará um código de confirmação de execução. Tamanho 04 (0x0004) Exemplo >!CCCC18CDKK • >: Delimitador;
• !: Resposta automação; • CCCC: Contador de caracteres; • 18 [2]: Índice comando; • C [1]: Códigos de Status de execução; • D [1]: Código do erro; • KK [2]: Check-sum;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
27
Códigos de erro
Descrição Os códigos abaixo são utilizados por todas as respostas do protocolo que possam conter
um erro, esses códigos são numerados de 0 a 16 (0x00 a 0x0F):
• 0: Sucesso • 1: Número de bico posição A já utilizado; • 2: Número de bico posição B já utilizado; • 3: Número de bico posição C já utilizado; • 4: Número de bico posição D já utilizado; • 5: Erro de resposta da bomba; • 6: Erro de timeout da bomba; • 7: Número de bico inexistente; • 8: Bico abastecendo; • 9: Modo inválido; • A: Identificador diferente; • B: Erro ao apagar identificador; • C: Erro parâmetro inválido; • D: Erro Certificado inválido;
Códigos de Status de execução
Descrição Os códigos abaixo são utilizados por todas as respostas do protocolo que possam conter
erros, informando a situação da execução do comando:
• 0: Sucesso; • E: Erro;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
28
Códigos de tipos de combustíveis
Descrição Código padrão utilizado para enumerar vários tipos de combustíveis disponíveis no
mercado:
• 01: Gasolina comum; • 02: Gasolina aditivada; • 03: Gasolina Premium; • 04: Gasolina Formula; • 05: Gasolina Podium; • 06: Gasolina Maxxi; • 07: Gasilina Original; • 08: Gasolina Garantida; • 09: Gasolina V-Power; • 10: Diesel; • 11: Diesel Aditivado; • 12: Diesel Verana; • 13: Diesel S50; • 14: Diesel Maxxi; • 15: Diesel Esp.; • 16: Querosene; • 17: GNV; • 18: Outro; • 19: Etanol;
Códigos de tipo de sensores
Descrição Utilizado no comando de configurações, esse código significa o modelo do sensor:
• 15: Identfid; • 18: I-Button;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
29
Códigos de tipo de modelo de bombas
Descrição Utilizado no comando de configurações, esse código significa o modelo da bomba:
• 01: Gilbarco; • 02: Wayne Igem; • 03: MTB G-180; • 04: Wayne Minnow; • 05: Daruma; • 06: Milleniumm; • 07: Tokheim; • 08: Wayne Rifran; • 09: Stratema; • 0A: Booster Galileo; • 0B: Aspro ABL; • 0C: Eletrogas; • 0D: Galileo - Pump Control; • 0E: Aspro Develco; • 0F: Knox; • 10: Compac Agira; • 11: Nuovo Pignone; • 12: Realtek Metroval; • 13: Stratema fiscal; • 14: Safe Graf; • 15: IdentFid; • 16: Lectrocount; • 17: Wayne Duplex II; • 18: I-Button; • 19: Wayne Igem < v32;
Códigos de forma de trabalho do sensor
Descrição Utilizado no comando de configurações, esse código significa o modelo da bomba:
• 00: Desabilitado; • 01: Bomba de combustível; • 02: Acesso, enviando para o PC chaves não cadastradas; • 03: Acesso, ignorando chaves não cadastradas; • 04: Cartão ponto;
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
30
Cálculo de Check-Sum
Descrição Somatório em Hexa-Decimal dispostos em dois caracteres adicionados às
linhas de comando e resposta do equipamento, esse somatório garante
que os dados estejam íntegros ao serem recebidos nas extremidades de
comunicação (PC ⇔ Automação). O cálculo do Check-Sum HRS-1, é realizado com um acumulador, onde são
acrescidos os valores ASCII de cada caractere presente após o
caractere de início de bloco nas linhas de comando e resposta. Para manter um tamanho fixo de dois caracteres, as casas mais
significativas são removidas do resultado do somatório, até que seu
tamanho pré-estabelecido seja respeitado.
Exemplo >!000A01AALB P A34 CONTROLE = ! CONTADOR = 000A DATA = 01AALB P A CHECK-SUM = 34
Caractere ASCII (Dec) ASCII (Hexa) Acum. (Dec) Acum. (Hexa)
! 33 21 33 021
0 48 30 81 051
0 48 30 129 081
0 48 30 177 0B1
A 65 41 242 0F2
0 48 30 290 122
1 49 31 339 153
A 65 41 404 194
Protocolo de Comunicação
HORUSTECH
DT214
Revisão: 01
3/9/2012
31
A 65 41 469 1D5
L 76 4C 545 221
B 66 42 611 263
<SPACE> 32 20 643 283
P 80 50 723 2D3
<SPACE> 32 20 755 2F3
A 65 41 820 334