- 12.04.04
Новая версия компоненты. Теперь работает в среде 8.хх (и в 7.7), но в отличие от предидущей версии метод ПоискУстройств() возвращает не список значений а строку с разделителями в стиле 7.7, поиск ограничен десятью устройствами 1-Wire, что более чем достаточно т.к. обычно требуется обнаруживать только новые устройства (по одному) и сохранять их ID например в справочнике...
Компонента теперь называется OneWire1C78s.dll . В архиве OneWire1C78s.ZIP сама компонента и два внешних отчета для "7.7" и "8.2".
-12.03.31
Компонента OneWire1C.dll довольно специфична. Требовалось автоматически получать температуру на складе в момент отгрузки товара без участия оператора. Может быть использована для мониторинга температуры различных объектов на производстве и дома…
Для работы компоненты в системе должны быть установлены драйвера 1-Wire (в архиве для 32 разрядных версий Windows от Maxim/DALLAS) к компьютеру подключен какой либо адаптер шины а драйвер сконфигурирован для использования этого адаптера. Большинство адаптеров подключаются к COM порту или USB. Предложений готовых адаптеров и термометров с DS18b20 достаточно, поищите в сети («умный дом»). Стоимость довольно умеренная, кроме того адаптер можно изготовить самостоятельно – два возможных варианта принципиальной схемы в архиве. Если использовать адаптер «фирменный» то длина сети 1-Wire может быть до300 метрова количество датчиков более сотни. У меня прекрасно работает с тремя датчиками и адаптером собранным по схеме на КТ315Б транзисторах при длине кабеля около15 метров. Компьютер с Windows XP SP3, 1С:Предприятие 7.7 (с 8.ХХ работать не будет…)
В текущей версии компоненты реализовано всего четыре метода:
1. Инициализация()
- передаваемых параметров нет
- возвращаемые значения: ‘0’ – ок, ‘-1’,’-2’,’-3’– проблемы с адаптером или драйверами
2. ПоискУстройств()
- передаваемых параметров нет
- возвращает список значений, содержащий уникальные серийные номера всех устройств подключенных, на момент исполнения метода, к сети microLAN через адаптер интерфейса 1-Wire.
3. ПолучитьТемпературу(id)
- id символьное представление (строка из 16 символов) уникального серийного номера термометра в HEX формате – одно из значений возвращаемых методом ПоискУстройств() или известное заранее.
- возвращает строку формата '-xxx.xx' с температурой или код ошибки:
- '1000.00' – недействительный переданный серийный номер
- '1001.00' – попытка получить температуру не с термометра
- '1002.00' – нет ответа от термометра или неверный CRC
- '1003.00' – возможно не было инициализации
4. Опрограмме()
- передаваемых параметров нет
- возвращает строку с версией и выводит диалоговое окно с этой же информацией.
В архиве находится внешний отчет с примерами процедур загрузки компоненты и использования методов.
Перед использованием компоненту необходимо зарегистрировать – regsvr32 OneWire1C.dll
Как использовать:
Установить драйвера 1-Wire, как показано на скриншоте выбрать тип адаптера подключено к компьютеру, собственно к адаптеру подключить какое либо устройство с интерфейсом 1-Wire – термометр DS18B20 или 'таблетку' домофона, поместить OneWire1C.dll в каталог bin или базы данных, запустить 1С:Предприятие с любой конфигурацией, запустить обработку 1C-1WIRE.ert.