Bematech Software Partners

 
  • mai 14 2009

    Edição 33 – Conhecendo a BemaSB32.dll

    Caro Parceiro,

    Agora, vamos conhecer a interface que iremos utilizar na comunicação do microterminal FIT Básico Bematech em nosso aplicativo. Ao longo desta edição de nosso Flash-Tip, iremos entender a dll BemaSB32, sua configuração e suas principais funções.

    Antes de qualquer implementação, é importante sabermos o que é a BemaSB32.dll, principalmente para quem ainda esta iniciando no desenvolvimento de microterminais para Automação Comercial.

    A BemaSB32 é uma dll de alto-nível que foi desenvolvida para facilitar e dar rapidez na implementação e na comunicação com o microterminal FIT Básico Bematech.

    As funções que estão na dll são para o controle do microterminal, permitindo trabalhar com mensagens em seu display, receber informações do teclado e periféricos que estejam conectados nas portas seriais dele.

    Configurando a BemaSB32.dll

    A BemaSB32.dll possui um arquivo de configuração chamado BemaSB32.ini, onde nos dá algumas opções de configuração:

    Seção
    Chave
    Significado
    [FIT] Protocolo= Esta chave possui o valor 0 (zero) como default. Nela podemos configurar o protocolo no qual a BemaSB32.dll irá enviar os comandos ao microterminal. O valor 0 é para deixar o protocolo em VT100-STX/ETX e o valor 1 para o protocolo em VT100-ESC.
    [Terminais] Porta= Estabelece a porta para a conexão dos microterminais. O número da porta deverá ser o mesmo que colocamos na configuração de hardware do FIT Básico.
    (n=) “n” é um número de identificação do microterminal. Essa identificação será usada por algumas funções da dll durante a comunicação. O número da identificação pode variar de 0 a 128. Esta identificação deverá ser seguida do endereço IP do microterminal.

    Importante: A BemaSB32.dll somente está disponível para o microterminal FIT Basico em modo “Client”, conforme as configurações apresentadas no Flash-tip anterior. Ela deverá ficar na pasta do aplicativo, juntamente com seu arquivo de configuração BemaSB32.ini.

    Exemplo de conteúdo do arquivo BemaSB32.ini:

    [FIT]
    Protocolo=0

    [Terminais]
    Porta=9100
    0=10.10.101.116
    1=10.10.101.120
    2=10.10.101.121

    Funções da BemaSB32.dll

    A dll possui funções para o controle do microterminal FIT Básico. Estas funções nos dá a possibilidade de controlar todo o hardware, como enviar mensagens ao display, alem das informações capturas do teclado e dos equipamentos conectados em suas portas seriais.

    Vamos conhecê-las:

    Função Significado
    Bematech_FIT_IniciaComunicacao Com esta função iremos iniciar os sockets de comunicação para envio e recebimento de informações entre o microterminal e nosso aplicativo.

    Protótipo:
    int Bematech_FIT_IniciaComunicacao ( void )

    Parâmetros:
    Nenhum

    Valores de retorno:
    1: OK

    Observação: Esta função obtém a identificação dos microterminais através do arquivo BemaSB32.ini.

    Bematech_FIT_FechaComunicacao Esta função encerra os sockets de comunicação entre o microterminal e nosso aplicativo.

    Protótipo:
    int Bematech_FIT_FechaComunicacao ( void )

    Parâmetros:
    Nenhum

    Valores de retorno:
    1: OK.
    0: Erro.

    Bematech_FIT_SelecionaProtocolo Seleciona o protocolo de comunicação que deseja usar.

    Protótipo:
    int Bematech_FIT_SelecionaProtocolo ( int iProtocolo )

    Parâmetros:
    0 para VT100-STX/ETX ou 1 para VT100-ESC.

    Valores de retorno: 
     1: OK.
    -2: Parâmetro inválido.

    Observação: O protocolo deve ser idêntico ao configurado nos micro-terminais.

    Bematech_FIT_LimpaDisplay Esta função é para limpar o display do microterminal e posicionar o cursor na primeira linha e primeira coluna.

    Protótipo:
    int Bematech_FIT_LimpaDisplay ( char cTerminal )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.

    Valores de retorno:
    1: OK.

    Bematech_FIT_EscreveDisplay Escreve a mensagem no display do microterminal.

    Protótipo:
    int Bematech_FIT_EscreveDisplay ( char cTerminal, char *cMensagem )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.
    char*: Mensagem a ser escrita no display.

    Valores de retorno:
    1: OK.

    Bematech_FIT_PosicionaCursor Posiciona o cursor no display na linha e coluna informadas. O texto do display não será apagado durante o posicionamento.

    Protótipo:
    int Bematech_FIT_PosicionaCursor ( char cTerminal, char cLinha, char cColuna )

    Parâmetros:
    char: Identificação do micro-terminal que deseja enviar o comando.
    char: Linha.
    char: Coluna.

    Valores de retorno:
    1: OK.

    Bematech_FIT_LerBuffer Recebe um byte enviado pelo microterminal, podendo este byte ser das portas seriais, comandos executados que retornam dados ou uma tecla pressionada (incluindo teclas de funções).

    Protótipo:
    int Bematech_FIT_LerBuffer ( char cTerminal )

    Parâmetros:
    char: Identificação do microterminal ao que deseja executar a função.

    Valores de retorno:
    0: Caso não haja nenhum dado a recebido.
    byte: Caso tenha recebido algum byte do microterminal.

    Bematech_FIT_EnviaSerial Envia byte para as portas seriais do microterminal.

    Protótipo:
    int Bematech_FIT_EnviaSerial ( char cTerminal, char cDados, char cSerial )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.
    char: Byte a ser enviado.
    char: Seleção da porta serial “S” ou “R”.

    Valores de retorno:
    0: Erro.
    1: OK.

    Bematech_FIT_ApagaLinha Apaga texto do display a partir da posição atual do cursor até o final da linha.

    Protótipo:
    int Bematech_FIT_ApagaLinha ( char cTerminal )

    Parâmetros: char: Identificação do microterminal que deseja executar a função.

    Valores de retorno:
    1: OK.

    Observação: Esta função será executada somente se o protocolo for VT100-ESC.

    Bematech_FIT_DeslocaCursorCima Desloca cursor da linha onde se encontra para cima e na mesma coluna. O texto do display não será apagado durante o deslocamento.

    Protótipo:
    int Bematech_FIT_DeslocaCursorCima ( char cTerminal )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.

    Valores de retorno:
    1: OK.

    Observação: Esta função será executada somente se o protocolo for VT100-ESC.

    Bematech_FIT_DeslocaCursorDireita Desloca o cursor para próxima coluna à direita de onde se encontra.

    Protótipo:
    int Bematech_FIT_DeslocaCursorDireita ( char cTerminal )

    Parâmetros:

    char: Identificação do microterminal que deseja executar a função.

    Valores de retorno:
    1: OK.

    Observação: Esta função será executada somente se o protocolo for VT100-ESC.

    Bematech_FIT_VersaoFirmware Solicita ao microterminal que envie a sua versão de firmware.

    Protótipo:
    int Bematech_FIT_VersaoFirmware ( char cTerminal )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.

    Valores de retorno:
    1: OK.

    Observação: O recebimento da informação será feita pela função Bematech_FIT_LerBuffer, que irá retornar byte a byte no formato
    “<STX> + <dados> + <ETX>”.

    Bematech_FIT_ComandoGenerico Envia um comando genérico para o display do micro-terminal.

    Protótipo:
    int Bematech_FIT_ComandoGenerico ( char cTerminal, char cComando )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.
    char, onde:

    00: Limpa display.
    06: Desliga display sem apagar o conteúdo.
    07: Liga display sem apagar o conteúdo.
    16: Cursor volta uma posição sem apagar.
    20: Cursor avança uma posição sem apagar.
    12: Apaga cursor.
    14: Cursor Normal.
    15: Cursor Piscante.

    Valores de retorno:
    1: OK.

    Observação: Esta função será executada somente se o protocolo for VT100-STX-ETX

    Bematech_FIT_LeituraCodigoBarras Solicita ao microterminal que envie o código de barras lido no módulo
    LCB + CMC7.

    Protótipo:
    int Bematech_FIT_LeituraCodigoBarras ( char cTerminal )

    Parâmetros:
    char: Identificação do microterminal que deseja executar a função.

    Valores de retorno:
    1: OK.

    Bematech_FIT_EnviaComando Envia comando ao microterminal.

    Protótipo:
    int Bematech_FIT_EnviaComando ( char cComando )

    Parâmetros:
    char*: O comando possui a seguinte estrutura.
    OxFEnnxzzz

    Onde:

    OxFE – é um dado fixo.

    nn – é a identificação do microterminal.
    X – é o comando a ser executado no micro-terminal.

    zzz – são os parâmetros caso existam.

    1- Posicionameto do cursor.

    0xFEnnClcc

    Onde:

    OxFE – é um dado fixo.

    nn – é a identificação do microterminal.

    C – é o comando de posicionamento do cursor.

    l – é a linha para posicionamento (1 byte) entre 0 e 3.

    cc – é a coluna para posicionamento entre 00 e 19.

    Retorno:

    1: OK.

    2- Leitura do buffer.

    0xFEnnK

    Onde:

    OxFE – é um dado fixo.

    Nn – é a identificação do microterminal.

    K – é o comando de leitura do buffer.

    Retorno:

    0×00: caso não haja caracteres no buffer.

    Dados: qualquer outro valor representam dados enviados pelo micro-terminal.

    1: OK.

    3- Escreve byte no display.

    0xFEnnDb

    Onde:

    OxFE – é um dado fixo.

    nn – é a identificação do microterminal.

    D – é o comando de escrita no buffer.

    b – é o byte a ser enviado para o display.

    Retorno:

    1: OK.

    4- Limpa display.

    0xFEnnL

    Onde:

    OxFE – é um dado fixo.

    nn – é a identificação do microterminal.

    L – é o comando de limpeza do display.

    Retorno:

    1: OK.

    5- Envia byte Serial identificada como “S”.

    0xFEnnSb

    Onde:

    OxFE – é um dado fixo.

    nn – é a identificação do microterminal.

    S – é o comando a ser enviado para a serial “S”.

    b – é o byte a ser enviado para a serial “S”.

    Retorno:

    Para protocolo VT100-ESC: sempre 1.

    Para protocolo VT100-STX/ETX: 1 sucesso no envio ou 0 erro.

    6- Envia byte Serial identificada como “R”.

    0xFEnnRb

    Onde:

    OxFE – é um dado fixo.

    nn – é a identificação do microterminal.

    S – é o comando a ser enviado para a serial “R”.

    b – é o byte a ser enviado para a serial “R”.

    Retorno:

    Para protocolo VT100-ESC: sempre 1.

    Para protocolo VT100-STX/ETX: 1 sucesso no envio ou 0 erro.

    Próxima edição:

    Vamos iniciar o desenvolvimento com a BemaSB32.dll. Veremos como é feita a declaração das funções, a configuração e instalação da dll, além de começarmos a utilizar as funções iniciais de comunicação com o FIT Básico Bematech.

    Não perca!

    Até lá e boas implementações!

     

Nenhum Comentário

Deixe um comentário