В прошлом я занимался 1С, но со временем перешел на низкоуровневые языки. В том числе начал заниматься разработкой электроники на заказ. В этой статье попробую описать простой способ управления электроникой из 1С.
Конечно, сама платформа 1С не предназначена для подобных вещей, но для разовых случаев подобные методы вполне уместны.
Для включения и выключения с немалым током питания первым делом нам нужен нужен блок реле. Я уже давно использую блок ICSE012A от компании ICStation. Стоимость такой платы около 400 рублей при заказе из Китая. Плюсы у этой платы в том, что нет необходимости городить дополнительные способы подключения реле к компьютеру. Достаточно провода microUSB и у вас на компьютере сразу появится COM порт (Внимание! Проблема с драйвера при работе с Windows 10, возможно, придется помучиться).
Теперь нам надо научиться отправлять данные на плату.
Согласно документации для инициализации платы мы должны отправить на нее байты 0x50 0x51. После чего реле перейдет в режим работы. Отправляя последовательность битов, мы включаем или выключаем реле. Например, отправив биты 0000, вы включим все 4 реле, 1111 - выключим все 4, а отправив 0101 - включем первое и третье. Но это все теория. Давайте рассмотрим реальный вариант использования. Дабы исключить ошибки в работе я прикрепил к публикации исходники рабочей программы на Java по управлению данным типом реле. 1С будет вызывать данные программы и передавать им нужные параметры.
Первым делом скачиваем и устанавливаем Java машину с официального сайта https://www.java.com/ru/download/
Распаковываем архив (Утилита включение и выключение электроприборов из 1С jar) и видим там 2 папки - GUI и NoGUI. Для первого тестирования нам понадобиться папка GUI. Заходим в папку с командной строки, где лежит файл Java.jar и запускаем его командной java -jar Java.jar COM9. Где COM9 - это порт под которым плата определилась в системе. После этого откроется форма с помощью которой можно управлять платой реле.
Если все прошло правильно и плата отзывается, можно переходить к следующему шагу - подключения платы к 1С. Для этого нам понадобится другая утилита NoGUI. Скачиваем и запускаем обработку для 1С. Обработка протестирована на платформе 1С 8.3.4.437.
Никаких трудностей при наличии нужных прав у пользователя возникнуть не должно. Меняем пути в обработке на соответствующие у вас на компьютере, нажимаем кнопку Инициализировать и дальше модно управлять платой с помощью флажков и кнопки Отправить.
Теперь, когда все у нас работает, можно подключать любые приборы к Реле по схеме ниже:
Для данной платы можно подключить необходимые приборы с мощностью до 2 кватт на переменном напряжении (изучите что будет написано на реле вашей платы). Помимо простых приборов, каждое реле можно использовать для имитации нажатия кнопок на системах контроля доступа. При особом желании может получиться умный дом под управлением 1С. RelayTools может также работать и на ОС Linux и MacOS, с внесением поправок в пути и названия COM портов.
Если данный вопрос по подключению различной периферии к 1С вам интересен, пишите в комментариях. Пока мы находимся в режиме самоизоляции, есть время написать что-нибудь еще. Например: считывания показаний датчиков, распознавания образов (в том числе и использования камеры для массового считывания штрих кодов DataMatrix при маркировке), подключение датчиков через wifi или радио канал и все что предложите.