DARUMA DR700L COMUNICA?ÃO DIRETA

MITSUEDA 28/04/2014 06:26:27
#437673
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.
MITSUEDA 28/04/2014 06:33:37
#437674
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()
MITSUEDA 01/05/2014 17:05:50
#437837
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...
MITSUEDA 14/05/2014 12:28:04
#438186
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
GUIMORAES 14/05/2014 13:39:35
#438188
Resposta escolhida
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

MITSUEDA 15/05/2014 08:00:24
#438214
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.
GUIMORAES 15/05/2014 14:00:47
#438239
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
MITSUEDA 20/05/2014 14:13:53
#438364
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.
MITSUEDA 29/05/2014 07:47:45
#438571
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.
Tópico encerrado , respostas não são mais permitidas