Manual PAG700/800 c/ comunicação WiFi Prezado cliente, Parabéns por adquirir um Terminal modelo PAG700 / 800 padrão WiFi TCP/IP Colleter. Este manual irá ajudálo a compreender mais as características técnicas do equipamento bem como detalhar sua configuração inicial e programação. O Manual está dividido em 3 seções, conforme indicado abaixo: Seção 1 Características funcionais do produto Seção 2 Configurações iniciais. Seção 3 Instruções de programação. Os microterminais da linha PAG Colleter são bastante versáteis em suas características básicas e opcionais. Mesmo tendo uma ampla gama de características customizáveis, todos os microterminais Colleter podem ser programados de forma compatível, sendo portanto muito simples para o desenvolvedor migrar de uma versão para outra. Em sua versão TCP-IP, a configuração do terminal é extremamente simples. Como veremos adiante, ela não requer instalação de drivers auxiliares e não tem telas complexas a serem configuradas. O terminal pode ser usado com dhcp e IP dinâmico ou então com IP fixo. De ambas as formas, o terminal consegue localizar o IP do microcomputador servidor automaticamente, o que já elimina a necessidade de uma configuração adicional específica para isto. A sintaxe das funções de programação é também muito simples e intuitiva, não sendo necessário para o programador montar strings com bytes de dados complexos para se comunicar com o equipamento. Vamos agora entrar na descrição do produto. Agradecemos sua escolha por nossos produtos e esperamos poder fornecer todo o suporte necessário no apoio desta parceira de desenvolvimento.
Seção 1 Características funcionais: - Leitura de código de barras dos produtos, através de leitor laser omnidirecional ( leitura espacial - várias posições de exposição dos produtos ) de 20 feixes com 1.650 scans/segundo, o que garante uma excelente performance de leitura na primeira tentativa, reduzindo tempo de leitura e permanencia do cliente frente ao leitor; - Interface de comunicação rede Ethernet TCP/IP - modo DHCP p/ busca automática de IP, ou modo manual - IP fixo; - Suas dimensões reduzidas permitem fácil instalação, inclusive nas próprias gôndolas e em locais impróprios aos demais equipamentos similares; - Display LCD de 4 x 16 caracteres com back - light Características e facilidades de de programação : - Bibliotecas com funções prontas para gerenciar: Parâmetros de comunicação Parâmetros de comportamento Recepção de dados coletados Envio de mensagens ao display Envio de texto a impressora do terminal Envio de sinalização sonora (beep) e led s Captura de dados de balança digital Linguagens: Visual Basic, Delphi, Visual C, C#, VB.NET, Foxpro e demais de mercado Painel traseiro do equipamento: 2
Seção 2 Configurações iniciais - Configuração do IP do terminal: Para configurar e gravar o IP do microterminal, conecte um teclado PS2 de PC na entrada leitor do PAG utilizando o cabinho adaptador que acompanha o equipamento. Então, ligue o PAG e digite no teclado a palavra CONF e tecle ENTER. Fazendo isto, vai aparecer no display o último IP que foi gravado no PAG. Você deve então digitar o novo endereço IP a ser gravado no terminal, separando os grupos por pontos e sempre digitando 3 dígitos. Por exemplo, para gravar o IP 192.168.0.51 você deverá digitar o seguinte: 192.168.000.051 e pressionar <E>. Se desejar usar o PAG com IP dinâmico, grave 000.000.000.000 no lugar do IP. - Configuração do IP do dispositivo brigde WR702N: As configurações de rede do dispositivo WR702N interno do PAG devem ser feitas através do próprio sinal Wifi. Então, para poder configurar, você precisará de um laptop com WIFI ou de um PC de mesa com placa wireless. As configurações necessárias são as seguintes: Com o PAG ligado, ligue o micro com placa wireless (ou laptop), entre nas configurações wireless e peça para o micro exibir as redes Wifi disponíveis. Entre as redes disponíveis, deverá aparecer uma com um nome parecido com este: TP- LINK_9C167A. Na verdade, o código numérico que aparece depois da palavra TP-LINK (no caso o _9C167A) varia de PAG para PAG, então a configuração deve ser feita em 1 PAG por vez. O número correto (no caso 9C167A) está impresso na etiqueta verde contendo o número de série do equipamento, na parte de baixo do PAG. Então, faça o micro se conectar à esta rede WIFI. Quando fizer isto, o micro vai pedir uma senha de criptografia wireless. A senha correta também está impressa na etiqueta verde, embaixo do PAG. Uma vez conectado à rede do PAG, abra o Internet Explorer e navegue na seguinte página : http://192.168.0.254 Para entrar na página, utilize : usuário = admin e senha = admin. Você encontrará uma página de configuração parecida com a tela abaixo. Então, siga as orientações das figuras indicadas abaixo em vermelho: 3
4
5
6
Seção 3 Programação: Para enviar e receber mensagens para o PAG700/800, você pode utilizar a DLL sockdelp.dll (para Delphi) ou sockvbcl.dll (para VB).Os comandos e funções são fáceis e intuitivos de serem usados. - Abrindo um canal para um endereço IP função abreip A primeiro função que precisa ser chamada é a função abreip : Abreip ( x ) - abre comunicação com um endereço IP e associa a ele um número de canal x -string - Endereço IP em formato string (ex: 192.168.0.51 ) Retorno: inteiro (sempre 1) Declaração : function abreip ( porta :shortstring):integer; external 'sockdelp.dll' Exemplo de uso da função: x = abreip ( 192.168.0.51 ); Para cada chamada abreip será associado um número de canal (uma espécie de índice) para o IP. Assim, o primeiro IP aberto passará a funcionar como canal 0, o segundo será canal 1, o terceiro canal 2 e assim por diante. OBS: no caso do uso de IP Dinâmico, esta função é chamada automaticamente pela DLL. - Enviando uma mensagem para o display do PAG700/800 função ENVTMSG Cada IP que foi aberto com o abrepip é associado a um número de canal. O primeiro aberto é o canal 0. o segundo é o canal 1 e assim por diante. Para enviar uma mensagem para um PAG700/800, o PAG deve ser selecionado pelo número do seu canal na função ENVTMSG ENVTMSG ( conj, can, STRING ) - envia mensagem para o display do PAG700/800 Conj - inteiro - (sempre 0 usado apenas para manter compatibilidade com versões anteriores) Canal -inteiro - endereço associado ao IP destinatário da mensagem. STRING - variável string - dado a ser enviado para o display do PAG700/800 7
Declaração: function envtmsg ( cnj,can :integer ; da : shortstring ):integer; external 'sockdelp.dll' Utilização : X:=envtmsg ( 0,0,'Teste de envio'); RETORNO (X=número inteiro) Se X=1, o comando foi bem sucedido Se X=0, houve algum problema de comunicação de socket. - Recebendo uma mensagem digitada ou leitura de código de barras. GETCNT ( ptstring, ptcan, conj ) - lê mensagem vinda de todos os PAGs. Esta função deve ser colocada dentro de um TIMER, com intervalo de 1 milisegundo. Conj - inteiro - (Colocar sempre conjunto=0 ) ptcan -ponteiro para um inteiro - canal de onde veio a mensagem ptstring -ponteiro para variável string - mensagem vinda do PAG700/800. A função GETCNT retorna um valor 0 se não veio dado de nenhum PAG e retorna 1 se existe algum dado vindo de algum canal (PAG700/800) Na variável ptcan será injetado pela DLL o número do canal que forneceu o dado (endereço) e na ptstring será injetado o dado vindo do PAG700/800, independentemente de ser uma digitação ou uma leitura de código de barras. Declaração : function getcnt ( var dado:shortstring ; var canal:integer ; conj : integer ): integer; external 'sockdelp.dll' Utilização: ( o GETCNT deve ser colocado dentro de um timer com intervalo de 1 milisegundo ) procedure TForm1.Timer1Timer(Sender: TObject); begin conjunto:=0; canal:=100; // valor arbitrário (será modificado e retornado pela função) 8
if (getcnt ( dado,canal,conjunto ))=1 then begin Form1.edit1.text:='Recebi: '+dado + ' do canal:' + inttostr(canal); envtmsg (conjunto,canal,'dado recebido'); envbeep (conjunto,canal,1); end; end; RETORNO (X=número inteiro) Se getcnt retornou 1, existe algum dado vindo de algum PAG. A variável 'CANAL' receberá o valor do canal que enviou o dado. A string recebida será armazenada em 'dado' Se getcnt retornou 0, não existe dado nenhum, vindo de nenhum PAG. - Fazendo o PAG associado ao canal n tocar bips x= ENVBEEP ( conj, can, N ) - faz o PAG700/800 associado ao canal 'CAN' tocar N beeps Conj - inteiro - sempre zero Canal -inteiro - canal associado ao PAG700/800 com a função abreporta N -inteiro - número de beeps para o PAG executar ( variando de 1 a 9 ) Declaração : function envbeep ( cnj,can,n :integer ):integer; external 'sockdelp.dll' Utilização : X:=envbeep ( 0,3,5); { PAG associado ao canal 3 tocará 5 beeps simples } - Apagando o display do PAG700/800 ENVCLDISP ( conj, can ) apaga o display do PAG associado ao canal CAN Conj - inteiro - Sempre zero Canal -inteiro - canal que receberá o comando Declaração : function envcldisp ( cnj,can:integer ):integer; external 'sockdelp.dll' Utilização : X:=envcldisp ( 0,3 ); Apaga o display do PAG associado ao canal 3 (3o IP aberto com abreip) 9
- FLUXOGRAMA EXEMPLO DE CONTROLE PARA VÁRIOS MICROTERMINAIS Obs : Note que só é necessária uma instrução _GETCNT, mesmo para vários terminais e vários dados de entrada. Sugerimos que os contadores 1 e 2 do exemplo acima sejam elementos de uma matriz ( ou vetor ), indicando o status atual de cada terminal no sistema do usuário. 1