|
Работа с COM портом | ☑ | ||
---|---|---|---|---|
0
soleg78
27.01.13
✎
19:48
|
Доброго времени суток!
платформа 8.2.15 пробую подключить весы через СОМ порт для этого пробую написать следующее: Процедура ПриНачалеРаботыСистемы() ЗагрузитьВнешнююКомпоненту("vk_rs232"); Попытка rs232=Новый("AddIn.vk_rs232"); ИмяПорта="Com4"; rs232.ОткрытьПорт(ИмяПорта); Исключение Сообщить("Объект не найден"); КонецПопытки; Все проходит без ошибок не могу считать текущие данные в Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)приходят одни и теже значения например Источник =vk_rs232 Событие = BarCodeValue // почему BarCode???? это вродя для сканера Данные = ST,GS, 0.55,kg , где 0.55-это вес который получаеться на весах при запуске системмы кто может поделится как ОнЛайн считывать данные с СОМ порта? |
|||
1
oleg_km
27.01.13
✎
19:55
|
Terminal считывает? Мы пользуемся ActiveX из MS Visual Studio 2003 уже года три. Иногда подвисает, приходится перезапускать компьютер, но мне кажется это просто беда COM
|
|||
2
soleg78
27.01.13
✎
20:00
|
Terminal - пока локально, но потом надо прикрутить в терминальном режиме
с весов есть только СОМ выход "Мы пользуемся ActiveX из MS Visual Studio 2003 "...А поделиться кусочком кода можите ? |
|||
3
soleg78
27.01.13
✎
20:22
|
а может эта компонента вообще не для сканера?
|
|||
4
oleg_km
27.01.13
✎
20:26
|
Моя компонента просто для КОМ-порта, поэтому работает с любым устройством подключенным к КОМ порту, физическому или виртуальному. До этого пользовались 1С-ной забыл как называется на диске ИТС есть. У нас с ее помощью работают сканеры ШК и GPRS модем принимает и отсылает СМС
кусочек кода: Процедура ИнициализироватьСканер() Экспорт ЭлементыФормы.Сканер.CommPort = ПолучитьОбщуюНастройку("Системные\ШтрихКод\ПортСканера"); Попытки = 3; Пока Попытки <> 0 Цикл Ошибка = ""; Попытка ЭлементыФормы.Сканер.PortOpen = Истина; Исключение Ошибка = ОписаниеОшибки(); Если НЕ СтрСодержит(Ошибка, "Invalid port number") Тогда ЗаписьЖурналаРегистрации("Сканер Штрих-кодов", УровеньЖурналаРегистрации.Предупреждение,,, Ошибка); КонецЕсли; КонецПопытки; Если СтрСодержит(Ошибка, "Port already open") Тогда Попытки = Попытки - 1; GetAddIn().Sleep(2000); Иначе Попытки = 0; КонецЕсли; КонецЦикла; ОбновитьКнопкуШК(); Данные = ""; КонецПроцедуры Процедура ОсвободитьСканер() Экспорт Если ПроверитьПорт() Тогда ЭлементыФормы.Сканер.PortOpen = Ложь; КонецЕсли; ОбновитьКнопкуШК(); КонецПроцедуры Процедура СканерOnComm(Элемент) Буфер = Элемент.Input; Буфер = СтрЗаменить(Буфер, Символы.ВК, ""); Буфер = СтрЗаменить(Буфер, Символы.ПС, ""); Данные = Данные + Буфер; ПодключитьОбработчикОжидания("ОбработатьЧтениеШтрихкода", 0.1, Истина); КонецПроцедуры Там вобщемто все просто, есть событие при приходе данных и все |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |