gifts2017

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

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

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