|
Как послать команду/сообщение на сканер HoneyWell/MetroLogic? | ☑ | ||
---|---|---|---|---|
0
FirstOrsk
21.11.12
✎
12:04
|
Здравствуйте!
Есть задача: организовать блокировку после считывании незарегистрированного в базе штрихкода. Имею в наличии: Сканер ШК: Honeywell(Metrologic) Voyager MS5145, MS9540, скоро появится MS9535 Bluetooth USB. 1С: 8.2 УПП 1.3. Драйвер ШК: 1С ScanOPOS 8.0.14.1, еще есть Атол'овские дрова - последняя бесплатная версия или платная - не принципиально. 1-я попытка: Через установку свойства Устройство.Драйвер.ПосылкаДанных = 1 блокирую прём считанных штрихкодов, через Устройство.Драйвер.ПосылкаДанных = 0 делаю разблокировку. В 1С отрабатывает нормально, но сканер не блокируется, продолжает исправно считывать штрих-коды и пикать. 2-я попытка: В 'Руководстве по программированию сканеров Metrologic' нашел такую вещь, как 'Программное управление потоком', то есть надо послать сканеру команду XOFF (ASCII 13H) - останов сканера с включением красной лампочки, команду начала XOFF (ASCII 11H), также есть команды: ACK(06H) - подтверждение, знакомый штрихкод, NAK(15H) - отрицание, незнакомый штрихкод, BEL(07H) - выход из режима передачи данных с подачей звукового сигнала, CAN(18H) - выход из режима передачи данных молча. Есть механизм включения/отключения работы с командами XON/XOFF, ACK/NAK, BEL/CAN. Но я не нашел ни одного примера, как послать сканеру какую-то команду. Прошу откликнуться тех, кто знает хоть какие-то варианты отправки команды сканеру или может помочь чем-то еще. Нашел также в описании драйвера 1С ScanOPOS такую штуку: Метод: Управление (DirectIO) Параметры: Команда (Число, код команды), ЧислПарам (Число, числовой параметр), СтрокПарам (Строка, строковой параметр) Возвращаемое значение: Результат в формате OPOS Описание: Общий метод OPOS. Используется для взаимодействия с сервис-объектом напрямую. Пообщался с Honeywell. Отмазались, что с их железячной стороны все реализовано, а реализована ли ответная часть кем-то из разработчиков ПО, даже не интересуются. Предложили обратиться в Атол и 1С. Послали так послали, в общем. |
|||
1
FirstOrsk
22.11.12
✎
08:37
|
В 8.2 нашел 3 комплекта драйвер + обработка. Производители: 1С, Атол, 1С:БиТ(он же теперь первый бит).
Подозреваю, что вышеописанный метод 1С'ного драйвера Управление (DirectIO) может быть заглушкой, по крайней мере мне не удалось через него добиться от сканера реакции хоть на одну команду: Объект.Драйвер.Управление(19,19,"XOFF"); Объект.Драйвер.Управление(17,17,"XON"); Объект.Драйвер.Управление(6,6,"6"); 19 и 17 - это я попробовал перевести 11 и 13 из хекса в десятичный формат (1*16+3=19). |
|||
2
FirstOrsk
22.11.12
✎
13:59
|
Сделал запрос в Атол, можно ли это сделать через их драйвер.
|
|||
3
FirstOrsk
26.11.12
✎
10:01
|
Сделал запрос в 1С:БиТ (Первый бит), можно ли это сделать через их драйвер.
|
|||
4
REM
27.11.12
✎
08:19
|
Подниму эту ветку! Вопрос очень интересный и практически важный.
|
|||
5
Нуф-Нуф
27.11.12
✎
08:24
|
Не знаешь как сделать на стороне железа - делай на стороне 1с
|
|||
6
ICWiner
27.11.12
✎
08:28
|
Когда копался с драйверами на фискальник, то оказалось, что для драйверов 1С совместимо куча команд драйвера обрезается или переименовываются... Задача сводится к тривиальной - найти правильную документацию.
|
|||
7
REM
27.11.12
✎
08:29
|
Вопрос именно в том чтобы заблокировать сам сканер, чтобы не "пикал" следующий штрих код.
Я делал как то звуковым сигналом на компе - включается если код неизвестен. но при работе с блютуз сканерами оператор его не слышит. |
|||
8
REM
27.11.12
✎
08:31
|
(6) к сожалению это именно так.
|
|||
9
Тихий омут
27.11.12
✎
09:08
|
(0) Была задача, связанная с массовым чтением ШК. Первоначально сделали также - при чтении неизвестного ШК блокировали прием следующих. А вот люди, непосредственно работающие с этим б(д)обром, настояли на реализации полноценной очереди ШК - при чтении неизвестного ШК софт на компе выводит модальную мессагу "Блаблабла не найден", но продолжает ставить в очередь обработки все ШК, сосканированные во время этой блокировки. После снятия блокировки - берем следующий ШК из очереди, обрабатываем и так далее. Два года полёт нормальный.
|
|||
10
REM
27.11.12
✎
09:16
|
(9) Ну в принципе реализация аналогичная. Только если штрих код не найден и сканируем дальше другие товары, ставя их в очередь, то как потом найти товар с неизвестным штрихкодом?
|
|||
11
Тихий омут
27.11.12
✎
09:31
|
(10) Ищут как-то. Были разные мысли о сигнализации чтения неизвестного ШК - и звук выдавали, и лампу вешали красную - толку нуль, всё равно хватают следующую коробку (на том участке, где всё это работает - только упаковки и коробки, штучного нет) и сканируют, сканируют... а конвейер идет, идёт и подает их в машину... В общем, у нас операторы настояли именно на таком подходе. Попробуй сам с простого, как изначально задумал, только не вдавайся в полное прямое управление сканером, а начни с софтовой блокировки приема ШК после неизвестного. Ну а не понравится людям - сделаешь очередь, это не намного сложнее. Потом расскажешь, что удобнее для ваших пользователей)))
|
|||
12
FirstOrsk
27.11.12
✎
09:48
|
(7) Отрабатываю по первому варианту, в эске сделал Сигнал() и модальное окно. На виндозный звук по умолчанию повесил сирену, выведу колонку наружу, как блютузный сканер придет. Наши 3 производителя драйверов пока молчат. Вышел на Атол'овского партнера, он тоже отправил запрос. Пока молчат.
С удивлением узнал, что куча старого оборудования на COM-порту использовала Xon/Xoff. Это же так просто: надо-включил, не надо - выключил. Однако производители софта решили еще проще) (9) Мне как раз надо было _отключить_ полноценную очередь) Спасибо всем, кто откликнулся! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |