Bixolon 1000 - отсутствует русский шрифт на дисплее покупателя. Устранение неисправности.

1 августа 2014 2613 просмотров


Рис. 1 С такой стартовой картинкой пришел в ремонт дисплей Bixolon BCD1000.

Предисловие. Ремонт хоть и оказался неудачным, но оставшиеся наработки может, кому и помогут избежать потери времени на диагностике данного модели дисплея покупателя.
Неисправность со слов заказчика. Дисплей покупателя не отображает русские символы.
Первичная диагностика. В нашем случае все DIP переключатели были в положении OFF, кроме переключателя J8 – в положении ON. По аналогии с другими дисплеями кодовая страница должна быть - PC866, а кодировочная таблица – USA. На нашем дисплее выдается сообщение

ESC/POS 9600 N-8-1
Norway /PC837 (V4.5)

Ремонт. Дисплей выполнен на материнской плате 20LL04DA2(Rev. D) Судя по инструкции, русский язык включается программным путем. Программируем дисплей покупателя требуемыми значениями - теперь при включении выдается сообщение

ESC/POS 9600 N-8-1
USA /PC866 (V4.5)

Дисплей заработал и стал понимать русский язык. Но после включения-выключения раз 10-15, сообщение скидывается на первоначальное, с которым дисплей пришел в ремонт и соответственно дисплей отказывался работать на русском языке. Вывод неисправен процессор, но отсутствие прошивки не позволяет поменять процессор. Обращение в техническую поддержку поставщика Bixolon результатов не дало, прошивку процессора дать отказались.
 

Настройка.

Пункт необязательный для чтения.  На сайте bixolon.com есть довольно много документации, ей мы и воспользуемся.
Положение DIP переключателей достаточно хорошо в документации на русском языке.


Рис. 2 Bixolon серия BCD1000, описание DIP переключателей.

Так как DIP переключатели не влияют на кодовую таблицу, то дальше нет смысла рассматривать этот вопрос.
Помимо DIP переключателей, в дисплее есть еще доступные для программирования регистры Msw10-Msw14. Как следует из описания, регистры меняются программным путем и вступают в силу после включения или инициализации дисплея. Перевод на русский немного режет слух, поэтому переключатели мы будем назвать привычными для понимания термином - регистрами.



Рис. 3 Bixolon серия BCD1000, описание регистров памяти.

Для работы с регистрами необходимо с сайта скачать программу управления регистрами VMSM(Virtual Memory Switch Manager). Программа довольно простая и не требует особых навыков, запускаем, проверяем коннект, заходим в меню настроек, программируем нужные регистры и выходим. Именно в этой программе осуществляется русификация дисплея Bixolon серия BCD1000, параметры русского языка кодовая страница - CP866, кодировочная таблица – USA.


Рис.4  Программа управления регистрами VMSM(Virtual Memory Switch Manager).

Такой простой путь слишком не слишком очевиден сотрудника для ремонтной мастерской попробуем то же самое сделать вручную.

 

Теория.

Из документации описывающей протокол, мы рассмотрим только интересующие нас команды.

Msw11 Международная кодировочная таблица.


Рис.5  Bixolon серия BCD1000, описание протокола.

Как такового описания этого параметра найти не удалось, поэтому путем аппроксимации, можно предположить, что параметр n принимает следующие значения. Проверено только до 6, но думаем остальные значения совпадают, хотя не совпадает размерность регистра 14 против 16 значений кодовой таблицы.


Рис. 6 Bixolon серия BCD1000, международная кодировочная таблица.

Первая колонка таблицы совпадает с параметром n регистра Msw11 (n=0 -U.S.A, n=1 – France, n=2 – Germany и т.д.) Нас интересует параметр n=0.

Msw10 Кодировочная таблица символов.


Рис.7 Bixolon серия BCD1000, описание протокола.

Тут все немного сложнее, опираясь на данные таблицы регистров (рис.3), можно предположить, что n =1-5, 16-19, 255-256 – само собой значения представлены в DEC.

 


Рис. 8 Bixolon серия BCD1000, список кодовых страниц.

Опять же методом аппроксимации получаем, что нас  интересует параметр n=17 (в hex 11h) –это соответствует кодовой странице PC866 (DOS)

 

Практика

Тут все зависит от навыков и программного инструмента.

1.Способ. При помощи команд DOS. Формируем три файла, например, при помощи бесплатной программы hiew или любой другой программой, работающей с шестнадцатеричным представлением чисел.
Первый файл устанавливает кодовую страницу PC866. Содержимое файла в HEX «1B 74 11 1B 63 11 1B 40». Файл назовем dos866_b. Полное описание команды на рис.7, отдельно следует отметить команду 1B 40  - это команда инициализации, необходимая для сохранения данных, см. рис.3.

второй файл изменяет международную кодировочную страницу на USA. Содержимое файла в HEX «1B 52 00 1B 66 00 1B 40». Файл назовем dos866_а. Полное описание команды на рис.5

третий файл выводит текст «привет» в формате DOS (PC866). Файл назовем test.txt

Скачать все три файла одним архивом.

Дальше просто отправляем в COM порт файлы по порядку из командной строки, например COM1.

copy /b dos866_b com1      (устанавливаем кодовую страницу PC866)
copy /b dos866_f com1       (устанавливаем международную кодировочную страницу на USA)
copy /b test.txt com1           (проверяем запрограммированные параметры, на дисплее надпись DOS866-Привет)


Для тех кому лень возится  с набиранием команд – в архиве есть bat файл в котором все эти команды прописаны. Запускается файл 1.bat из папки, где лежат вышеперечисленные файлы. При запуске запрашивается COM порт,  к которому подключен дисплей Bixolon серия BCD1000, затем отправляем файлы в выбранный COM порт, для этого поочередно жмем клавиши 1, 2, 3.

 

2.Способ. При помощи программы ComPort ToolKit

Демо версия этой программы работает 30 дней, вполне достаточно для тестирования. Запускаем, выбираем COM порт к которому подключен дисплей, выбираем разделитель между hex числами (в примере запятая), выбираем режим отображения в HEX? в строки для отправки забиваем нужные команды, см рис 5,7.  Поочередно нажимаем клавиши сверху вниз.


Рис. 9 Русификация Bixolon серии BCD1000 при помощи ComPort ToolKit.

Строка №1 установка кодовой страницы PC866,
Строка №2 инициализация дисплея, в момент инициализации  дисплей не воспринимает команды, поэтому немного нужно подождать пока команда не выполнится
Строка №3 установка международной кодировочной страницы на USA
Строка №4 инициализация дисплея, в момент инициализации  дисплей не воспринимает команды, поэтому немного нужно подождать пока команда не выполнится
Строка №3 тестовая строка в кодировке DOS (PC866), на дисплее должна появиться надпись «привет».