20/01/2012, 09:03
|
| | Fecha de Ingreso: enero-2012 Ubicación: Santiago
Mensajes: 19
Antigüedad: 12 años, 10 meses Puntos: 0 | |
Imresora Fiscal Epson con VB.NET Buenos Dias
Somos una empresa que se dedica al desarrollo de software, hemos adquirido una impresora fiscal EPSON TM-T88IV(078) MODEL: M129H para integrarla con nuestro sistema.
Estamos utilizando el EpsonFPHostControlX.ocx y le enviamos los comandos que estan el el manual y la impresora no realiza ninguna accion.
Para probar la printer utilizamos el FPTerminal y enviamos el comando "CORTAR PAPEL" y esto es lo que estaba en el log:
20/01/2012 9:46:26
Open COM1 38400,N,8,1
HOST --> 02 E2 07 1B 02 1C 00 00 03 30 31 32 37
FP --> ACK
FP --> 02 E2 00 01 1C C0 00 1C 00 00 1C 00 00 1C 03 30 32 31 38
HOST --> 06
Estamos utilizando Visual Basic .net y queremos hacer lo mismmo para probar la comunicacion y enviarle el mismo comando a la impresora, lo hacemos me la siguiente manera:
Dim OK As Boolean
'''Aca usamos la isma confiracio que utilizamos con el FPTerminal para hacer pruebas
'''BaudRate=38400,Pueto=COM1 y ProtocOLO Extendido
FPHostControl1.BaudRate = EpsonFPHostControlX.TxBaudRate.br38400
FPHostControl1.CommPort = EpsonFPHostControlX.TxCommPort.Com1
FPHostControl1.ProtocolType = EpsonFPHostControlX.TxProtocolType.protocol_Extend ed
OK = FPHostControl1.OpenPort() 'Abro el pueto
OK = FPHostControl1.AddDataField(Chr(&H2)) 'Agrego STX 02
OK = FPHostControl1.AddDataField(Chr(&HE2)) 'Agrego E2 numero de secuencia
OK = FPHostControl1.AddDataField(Chr(&H7)) 'Agrego 07
OK = FPHostControl1.AddDataField(Chr(&H1B)) 'Agrego 1B
OK = FPHostControl1.AddDataField(Chr(&H2)) 'Agrego 02
OK = FPHostControl1.AddDataField(Chr(&H1C)) 'Agrego 1C (FLD - Separador)
OK = FPHostControl1.AddDataField(Chr(&H0)) 'Agrego 00
OK = FPHostControl1.AddDataField(Chr(&H0)) 'Agrego 00
OK = FPHostControl1.AddDataField(Chr(&H3)) 'Agrego ETX 03
OK = FPHostControl1.AddDataField(Chr(&H30)) 'Agrego 1er byte Checksum 30
OK = FPHostControl1.AddDataField(Chr(&H31)) 'Agrego 2do byte Checksum 31
OK = FPHostControl1.AddDataField(Chr(&H32)) 'Agrego 3er byte Checksum 32
OK = FPHostControl1.AddDataField(Chr(&H37)) 'Agrego 4to byte Checksum 37
OK = FPHostControl1.SendCommand() 'Envio Comando
OK = FPHostControl1.AddDataField(Chr(&H6)) 'Si se ejecuta corectamente envio un ACK
OK = FPHostControl1.SendCommand() 'Envio el ACK 06
OK = FPHostControl1.ClosePort() 'Cierro el puerto
La variable OK siempre retorna true lo que indica que no hay error en las instrucciones pero aun asi la impresora no realiza ninguna accion.
Esperamos que puedan ayudarnos con este problema o decirnos que estamos haciendo mal o facilitarnos algun ejemplo que nos pueda servir de base.
Desde ya muchas gracias. |