Программирование сканера штрих кода

Программирование сканера штрих кода

Записки трезвого практика-мизантропа.

Я уже писал о своих трудностях в вопросе с программирование сканера ШК. До этого момента я с ними практически не имел дел. Итак к сути дела.
Имеется определенный ШК который генерируется программой. Он имеет вид "i123456qwerty". И его надо прочитать.
По умолчанию сканер ШК работает в режиме rs-232. Для того чтобы он начал работать как клавиатура, его надо перевести в режим usb клавиатуры. Но при переводе в этот режим, сканер перестает считывать ШК. Вот такая замкнутая цепь была у меня.
Теперь о том, как запрограммировать сканер ШК.
Итак, поехали.

1. Сначала сбрасываем настройки сканер. Так на всякий случай. Для этого сканируем первый штрих-код

2. Переводим сканер в режим постоянного сканирования. Для того сканируем ШК "Enable stand mode"

3. Переводим сканер в режим usb клавиатуры.

4.Переводим сканер в режим триггерного сканирования. Для того сканируем ШК "Trigger mode"

5. В руководстве Product Reference Guide, в разделе Symbologies смотрим какие типы ШК нам нужны и разрешаем их. Для этого сканируем нужные тип ШК и сканируем "Enable".

6.Теперь надо запрограммировать префикс "i", который будет стоять в начале нашего кода. Для этого сканируем раздел Prefix

Смотрим код символа "i" в таблице символов (он равен 69)

И сканируем цифровой код из вот этой страницы

7. В типе штрих-кода "Interleaved 2 of 5" разрешаем установку префикса "i"

Сканируем код символа (он равен 69)

И сканируем Set и End.

Вот так мы и запрограммировали наш сканер QS6500

P/S/ Спустя уже некоторое время выяснилось, что мой способ программирования иногда не читает коды.
Почитав мануал на англицком я нашел в чем было дело: оказалось что я прошивал его не совсем правильно. Мой способ программирования жестко привязывал первые символы к кодам ШК. Таким образом, они или не читались или читались не совсем правильно.
Чтобы сканер точно "жрал" все типы кодов, надо, во-первых, разрешить нужные коды и, во-вторых, разрешить Code ID selection. При активации этого режима, сканер автоматически подставляет перед цифрами ШК символ принятый по умолчанию для этого кода. Таким образом, вместо кода 123456789, Вы получите А123456789. Такую операцию надо выполнить для всех нужных Вам кодов.

Ни для кого не секрет, что промышленное ПО для терминалов сбора данных (ТСД) пишется для автоматизации бизнес процессов, в особенности — складских. Большая часть задач, которые необходимо решить с помощью ТСД, связана со штрихкодированием, благо сканер штрихкода в девайс встроен.
В этом статье пойдет речь о том, как начать писать программы для терминалов сбора данных, и как подключить и использовать сканер штрихкода.

Читайте также:  Материнская плата asus m2a74 am se

Мой подопытный образец Motorola MC3190 обладает лазерным сканером штрихкода. (В ближайшее время планирую плотно заняться Datalogic c имэйджером).

На девайсе установлена Windows CE, соответственно и писать будет необходимо под нее. И если Вы никогда не пробовали писать под ТСД, конечно же, начать стоит с Hello World. Чтобы запустить приложение, написанное на C# на сем устройстве, необходимо установить на него .NET 3.5 Compact. А так же иметь под рукой Visual Studio 2008, так как во всех последующих релизах вариант проекта Smart Device отсутствует (мелкомягкие любят навязывать свои новые технологии, которые, к сожалению, не всегда совместимы с ранними версиями их же операционной системы).

Итак, создав простенькое приложение, можно попробовать его сразу же запустить. Если устройство подключено к компьютеру, то студия сразу же предложит выполнить запуск непосредственно на нем, с возможностью отладки, разумеется. Подождав несколько минут можно увидеть запуск формочки на устройстве.


Вот теперь можно приступать к самому интересному.

Для того чтобы использовать объектную модель, уже реализованную в C#, Motorola подготовила целый ряд библиотек. Фактически с помощью них можно творить все, что нам вздумается. Называется это чудо Symbol. В нашем случае будет использована Symbol.Barcode. К сожалению, в данный момент официальный сайт библиотеки symbol.com перенаправляет нас на motorolasolutions.com, сообщая о том, что технология устарела. Но я в свое время сделал копии всех Reference с примерами:

В примерах, те, кому интересно, конечно могут покопаться, но я могу сразу предупредить, что есть статьи, в которых описано все гораздо проще и удобнее, на мой взгляд, лучшая среди них: kbss.ru/blog/dotnetcf/178.html. Но, тем не менее, я считаю, что каждый раз подключать так сканер штрихкода не очень удобно, особенно если приложение планируется многооконным. К тому же в некоторых случаях могут возникнуть проблемы со считыванием, при возвращении фокуса в родительское окно от дочернего.

Из всего, что можно найти в интернете, главное осознать то, что самым удобным способом обработки штрихкодов является модель, построенная на событиях:
1. Сработал сканер штрихкода.
2. Распознал штрихкод корректно.
3. Мы вызываем событие обработки этого штрихкода у себя в программе, уже разобранного и удобного для восприятия.

Читайте также:  Контроллер движений playstation move

Компонент формы — паттерн, позволяющий добавлять свой контрол в конструктор форм студии. Этим и воспользуемся. И не только потому, что это упростит разработку форм, а еще и потому, что в дальнейшем компоненту можно будет доработать так, чтобы она поддерживала сканеры не только от Motorol`ы.

Затем надо описать класс компоненты.

На что здесь надо обратить внимание:
1. Любое событие, которые добавляется в компоненте, становится доступно в конструкторе формы.
2. На основании IContainer container в конструкторе форм реализован механизм высвобождения памяти, в том числе и unmanage объектов. Соответственно грех этим не воспользоваться. Добавляем в контейнер объект считывателя штрихкода, и память высвободится рекурсивно, при закрытии формы, в которой содержится описываемая здесь компонента.
//
О том, как это происходит можно понять открыв designer любой из форм, созданной в конструкторе, и посмотрев на перегрузку:

//
3. Чуть-чуть переопределяем событие считывания, избавив себя от обработки считанных с ошибками данных.

Дальше дело за малым: перетащить компоненту на форму:

И добавить событие обработки штрихкода:


Убедиться в работе более чем достаточно следующего кода:

Получилось несколько сумбурно, и очень много скриншотов. Повторив вышеперечисленные шаги вы освоите сразу три вещи:

1. Создавать и запускать в режиме отладки программы под терминалы сбора данных.
2. Разберетесь как работать со сканером штрихкода.
3. Научитесь создавать компоненты форм.

Я надеюсь эта статья поможет тем, кто только начал разбираться с программированием под ТСД, и несколько упростит этим людям жизнь.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Взаимодействие со сканером в 1С возможно только посредством внешнего события, которое генерирует сканера с интерфейсом RS-232 (последовательного порта или COM-порта). Таким образом, в USB-сканерах требуется эмуляция COM-порта.

Порядок подключения сканера и перевод в режим эмуляции COM-порта:

1. Подключаем сканера. ОС Windows автоматически определит устройство и установит драйвера, обеспечивающие работу устройства через USB интерфейс. Проверить работоспособность устройства можно открыв «Блокнот» и отсканировав любой штрихкод.

2. Для перевода сканера в режим эмуляции COM-порта необходимо в «Инструкции программирования сканера» отсканировать штрихкод «USB Serial Emulation» (может также называться: USB Com порт, Enable Uni-Directional USB Serial Emulation Mode). После считывания штрихкода Windows опознает сканер как неизвестное устройство и предложит автоматическую установку.

Читайте также:  Термистор в импульсном блоке питания

Примечание: Возможен вариант когда необходимо выполнить сканирование последовательности штрих кодов.

  • "Recall Defaults"
  • "Enter/Exit Configuration Mode"
  • "USB Serial Emulation"
  • "Enter/Exit Configuration Mode"

3. Запустить диспетчер устройств — сканер будет показан как неизвестное устройство (знак вопроса в желтом круге или устройство с восклицательным знаком). Вызвать контекстное меню для нового элемента (щелчком правой кнопкой мыши), выбрать пункт «Обновить драйвер…». После этого операционная система запросит драйвер для нового устройства. Укажите путь к распакованному архиву.

Примечание: Для Honeywell . Архив с драйвером называется HSM USB Serial Driver r1.9. После распаковки запустить _Install.bat. Если ОС их не «увидит», тогда согласно п. 3 выбрать папку x64 или x86, в зависимости от разрядности операционной системы. Для PROTON : Запускается файл CINO_USB3600_1.00.01.exe. Производим установку драйверов. ОС инициализирует их и производит установку сканера.

4. Номер виртуального COM-порта для нового устройства вы можете узнать из "Диспетчера устройств", раздел "Порты COM и LPT". Проверить корректность работы сканера можно через программу HyperTerminal (ПускВсе программыСтандартныеСвязь)

5. Для работы "1С:Предприятия" со сканерами штрихкода применяется внешняя компонента системы "1С:Предприятие" "1С:Сканер штрихкода". Внешняя компонента принимает от сканера прочитанный им штрихкод и передает его для обработки в "1С:Предприятие". Для установки компоненты необходимо запустить файл ScanOPOS_8_0_11_1 и пошагово пройти все этапы (настройки оставляются по умолчанию).

6. Затем запустите "1С:Предприятие" и выберите пункт меню «Сервис» -> «Торговое оборудование» -> «Подключение и настройка торгового оборудования» -> выбираем вкладку «Сканеры штрихкода» -> кнопка «Добавить» (открывается справочник «Торговое оборудование») -> кнопка «Добавить» (открывается окно создания торгового оборудования). В открывшемся окне в ‘Наименование’ – называем наше оборудование (пр. Honeywell), ‘Обработка обслуживания’ – выбираем файл 1CScanOPOSScan_v2.epf, ‘Модель’ – ‘Сканер штрихкода (общий)’. Нажимаем ОК и далее выбор созданного. В окне «Подключение и настройка торгового оборудования» на вкладке «Сканеры штрихкода» нажимаем кнопку ‘Группа пользователей’ и подключаем пользователей которые будут работать с оборудованием (в поздних конфигурациях).

7. Проверяем работоспособность. Например, создаем новый документ ‘Поступление товаров и услуг’. При сканировании штрихкода в табличную часть добавляется Номенклатура имеющая этот штрихкод.

Ссылка на основную публикацию
Программа для отформатировать флешку
Процесс форматирования флешки мало отличается от форматирования HDD или SSD-дисков. Далее мы рассмотрим лучшие программы для форматирования флешек (такие как...
Приложение следить за человеком по номеру телефона
Отслеживание по номеру телефона - это приложение для Android, благодаря которому вы всегда будете знать где находятся ваши родные и...
Приложение чтобы играть андроид игры на компьютер
Самый мощный эмулятор Android из всех Newest ReleaseВерсия 7.1.3 2020.03.04 Играйте бесплатно в любые игры для Android. Наслаждайтесь оптимизированной графикой...
Программа для оцифровки винила
Каталог продаваемых пластинок (49230) Минимальные аппаратные требования, или что надо иметь для оцифровки Компьютер со звуковой картой. Проигрыватель винила Корректор...
Adblock detector