Zebra LP 2824 и печать через COM

114
08 сентября 2019, 00:00

Некоторое время назад написал программу для печати на самоклеящихся этикетках для Zebra-образных принтеров.

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

Схема:

К ПК через шнур-переходник USB-COM (Либо Prolific, либо китайский CH 34) прикрепляется Zebra LP 2824. В Windows создается виртуальный COM-порт.

На данный COM-порт моей программой отправляется такой вот фрагмент кода на языке EPL. Код:

U1 setvar "device.languages"  "epl"
N
ZN
S3
WY
D10
R02,0
q240
Q160,010
B30,1,0,1C,2,7,75,B,"ШТРИХКОД"
I8,C,001
A30,105,0,2,1,1,N,"ФИО"
A20,123,0,2,1,1,N,"ОТДЕЛ"
P1

Как видно, здесь запрограммирована примерно посередине наклейки печать некоего ШТРИХКОДа, а ниже некоторая строка "ФИО", а затем некоторая строка "ОТДЕЛ". ФИО, ШК и ОТДЕЛ параметризуются.

Программа переводит эту строку в байты и загоняет в COM порт через стандартную библиотеку System.IO.Ports из .NET фреймворка. Эта программа на разных LP 2824 либо работает идеально, либо глючит везде одинаково.

Например. Если задать ШК= 123456 и ФИО = Тестов, то наклейка нормально печатается Если задать ШК = 123456 и ФИО = Тестовый, то вообще ничего не печатается (даже не выезжает). Если задать ШК = 12345670 и ФИО = Тестов , то наклейка нормально печатается Если задать ШК = 12345670 и ФИО = Тестовский, то вообще ничего не печатается.

То есть, это явно зависит от длины передаваемых данных. Казалось, принтер каким-то образом их обрезает. Но если до конца не передается код с ФИО, не должна также печататься и вся этикетка, потому что команда посылки на печать в конце (P1). А также не печаталась бы строка "ОТДЕЛ".

Пробовал менять параметры порта - не помогает.

Параметры порта, когда печатает большинство принтеров, такие Скорость: 9600, четность : нет, стоп-бит:1, биты данных: 8, управление потоком - пробовал все (None, Hardware, Xon/Xoff).

Ломаю голову, прошу идей, советов..

READ ALSO
Windows Forms и System.Threading.Timer [дубликат]

Windows Forms и System.Threading.Timer [дубликат]

На данный вопрос уже ответили:

128
Настройка связи с помощью Entity Framework

Настройка связи с помощью Entity Framework

Есть основная таблица с записями, в проекте описана как следующий класс

131
Конвертирование String в StringBuilder и обратно

Конвертирование String в StringBuilder и обратно

Есть некий метод, который получает в качестве параметра довольно большую стринговину (порядка 50000 символов и более)Метод разбивает полученную...

114
ListBox команда при выделении ListBoxItem

ListBox команда при выделении ListBoxItem

Кто-нибудь может подсказать, как можно при нажатии ListBoxItem выполнить команду открытия нового окна(MVVM) ListBox заполняется через ItemSource

104