Caso não consiga ver as imagens deste e-mail, clique aqui.

Parceiros desenvolvedores, o escovando bits de hoje será sobre o status nas impressoras não fiscais Daruma. Todo mundo já precisou verificar se o papel acabou, se a impressora está online ou então se possui guilhotina, certo?! Pensando nestes parceiros, nós vamos conhecer hoje os mais de 15 status existentes nas não fiscais Daruma.

Nós iremos primeiramente obter o status por comunicação direta, usando os comandos [ENQ] e [GS][ENQ]. Em seguida, iremos aprender a lógica que é usada para a interpretação destes status. Por fim, vamos conhecer a maneira mais simples de se obter o status da DUAL, através da DarumaFramework, onde o status já é interpretado internamente pelo nosso driver.

Vamos começar?!

Obtendo e interpretando o status das não fiscais usando comunicação direta

  • Escovadores de Bits, as não fiscais Daruma possuem dois comandos para se obter status. Obviamente os status retornados são diferentes uns dos outros. Por este motivo, vamos dividir a interpretação em duas partes, sendo:
  • Obtendo Status 1 com o comando [ENQ]
  • Obtendo Status 2 com o comando [GS] [ENQ]
  • Lógica para Interpretação de Status( [ENQ] e [GS][ENQ] )
    Vamos lá!!
  • Obtendo Status 1 com o comando [ENQ]
    • Clique aqui e faça download do TERM2.exe.
    • Extraia o pacote e execute o termV2.exe.
    • O aplicativo será executado, selecione a porta e velocidade que você está usando.
      Veja o exemplo:
    • Agora vamos digitar o comando que será executado, no caso [ENQ].
    • O comando deve ser digitado da seguinte maneira: Alt + 005
    • Após a digitação o comando será executado automaticamente.
      Veja o resultado:
    • O comando foi executado e a resposta foi o “R”.
    • Converta o “R” para decimal e chegue no número “82”.
    • Agora converta o decimal “82” para binário e chegue na sequencia “01010010”.
    • Guarde a sequência binária pois vamos usá-la daqui a pouco.
    • Lembre-se Status 1: 01010010
  • Obtendo Status 2 com o comando [GS] [ENQ]
    • Volte ao Term e pressione o botão “Limpar” para que a tela fique limpa.
      Veja como ficou:
    • Agora vamos digitar o comando que será executado, no caso [GS][ENQ].
    • O comando deve ser digitado da seguinte maneira: Alt + 029 + 005
      Veja como ficou:
    • O comando foi executado e a resposta foi o “149”.
    • A resposta “149” já está em decimal, converta-a para binário e chegue na sequencia “10010101”.
    • Guarde a sequencia binária pois vamos interpretá-la daqui a pouco.
    • Lembre-se Status 2: 10010101
  • Lógica para Interpretação de Status( [ENQ] e [GS][ENQ] )
    • Agora sim vamos usar os Status obtidos.
    • Clique aqui e faça o download do manual de comunicação direta.
    • Se você quiser acompanhar a interpretação pelo manual é uma boa ideia, mas fique tranquilo,
      pois vamos ver um esquema desta interpretação.

Status 1 - Acessem o link abaixo com a sequência completa.

status 1

Status 2 - Acessem o link abaixo com a sequência completa.

status 2
    • Viram só como é simples interpretar o status da impressora não fiscal Daruma via
      comunicação direta?
  • Consultando o Status da DUAL com a DarumaFramework
    • Agora vamos obter o status da DUAL através da DarumaFramework. Neste modo o status já está interpretado, é sem dúvidas a maneira mais simples de se obter o status da impressora. A lógica para interpretação do status que vimos acima já está na DarumaFramework, basta você usar.
    • Clique aqui e faça download do exemplo em Delphi.
    • Extraia o pacote e execute o “DarumaFramework_Delphi.exe”.
    • Clique no botão “Impressoras Dual”.
      Veja o exemplo:
    • Clique no menu “Métodos para Status e Testes” -> “Método rConsultaStatusImpressora_DUAL_DarumaFramework”.
      Veja como ficou:
    • Após clicar no método uma janela será aberta. Insira o parâmetro conforme a tabela a seguir.
    • Exemplo: Quero saber se a DUAL está Online ou Offline, então devo digitar o índice 3.
      Vejam o exemplo:
    • Clique no botão “OK”, uma nova janela será mostrada na tela. Informe se 0 para retornar o status numérico ou 1 para status em texto.
      Veja como ficou:
    • Para executar o método pressione o botão “OK”.
    • Após a execução você receberá um retorno com o status desejado.
      Veja o exemplo:
    • Status Obtido!!!!
    • Viram só como é muito mais simples obter o status através da DarumaFramework? De toda forma, agora nós sabemos como funciona a lógica de interpretação de status para a impressora não fiscal.

Codificando o Status com a DarumaFramework

  • Quer implementar a consulta de status na sua aplicação? Então acompanhe a codificação abaixo:

Delphi

//Declarações

function rConsultaStatusImpressora_DUAL_DarumaFramework(stIndice: String; StTipo: String; StRetorno: String): Integer; StdCall; External 'DarumaFrameWork.dll'

//Chamada de Métodos

iRetorno := rConsultaStatusImpressora_DUAL_DarumaFramework(‘3’, ‘1’, StrRetorno);

C#

//Declarações

[DllImport("DarumaFrameWork.dll")]
public static extern int rConsultaStatusImpressora_DUAL_DarumaFramework(string stIndice, string stTipo, StringBuilder stRetorno);

//Chamada de Métodos

iRetorno = rConsultaStatusImpressora_DUAL_DarumaFramework(“3”, “1”, StrRetorno);

Visual Basic 6

//Declarações

Public Declare Function rConsultaStatusImpressora_DUAL_DarumaFramework Lib "DarumaFrameWork.dll" (ByVal stIndice As String, ByVal stTipo As String, ByVal stRetorno As String) As Integer

//Chamada de Métodos

iRetorno = rConsultaStatusImpressora_DUAL_DarumaFramework(“3”, “1”, StrRetorno)

VB.Net

//Declarações

<DllImport("DarumaFrameWork.dll")> _
Public Shared Function rConsultaStatusImpressora_DUAL_DarumaFramework(ByVal pszIndice As String, ByVal pszTipoRetorno As String, ByVal pszRetornar As StringBuilder) As Integer
End Function

//Chamada de Métodos

iRetorno = rConsultaStatusImpressora_DUAL_DarumaFramework(“3”, “1”, StrRetorno)

Java

//Importações

import br.com.daruma.jna.DUAL;

//Chamada de Métodos

iRetorno = DUAL.rConsultaStatusImpressora(“3”, “1”, StrRetorno);

PHP

//Declarações

function rConsultaStatusImpressora_DUAL_DarumaFramework($indice, $tipo, $retorno){};

//Chamada de Métodos

$iRetorno = rConsultaStatusImpressora_DUAL_DarumaFramework(“3”, “1”, $retorno);

Escovadores de Bits, o que nós queríamos mostrar a vocês era isso. Conseguiram fazer tudo? Aposto que conseguiram!

Assista a nosso vídeo mostrando passo a passo como obter e interpretar o status da impressora DUAL Daruma:

Channel 9

Se tiver alguma dúvida e/ou dificuldade, entre em contato com a nossa equipe de suporte ao desenvolvedor.

E-mails:
daruma.desenvolvedores@daruma.com.br
ddc.suporte@daruma.com.br

suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br
Skypes:
daruma.desenvolvedores
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade
Desenvolvedores Daruma Twitter facebook Linkedln Youtube Google+