1. Необходимо зарегистрировать внешнюю компоненту.
Файлик внешней компоненты поместите на диск С или можно в другой удобный для вас каталог и нажмите кнопку Пуск; – в текстовое поле Найти программы и файлы введите regsvr32 C:\us_rs232.dll –> Enter (Для Win7).
2. Подключение и передача параметров для работы компоненты
При открытии формы необходимо Подключить внешнюю компоненту:
Процедура ПодключитьВесы() //ТекПользователь = глЗначениеПеременной("глТекущийПользователь"); //ВесовоеОб = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ВесовоеОборудование"); //Порт = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "Порт"); //СкоростьОбмена = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "СкоростьОбмена"); //БитыДанных = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "БитыДанных"); //Четность = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "Четность"); //СтопБиты = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "СтопБиты"); //Чувствительность= УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "Чувствительность"); ВесовоеОб = "Vibra AJ"; Порт = "COM7"; СкоростьОбмена = "1200"; БитыДанных = "8"; Четность = "НЕТ"; СтопБиты = "1"; Чувствительность = "30"; Если (ВесовоеОб = Неопределено) или (ВесовоеОб = Перечисления.ВесовоеОборудование.ПустаяСсылка()) Тогда Возврат; Иначе //загрузить компоненты Если Не ВесовоеОб = Перечисления.ВесовоеОборудование.VibraAJ Тогда Возврат; КонецЕсли; КонецЕсли; Если Порт = "" Тогда Сообщить("Не указан Порт!",СтатусСообщения.Важное); Возврат; КонецЕсли; ПрогИД = "AddIn.us_rs232"; Попытка ПодключитьВнешнююКомпоненту(ПрогИД); Исключение Сообщить("Неудалось подключить внешную компоненту AddIn.us_rs232"); Возврат; КонецПопытки; Попытка ДллВесы = новый (ПрогИД); Исключение Сообщить("Неудалось создать обьект AddIn.us_rs232"); СтатусКомпоненты = Ложь; ДллВесы = Неопределено; // Статус(); Возврат; КонецПопытки; Попытка НовУстройство = дллВесы.СоздатьУстройство(); Исключение Сообщить("Невозможно создать больше устройств! Удалите какие нибудь из имеющихся!"); Возврат; КонецПопытки; Устройство = НовУстройство; дллВесы.НомерУстройства = Устройство; // заполняем параметры по умолчанию дллВесы.НомерУстройства = Устройство; Попытка дллВесы.ИмяСобытия = "USBarCodeValue"; дллВесы.Порт = СокрЛП(Порт); дллВесы.СкоростьОбмена = СокрЛП(СкоростьОбмена); дллВесы.БитыДанных = СокрЛП(БитыДанных); дллВесы.Четность = СокрЛП(Четность); дллВесы.СтопБиты = СокрЛП(СтопБиты); дллВесы.Чувствительность = СокрЛП(Чувствительность); дллВесы.Маркер = ""; дллВесы.Префикс = ""; дллВесы.Суффикс = ""; дллВесы.ОткрытьПорт(); дллВесы.Пуск(); Исключение Сообщить("Неудалось открыть порт с текущими настройками подключения. Проверьте настройки и закройте другие программы подключенные к оборудованию!"); Возврат; КонецПопытки; ЭлементыФормы.Вес.Доступность = Ложь; КонецПроцедуры
3. Обработка внешнего события
Необходимо обработать внешнее событие в форме и распарсить результат, который возвращают нам весы в нужный нам формат (подробно это реализовано в обработке)
4. Обработка ПриЗакрытии
При закрытии формы необходимо закрыть порт:
Процедура ПриЗакрытии() Попытка дллВесы.Стоп(); дллВесы.ЗакрытьПорт(); дллВесы.УдалитьУстройство(); Исключение КонецПопытки; КонецПроцедуры
5. Настройка режима весов
В руководстве по эксплуатации весов вы найдете, как установить Контроль вывода данных в позицию - "Непрерывный вывод данных при стабильных показаниях".
Можно, конечно, и другой режим, но на мое усмотрение это самый подходящий режим.