DARUMA DR700L COMUNICA?ÃO DIRETA
Saudações.
Comprei recentemente uma impressora Daruma Dr700L, tentei adaptar ao meu sistema usando a DLL DarumaFrameWork.dll, mas tive muitos problemas com versões de OS 32 bits, tentei contato com suporte Daruma, mas sem retorno, ai parti para comunicação direta utilizando o exemplo abaixo do próprio site da Daruma.
http://bit.ly/16njSD5
Então tentei converter o código para VB.Net usando o VS2010, mas usando o exemplo a impressora funciona certinho, mas no meu código convertido não consigo enviar os comandos de negrito, italico, tipo de letra etc...
Acredito que seja algo com o Encoding, mas eu já troquei os encodings tentei converter em bytes, e nada funciona ela imprime o texto e não lê os comandos.
Deve ser algo simples, mas estou apanhando.
Obrigado a todos.
Comprei recentemente uma impressora Daruma Dr700L, tentei adaptar ao meu sistema usando a DLL DarumaFrameWork.dll, mas tive muitos problemas com versões de OS 32 bits, tentei contato com suporte Daruma, mas sem retorno, ai parti para comunicação direta utilizando o exemplo abaixo do próprio site da Daruma.
http://bit.ly/16njSD5
Então tentei converter o código para VB.Net usando o VS2010, mas usando o exemplo a impressora funciona certinho, mas no meu código convertido não consigo enviar os comandos de negrito, italico, tipo de letra etc...
Acredito que seja algo com o Encoding, mas eu já troquei os encodings tentei converter em bytes, e nada funciona ela imprime o texto e não lê os comandos.
Deve ser algo simples, mas estou apanhando.
Obrigado a todos.
Estou usando esse código para abrir a porta
Public Function AbrePorta(ByVal strPorta As String, ByVal intVelPorta As Int32) As Boolean
Dim sPorta As String = strPorta
Dim intVelocidade As Int32 = intVelPorta
Try
[ô]Configurando dados da porta
Porta.PortName = sPorta
Porta.BaudRate = intVelocidade
Porta.Parity = Parity.None
Porta.DataBits = 8
Porta.StopBits = StopBits.One
[ô]Determinando um tempo de Timeout tanto para escrita quanto para lei tura em milisegundo.
Porta.WriteTimeout = 1000
Porta.ReadTimeout = 1000
Porta.Encoding = Encoding.Default
Porta.Handshake = Handshake.None
Porta.Open()
Return True
Catch ex As Exception
Return False
End Try
End Function
E esse para impressão
strTexto = strTexto & [Ô]\x19\x19\x1B\x6D[Ô]
cls_DarumaDr700.AbrePorta([Ô]COM3[Ô], 115200)
cls_DarumaDr700.Porta.Write(strTexto)
cls_DarumaDr700.Fecha_Porta()
Public Function AbrePorta(ByVal strPorta As String, ByVal intVelPorta As Int32) As Boolean
Dim sPorta As String = strPorta
Dim intVelocidade As Int32 = intVelPorta
Try
[ô]Configurando dados da porta
Porta.PortName = sPorta
Porta.BaudRate = intVelocidade
Porta.Parity = Parity.None
Porta.DataBits = 8
Porta.StopBits = StopBits.One
[ô]Determinando um tempo de Timeout tanto para escrita quanto para lei tura em milisegundo.
Porta.WriteTimeout = 1000
Porta.ReadTimeout = 1000
Porta.Encoding = Encoding.Default
Porta.Handshake = Handshake.None
Porta.Open()
Return True
Catch ex As Exception
Return False
End Try
End Function
E esse para impressão
strTexto = strTexto & [Ô]\x19\x19\x1B\x6D[Ô]
cls_DarumaDr700.AbrePorta([Ô]COM3[Ô], 115200)
cls_DarumaDr700.Porta.Write(strTexto)
cls_DarumaDr700.Fecha_Porta()
Pessoal,
Até agora não consegui enviar comandos, usando o código acima eu envio textos para a Daruma, mas não consigo enviar comandos como negrito, acionar a guilhotina etc...
Estranho que no exemplo em C# esta da certinho... mas como não conheço c# acho que estou deixando passar alguma coisa.
Tive muitos problemas com a dll da daruma no windows vista e 8 64 bits, antes eu usava bematech MP4200TH e a ddl funcionava que é uma beleza.
Mas agora tenho que fazer essa impressora funcionar rs...
Até agora não consegui enviar comandos, usando o código acima eu envio textos para a Daruma, mas não consigo enviar comandos como negrito, acionar a guilhotina etc...
Estranho que no exemplo em C# esta da certinho... mas como não conheço c# acho que estou deixando passar alguma coisa.
Tive muitos problemas com a dll da daruma no windows vista e 8 64 bits, antes eu usava bematech MP4200TH e a ddl funcionava que é uma beleza.
Mas agora tenho que fazer essa impressora funcionar rs...
Pessoal,
Alguém tem algum exemplo em vb.net sem usar a DLL DarumaFrameWork, para impressora termica DR700?
Não estou conseguindo de jeito nenhum acionar a guilhotina e usar as formatações, tive muitos problemas com windows vista/sevem/8 64 bit usando a DLL fornecida pela Daruma. Principalmente quando utilizando em notebook que sempre tem que desconectar o usb ai da pau na comunicação via DLL.
Se alguem tiver qualquer coisa eu agradeço muito estou realmente precisando.
Obrigado
Alguém tem algum exemplo em vb.net sem usar a DLL DarumaFrameWork, para impressora termica DR700?
Não estou conseguindo de jeito nenhum acionar a guilhotina e usar as formatações, tive muitos problemas com windows vista/sevem/8 64 bit usando a DLL fornecida pela Daruma. Principalmente quando utilizando em notebook que sempre tem que desconectar o usb ai da pau na comunicação via DLL.
Se alguem tiver qualquer coisa eu agradeço muito estou realmente precisando.
Obrigado
Olá Fábio.
Alguns anos atrás, quando fui implantar o darumaframework.dll (Antes era a daruma32.dll) também passei pelo mesmo problema. A solução era bem simples, quando compilamos o projeto, o mesmo deve estar com o Target CPU para x86, se estiver anyCpu ou x64 você deve alterar para o x86.
Outro detalhe importante, sempre vejo problemas com a porta COM virtual criada pelo driver da daruma quando usb, o ideal é que a porta de comunicação esteja na COM1, sendo assim, se o driver instalar na COM2 você deve alterar para COM1 e deixar a velocidade da porta em 115200.
Estou utilizando em xp, seven, win 8 tanto nas versões x86 e x64 e está normal.
Abraços
Alguns anos atrás, quando fui implantar o darumaframework.dll (Antes era a daruma32.dll) também passei pelo mesmo problema. A solução era bem simples, quando compilamos o projeto, o mesmo deve estar com o Target CPU para x86, se estiver anyCpu ou x64 você deve alterar para o x86.
Outro detalhe importante, sempre vejo problemas com a porta COM virtual criada pelo driver da daruma quando usb, o ideal é que a porta de comunicação esteja na COM1, sendo assim, se o driver instalar na COM2 você deve alterar para COM1 e deixar a velocidade da porta em 115200.
Estou utilizando em xp, seven, win 8 tanto nas versões x86 e x64 e está normal.
Abraços
Guimoraes123, obrigado pela resposta.
Eu sempre compilo em x86, mesmo assim continua tendo problemas com a DarumaFrameWork.dll, sua dica de sempre utilizar a COM1, eu testei, mas continua com o problema.
Acredito que pode ser o drive usb, eu registrei a dll coloquei na pasta Syswo64... tentei varias coisas para conseguir utilizar a dll, até tentei contato com suporte Daruma, mas sem sucesso.
Ai achei o exemplo de enviar direto no proprio site da Daruma, mas em C# fiz o mesmo código em VB.NET e não funcionou...
Eu já utilizei outras impressoras termicas, Diebold e Bematech essa ultima usei a MP4200TH, excelente impressora, estou me arrependendo de ter trocado para Daruma.
Vou continuar tentando aqui talvez testar em outras maquinas....
Bom obrigado pelo post.
Se mais alguem tiver algo eu agradeço.
Obrigado a todos.
Eu sempre compilo em x86, mesmo assim continua tendo problemas com a DarumaFrameWork.dll, sua dica de sempre utilizar a COM1, eu testei, mas continua com o problema.
Acredito que pode ser o drive usb, eu registrei a dll coloquei na pasta Syswo64... tentei varias coisas para conseguir utilizar a dll, até tentei contato com suporte Daruma, mas sem sucesso.
Ai achei o exemplo de enviar direto no proprio site da Daruma, mas em C# fiz o mesmo código em VB.NET e não funcionou...
Eu já utilizei outras impressoras termicas, Diebold e Bematech essa ultima usei a MP4200TH, excelente impressora, estou me arrependendo de ter trocado para Daruma.
Vou continuar tentando aqui talvez testar em outras maquinas....
Bom obrigado pelo post.
Se mais alguem tiver algo eu agradeço.
Obrigado a todos.
Fábio.
Você consegue comunicação com a impressora fiscal mesmo não sendo executada no projeto (Ex: Udecoder, Tools)?
Fiz a implantação sem problemas da mesma impressora, mas em termos de comunicação USB a daruma continua fraca .
Outro detalhe que não mencionei foi sobre o arquivo XML que é criado toda vez que você faz o acesso a impressora, este arquivo se chama darumaFrameWork.xml, nele possui todas as configurações da impressora, inclusive a porta que está conectada. O que pode estar acontecendo é que ao trocar a porta USB onde a impressora está conectada o driver assume outra porta de comunicação, sendo assim, o arquivo XML não é alterado e você não consegue se comunicar com a mesma. Em meu sistema, em todo acesso ao mesmo, excluo o arquivo xml, assim a dll pode reconhecer a impressora em qualquer porta que ela esteja conectada.
Faz um teste com o Tools, geralmente a comunicação com ele facilita bastante o processo.
Abraços
Você consegue comunicação com a impressora fiscal mesmo não sendo executada no projeto (Ex: Udecoder, Tools)?
Fiz a implantação sem problemas da mesma impressora, mas em termos de comunicação USB a daruma continua fraca .
Outro detalhe que não mencionei foi sobre o arquivo XML que é criado toda vez que você faz o acesso a impressora, este arquivo se chama darumaFrameWork.xml, nele possui todas as configurações da impressora, inclusive a porta que está conectada. O que pode estar acontecendo é que ao trocar a porta USB onde a impressora está conectada o driver assume outra porta de comunicação, sendo assim, o arquivo XML não é alterado e você não consegue se comunicar com a mesma. Em meu sistema, em todo acesso ao mesmo, excluo o arquivo xml, assim a dll pode reconhecer a impressora em qualquer porta que ela esteja conectada.
Faz um teste com o Tools, geralmente a comunicação com ele facilita bastante o processo.
Abraços
Guimoraes123, obrigado pela dica do xml, vou verificar.
Com o Tools que a daruma disponibiliza funciona, até mesmo com o exemplo em C# funciona.
Eu tinha feito assim, pluguei a impressora em todas as portas USB[ô]s da maquina, depois fui porta a porta alterando os drives para COM1, porque a cada nova porta ela referencia uma nova COM, ai fazendo isso o código em C# não se perdia e funciona que é uma beleza. Mas fazendo o mesmo código em VB.NET eu consigo enviar textos para a impressora, só não consigo usar os comandos negrito, guilhotina etc...
Mas vou testar sua dica do xml + dll, pq eu tava quase desistindo de usar a guilhotina e usar a serrilha!!!
Estou na correria de provas essa semana, mas assim que eu testar eu posto aqui.
Obrigado.
Com o Tools que a daruma disponibiliza funciona, até mesmo com o exemplo em C# funciona.
Eu tinha feito assim, pluguei a impressora em todas as portas USB[ô]s da maquina, depois fui porta a porta alterando os drives para COM1, porque a cada nova porta ela referencia uma nova COM, ai fazendo isso o código em C# não se perdia e funciona que é uma beleza. Mas fazendo o mesmo código em VB.NET eu consigo enviar textos para a impressora, só não consigo usar os comandos negrito, guilhotina etc...
Mas vou testar sua dica do xml + dll, pq eu tava quase desistindo de usar a guilhotina e usar a serrilha!!!
Estou na correria de provas essa semana, mas assim que eu testar eu posto aqui.
Obrigado.
GUIMORAES123,
Sensacional!!!
Fiz assim, pluguei em todas as portas USB[ô]s e fui reconfigurando as portas para COM1, o estava mesmo no XML na velocidade da porta.
Agora estou tratando o xml direto no código e ta funcionando que é uma beleza.
Um coisa tão simples, mas minha decepção com suporte Daruma continua, para proximas aquisições com certeza vai ser outra!
Mas muito obrigado, me ajudou muito mesmo.
Sensacional!!!
Fiz assim, pluguei em todas as portas USB[ô]s e fui reconfigurando as portas para COM1, o estava mesmo no XML na velocidade da porta.
Agora estou tratando o xml direto no código e ta funcionando que é uma beleza.
Um coisa tão simples, mas minha decepção com suporte Daruma continua, para proximas aquisições com certeza vai ser outra!
Mas muito obrigado, me ajudou muito mesmo.
Tópico encerrado , respostas não são mais permitidas