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
|
|
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, Истина);
КонецПроцедуры
Там вобщемто все просто, есть событие при приходе данных и все
|
|