Благотворительность Здесь могла бы быть Ваша реклама Летняя встреча 2018 Здесь могла бы быть Ваша реклама Лобовое стекло с обогревом для 44-го кузова Здесь могла бы быть Ваша реклама Благотворительность Здесь могла бы быть Ваша реклама Летняя встреча 2018 Здесь могла бы быть Ваша реклама

Сканер штрих-кода настройка

Общение на разные темы

Сканер штрих-кода настройка

Сообщение номер:#1  Сообщение Grover » 26 июл 2018, 12:04 •

Приветствую!
Поможите мыслёй:
Задача - опрашивать сканер, подключенный к COM-порту ПК (в принципе, есть и USB, но кажется, что ком - проще), по команде сеанса Citrix.
Железо - сканеры DS9208 (Motorola).
Загвоздки - сканеров на одном ПК должно быть 2 и один должен срабатывать по команде второго (ну или по команде БД после получения данных от первого)
В описании к КОМ-версии нашёл

• XON/XOFF – Символ XOFF выключает передачу данных цифрового сканера, пока
цифровой сканер не получит символ XON. Есть две ситуации для XON/XOFF(старт-
сигнал/стоп-сигнал):
• XOFF получен до того, как появились данные на сканере для передачи. Когда
данные появились, сканер ждет до тайм-аута между последовательными
откликами хоста для получения символа XON до передачи данных. Если XON не
получен в течение указанного времени, сканер выдает индикацию ошибки и
сбрасывает данные.
• XOFF получен во время передачи данных. В таком случае передача данных
останавливается после посылки текущего байта. Когда сканер получает символ
XON, то он отсылает оставшуюся часть данных. Сканер ждет XON
неограниченное время."

Правильно ли я понимаю, что мне надо как-то подавать на COM удалённой машины код XOFF, пока не придёт проброс на сервер от первого (USB) сканера?

Источник геморроя - изменение бизнес процесса. Есть мудрые программисты, не шарящие в железе, есть я, не шарящий в программировании, есть задача (см. выше), есть сроки. Возможна ли такая схема и как удалённо пинать сканер, подвешенный к клиентской машине? Сейчас роль второго сканера выполняет пользователь, заводя данные вручную.
Audi-100 (44) 2.0D CN Avant 85г Трактор c 26.01.12 на покое
Audi-100 (44) 1.8I 4B Avant 89г Зажигалка
Аватара пользователя
Grover
Супермодератор
 
Сообщения: 1289
Зарегистрирован: 10 ноя 2012, 21:42
Откуда: М.О. Апрелевка
Благодарил (а): 32 раз.
Поблагодарили: 41 раз.
Имя: Васяня
Откуда: М.О. Апрелевка
Модель автомобиля: 100
Кузов: 44 Avant
Год выпуска: 1989
Код двигателя: 4B
Привод автомобиля: Переднеприводный

Re: Сканер штрих-кода настройка

Сообщение номер:#2  Сообщение v.v.p. » 15 авг 2018, 18:50 •

1 Инструкция по настройке Беспроводного сканера штрих кода Для моделей ds9208 и CT980N Сайт магазина shtrix code.ru

2 Настройка функций Если у вас наблюдаются проблемы при передачи данных от сканера к принимающему устройству в 99% случаях вам поможет сброс к заводским настройкам. Страница (сканировать по порядку) Штрих код режима Режим работы Отсканируйте этот штрих код для входа в обычный режим. Этот режим устанавливается по умолчанию после включения модуля. Обычный режим (немедленная загрузка данных) Режим инвентаризации (эту функцию имеют только те устройства, которые оснащены накопителем) Отсканируйте этот штрих код для входа в режим инвентаризации. В этом режиме результаты сканирования сохраняются на запоминающем устройстве внутри лазерного сканера штрих кодов При сканировании этого штрих кода все сохранённые данные последовательно передаются на приёмное устройство. Режим инвентаризации доступен для сканера CT3008 Передача данных (эту функцию имеют только те устройства, которые оснащены накопителем) Активирование функций беспроводного лазерного сканера штрих кодов Если наблюдаются проблемы при сканировании и передачи кода, просканируйте этот код. 2

3 Настройка функций (продолжение) Продолжение передачи данных с места сбоя загрузки (эту функцию имеют только те устройства, которые оснащены накопителем) Обнуление (используйте с осторожностью) (эту функцию имеют только те устройства, которые оснащены накопителем) При сканировании данного штрих кода сохранённые результаты сканирования с прошлого места разрыва (если есть) передадутся на соответствующее приёмное устройство Обнуление сведений, сохранённых в лазерном сканере (при считывании этого штрих кода поверните, пожалуйста, лазерный сканер на угол в 90 и сканируйте штрих код) Если в процессе передачи данных возникнет сбой, пользователь может отсканировать данный штрих код и продолжить загрузку с места разрыва (например: передача 10 единиц сведений, на 6 единице загрузка внезапно оборвалась, тогда после сканирования данного штрих кода можно продолжить загрузку оставшихся сведений, начиная с 6 единицы, вплоть до того, как передача сохранённых сведений закончится). В процессе загрузки звуковое устройство будет согласно нормальному процессу загрузки производить соответствующие уведомления (см. обычный режим). Когда после сканирования данного штрих кода обнуление прошло успешно, синяя индикаторная лампочка мигнёт один раз (может проводиться в обычном режиме и в режиме инвентаризации) Вернуться к заводским установкам Если сканирование штрих кода идёт с задержкой, сбивается кодировка, а также есть другие неполадки, связанные с чтением штрих кода, считайте этот штрих код 3

4 Настройка передающего терминала сканирующего устройства Войти в режим настройки Штрих код настройки Пояснение Область значений параметров Настройка частотного канала передающего терминала Настройка рабочего частотного канала данной модели: пример: NT 111=10#, установите работу данной модели на частотный канал 10, область 00 15, # завершение 0# 1# 15# 0 1 Настройка ID данной модели: пример: NT 121=100#, установите ID модели на 100. Область: 1 254, # завершение 1#, 2# #, 254# 2 Настройка ID передающего терминала Настройка ID соответствующего приёмного устройства Настройка ID соответствующего приёмного устройства данной модели: Эта настройка позволяет установить, на какое принимающее устройство отправлять информацию, например: NT 122=200#, установите ID 200 го 1#, 2# #, 254# 3 4 4

5 принимающего устройства, пославшего сообщение, область значений ID: 1 254, # завершение Настройка звукового устройства Настройка того, активированы или нет функции звукового устройства: Может использоваться для уведомления о том, что приёмное устройство правильно или нет получило информацию. Если получило, то звуковое устройство издаст один звук, если не получило, то звуковое устройство быстро издаст три звука. Внимание: активация этого штрих кода будет влиять на скорость загрузки: когда активирован, самая высокая скорость приблизительно составляет 1 штрих код в секунду; когда не активирован, может достигать 3 штрих кода в секунду. Область: 2#, 3# 2#, 3# Команда вернуть параметры данной модели к заводским значениям по умолчанию 9 Вернуть передающий терминал к заводским установкам # Сохранить и выйти из настроек 5

6 Настройка приёмного терминала сканера Войти в режим настройки Штрих код настройки Пояснение Область значени й парамет ров Настройка частотного канала приёмного терминала Дистанционная настройка рабочего частотного канала приёмного устройства, пример: NT 211=10#, установите работу приёмного устройства на частотный канал 10, в области 00 15, # завершение 0# 1# 15# 0 1 Дистанционная настройка ID приёмного модуля, пример: NT 221=200#, установите ID приёмного устройства на 200. Область: 1 254, # завершение 1# 2# 100# 254# 2 Настройка ID приёмного терминала на X Дистанционная настройка приёмного модуля; открыть сообщение об ID лазерного сканера; 3 Открыть сообщение об ID лазерного сканера 4 6

7 Дистанционная настройка приёмного модуля; Закрыть сообщение об ID лазерного сканера 5 Закрыть сообщение лазерного сканера Отделение ID и штрих кода с помощью клавиши TAB Отделение ID и штрих кода с помощью клавиши пробела При дистанционной настройке, когда приёмный модуль сообщает об ID лазерного сканера, разделительным знаком между ID и штрих кодом является клавиша TAB (настройка по умолчанию) При дистанционной настройке, когда приёмный модуль сообщает об ID лазерного сканера, разделительным знаком между ID и штрих кодом является один пробел пример: ID лазерног о сканера = 10, штрих к од 12345, в таком случае отобрази тся: пример: ID лазерног о сканера = 10, штрих к од 12345, в таком случае отобрази тся: # Отделение ID и штрих кода с помощью клавиши При дистанционной настройке, когда приёмный модуль сообщает об ID лазерного сканера, разделительным знаком между ID и штрих кодом является одна клавиша пример: ID лазерног о сканера = 10, штрих к од 12345, в таком случае 7

8 отобрази тся: Дистанционная установка параметров приёмного модуля на возвращение к заводским настройкам по умолчанию Вернуть приёмный терминал к заводским установкам Сохранить и выйти из настроек Установка функции контроля повторных кодов Штрих код настройки Функция Пояснение Активировать опцию контроля повторных кодов Активировать опцию контроля повторных кодов. После активации, в определённые временные промежутки, если будет обнаружен один за другим повторный штрих код, лазерный сканер издаст тревожный сигнал о совершении ошибки (5 звуков), а также автоматически удалит отсканированный в последний раз повторный код. 8

9 Удалить опцию контроля повторных кодов. Удалить опцию контроля повторных кодов Вышеописанные временные промежутки контроля можно через нижеуказанный способ отрегулировать по желанию: (по умолчанию: 6 секунд) Войти в режим установки Настроить временной промежуток контроля повторных кодов на 6 секунд Настроить временной промежуток контроля повторных кодов на 4 секунды Настроить временной промежуток контроля повторных кодов на 2 секунды 9

10 Сохранить и выйти из настроек Быстрая операция возвращения к заводским установкам (Пожалуйста, сверху вниз последовательно, по порядку отсканируйте каждый штрих код) Активирование функции беспроводного сканирования 10

11 Вход в режим настроек Вернуть передающий терминал к заводским установкам Сохранить и выйти из настроек 11

12 Вход в режим настроек Вернуть приёмный терминал к заводским установкам В это время лазерный сканер начинает сигнализировать. Пожалуйста, отсоедините базу или передающее устровйтсво из порта USB компьютера, подождите три секунды, затем вставьте в прежний порт, Лазерный сканер прекратит сигналить. Сохранить и выйти из настроек 12

13 Часто возникающие проблемы и способы их решения Симптом Причина Способ решения База не отправляет данные Лазерный сканер испускает луч, но не читает ко0 Лазерный сканер не испускает луч и не читает штрих коды Лазерный сканер не читает штрих код или нужно отсканировать штрих код несколько раз для прочтения Лазерный сканер в ситуации отсутствия сигнала (отсутствие соединения с приёмным устройством) или при выходе за пределы расстояния, позволяющего получить результат, может из «обычного режима» автоматически перевестись в «режим инвентаризации». Функция беспроводного сканирования не активирована Сканирование штрих кода идёт с задержкой Проблемы в настройке функции беспроводного сканирования Низкий уровень заряда батареи лазерного сканера. Электрическое напряжение в батарее ниже 5В Сканирующая оптическая линза слишком грязная Отсканируйте «обычный режим» в инструкции на 2 странице; напротив, если в настоящее время не требуется передавать данные, войдите в режим инвентаризации, отсканировав расположенный под «обычным режимом» «режим инвентаризации» Отсканируйте на 2 странице инструкции штрих код «Активирование функции беспроводного сканирования» Отсканируйте на 3 странице инструкции «Вернуть к заводским установкам», сразу после этого отсканируйте на 2 странице инструкции «Активирование функции беспроводного сканирования» Последовательно просканируйте коды на страницах раздел Быстрая операция возвращения к заводским установкам Обеспечьте полноту заряда аккумулятора; в случае порчи батареи замените её. Зарядите батарею. При израсходовании аккумулятора для подзарядки до полной батареи лазерному сканеру требуется 3 5 часов, после полной подзарядки лампочка на базе изменится на красный свет. Смочите хлопчатобумажную ткань в чистой воде либо в нашатырном спирте и осторожно протрите, затем вытрите насухо сухой хлопчатобумажной тканью либо дождитесь естественного высыхания. Слишком штрих код грязный Удалите пятна на штрих коде, затем отрегулируйте угол сканирования (смотрите вышеописанный раздел данной инструкции «Описание эксплуатации»). 13

14 Неправильное сканирования расстояние Отрегулируйте расстояние сканирования Некоторые штрих коды лазерный сканер не может прочитать Лазерный сканер не может прочитать штрих код с гладкой поверхностью Лазерный сканер не может читать эту разновидность штрих кодов, либо данный штрих код имеет повреждения, либо закрыт чем то, либо качество печати слишком низкое Схема данного штрих кода не соответствует стандарту Сканирующее излучение подверглось воздействию Отсканируйте такой же штрих код на аналогичном товаре; если лазерный сканер может его прочитать, протрите дочиста проблемный штрих код. Если ничего не получается, вернитесь к заводским установкам. Если проблема по прежнему существует, попробуйте использовать другой, более новый, сканер. Убедитесь, что со схемой данного штрих кода нет проблем, затем попробуйте ещё раз Настройте угол и снова сканируйте Пробные штрих коды EAN 13 EAN 8 Codabar 14
#279
Переделываю радиатор в карбюратор.
AUDI™ 100/44 sedan, WH, Keihin II, 84 г.в., 5МКПП - когда-то была...
AUDI™ 100/44 sedan, MC1, KA-Jet, 88 г.в., 5МКПП - продана
#279
Аватара пользователя
v.v.p.
Администратор
 
Сообщения: 12754
Зарегистрирован: 08 ноя 2012, 17:43
Благодарил (а): 56 раз.
Поблагодарили: 565 раз.
Откуда: Москва (Бутырский)
Модель автомобиля: AUDI™ 100
Кузов: Type 44, sedan
Год выпуска: 1991
Код двигателя: NF
Привод автомобиля: Переднеприводный

Re: Сканер штрих-кода настройка

Сообщение номер:#3  Сообщение Grover » 15 авг 2018, 21:11 •

раздел “Время ответа ACK/NAK”:

По умолчанию, сканер посылает данные в ПК, без ожидания ответа ACK/NAK, перед отправкой следующей порции данных. Установите требуемое значение задержки в диапазоне 1-99, которое изменяется с шагом в 0.1 сек. Если нет ответа, в пределах указанного периода, - сканер будет пытаться отправить те же данные еще - 3 раза. Если все попытки окончились неудачей без любого уведомления, - данные будут окончательно потеряны.

Очень похоже на то, что нам нужно. После включения режима, штрихкоды начали приходить по 3 раза и сканер начал пищать с ошибкой. Хорошо, значит сканер ждет подтверждения от хоста и в случае его отсутствия сообщает об ошибке, попутно пытаясь отправить штрихкоды еще раз.

Как же отправить на сканер ответ? Для начала разберемся, как в принципе можно отправлять команды на устройство. Большинство сканеров умеет работать как минимум в двух режимах – эмуляции клавиатуры и эмуляции COM порта. Первый режим самый простой и понятный. При подключении сканер определяется как usb клавиатура, и штрихкоды приходят обычным текстом. Можно открыть блокнот и отсканировать штрихкод, вы его сразу увидите.

Второй режим немного сложнее. Сканер подключается как устройство, представляющее собой виртуальный COM порт, и требует установки драйверов. Причем даже после установки отсканировать штрихкод в блокнот не получится. Данные приходят через созданный COM порт, и требуется специальная компонента, которая будет их оттуда считывать (входит в состав всех типовых конфигураций).

Тем не менее COM порт предназначен не только для считывания, но и для записи данных. И всё, что записано в порт, будет отправляться на сканер. Поэтому прежде чем начинать эксперименты, убедитесь, что сканер поддерживает режим эмуляции COM порта и подключен к ПК в этом режиме.

Как отправить данные в COM порт? Очень просто – достаточно записать файл по адресу “\\.\ComX”, где Х – номер порта, и всё содержимое файла будет отправлено в порт. Номер порта можно узнать в диспетчере устройств в разделе “Порты (COM и LPT)”. Например, следующий код отправит команду “Hello!” на сканер:

ЗаписьТекста = Новый ЗаписьТекста("\\.\Com10", КодировкаТекста.ANSI, "");
ЗаписьТекста.ЗаписатьСтроку("Hello!");
ЗаписьТекста.Закрыть();

С отправкой команд разобрались, вернемся к мануалу. Нас особо интересует следующая строчка: “сканер посылает данные в ПК, без ожидания ответа ACK/NAK”. Что такое ACK/NAK? Я полностью просмотрел руководство, но нигде не нашел, что эти команды представляют. Снова написал в Сканкод, причем в этот раз еще и в украинское представительство, но результат предсказуем. :) И там и там меня вежливо послали, ограничиваясь общими фразами, что ничего контролировать не получится, всё завязано на прошивке и тп. Так что выводы о грамотности официальной техподдержки CipherLab делайте сами. UPD: уже после того, как я нашел способ отправлять ответ на сканер (рассказано ниже), мне еще раз написало украинское представительство. Как оказалось, они переслали мой вопрос в Тайвань и получили ответ. Так что не всё так плохо.

В результате гугления и экспериментов я узнал, что ACK и NAK – это Unicode символы, которые используются при взаимодействии с различным оборудованием. При успешной обработке команды отправляется символ ACK, в противном случае отправляется NAK. То есть это обычные непечатаемые символы, которые которые можно получить при помощи стандартной функции Символ(). у ACK номер символа 6, у NAK – 21. Таким образом, чтобы отправить ответ сканеру что данные получены, достаточно выполнить следующий код:

ЗаписьТекста = Новый ЗаписьТекста("\\.\Com10", КодировкаТекста.ANSI, "");
ЗаписьТекста.ЗаписатьСтроку(Символ(6)); // ACK
ЗаписьТекста.Закрыть();

И это работает! После получения ACK, сканер не отправляет данные повторно и не сообщает об ошибке. Следовательно, если штрихкод найден, мы отправляем на сканер команду ACK; если не найден, не отправляем ничего (так как если отправить NAK, сканер продолжит отправлять данные, пока не получит ACK).

Но есть нюанс. В режиме ACK/NAK можно настраивать время ожидания ответа, но нельзя настроить количество попыток повторной отправки штрихкода – оно фиксировано и всегда равно трем. Допустим, время ожидания составляет 5 секунд. Для файловой базы этого хватит с головой. Но при работе через интернет могут быть задержки. Поэтому возможна ситуация, когда сканер, не дождавшись ответа от 1С, отправит данные еще раз. Конечно можно увеличить время ожидания хоть до 30 секунд (тут уж сама 1С отвалится по таймауту), но если штрихкод не будет найден, пользователю придется ждать целых полторы минуты, пока сканер не сообщит об ошибке.

Нужен какой-то другой способ сообщить сканеру о том, что штрихкод не найден и нет смысла ждать ответа от ПК. Возвращаемся к мануалу. В самом конце, в Приложении к руководству, нашелся интересный раздел с заголовком “Управление с ПК серийными командами”. Используя команды, можно включать/выключать сканер, конфигурировать его, издавать сигнал и даже дистанционно включать/выключать луч сканирования (еще раз передаю привет техподдержке CipherLab). Я не буду перечислять все команды, остановлюсь только на одной – “Продолжение операции”. Если отправить эту команду, сканер издаст длинный сигнал, выйдет из режима ожидания и будет готов к следующему сканированию. К статье приложена обработка, в которой есть примеры команд.
Инструкция по настройке

схема подключения
Audi-100 (44) 2.0D CN Avant 85г Трактор c 26.01.12 на покое
Audi-100 (44) 1.8I 4B Avant 89г Зажигалка
Аватара пользователя
Grover
Супермодератор
 
Сообщения: 1289
Зарегистрирован: 10 ноя 2012, 21:42
Откуда: М.О. Апрелевка
Благодарил (а): 32 раз.
Поблагодарили: 41 раз.
Имя: Васяня
Откуда: М.О. Апрелевка
Модель автомобиля: 100
Кузов: 44 Avant
Год выпуска: 1989
Код двигателя: 4B
Привод автомобиля: Переднеприводный


Вернуться в Курилка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron