Убираем ведущий ноль, сканер YOUJIE HF-600

28 ноября 2018 1468 просмотров

Cканер YOUJIE HF-600

Введение. Иногда самая простая задача, которая всегда без проблем решалась вдруг становится неразрешимой задачей. Вот и простенькая задача по программированию сканера превратилась в серьезную головоломку.

Неисправность со слов заказчика. При сканировании штрих- кода UPS-A/UPS-E, к результату спереди добавлялся символ «0», формально штрих код в формате UPS-A/UPS-E читался как EAN13.

Вот такой (и аналогичные) штрих код читался как 0740617274769, хотя на штрих-коде только  740617274769

Первичная диагностика. Логика программирования этого сканера имеет некоторые отличия, от привычных сканеров. При считывании программирующего штрих-кода «Не добавлять 0 для штрих кода типа UPS-E» сканер вообще отказывался читать штрих кода формата UPS-E, приходилось отключать проверку контрольной цифры штрих кода, но тогда контрольная цифра тоже не выводилась в считанный результат, то есть штрих код читался без добавления нуля впереди, но при этом последняя цифра (КС) тоже не считывалась. Пришлось читать руководство по эксплуатации более внимательно.

Настройка. Из руководства по программированию выяснилось, сканер поддерживает команду Format, характерную для языков высокого уровня. Поэтому при помощи этой команды можно настроить выводимый результат для конкретного типа штрих кода, в нашем случае UPS-A – 63, UPS-E – 45. Далее запускаем программирование команды формат E6h, при первом нахождении «0» (30h) выводить все что после него F1 0D (по командам все очень хорошо расписано в руководстве, в главе 5).

Документы.

Руководство по программированию сканера YOUJIE HF-600

Краткая инструкция по удалению значащего нуля впереди штрих-кода UPS-A/UPS-E (с панорамирующими штрих кодами)

Заключение. Рассматриваемое решение не является самым коротким, возможно есть более прямолинейное решение поставленной задачи, но мы смогли найти только такое решение.