Ir para conteúdo
  • Cadastre-se

dev botao

ACBrECF com suporte a portas USB


  • Este tópico foi criado há 3599 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Fundadores

Após ser muito questionado sobre o suporte a portas USB no ACBrECF, decidi fazer um esforço para criar uma maneira de tornar isso possível.

Recentemente enviei para o SVN as seguintes modificações:

[+] Adicionado suporte a Comunicação pela DLL do Fabricante. Isso permitirá ao

ACBr usar o acesso nativo a USB disponibilizado pelo Fabricante. (por: DSA)

- A DLL do fabricante precisa estar corretamente instalada e configurada

- O usuário pode informar para ACBrECF.Porta, valores como: "USB" ou

"DLL.COM1", feito isso o ACBrECF usará a DLL do Fabricante para se

comunicar com o ECF

- Para que seja possível a implementação dessa funcionalidade a DLL do

Fabricante deve disponibilizar método na DLL que permita transmitir um

pacote de dados já montado, e responder usando a sintaxe do protocolo.

Exemplo:

DWORD ECF_Serial_Enviar_Dados( LPSTR Comando, WORD TimeOut, LPSTR Retorno)

-- ACBrECFEpson --

[+] Adicionado suporte a Comunicação pela DLL do Fabricante, permitindo o uso de

portas USB, e um considerável aumento da velocidade. (por: DSA)

Ou seja, isso faz com que o ACBrECF não utilize a classe Synapse para ter acesso direto a porta serial, mas que utilize um método (simples) da DLL do Fabricante para efetuar o envio / recebimento de dados ao ECF.

A principal vantagem dessa abordagem, é conseguir suporte nativo a porta USB, provido pela DLL do Fabricante, o que pode ocasionar em um significativo aumento de velocidade em alguns casos.

Atualmente o ACBrECF já tem uma certa dependência das DLLs dos fabricantes para a geração dos arquivos do PAF-ECF ou Ato Cotepe 17/04.. ou seja, o ACBrECF já possui código para carregar a DLL dinamicamente, e abrir e fechar a porta Serial (ou USB)... O que foi modificado nos fontes, é que caso o fabricante possua um método simples para Envio / Recebimento de pacotes de baixo nível, podemos deixar a comunicação do ECF a cargo da DLL,

Atualmente apenas a classe da Epson foi modificada para permitir essa nova funcionalidade... Para que possamos ajustar as classes dos demais fabricantes, precisamos saber se os mesmos disponibilizam uma função parecida com o método usado pelo próprio ACBr:

Function EnviaComando( cmd : AnsiString; lTimeOut : Integer): AnsiString; ( o retorno é a resposta do ECF no protocolo do mesmo )

O ACBrECF SEMPRE fará carga dinâmica da DLL não causando dependência estática à mesma no aplicativo

Uma sugestão para o método da DLL do fabricante seria:

DWORD ECF_Serial_Enviar_Dados( LPSTR Comando, WORD TimeOut, LPSTR Retorno)

O próprio ACBr já é capaz de montar um pacote com toda a especificação do protocolo, apenas precisamos de um método que permita o envio/recebimento de dados...

Outros métodos semelhantes também podem ser utilizados/adaptados, como por exemplo, enviar o Comando do ECF e Parâmetros separados por Pipe "|", etc...

Agradeço a todos que puderem ajudar nessa empreitada... Por favor indiquem esse próprio post ao corpo técnico dos Fabricantes, assim podemos debater um modo de como implementar essa nova funcionalidade em todas as classes MFD

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros

Muito bom Daniel... Parabéns mais uma vez !

Os equipamentos Usb estão em alta e ta ficando cada vez mais dificil uma porta serial ou mesmo um slot pra uma expansão.

Já consigo ativar uma Epson Usb testar pelo EcfTeste ? Terá alguma mudança na sintaxe dos comandos ja existentes ?

Att,

Sérgio

Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Sim, o código da Epson já está funcional...

- Copie as DLLs da Epson na mesma pasta do ECFTeste.

- Configure a porta como: "USB" (sem as aspas)

- Clique em Ativar ;)

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Sim, o código da Epson já está funcional...

- Copie as DLLs da Epson na mesma pasta do ECFTeste.

- Configure a porta como: "USB" (sem as aspas)

- Clique em Ativar ;)

Olá Daniel, esta melhoria esta disponível apenas para o ECF da EPSON ? Pois ainda não consegui resolver o problema emulando USB x Serial com o ACBr.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

sim... a implementação deverá ser feita em cada classe.. e depende da DLL do fabricante ter um método compatível conforme descrito no primeiro tópico...

Qual a marca de ECF que você precisa suporte a USB ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Ola Daniel, se vc precisar possuo uma ECF Epson na minha empresa, posso fazer a bateria de testes que vc precisar.....

Anderson Rogerio Bejatto

Bacharel em Sistemas de Informação, Londrina - Paraná, www.saac.com.br

Colaborador e Assinante ACBrPro do Projeto ACBr - Automação Comercial Brasil

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Oi Anderson,

Obrigado... a Epson gentilmente me cedeu uma TM81F-III para testes... eles também testaram o ECFTestes com o suporte a porta USB e gostaram muito do resultado...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Vilmardiogo,

Você poderia entrar em contato com o suporte da Bematech e passar a indicação desse post ?

Link: viewtopic.php?f=10&t=5713

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Encaminhei emails para a Daruma e para a Sweda pedindo que observassem o post também.

Vamos aguardar o retorno dos mesmos.

Att.

Resposta da Daruma

"Claro! Falamos com o Regys estes dias atrás e vamos fazer esta implemtacao na dll sim. So estamos com um LOG de atividades um pouco grande mas esta aqui em nossa lista de Atividades

Claudenir C. Andrade| Gerente Integração e Desenvolvimento, P&D - Daruma Developers Community | MVP Microsoft

Skype: claudenir_andrade | Tels: +55 12 3949 6033 Cel.: +55 11 8137 0262"

\o/

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Link para o comentário
Compartilhar em outros sites

  • Consultores

\o/

\o/

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Eu conversei com o Claudenir diretamente e ele se dispôs a ajudar no que for preciso implementando na DLL, inclusive enviei a ele um modelo padrão de chamada para eles seguirem, na correria do dia-a-dia acabei esquecendo de postar aqui no tópico.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Olá parceiros,

Vejam um comunicado feito pelo Claudenir - Gerente de Integração e Desenvolvimento Daruma sobre a comunicação USB no AcBR.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Prezados parceiros e Escovadores de Bits!

Minha mensagem tem por objetivo esclarecer o uso da porta USB na Impressora Daruma com ACBR. Juntamente com os gestores do ACBR fomos o primeiro fabricante a abraçar a causa e conjuntamente a Daruma passou a ser a melhor impressora para rodar no ACBR, Veja o anuncio: http://www.daruma.com.br/ddcmkt/ddcmkt_007_11.html

Antes disso vamos pontuar:

Quando falamos de Impressora Urmet Daruma na USB estamos falando de:

Toda a Linha FS700 (L, M, H).

Toda Linha MACH (MACH1 e MACH2) aquela que tem o modo pré-venda, implementado. 

Quando falamos de Conexão USB nas Impressoras Fiscais, estamos falando de:

Porta de Conexão USB no computador + Cabo USB + Porta USB na Impressora Fiscal, Ou seja Pluga-se um Cabo USB na porta USB da Impressora Fiscal e a outra ponta na porta USB do computador

Porem para usar o ACBR atual em nossa Linha FS700 e Linha MACH, Na USB, não necessita alterar nada no ACBR atual tampouco função nova. Mesmo assim estamos implementando a função que combinamos com os gestores do ACBR, sem problemas, nosso objetivo é apoiar sempre a comunidade.

Porem porque não necessita alterar nada no ACBR para trabalhar com a Impressora Daruma, na USB, porque?

Porque nossa USB é convertida, ou seja, para o WINDOWS irá entregar sempre pra você uma COM1, COM2 ou COM8.

Desta forma nada necessita ser alterado no ACBR, já que o mesmo está preparado hoje para escrever nativamente na SERIAL. Basta instalar os drivers de conversão e boa!

Neste canal de vídeos você poderá encontrar os vídeos de como fazer isso http://www.youtube.com/darumadeveloper no Link “Impressoras Fiscais” no Sub-Item “STK” você acha manuais estilo “Hands-On” ou “Faça você mesmo” de como instalar estes drivers, é super fácil!

Porem perde velocidade? Já que é uma USB Convertida? Negativo! Motivo? Note que este driver que você instala não é um driver genérico de conversão...é um driver retrabalhado para trafegar dados em velocidades superiores a Serial normal, tanto que é impossível trabalhar com a USB (Convertida) em nossa impressora a 9600, 38400, é sempre a 115.200. Resultado? Um Cupom Fiscal com 10 Itens, pegando retorno em apenas 3 segundos!

Duvidas sobre isso, por favor não deixem de consultar nossos especialista aqui em nossa integração com desenvolvedor. 0800 770 332 0. :)

Forte Abraço a todos!

Claudenir C. Andrade| Gerente Integração e Desenvolvimento, P&D - Daruma Developers Community | MVP Microsoft

Urmet Daruma - Av. Shishima Hifumi, 2911 Pq. Tecnológico (Sala 406) - São José dos Campos - SP - 12244-000

Skype: claudenir_andrade | Tels: +55 12 3949 6033 Cel.: +55 11 8137 0262

Site: http://www.desenvolvedoresdaruma.com.br |Siga a Daruma no Twitter: http://www.twitter.com/darumadeveloper

Moderação EMBarbosa: Consertei os links.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Daruma Developer,

Muito obrigado pela resposta do mestre Claudenir...

A modificação que estamos propondo no ACBr também seria útil caso o usuário deseje deixar a comunicação da Serial a cargo da DLL... ele poderia por exemplo informar como porta para o ACBrECF... ACBrECF.Porta := 'DLL.COM1' ;

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não apenas para Impressoras Fiscais...

Para Impressoras comuns tente essa dica:

viewtopic.php?f=10&t=4588&hilit=argox+usb

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Fundadores

Leia todo post e você verá "como anda a situação"

O ACBrMonitor Já suporta essa modificação, basta recompila-lo

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3599 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.