HIscada Pro acessando impressoras térmicas (Zebra ou outras utilizando protocolo ZPL)

Introdução

Este guia tem por objetivo descrever os procedimentos necessários para integrar o HIscada Pro com Impressoras que utilizem o protocolo ZPL para impressão. Nesta página, é disponibilizado um projeto de exemplo do HIscada Pro demonstrando como efetuar a impressão utilizando o Protocolo ZPL em uma impressora térmica da marca ZEBRA.

Montagem do Ambiente

Para executar este exemplo é necessário:

  • Ter instalado/instalar a versão 1.3.16 ou superior do HIscada Pro. O pacote HIscada Pro, bem como a sua documentação podem ser obtidos gratuitamente em sua página HIscada Pro.

  • Instalação do drive da impressora a ser utilizada para impressão:

    • Instale o ZebraDesigner2 disponivél para download aqui

    • Após a instalação abra o Software ZebraDesigner para instalar o driver da impressora

      ../_images/Zebra001.png

      Pressione o botão Add Printer

      ../_images/Zebra002.png

      Pressione em Install Printer

      ../_images/Zebra003.png

      Selecione a impressora que será usada no caso do teste ZT230-200DPI, sempre driver com ZPL

      ../_images/Zebra004.png

      Selecione a Porta serial na qual a impressora esta instalada

    • Instale o ZebraDownloader

Montagem do cabo de comunicação

Para montar o cabo de comunicação entre a impressora zebra e o PC utilize a instrução de montagem de cabo abaixo:

../_images/Exemplo_IMPZEBRA_06.jpg

Pinagem para montagem do cabo de comunicação

Instalação do projeto de exemplo do HIscada Pro

Para instalar o exemplo deste guia no HIscada Pro, siga os seguintes passos:

  • Baixe o projeto de exemplo do HIscada Pro clicando aqui

  • Abra a IDE do HIscada Pro e acesse o menu Arquivo->Importa Projeto… e selecione o arquivo ImpressoraZebra.H7G na pasta onde o projeto foi baixado.

    ../_images/Exemplo_IMPZEBRA_01.jpg

    Importa Projeto do HIscada Pro

Descrição sobre o exemplo

Neste projeto de exemplo do HIscada Pro, foi criado uma tela com a imagem da etiqueta padrão Dados que serão impressos na etiqueta e o script com a montagem da etiqueta e o envio para a impressora.

../_images/Exemplo_IMPZEBRA_03.jpg

Exemplo de tela com objetos para impressão da etiqueta

Exemplo de Script da impressão de etiqueta:

--[[- - - - - - - - - - - - - - - - - - - - - - - - - -

        Ambiente: HIscada_Pro
         Projeto: ImpressoraZebra
         Empresa: HI Tecnologia
          Versão: 1.0.00
 Responsável: HI Tecnologia
                Data: 10/07/2014

 \b Descrição:  \brief
   ... função do script
   Gera arquivo .prn utilizando a linguagem de impressora térmica ZPL e envio
   para impressora configurada a porta serial COM1

- - - - - - - - - - - - - - - - - - - - - - - - - - - -]]

local barcode = Tags.Get("Viewers.Tags.Local.ViewerTagGroup_Etiqueta.ViewerTag_barcode")
local texto = Tags.Get("Viewers.Tags.Local.ViewerTagGroup_Etiqueta.ViewerTag_Descricao")
local titulo = Tags.Get("Viewers.Tags.Local.ViewerTagGroup_Etiqueta.ViewerTag_Titulo")
local com = Tags.Get("Viewers.Tags.Local.ViewerTagGroup_Etiqueta.ViewerTag_com")

if com.Value then
  local  flag_selected, dir_path = DirDialog("Selecione diretório de para gravação do arquivo de impressão", "")

  -- Apaga arquivo existente
  os.remove(dir_path.."\\teste.prn")

  -- Criar/Abre arquivo em modo Append
  file = io.open(dir_path.."\\teste.prn", "a")

  -- seta o arquivo  teste.prn como default de saida
  io.output(file)

  -- escreve no arquivo conteúdo da etiqueta para ser enviado a impressora
  io.write("^XA~TA000~JSN^LT0^MNW^MTD^PON^PMN^LH0,0^JMA^PR4,4~SD15^JUS^LRN^CI0^XZ^XA^MMT^PW480^LL0240^LS0")
  io.write("^FT20,40^A0N,28,28^FH\\^FD" .. titulo.Value .. "^FS")
  io.write("^FT20,90^A0N,28,28^FH\\^FD" .. texto.Value .. "^FS")
  io.write("^BY2,3,52^FT38,202^BCN,,Y,N")
  io.write("^FD>:".. barcode.Value .. "^FS")
  io.write("^FO6,123^GB467,0,8^FS")
  io.write("^PQ1,0,1,Y^XZ")

  -- Fecha o arquivo
  io.close(file)

  -- Envia o arquivo gerado para a impressora configurada na COM1
  os.execute('type '..dir_path..'\\teste.prn > COM'.. com.Value)
else
  MessageBox("OC1:Selecione a porta da impressora")
end

Para executar e utilizar o exemplo deste guia, siga os seguintes passos:

  • Com o projeto aberto na IDE do HIscada Pro clique no botão Ativa aplicação “Kernel e Viewer” em modo de depuração

../_images/Exemplo_IMPZEBRA_04.jpg

Fig. Executando a aplicação do HIscada Pro

  • Assim a aplicação estará em execução conforme a figura abaixo:

../_images/Exemplo_IMPZEBRA_02.jpg

Fig. Projeto em execução

  • Ao Pressionar o botão IMPRIMIR será impresso a etiqueta na impressora.

../_images/Exemplo_IMPZEBRA_05.jpg

Imagem da etiqueta Impressa