Электронные весы. Обработка внешнего события #538510


#0 by mishaPH
Коллеги. есть веся cas AD, есть атоловский драйвер. вроде все работет. но. Помоему есть режим работы весов при котором после стабилизации веса в 1С должно генерится внешшнее событие как со сканером ШК ну и получить вес. чтобы пользователь не жал кнопки. Как эту фигню включить. что-то не выходит
#1 by mishaPH
может у кого-то еть примерчики кода
#2 by mishaPH
ап
#3 by MikeFromAtol
В этом примере нет ничего похожего?
#4 by ДенисЧ
"Помоему есть режим работы" А в документации что написано?
#5 by mishaPH
да там все есть, тестовая работает библиотека. вес получает. в ней даже естьобработка внешнего события. но вот сами весы не выдают это событие. или эта модель не выдает в порт ничего без запроса?
#6 by mishaPH
в какой? там об этом не напишут.
#7 by mishaPH
что-то сдается мне что эти весы внешнего события не ренерируют
#8 by MikeFromAtol
ну сами весы умеют только вес передавать когда он стабилизируется. Событие должен драйвер сгенерить. Посмотри описание команд драйвера:
#9 by mishaPH
а он вот не хочет
#10 by mishaPH
читал. там об этом что-то нет ничего
#11 by MikeFromAtol
Сейчас уточнил у ведущего разработчика драйверов. Да, действительно драйвер обычных электронных весов не генерит внешнее событие в 1С, прощу прощения, был неправ. Как вариант, просто в цикле вызывать ПолучитьВес раз в секунду например и анализировать код ошибки
#12 by mishaPH
ну так и подумал. смореть на стабильность веса пок ане стабилен не брать, чтобы не равнялся предыдущему ну и т.п.
#13 by mishaPH
а необычный какой генерит?
#14 by mishaPH
или каких весов посоветуете?
#15 by MikeFromAtol
просто есть еще драйвер весов с печатью этикеток - их часто путают. Но тот тоже ничего не генерит, он вообще умеет только в весы список товаров выгружать.
#16 by mishaPH
т.е. весы в принципе никаких событий не генерят?
#17 by MikeFromAtol
весы - наверняка не уверен. Наш драйвер не генерит точно.
#18 by mishaPH
Так народ. а у кого есть инфа по тому, какой драйвер генерит от весов события?
#19 by Torquader
На самом деле, весы отвечают на запрос веса из компьютера - то есть они сами инициатором события выступать не могут. Но, если написать "посредник", то есть драйвер, который опрашивает весы, и в случае успеха генерит событие. Всё просто и ясно - напишите сами.
#20 by AlexNew
Масса-К и не только, а по-моему ошибается, кажется именно с их дровами как-то подключал.
#21 by MikeFromAtol
не ошибаюсь так как сегодня специально консультировался с ведущим разработчиком этих драйвером, см
#22 by AlexNew
Возьму свои слова обратно (пока) не могу точно указать модель и драйвер.
#23 by AlexNew
Не про Atol.
#24 by Torquader
У Штрих-М в драйвере была "чудо-процедура" которая отслеживает вес и когда он становится доступным (то есть весы уравновешены) передаёт в приложение сообщение (обратным вызовом), но как это "прикручивается" к 1С - не могу сказать, но там количество обратных "вызовов" в единицу времени даже менялось. Используется сия "возможность" для рабочего места кассира Штрих-М для вывода веса в отдельное поле интерфейса (из которого его можно "считать" нажатием Х).
#25 by mishaPH
зачем тогда в модуле по весам который идет к драйверам, есть обработка внешнего события? не просто же так написали.
#26 by mishaPH
пока сделал цикл и получаю данные от весов 1 раз в секунду. быстрее драйвер не работает Scale.ReadWeight;   1 секунду получает данные по ком порту. интересно а можно ли ускорить данное событие
#27 by MikeFromAtol
сложно сказать. Вообще к сожалению типовые обработки для торгового оборудования, мягко сказать, не блещут адекватностью. Просто пример - драйвер для ФР. Мы еще год назад по просьбе 1С изменили логику работы функции ПечатьФискальнойСтроки. 1С до сих пор не поправила обработку. попробую уточнить, есть ли временные ограничения.
#28 by mishaPH
+27 ага или тормоза ограниченные только скоростью порта. Кстати по идее объект Scale получает не малую табличку. А надо номер весов, вес, стабилизирован ли вес. и все.я думаю по идее будет гораздо быстрее.
#29 by MikeFromAtol
Уточнил. Да, для модели Cas AD таймаут запроса веса принудительно поставлен 1 секунда. Это связано с тем, что есть модели с разными прошивками - одни в ответ на запрос присылают 15 байт, а другие - 16. Различить их невозможно (т.е. понять сколько байт ждать от конкретных весов), поэтому пришлось решать проблему тупо - ждать секунду, чтобы ответ пришел наверняка.
#30 by mishaPH
о а можно как-то этот таймаут регулировать?
#31 by mishaPH
самостоятельно. или точно для себя выставить 15 или 16 байт для моей модели. можно ли доработать.
#32 by MikeFromAtol
таймаут в драйвере - нет, он жестко в коде прописан. Насчет весов - не знаю к сожалению, надо мануал читать по весам
#33 by mishaPH
кстати. я выставлял в драйвере кроме AD, EP,SC, ER все работало для AD. у них тоже по 1 сек выставлено?
#34 by mishaPH
регулируемым можно сделать? доработать за денежку естественно. персонально для нас ;)
#35 by MikeFromAtol
протокол обмена у этих моделей один и тот же, а вот таймауты - не уверен, надо смотреть исходник драйвера. Насчет доработки - в ближайшее время вряд ли, даже за денежку. Сейчас уточню у разработчика, если есть смысл - сделаем так в какое то ближайшее время :)
#36 by mishaPH
ок. ато для магазина например оно не критично. а вот на пр-ве когда надо взвесить много упаковок подряд уже засада
#37 by MikeFromAtol
Поговорил - реализовывать настройку таймаута только для 1 или нескольких моделей довольно сложно. Да и по факту может привести к тому, что будут выставлять заведомо неправильные параметры и потом предъявлять претензии. Возможно, в каком нить обозримом будущем для сабжевой ситуации сделаем следующее - первый раз ждем что придет, 15 или 16 байт, и в следующий раз уже не ждем секунду, а ждем пока не придет ответ конкретной длинны.
#38 by mishaPH
вот это по умному. весы подключены, первый таймайт 1 сек. потом уже смысла нет ждать известно же какой пакет. Странно что ранее не сделали так. Я не думаю что кто-то будет предъявлять какие-то претеньзии. по умолчанию 1 сек. есть желание изменить - все будут понимать что на свой страх. скорости же порта можно задавать при желании на сое усмотрения. как будет работать так и оставляют.
#39 by big
мдя... действительно, для производства довольно серьезный нюанс. А пробовали искать весы именно для производства? А то создается впечатление, что имеется "экономия на спичках". М.б. все-таки взять нормальную, ориентированную на производство модель??  Потом, кстати, могут возникнуть ещё какие-нибудь нюансы (это так, по опыту жизни), всё сразу трудно предугадать. В торговле это проще, а вот в производстве ИМХО гораздо критичнее.
#40 by mishaPH
дело в том, что вся производственная техника поставка от заказа 2-3 месяца. бицерба например. стоимость в 5 раз выше связки cas весы - TSC принтер этикеток. Цех открывают скоро и на начальных этапах должна работать эта связка. там на самом деле сильно быстро и не надо. в любом случае пока работник коробку наполнит, поставит на весы, этикетка напечатается и приклеит. пока взвешивает печатает он другую наполняет. и 1 сек в принципе пойдет. В дальнейшем покупается уже автоматическая линия. Но сроки поставок и наладки такого оборудования вообще от полугода.
#41 by MikeFromAtol
драйвер обычных электронных весов - скажем так не самый приоритетный драйвер, поэтому сильно его и не наворачивали. И если честно это первая претензия к нему в плане таймаутов и времени получения веса :)
#42 by mishaPH
;) ну все бывает впервые. но претеньзия моя всетаки имеет место быть.
#43 by MikeFromAtol
претензию учли, думаю что в течение месяца-двух попробуем сделать :)
#44 by mishaPH
ок. ждемс.;)
#45 by mishaPH
Кстати коллега еще вопрос. а 2е весов к одному компу можно подключить? в одну сессию 1с? на 2 разных порта.
#46 by MikeFromAtol
я так понимаю что да. В драйвере есть понятие логических устройств, в 1С это фактически просто разные записи в справочнике торгового оборудования. Так что проблем быть не должно. Единственно что, наверное не получится одновременно работать с весами - только по очереди. Но это надо проверять практическим путем.
#47 by MikeFromAtol
+ >>в 1С это фактически просто разные записи в справочнике торгового оборудования с разными параметрами подключения, естественно
#48 by mishaPH
Да это понятно что по очереди, или в разных сессиях 1с. просто в настройках драйвера принтера не заметил возможности одновременного подключения. но счас просто на компе 1 порт. а так я видел, что номер устройства возвращается
#49 by MikeFromAtol
должно быть поле под названием "Текущее устройство" - это и есть выбор логического устройства для работы
#50 by MikeFromAtol
Такс, я когда писал (46-47) забыл что мы говорим о 7.7. Я уже и не помню как там все сделано, когда говорил про справочник торгового оборудования - имел в виду типовые конфы на 8.х
#51 by mishaPH
а там также. ок посмотрим
#52 by MikeFromAtol
стр 11 раздел логические устройства.
#53 by Torquader
Можно ещё взять MSCommControl и на нём написать обмен с весами, причём по низкоуровнему протоколу - там и таймауты можно самим выбирать и обмениваться с двумя весами одновременно (у меня два принтера в параллель работали). Только проще внешнюю компоненту написать, чтобы она работала - через обработку внешнего события. P.S. а 15 или 16 байт - это очень легко определяется из контекста - читаем 15, смотрим, а нужен ли нам 16-тый и дочитываем по необходимости - есть другие устройства, где длина команд вообще зависит от контекста, но никто на таймауты и не смотрит - читаем, пока читается.
#54 by big
этот компонент не бесплатный, придется нарушить закон.
#55 by mishaPH
купим если надо будет.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С