Отправить команду в фискальный Epson tmT81 C#

Я пытаюсь распечатать на фискальном принтере EPSON TMT81, у меня есть пример кода в VB, и мне нужно сделать то же самое в C#, я использую EpsonFPHostControl. OCX 1.9

Основой для работы является отправка команды на принтер через COM-порт, я без проблем подключаюсь к порту, но не могу отправить команду через порт.

Для отправки комнада в VB код:

        '*** PROBAR CONEXION CON IMPRESOR FISCAL ***
        '*** CHEQUEA  ESTADO  DE IMPRESOR FISCAL ***
        EpsonFPHostControl1.AddDataField (Chr$(&H0) & Chr$(&H1))
        EpsonFPHostControl1.AddDataField (Chr$(&H0) & Chr$(&H0))

        '*** ENVIA COMANDO FISCAL ***
        EpsonFPHostControl1.SendCommand

Я пытаюсь сделать то же самое в C#:

        //*** PROBAR CONEXION CON IMPRESOR FISCAL ***
        //*** CHEQUEA  ESTADO  DE IMPRESOR FISCAL ***
        EpsonFPHostControl1.AddDataField("H0H1");
        EpsonFPHostControl1.AddDataField("H0H0");

        //*** ENVIA COMANDO FISCAL ***
        EpsonFPHostControl1.SendCommand()

Но это не работает хорошо:/, фискальный принтер получает команду, но возвращает код 513 неверный кадр команды (frame de comando invalido)

Я ценю некоторую помощь.

1 ответ

Решение

Команды в C# неверны. Вы должны отправить строку с управляющими символами. основной Chr$($H0) означает "\x00" в C#. Это должно работать.

EpsonFPHostControl1.AddDataField("\x00\x01");
EpsonFPHostControl1.AddDataField("\x00\x00");
Другие вопросы по тегам