1. Objetivo
O objetivo deste documento é apresentar os procedimentos básicos para uso das seguintes impressoras não-fiscais: •
Bematech
à IZ95 : MP–20 TH e MP–2000 TH
MP–20 MI
MP–4000 TH
MP–4200 TH (*)
•
Daruma
à IZ93 : DR 700 H (*)
•
Epson
à IZ92 : TM–H6000 IV (*)
TM–T20 (*)
TM–T88 V (*)
•
Toshiba
à IZ94 : 4610–1NR (*)
(*) Impressoras não-fiscais testadas e homologados com o programa aplicativo fiscal da
Zanthus Zeus – Frente de Loja.
Estas impressoras não-fiscais serão usadas em conjunto com a solução Zanthus Zeus – Frente de Loja de recebimento (executável w_receb.exe, para Windows e lnx_receb, para Linux).
IMPORTANTE: Este documento não descreve os procedimentos para fabricação do ECF virtual.
2. Restrições
O uso destas impressoras e de suas bibliotecas de controle (ou APIs) ou drivers fornecidos pelos fabricantes está restrito aos sistemas operacionais Microsoft Windows XP (32 bits), Microsoft Windows 7 (32 e 64 bits) e Ubuntu Linux 9.04 ou superior.
IMPORTANTE: No Linux, as impressoras não-fiscais da Bematech requerem Ubuntu Linux 12.04 ou superior.
Além destas, existem as restrições relacionadas aos mecanismos (e as respectivas bibliotecas de controle ou APIs) em questão, a saber:
Modelos de impressoras não–fiscais Autenticação Cheque CMC-7 Bematech MP–20 TH MP–20 MI MP–4000 TH MP–4200 TH Daruma DR 700 H Epson TM–H6000 IV • • • TM–T20 TM–T88 V Toshiba 4610–1NR
3. Procedimento para instalar e configurar as impressoras não-fiscais
3.1. Bematech
As impressoras não-fiscais Bematech correspondem, para a solução Zanthus Zeus – Frente de Loja, como a impressora Zanthus IZ95.
As etapas dos procedimentos abaixo deverão ser seguidas na ordem descrita.
Os arquivos, bibliotecas e drivers mencionados aqui poderão ser encontrados no FTP da Zanthus (ftp://ftp.zanthus.com.br/pub/Zeus_Frente_de_Loja/_Complementares/Terceiros/ImpressorasNaoFiscais).
3.1.1. Instalação
3.1.1.1. Bibliotecas de alto-nível da Bematech no Windows
3.1.1.1.1. Bibliotecas de alto-nível da Bematech no Windows – 32 bits
No diretório de sistema do Windows:a-) se Windows 95, 98 ou ME diretório “\Windows\System”;
b-) se Windows 2000, NT ou XP diretório “\WinNT\System32” ou ”\Windows\System32”. Copiar os seguintes arquivos:
• mp2032.dll • SiUSBXp.dll
3.1.1.1.2. Bibliotecas de alto-nível da Bematech no Windows – 64 bits
No diretório de sistema do Windows, diretório “\Windows\SysWOW64”:Copiar os seguintes arquivos: • mp2032.dll
• SiUSBXp.dll
3.1.1.1.3. Instalação da porta USB para comunicação através da biblioteca de
alto–nível para Windows – 32 bits e para Windows – 64 bits
Nos modelos de impressoras não-fiscais Bematech que possuem interface USB para comunicação do aplicativo comercial, a mp2032.dll permite que o aplicativo realize as operações com a impressora não– fiscal (através de suas funções), via USB, sem a necessidade de modificações, totalmente transparente. Basta instalar a porta USB através do driver disponível no pacote da DLL.
• Instalando a porta USB
Ao conectar a impressora não-fiscal na USB, o Windows irá detectá-la automaticamente, porém exibirá na bandeja (relógio) uma mensagem de que houve problemas durante a instalação do hardware, devido a
não existir na base do Windows o driver correspondente, sendo este procedimento absolutamente normal.
Então, é necessário selecionar o driver USB correspondente para a impressora não-fiscal e instalá-lo, seguindo os passos descritos abaixo:
Acesse o "Gerenciador de dispositivos" do Windows:
- Clique com o botão direito do mouse sobre o item "Suporte de impressão USB" que está destacado com um símbolo de exclamação e escolha a opção "Atualizar driver".
- Escolha a opção "Não, não agora" e clique em "Avançar".
- Escolha "Instalar de uma lista ou local específico (avançado)" e clique em "Avançar".
- Escolha a opção "Não pesquisar. Escolherei o driver a ser instalado" e clique em "Avançar".
- Clique em "Com disco" e procure pela pasta onde foi descompactado ou copiado o pacote da DLL contendo os arquivos "LciLR3USB.inf " e "LciLR3USB.cat ". Selecione a patas e clique em "OK".
- Temos o nome do driver a ser instalado. Clique em "Avançar". O driver entra em processo de instalação.
- Ao terminar, basta clicar em "Concluir" para finalizar o processo de instalação.
Será exibida na lista de dispositivos a porta "MP–4200 TH Virtual COM (COMn)", efetivando a instalação. A letra n em COMn, corresponde ao número da porta serial onde o dispositivo foi atachado.
IMPORTANTE: Para ter certeza de que a instalação foi bem sucedida, ao desligar a impressora o
dispositivo "MP–4200 TH Virtual COM (COMn)" irá sumir da lista e ao ligar a impressora ele irá surgir.
3.1.1.2. Bibliotecas de alto-nível da Bematech no Linux – Ubuntu 12.04 (ou
superior)
No diretório de bibliotecas da solução Zanthus Zeus – Frente de Loja, /Zanthus/Zeus/lib, copiar o seguinte arquivo:
• libmp2032.so
3.1.1.2.1. Instalação da porta USB para comunicação através da biblioteca de
alto–nível
• Instalando a porta USB
Ao conectar a impressora não–fiscal na USB, devemos verificar em qual porta está conectado este dispositivo executando o comando “dmesg” e verificando se existem linhas parecidas como abaixo:
usb 2-1.1: new full-speed USB device number 5 using ehci_hcd
cdc_acm 2-1.1:1.0: This device cannot do calls on its own. It is not a modem. cdc_acm 2-1.1:1.0: ttyACM1: USB ACM device
IMPORTANTE: No meu ambiente de testes também tenho conectado um PIN PAD criptografado da
cdc_acm, se os dois dispositivos, quando o sistema operacional entrar no ar, estiverem ligados, fica difícil identificar em qual device (/dev/ttyACMn) o dispositivo foi atachado, por isso, no meu ambiente de testes adotei o seguinte critério:
a-) sistema operacional entra no ar com o PIN PAD Gertec modelo PPC900 LCM12 1 SAM SBLT
USB GR conectado a porta USB, isto faz com que este dispositivo seja atachado no device
“/dev/ttyACM0”;
b-) antes de executarmos a solução Zeus – Frente de Loja PDV, ligamos a impressora não-fiscal
Bematech modelo MP-4200 TH, isto faz com que este dispositivo seja atachado no device
“/dev/ttyACM1”.
Desta forma, explico a informação cdc_acm 2-1.1:1.0: ttyACM1: USB ACM device, extraída do comando dmesg, no meu ambiente.
A API da Bematech não tem suporte para USB, conforme informado no trecho abaixo, destacado do manual de programação:
“Currently the Linux API driver does not fully support USB. Please check out Bematech’s Web site from time to time and watch out Bematech’s Developer Newsletter for a new release supporting USB in the near future.”
Então, para fazermos uso deste dispositivo com interface USB faremos uso da mesma técnica empregada nos conversores ou adaptadores USB/Serial, com base nas informações extraídas do meu ambiente de teste criarei um link simbólico fazendo com que este dispositivo, para o programa aplicativo fiscal, esteja conectado na COM3:
mv /dev/ttyS2 /dev/ttyS102 ln –sf /dev/ttyACM1 /dev/ttyS2
Desta forma, no arquivo ECF9.CFG irei informar que o número da porta serial onde está conectada a impressora não-fiscal é 3 (porta_if=3).
3.1.2. Arquivo de configuração ECF9.CFG
3.1.2.1. Porta de comunicação onde está conectada a impressora não–fiscal
PORTA_IF=n
Número da porta serial onde está conectada a impressora não-fiscal, conforme definido na lista de dispositivo (item 3.1.2). Se omitido assumirá 1 (COM1).
3.1.3. Arquivo de configuração EMUL.INI
3.1.3.1. Gaveta
Apresentam status de gaveta aberta, mesmo quando esta não está conectada à impressora não-fiscal, no arquivo EMUL.INI é possível alterar a lógica do status de Gaveta incluindo o parâmetro abaixo:
FW_INVERTE_GAVETA
Quando nada for definido o status da gaveta será de gaveta aberta, neste caso o parâmetro GAVETA do arquivo (0) de parametrização deverá estar configurado com 1.
O modelo de gaveta para as impressoras não-fiscais Bematech Gaveta Horizontal Padrão com
3.1.3.2. Modelo da impressora não-fiscal Bematech
FW_MODELO_IMPRESSORA=n
Define o modelo da impressora não-fiscal, conforme a tabela abaixo:
0
= MP–20 TH e MP–2000 TH
1
= MP–20 MI
5
= MP–4000 TH
7
= MP–4200 TH
3.1.3.3. Velocidade de comunicação com a impressora não-fiscal
FW_VELOC_SERIAL=n
Define a velocidade de comunicação (115200 – 57600 – 38400 – 19200 – 9600) com a impressora não-fiscal (normalmente não é necessário seu uso). Se omitido assumirá 9600bps (FW_VELOC_SERIAL=9600).
3.2. Daruma
A impressora não–fiscal Daruma modelo DR 700 H corresponde, para a solução Zanthus Zeus – Frente de Loja, com a impressora Zanthus IZ93.
As etapas dos procedimentos abaixo deverão ser seguidas na ordem descrita.
Os arquivos, bibliotecas e drivers mencionados aqui poderão ser encontrados no FTP da Zanthus (ftp://ftp.zanthus.com.br/pub/Zeus_Frente_de_Loja/_Complementares/Terceiros/ImpressorasNaoFiscais). Esta impressora poderá ser usada com portas de comunicação no padrão serial e usb.
Modelo DR700 H: Microsoft Windows
Copiar a DLL DarumaFrameWork no diretório de bibliotecas do PDV (tipicamente:
<u>:\Zanthus\Zeus\dll);
Certifique-se que a DLL ECFRECEB que contempla o modelo IZ93 se encontra na pasta de bibliotecas.
Em um console, na pasta de instalação do PDV, execute o aplicativo PDV: w_receb
O objetivo é permitir que a biblioteca da Daruma encontre a porta de comunicação em que a impressora se encontra conectada. Ao encontrar a impressora, esta emitirá um sinal sonoro (beep). Também será criado, na pasta do PDV, o arquivo DarumaFrameWork.xml na pasta das bibliotecas.
Atenção!
O processo de busca pela porta de comunicação pode levar alguns minutos.
Linux
Copiar a biblioteca libDarumaFramework.so (ou superior) para pasta de bibliotecas do PDV (tipicamente: /Zanthus/Zeus/lib;
Execute o seguinte comando: chmod 755 libDarumaFramework.so
Na pasta de instalação do PDV (tipicamente: /Zanthus/Zeus/pdvJava), crie um link simbólico para a biblioteca da Daruma:
ln -sf /Zanthus/Zeus/lib/libDarumaFramework.so libDarumaFramework.so
Certifique-se que a biblioteca lib3ecfreceb_R93.so.<versão>.rh9 se encontra na pasta de bibliotecas com seu respectivo link simbólico. Lembrando que <versão> corresponde aos números indicadores da versão da biblioteca.
Em um console, na pasta de instalação do PDV, execute o aplicativo PDV: ./lnx_receb
O objetivo é permitir que a biblioteca da Daruma encontre a porta de comunicação em que a impressora se encontra conectada. Ao encontrar a impressora, esta emitirá um sinal sonoro (beep). Também será criado, na pasta do PDV, o arquivo DarumaFrameWork.xml na pasta de instalação do PDV.
O processo de busca pela porta de comunicação pode levar alguns minutos.
Configurações gerais
Após a primeira execução do aplicativo PDV, e a criação do arquivo DarumaFrameWork.xml, há necessidade de se ajustar alguns parâmetros presentes neste arquivo. Ajuste os valores das tags abaixo. Estas tags estão abaixo da tag (ou nó) <DUAL>.
. . . <DUAL> <AguardarProcesso>1</AguardarProcesso> : <CodePageAutomatico>1</CodePageAutomatico> : <EnterFinal>0</EnterFinal> : <LinhasGuilhotina>0</LinhasGuilhotina> : <Termica>1</Termica> <DUAL> . . .
3.3. Epson
As impressoras não-fiscais Epson correspondem, para a solução Zanthus Zeus – Frente de Loja, como a impressora Zanthus IZ92.
As etapas dos procedimentos abaixo deverão ser seguidas na ordem descrita.
Os arquivos, bibliotecas e drivers mencionados aqui poderão ser encontrados no FTP da Zanthus (ftp://ftp.zanthus.com.br/pub/Zeus_Frente_de_Loja/_Complementares/Terceiros/ImpressorasNaoFiscais).
3.3.1. Instalação
3.3.1.1. Biblioteca de alto-nível da Epson no Windows
3.3.1.1.1. Biblioteca de alto-nível da Epson no Windows – 32 bits/ 64 bits
No diretório de bibliotecas da solução Zanthus Zeus – Frente de Loja, C:\Zanthus\Zeus\dll, copiar o seguinte arquivo:
• InterfaceEpsonNF.dll (versão 1.7.0 ou superior)
3.3.1.1.2. Biblioteca de controle da Zanthus no Windows – 32 bits/ 64 bits
No diretório de bibliotecas da solução Zanthus Zeus – Frente de Loja, C:\Zanthus\Zeus\dll, copiar o seguinte arquivo:
• ecfreceb.dll (referente a impressora Zanthus IZ92)
3.3.1.1.3. Instalação da porta USB para comunicação através da biblioteca de
alto-nível para Windows – 32 bits e para Windows – 64 bits
Nos modelos de impressoras não-fiscais Epson que possuem interface USB para comunicação do aplicativo comercial, a InterfaceEpsonNF.dll permite que o aplicativo realize as operações com a impressora não-fiscal (através de suas funções), via USB, sem a necessidade de modificações, totalmente transparente. Basta instalar a porta USB através do driver disponível no pacote da DLL.
• Instalando a porta USB
Ao conectar a impressora não-fiscal na USB, o Windows irá detectá-la automaticamente, é necessário instalar o driver Epson para tratamento das portas USB, este se encontra no pacote TMUS400c.zip.
3.3.1.2. Biblioteca de alto-nível da Epson no Linux
3.3.1.2.1. Biblioteca de alto-nível da Epson no Linux – Ubuntu 9.04 (ou superior)
No diretório de bibliotecas da solução Zanthus Zeus – Frente de Loja, /Zanthus/Zeus/lib, copiar o seguinte arquivo:• libInterfaceEpsonNF.so.1.7.0 (ou versão superior)
3.3.1.2.2. Biblioteca de controle da Zanthus no Linux – Ubuntu 9.04 (ou
superior)
No diretório de bibliotecas da solução Zanthus Zeus – Frente de Loja, /Zanthus/Zeus/lib, copiar o seguinte arquivo:
• lib3ecfreceb_R92.so.X.Y.Z.rh9 (versão 1.12.6 (X.Y.Z) ou superior referente a impressora Zanthus
IZ92)
3.3.2. Arquivo de configuração ECF9.CFG
3.3.2.1. Porta (serial) de comunicação onde está conectada a impressora
não-fiscal
PORTA_IF=n
Número da porta serial onde está conectada a impressora não-fiscal, conforme definido na lista de dispositivo (item 3.3.2). Se omitido assumirá 1 (COM1).
3.3.3. Arquivo de configuração EMUL.INI
3.3.3.1. Conexão USB
Caso a impressora não-fiscal esteja conectada a uma porta serial o parâmetro abaixo deverá estar comentado ou ser removido do arquivo EMUL.INI e deveremos adotar o procedimento descrito no item 3.3.2.1.
Quando a impressora não-fiscal estiver conectada a uma porta USB, no arquivo EMUL.INI devemos incluir o parâmetro abaixo:
FW_ PORTA_COMUNIC=USB
3.3.3.2. Gaveta
Apresentam status de gaveta aberta, mesmo quando esta não está conectada à impressora não–fiscal, no arquivo EMUL.INI é possível alterar a lógica do status de Gaveta incluindo o parâmetro abaixo:
FW_INVERTE_GAVETA
Quando nada for definido o status da gaveta será de gaveta aberta, neste caso o parâmetro GAVETA do arquivo (0) de parametrização deverá estar configurado com 1.
O modelo de gaveta para as impressoras não-fiscais Epson Gaveta Horizontal Padrão com código
Zanthus: 0037 0000 0029-4.
FW_VELOC_SERIAL=n
Define a velocidade de comunicação (115200 – 57600 – 38400 – 19200 – 9600) com a impressora não-fiscal (normalmente não é necessário seu uso). Se omitido assumirá 9600bps (FW_VELOC_SERIAL=9600).
3.3.4. Arquivo de configurações da API Epson (InterfaceEpsonNF) –
InterfaceEpsonNF.xml
Nos modelos de impressoras não-fiscais que tenham suporte a impressão da folha de cheque, leitura do código CMC-7 e autenticação é necessário a existência ou a presença do arquivo de configuração da biblioteca, InterfaceEpsonNF.xml, na pasta onde o programa aplicativo fiscal está sendo executado, com, no mínimo, o conteúdo abaixo:.
<EPSON> <NAO_FISCAL> <CHEQUES> <TIMEOUT>25</TIMEOUT> <MOEDA> <SINGULAR>REAL</SINGULAR> <PLURAL>REAIS</PLURAL> <CENTAVOS>S</CENTAVOS> </MOEDA> <CHEQUE> <CODIGO>1</CODIGO> <DESCRICAO>BANCO DO BRASIL</DESCRICAO> <VALOR> <HORIZONTAL>55</HORIZONTAL> <VERTICAL>65</VERTICAL> </VALOR> <EXTENSO> <HORIZONTAL>145</HORIZONTAL> <VERTICAL>60</VERTICAL> </EXTENSO> <PARA> <HORIZONTAL>165</HORIZONTAL> <VERTICAL>50</VERTICAL> </PARA> <CIDADE> <HORIZONTAL>95</HORIZONTAL> <VERTICAL>43</VERTICAL> </CIDADE> <DIA> <HORIZONTAL>60</HORIZONTAL> <VERTICAL>43</VERTICAL> </DIA> <MES> <HORIZONTAL>49</HORIZONTAL> <VERTICAL>43</VERTICAL> </MES> <ANO> <HORIZONTAL>19</HORIZONTAL> <VERTICAL>43</VERTICAL> </ANO>
<ADICIONAL> <HORIZONTAL>160</HORIZONTAL> <VERTICAL>10</VERTICAL> </ADICIONAL> </CHEQUE> </CHEQUES> <MICR> <TIMEOUT>25</TIMEOUT> <TIPO>0</TIPO> </MICR> </NAO_FISCAL> </EPSON>
IMPORTANTE: O documento a ser autenticado (impressão avulsa) tem que ter tamanho igual ou
superior a 154mm, caso contrário este documento terá que ser passado novamente para que a impressora não-fiscal saia do estado de SLIP.
3.4. Toshiba
A impressora não–fiscal Toshiba modelo 4610–1NR corresponde, para a solução Zanthus Zeus – Frente de Loja, com a impressora Zanthus IZ94.
As etapas dos procedimentos abaixo deverão ser seguidas na ordem descrita.
Os arquivos, bibliotecas e drivers mencionados aqui poderão ser encontrados no FTP da Zanthus (ftp://ftp.zanthus.com.br/pub/Zeus_Frente_de_Loja/_Complementares/Terceiros/ImpressorasNaoFiscais). Atenção!
Atualmente ainda não é possível fazer uso da biblioteca de comunicação, fornecida pela Toshiba, no sistema operacional Windows.
Modelo 4610-1NR: Linux
Copiar a biblioteca libtgcssuremark.so.1.2.1.0 (ou superior) para pasta de bibliotecas do PDV (tipicamente: /Zanthus/Zeus/lib;
Execute o seguinte comando:
chmod 755 libtgcssuremark.so.1.2.1.0
Na pasta de instalação do PDV (tipicamente: /Zanthus/Zeus/lib), crie um link simbólico para a biblioteca da Toshiba:
ln -sf /Zanthus/Zeus/lib/libtgcssuremark.so.1.2.1.0 libtgcssuremark.so
Certifique-se que a biblioteca lib3ecfreceb_R94.so.<versão>.rh9 se encontra na pasta de bibliotecas com seu respectivo link simbólico. Lembrando que <versão> corresponde aos números indicadores da versão da biblioteca.
Configurações gerais
A biblioteca da Toshiba possui um arquivo de configuração denominado TGCSSureMarkConf.ini, este arquivo deve estar presente na pasta de instalação do PDV. Este possui as seguintes linhas :
numeroGaveta=0 tempoAtivacaoGaveta=0 tempoDesativacaoGaveta=200 tempoEsperaInsercaoDocumento=17 tempoEsperaRetiradaDocumento=17 tamanhoArquivoLog=5000000 nivelLog=1 portaSerial=/dev/ttyS0 velocidadeSerial=115200
Observe as linhas em que os parâmetros portaSerial e velocidadeserial estão presentes, e faça as alterações necessárias nestes, ou seja, adequando a porta e a velocidade respectivamente.
Para observar a velocidade de comunicação serial configurada na impressora basta ligá-la com o botão de avanço de papel pressionado. Um pequeno relatório será emitido com as informações de velocidade e protocolo configurados.
Para alterar os parâmetros configurados, siga as instruções presentes no relatório mencionado no item anterior.
Atenção!
A velocidade configurada na impressora deverá ser a mesma presente na linha velocidadeSerial presente no arquivo TGCSSureMarkConf.ini.
O protocolo de comunicação a ser adotado deve ser o DTR/DSR. O modo de emulação de comandos EPSON Não deve estar ativo.
3.4.1. Arquivo de configuração EMUL.INI
3.4.1.1. Gaveta
Apresentam status de gaveta aberta, mesmo quando esta não está conectada à impressora não–fiscal, no arquivo EMUL.INI é possível alterar a lógica do status de Gaveta incluindo o parâmetro abaixo:
FW_INVERTE_GAVETA
Quando nada for definido o status da gaveta será de gaveta aberta, neste caso o parâmetro GAVETA do arquivo (0) de parametrização deverá estar configurado com 1.
O modelo de gaveta para as impressoras não–fiscais Toshiba Gaveta Horizontal Padrão com código