configuração / protocolo / programação / recursos funcionais

TED série TC-100/200 .... _ interface comunic. IP Ethernet (via cabo)

Voltar
TED série IP rede via cabo _ TC-100/200/300/400/500

Os Terminais TED série TC _ TC-100 mesa / TC-200 parede / TC-500 relegendável e variações dependendo de tipos de teclado, display LCD e opcionais, operam em sistema cliente/servidor sob o protocolo de comunicação UDP, onde o PC atua como servidor e o TED como cliente.  

– INDICE: 
1 - Configurando o Terminal TED série TC (passo a passo);
2 - Testando o funcionamento e conexão ao PC;
3 - Funcionalidades, teclado, conexões traseiras e pinagens;
4 - Protocolo e comandos de operação / programação; 

5 - Recursos de Integração à sistemas ( softwares ) de aplicação; 

1 – Configuração ( passo a passo )
Qual endereço IP colocar no TED ?
Primeiro descubra o endereço IP do micro da rede onde está o sistema que irá gerenciar os terminais TED. Descubra o endereço IP dele da seguinte forma:
1- Clique no botão iniciar, ou digite no seu teclado o seguinte:
2 - Digite : CMD + tecla ou OK
3 - Abrirá a tela do DOS e nela digite : ipconfig + tecla

4 - Abrirá janela com várias informações, observe apenas onde indica IPv4 _ esse é o endereço IP do seu micro no momento

Configurando endereço IP do TED: 
Para gravar o IP do TED através de seu teclado ( teclado do TED ), ligue o microterminal mantendo a tecla 1 pressionada. Na sequência, no visor do TED será exibida na linha superior o endereço IP atual do TED e você deverá digitar na linha debaixo o novo endereço de IP a partir do endereço do micro ( conectado na sua rede ) que descobriu acima. Você deve então digitar os mesmos 3 primeiros grupos separados por ponto, do endereço de IP do seu computador e no quarto grupo um número superior ao do micro, porém sempre com 3 dígitos cada grupo.
explo.1: Se o IP do micro onde está o sistema for o IP 192.168.0.51, digite o seguinte no TED: 192.168.000.055 e pressione tecla  "ENTER" 
explo.2: Se o IP do micro onde está o sistema for o IP 192.168.10.51, digite o seguinte no TED: 192.168.010.055 e pressione tecla  "ENTER"

Pronto, basta agora desligar o TED, aguardar 5 segundos, ligar novamente, aguardar 5 segundos e ele automáticamente entrará em rede com o Host ( PC ). 
 
2 - Teste de funcionamento e comunicação : 
Os Terminais TED são ferramentes de softwares de aplicação dos vários Parceiros da Colleter. A configuração correta à cada software, deve ser verificada com o Parceiro desenvolvedor na ocasião da instalação. Porém antes, é possivel verificar o bom funcionamento e instalação junto ao PC ( host ) "fora" do ambiente do software do Parceiro. Para isso utilize o softaware TESTA-TED. Com ele poderá cerificar se o TED está operando normalmente e comunicando com o PC ( host ).
Para baixar o TESTA-TED >> enlightened 

3 - Funcionalidades, teclado, conexões interfaces ( painel traseiro ) e pinagens  
Teclado modelos 16 teclas _
obs.: o teclado é padrão para os vários modelos de TED. Nos modelos TC apenas as teclas numéricas e funções são utilizadas. Estas 3 teclas de função (F1, F2 e F3) podem ser configuradas via software. Além das teclas de função, a tecla . tem a função de backspace // delete, e serve para deletar teclas digitadas, com a finalidade de corrigir erros de digitação antes da transmissão. A tecla Enter tem a função de transmitir os dados digitados para o computador.

Ligação do cabo de rede:
Conecte seu microterminal a um Hub ou Switch de rede ethernet utilizando um cabo padrão de rede (azul . Cat5) ou então com um cabo cross over. O conector de rede RJ45 deve estar crimpado com todas as vias e deve ser encaixado onde está marcado Ethernet ( conector RJ-45 ), no painel traseiro do equipamento.



Ligação do leitor de código de barras externo:
Você pode ligar um leitor de código de barras externo modelo PS2, ou teclado qualquer padrão PS2 no microterminal Colleter. Para isso, encaixe o leitor ou teclado no conector do painel traseiro, onde está escrito PS2.
obs.: em casos especiais a conexão do leitor poderá ser pelo conector DB-09 _ consulte


Ligação de uma impressora de cupom serial ou Balança
É possível ligar uma impressora serial ao conector DB9 traseiro do microterminal Colleter. Para fazer isto, conecte a impressora ao terminal usando o mesmo cabo que você utiliza para ligar a impressora serial no computador. O conector DB9 serial do painel traseiro do microterminal tem pinagem compatível com a porta serial do PC.

DB9 Macho (painel traseiro)

1/5/6---------------------------------------GND (ground)
2---------------------------------------------RX2 (entrada para balanças)
3/8------------------------------------------TX1 (saída para impressora)
4---------------------------------------------N/C
7---------------------------------------------CTS (entrada sinal protocolo **)
9---------------------------------------------Vcc (5Vdc)


Configurações default da porta serial:
Baud Rate = 9600
Bits de dados = 8
Paridade = nenhuma
Stop bits = 1
Protocolo da balança: Compatível com protocolo ENQ, ou sem protocolo.


4 – Protocolo / Comandos

- Características da comunicação
- Conexão cliente / servidor: o Terminal TED é o cliente UDP e o Host ( PC ) é o servidor UDP;
- Busca automática de IP: recurso para “ganhar” automaticamente endereço de Ip do roteador da rede – veja abaixo
   em CONSIDERAÇÕES SOBRE BUSCA DE IP”
- Os modelos básicos da série TC-100 / TC-200 transmitem os dado digitados para o Host ( PC ) na Porta 8 em UDP.
  Realizam 3 (três) tentativas de transmissão, caso não receba um pacote de retorno do Host.
  Existem modelos especiais que aceitam configuração para transmissão a outros endereços de Porta, além da Porta 8;
- Digitação e Transmissão de Dados: Para o TED enviar um dado para o computador é necessário digitar o dado + tecla Enter;
- Leitura ( interface ) cód.barras: exatamente o mesmo efeito que a digitação anterior + tecla Enter;
- Modo de apresentação: na medida em que o dado vai sendo digitado vai sendo apresentado no display ( visor ). Durante a
  digitação, se o dado for maior do que a linha do display, o cursor pula para a linha de baixo. Em repetidas vezes, os dados mais  
  antigos vão sendo rolados para cima e os novos vão aparecendo sempre na última linha de baixo – veja abaixo em 
  “CONSIDERAÇÕES  SOBRE ROLAGEM DE DISPLAY”;
- Correção de erro de digitação: pressionando a tecla o cursor volta e apaga toda a última linha digitada, desde o digito
  atual até o primeiro digito teclado, antes do último Enter.

ATENÇÃO: Na lista de comandos abaixo estão resumidos os conteúdos dos pacotes a serem enviados para o TED executar cada comando. Todos estes comandos devem obedecer o protocolo de repetição 3 vezes, usando os bytes de confirmação de transmissão e confirmação de recepção.

a- : Transmissão TED ao Host _ 01 XX YY ZZ DADO OD _ onde :
comando 01 = TED transmite dados ao Host
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão.
  exemplo: TED transmitindo para o Host e sem resposta de retorno do Host (explo: micro desligado) então o TED vai tentar 
  transmitir três vezes enviando o seguinte:
  01 00 0A  04 31 32 33 0D
  01 01 0A  04 31 32 33 0D
  01 02 0A  04 31 32 33 0D
  O o segundo byte vai incrementando a cada tentativa 00, 01 e 02. Quando este byte chegar a FF ele deve voltar a ser 01.
YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;
ZZ = número de bytes do dado digitado;
0D = finalizador- Formato de resposta do Host: 80 XX YY 00 _ onde:
80 =  comando de confirmação de recebimento (dados em Hexadecimal);

EXERCITANDO:
# - TED tenta transmitir mas, por algum problema de transmissão (colisão na rede , ruído ou outro motivo) a primeira tentativa não chegue ao Host. Mas na segunda tentativa chegue normalmente. Vai acontecer então o seguinte tráfego de dados:
01 00 0A  04 31 32 33 0D
01 01 0A  04 31 32 33 0D
resposta do Host : 80 01 0A 00

Neste exemplo, o Host perdeu o primeiro pacote por algum problema de ruído. Mas quando o TED transmitiu o segundo pacote o Host respondeu . Nesta resposta 01 é o retorno do mesmo flag de transmissão. Ao receber este pacote, o TED pára de transmitir porque percebe que o Host já pegou o dado corretamente pois o flag 01 “bateu” com o mesmo flag 01 da transmissão.

## - Agora suponha que, por algum motivo a resposta do Host (confirmação de recebimento) não chegue ao TED (por ruído, colisão ou outra coisa). O TED vai interpretar que o Host ainda não recebeu o dado e vai transmitir novamente. O Host, ao pegar o dado repetido, vai desprezá-lo porque já pegou este dado. Isto porque o terceiro byte (0A= confirmação de transmissão) coincide com o terceiro byte recebido no comando anterior recebido pelo Host. Se fosse realmente uma nova transmissão o TED teria incrementado este byte para 0B. ou seja: o terceiro byte é um número que vai incrementando, não a cada tentativa de transmissão do mesmo dado, mas a cada dado novo que o TED tenta transmitir.

Este protocolo de confirmação de envio e confirmação de recebimento acontece nos dois sentidos: do TED para o micro e do micro para o TED e em todos os comandos implementados.


b- : Transmissão Host ao TED _

b.1 - Envia mensagem ao display do TED _ 01 XX YY ZZ DADOS_ onde :
comando 01 = envia mensagem para o display TED;
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão

YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;

ZZ = número de bytes do dado digitado;
DADOS = string a ser enviada ao display do TED;
Exemplo: 01 00 04 03 41 42 43 coloca ABC no display do TED. 

 

b.2 - Toca beep inicialização _ 02 XX YY ZZ _ onde :
comando 05 = TED toca beep inicialização;
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão

YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;

ZZ = número de bytes do dado digitado – neste comando sempre 00
Exemplo: 02 00 02 00 toca bip de inicialização 

b.3 - Apaga display _ 03 XX YY ZZ _ onde :
comando 03 = TED apaga display;
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão

YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;

ZZ = número de bytes do dado digitado – neste comando sempre 00
Exemplo: 00 03 00 apaga o display do TED. 

b.4 - Toca N beeps _ 05 XX YY ZZ N _ onde :
comando 05 = TED toca N beeps;
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão

YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;

ZZ = número de bytes do dado digitado – neste comando sempre 01;
Exemplo: 05 00 02 01 04 ted toca 4 bips

b.5 - Envia mensagem para porta serial auxiliar COM1 ( impressora p.explo. ) do TED _ 06 XX YY ZZ DADOS _ onde :
comando 06 = envia dados para saida auxiliar COM1;
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão

YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;

ZZ = número de bytes do dado digitado;
DADOS = texto / mensagem a ser impressa via COM1
Exemplo: 06 00 04 03 41 42 43 imprime ABC na porta serial auxiliar 


b.6 - Le dados da porta serial auxiliar COM2 ( balança p.explo. ) _ 07 XX YY 00 _ onde :
comando 07 = le dados da COM2;
XX = “contador de tentativas” - flag que vai incrementando até FF em cada tentativa de transmissão

YY = “contador de comandos” - confirmação de transmissão, para checagem da resposta do Host;
ZZ = neste caso sempre 00;
Exemplo: 07 00 02 00  lê porta serial auxiliar COM2 para balanças ( pino RX2 conector DB-09 ).

Parâmetros da comunicação serial : default 9600,n,8,1

Tipo de balança ( protocolo balança ):
1- Balanças sem protocolo _ existem balanças que enviam o peso imediatamente após sua realização : neste caso o procedimento descrito acima é suficiente para o tratamento dos dados lidos do peso. O TED armazena esses dados de peso num buffer e quando o Host solicita via o comando 07 ( acima ), os dados são enviados.

2 – Balanças com protocolo _ existem balanças que aguardam e chegada de um comando ENQ ( 0x05 ) para somente após  enviar os dados de peso : neste caso utilizando o pino 3 da COM1 ( saída para impressora ) o TED pode enviar o comando ENQ ( 0x05 ) no formato descrito em b.5 (envia mensagem para porta serial auxiliar COM1) :
Explo1 -  Se quiser enviar 0x05 para a balança. Precisa enviar para o TED via UDP:  0x06, 0x00, 0x00, 0x01, 0x05
Explo2 - Se quiser enviar 0xC3, 0x0D para a balança, enviar para o TED via UDP:   0x06, 0x00, 0x00, 0x02, 0xC3, 0x0D
 e assim por diante.
 Quando o TED recebe o comando 0x07 do Host, os últimos dados recebidos da balança após o comando ENQ ( 0x05) são enviado para o Host no formato:  0x01, 0x00, 0x01, NB, D0, D1, D2,...,DN. Como descrito em b.6

CONSIDERAÇÕES SOBRE BUSCA DE IP : Para que o TED (cliente) se conecte ao micro (servidor) ele precisa descobrir primeiro o IP do micro. Ele faz isto automaticamente da seguinte forma: ao ser ligado, o TED começa a enviar um pacote broadcast de 2 em 2 segundos na porta 55555 em UDP. O micro que está rodando o software+DLL recebe este pacote (o broadcast chega em todos os dispositivos da rede). Então o micro analisa o pacote e descobre o IP de origem (ou seja o IP do TED). Em seguida o micro envia um pacote para o TED contendo o seguinte dado na porta 08 em UDP: 00 00 09 ‘Conectado]’  (os bytes estão em hexadecimal).
Desta forma, o TED ‘descobre’ o IP do micro ao receber este pacote  e se conecta à ele. Daí para frente o TED usará a porta 8 em UDP para se comunicar com o micro.

CONSIDERAÇÕES SOBRE ROLAMENTO DO DISPLAY AO RECEBER MENSAGENS : Quando uma primeira  mensagem é enviada para o display do TED1000 (comando 01), a mensagem inicial COLLETER TED1000 se apaga e a mensagem aparece na primeira coluna da última linha (obs: a mensagem recebida do micro nunca pode ser apagada pelo backspace. O backspace só consegue apagar dados digitados no teclado). A partir deste momento, se o usuário digitar alguma coisa no teclado (123, por exemplo) os dados começam a aparecer na mesma linha da mensagem recebida, (à direita do último caractere recebido).Aí sim, o backspace é capaz de apagar os dígitos teclados (3, 2, 1). Se o usuário enviar uma nova mensagem para o display (em vez de digitar, se ele eviar uma segunda mensagem com o comando 01), a nova mensagem fará o display rolar para cima ,  aparecendo então na primeira coluna da segunda linha. Se for enviada uma mensagem vazia (sem dados) para o display pelo comando 01, o cursor deve cair na primeira coluna da próxima linha, rolando os dados anteriores do display para cima.

Mensagens maiores ou iguais a 16 caracteres:
Se for enviada para o display uma mensagem de exatamente 16 caracteres, o cursor irá parar exatamente na primeira coluna da segunda linha pois será feita a rolagem de 1 linha para cima (a mensagem acaba ficando na primeira linha !). Neste caso, se o usuário digitar algo no teclado, irá aparecer na segunda linha – primeira coluna. Esta regra vale para qualquer caso de mais de 16 caracteres. Por exemplo: enviando uma mensagem de 17 caracteres, o display rola para cima, ficando a mensagem na primeira linha e mais um único caracter (final da mensagem) na segunda linha. A partir daí, se o usuário digitar algo no teclado, aparecerá na segunda coluna da segunda linha (abaixo da mensagem recebida).

 

CONSIDERAÇÕES SOBRE A TECLA DE CORREÇÃO BACKSPACE: O TED possui no teclado a tecla usada como backspace.
Durante a digitação , se houver algum erro, pode-se pressiona-la para apagar o que foi digitado. Uma vez pressionada a linha inteira que foi digitada é apagada , sendo necessária a digitação do código correto novamente.

Dica para testes: toda esta comunicação pode ser facilmente verificada com o auxílio de um TED para testes, com o programa de testes da Colleter e com o programa analisador de protocolo “Wireshark”.
Importante: pode acontecer de alguém desligar o TED (ou o micro) em algum momento e religá-lo de novo. Por isto é importante que o TED fique sempre enviando este pacote broadcast de 2 em 2 segundos pois, se a conexão for quebrada, ela volta a conectar automaticamente.


5 - Recursos de Integração à sistemas ( softwares ) de aplicação _

Para facilitar a integração dos Terminais TED ao seu aplicativo, seguem os recursos abaixo:
- GER _ Gerenciador ( novidade ) _ esse novo software, quando em execução, trata de todas as particulares requeridas por pelas DLLs ( mais abaixo ), além de trazer para seu programa:
     - Compatibilidade total com novos modelos TED / PAT lançados;
     - Melhorias e correções incorporadas sem mexer em seu software;
     - Compatibilidade com todas as linguagens de programação capaz de estabelecer um conexão TCP/IP com o gerenciador;
     - Protocolo simples de integração com apenas 3 comandos.

- DLLs _  Integração dos Terminais TED / PAT, para incorporação no software de aplicação _ bibliotecas de vínculo dinâmico com funções prontas de alto nível para a comunicação e funções dos Terminais, às diversas linguagens Windows, com programas de explos. e fontes na linguagem C#. 
As DLL´s integram-se aos protocólos dos Terminais fixos TED e portáteis PAT, oferecendo maior facilidade de programação e maior grau de funcionalidades e opções de desenvolvimento, que antigos protocólos Telnet e VT-100.
obs.: As DLLs, fontes e explos. da linguagem C# são indicadas para todas linguagens de programação .NET. Porém, caso aconteça alguma dificuldade na utilização, faça contato com suporte@colleter.com.br indicando qual linguagem está utilizando e o problema, que lhe retornaremos explos. no uso específico da linguagem e, se for o caso, adaptação da DLL à linguagem específica.

- TED-CPM _  Software de controle de terminais fixos TED e Terminais portáteis PAT para geração de aplicações diversas: transmissão e recepção de dados _ apontamentos e consulta, lógica de controle, leitura de balança/outros dispositivos, escrita em impressora .... comunicando-se de forma online ( tempo real ) com o ERP. 
APLICAÇÕES: Controle de Estoque / Expedição / Acompanhamento de produção - chão de fábrica / outros.
HOMOLOGAÇÃO: homologado Senior Sistemas para uso com o ERP Sapiens. Disponível par integração em outros sistemas via bancos de dados.

 

Detalhes sobre os Recursos acima, veja em >> enlightenedenlightened