Business - Automação Comercial
Microterminal FIT Básico: Criando a primeira aplicação
Dando continuidade ao nosso mini-curso sobre o microterminal FIT Básico, veremos agora como declarar as funções da BemaSB32.dll e de como utilizá-las na aplicação.
por Iohannes NakataniDando continuidade ao nosso mini-curso sobre o microterminal FIT Básico, veremos agora como declarar as funções da BemaSB32.dll e de como utilizá-las na aplicação.
Nesta edição, iremos iniciar com as funções de comunicação com o microterminal.
Obs: Não podemos esquecer que na edição 31 fizemos a configuração do microterminal FIT Básico, definindo o seu IP para a comunicação e demais opções, e na edição 33 conhecemos a BemaSB32.dll e sua configuração. É importante estarmos com tudo isso preparado para podermos iniciar o desenvolvimento.
- Declarando as Funções
A declaração das funções varia de acordo com a linguagem de programação que é utilizada. Em nosso mini-curso, utilizaremos o Delphi 7 e o Visual Basic 6 nas implementações.
- Declaração das Funções da BemaSB32.dll em Delphi
function Bematech_FIT_IniciaComunicacao:
integer; stdcall; external "BEMASB32.DLL"
; |
- Declaração das Funções da BemaSB32.dll em Visual Basic
Private
Declare Function Bematech_FIT_IniciaComunicacao
Lib "BemaSB32.dll" () As Integer |
- Iniciando a Comunicação
Agora, vamos implementar em nossa aplicação de exemplo algumas funções para a comunicação com o microterminal FIT Básico.
O primeiro passo é implementarmos a função que irá iniciar a comunicação com o microterminal - a função Bematech_FIT_IniciaComunicação. Esta função inicia os sockets de comunicação da dll, abrindo a porta configurada no arquivo BemaSB32.ini para "conversar" com o microterminal via TCP/IP.
Então, vamos criar um botão no formulário
para implementar esta função, chamando-o
de "Iniciar Comunicação".
Abrindo o botão para codificar, criamos a
variável iRetorno do tipo inteira
para receber o retorno da função,
e a implementamos assim:
- Em Delphi
procedure TForm1.Button1Click(Sender:
TObject); |
- Em VB
Private Sub Command1_Click() |
Após a implementação do código, executamos o formulário e testamos a comunicação. Se tudo estiver correto, podemos observar a mudança de mensagem no display do microterminal, indicando que a comunicação foi estabelecida:
-> |
Conforme o código acima, fizemos um teste na variável iRetorno para verificar se a execução foi bem sucedida, apresentando uma mensagem de erro caso não tenha conseguido iniciar os sockets de comunicação.
- Finalizando a Comunicação
Para finalizar a comunicação (sockets) é preciso usar a função Bematech_FIT_FechaComunicacao. Esta função irá apresentar no display do microterminal a mensagem de "Desconectado", conforme a imagem apresentada acima.
- Em Delphi
procedure TForm1.Button2Click(Sender:
TObject); end; |
- Em VB
Private Sub Command2_Click() |
Neste código vemos que o procedimento é o mesmo que o de inicialização, até mesmo a forma de verificação da variável iRetorno.
- Selecionando o Protocolo de Comunicação
O microterminal FIT Básico permite trabalhar com dois tipos de protocolo: o VT-100 ESC e o VT-100 STX/ETX. Então, vamos implementar a função "Bematech_FIT_SelecionaProtocolo" que seleciona o protocolo para envio dos comandos, mas antes, usaremos no formulário uma regra para que possa ser escolhido qual protocolo se deseja utilizar.
Para isso, inserimos um "GroupBox" e dois "RadioButton", um para cada protocolo (conforme imagem abaixo).
Vamos implementar esta função dentro do botão "Iniciar Comunicação", assim o protocolo já é setado.
- Em Delphi
procedure TForm1.Button1Click(Sender:
TObject); |
- Em VB
Private Sub Command1_Click() |
- Verificando a Versão do Firmware
Para termos a certeza de que tudo está funcionando corretamente, vamos implementar uma função que retorna do microterminal sua versão de software básico (firmware) - a função "Bematech_FIT_VersaoFirmware". Além disso, é necessário usar uma outra função que irá trazer a versão do software básico, então implementamos também a função "Bematech_FIT_LerBuffer".
Antes de implementarmos o código, vamos criar um novo botão chamado "Versão do Firmware", um "TextBox" para receber o número do terminal que iremos trabalhar e um campo "Memo" no caso do Delphi ou "ListBox" no caso do VB, para receber as informações da versão do firmware, conforme imagem:
No botão "Versão do Firmware" implementamos o código:
- Em Delphi
procedure TForm1.Button3Click(Sender:
TObject); |
- Em VB
Private Sub Command3_Click() |
A função "Bematech_FIT_LerBuffer" retorna byte-a-byte os dados. Então, a implementamos dentro de um laço de repetição que é quebrado quando o último byte for "ETX" (3), que corresponde ao final da transmissão. Além disso, usamos um "Sleep" de 100 milisegundos para garantir o tráfego de pacotes na rede, assim evitando a perda dos dados. Este timer pode ser modificado dependendo do fluxo da rede.
- DarumaFramework.SO no LinuxAutomação Comercial
- Palavra de status da impressora na DarumaFrameworkAutomação Comercial
- TEF – Comprovante de Crédito ou DébitoAutomação Comercial
- Comunicar com equipamentos Daruma em linguagens 16bits e DOSAutomação Comercial
- Verificando Redução Z nas Impressoras DarumaAutomação Comercial