bdd2

Температура в 1С

Опубликовал Олег Поцелуев (pophmail) в раздел Программирование - Внешние компоненты

Внешняя компонента (для 7.7 и 8.хх) позволяющая работать с сетью microLAN и устройствами с интерфейсом 1-Wire а именно получать значения температуры от датчиков DS18B20 и DS18S20 непосредственно в 1С.

- 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.

Скачать файлы

Наименование Файл Версия Размер
OneWire1C.ZIP
.ZIP 1,58Mb
31.03.12
17
.ZIP 1,58Mb 17 Скачать
OneWire1C78s.zip
.ZIP 221,77Kb
04.04.12
6
.ZIP 221,77Kb 6 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Олег Поцелуев (pophmail) 104 01.04.12 21:10 Сейчас в теме
Компонента будет работать и в среде 1С 8.хх, но не полностью, всё кроме метода "ПоискУстройств()". Если возникнет необходимость в этом методе под "8" могу немного доработать - например будет возвращать строку с ID устройств разделённых запятыми а не список значений.
Компонента так же может быть использована для идентификации пользователей если использовать устройтва DS1990 (iButton) т.е. "таблетки" для домофона - система получиться очень простой и относительно недорогой, а при использовании самодельных адаптеров вобще копеечной (если есть возможность их изготовить). Подтврждение критически важных действий, вход в систему, система учета рабочего времени и т.д.

Можно расширть функциональность компоненты, разнообразных устройств 1-Wire довольно много, например ключ DS2413 - можно из "1С" что либо включать/выключать, настольную лампу к примеру...

Ссылка по теме: http://www.ab-log.ru/smart-house/1-wire-modules/shop

- v120404 Метод ПоискУстройств() теперь работает и в "8" и в "7" возвращая строку с ID устройств.
2. AvtoBuhgalter ООО (AvtoBuhgalter) 117 02.04.12 15:10 Сейчас в теме
(1) Конечно было бы интересно и для 8-ки всё испробовать.
3. Олег Поцелуев (pophmail) 104 04.04.12 12:23 Сейчас в теме
4. Саня Пупкин (pupkinSana) 20 07.04.12 16:37 Сейчас в теме
Интересно конечно... Потом составлять отчеты по списку температур в разрезе плана счетов:)))) Думаю умный дом - один из шагов к виртуальной женщине - хозяйке этого дома. Самому мониторить дом глупо, для кого-то писать проги мониторинга еще глупее. Работать на работе, а дома нужно отдыхать: замерз - иди подкинь дровишек в печку. Перемерзла вода - иди отогревай. А вот так управлять датчиками и писать проги самостоятельно - велика вероятность на суммируюмую ошибку - запорешь один раз всю систему где не учел параметр (не дай Бог будут дети дома). На производстве (на работе) наверняка незаменимая вещь будет. Опыты может ставить какие.
5. Сергей Борзенков (flashorl) 07.04.12 18:31 Сейчас в теме
спасибо за статью, утопал пробовать)
6. Олег Поцелуев (pophmail) 104 07.04.12 21:22 Сейчас в теме
(4) pupkinSana, <к виртуальной женщине> говорите, Фрейда в детстве читали? :-))) Словосочетание "Умный дом" придумано маркетологами продвигающими соответствующую продукцию к которой ими причислены часть изделий фирмы Dallas/Maxim (распространённый слоган в сети). Термометры DS18x20, калиброванные и допущенные на территории РФ в качестве средств измерения и имеющие соответствующие сертификаты, очень широко применяются для различных систем мониторинга, при автоматизации производственных процессов и т.д., ввиду относительной "простоты" (организация шины) используются где только можно и даже в "быту". Я нигде не предлагал с помощью "1С" управлять каким либо оборудованием в реальном времени (хотя в принципе и это возможно) а вот мониторить какую либо систему и собирать данные вполне реально, в вкупе с простотой реализации решений в "1С:Предприятие", например мониторинг температуры в холодильных камерах для хранения товара, продукции исключительно для информационно-аналитических целей. А вот регулировка температуры в этих же камерах это уже другой класс задач - тут оптимальное решение система на базе микроконтроллера с теми же датчиками DS18x20...
7. Kostya Zhurov (It-developer) 20 29.07.13 16:53 Сейчас в теме
8. Алекс Ю (AlexO) 112 29.07.13 16:56 Сейчас в теме
(6) pophmail,
Я нигде не предлагал с помощью "1С" управлять каким либо оборудованием в реальном времени

Вы хотите, чтобы "умный дом" сошел с ума и бросился с обрыва в реку? :)
9. Олег Поцелуев (pophmail) 104 29.07.13 18:27 Сейчас в теме
(7)(8) - Вроде не вечер пятницы, вы это о чём?
10. Михаил Ражиков (tango) 467 29.07.13 18:46 Сейчас в теме
usb-порт в 1се кто-нибудь разбирал?
11. Олег Поцелуев (pophmail) 104 29.07.13 18:49 Сейчас в теме
Ээээ, а что нужно, работать с HID устройствами напрямую из 1С без доп. компонент ;-)?
12. Михаил Ражиков (tango) 467 30.07.13 10:04 Сейчас в теме
(11) pophmail, да хоть с собственной виндовой - примерчик бы или доку. или ссылу где копать
13. Олег Поцелуев (pophmail) 104 30.07.13 14:45 Сейчас в теме
Посмотрите ссылки ниже, возможно направит на путь правильный...:

http://microsin.net/programming/PC/usb-hid-libraries.html
http://microsin.ru/content/view/1084/
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа