WirenBoard 6 и ПЛК Овен 110 по Modbus

Добрый день! Планирую купить wirenboard 6 и подвязать его к уже установленному контроллеру ПЛК Овен 110 первой генерации.
Вопрос собственно в том, по модбас я смогу свободно получать состояние входов и выходов и полностью ими управлять через WirenBoard?
ПЛК Овен на данный момент управляет светом в частном доме, на него заведены выключатели, на выходах реле, которые собственно управляют светом.
Хочется оставить эту систему, а сверху уже прикрутить wirenboard

Да.

Здравствуйте! Судя по инструкции от Овен:

да, можно. При этом ПЛК Овен 110 можно запрограммировать как Modbus RTU Slave и опрашивать по интерфейсу RS-485, так и как Modbus TCP Slave и опрашивать по Ethernet.

По стандартам я понимаю что можно. Расскажу свой опыт. Пытался этот ПЛК подвязать к iobroker. Но блин там настолько хитро надо побитно разложить регистр из 16 бит, потом отразить его (примерно так 8-1, 16-8) после этого преобразить. 0 и 1 в true и false, но в итоге нормально оно не заработало. Были моменты, когда несколько раз сменишь состояние переменной и контроллер начинал «моргать» выходом с неистовой скоростью. Поэтому и пишу сюда, возможно ли тут получить помощь в этом вопросе

Думаю, надо уточнить суть вопроса.
Если вопрос в том, нормально ли работает ОВЕН ПЛК110 как Modbus Slave, или есть какие-то ограничения, то это лучше задать инженерам Овена, наши инженеры по чужим устройствам вряд ли подскажут.
Если вопрос в том, был ли у кого-то опыт подключения Овен 110 как Modbus Slave к Wiren Board, то этот вопрос можно задать. Такой вопрос тоже не относится к официальной техподдержке (мы не тестировали подключение ОВЕН ПЛК110), но возможно у кого-то из пользователей был такой опыт, и он откликнется.
Если вопрос в том, поддерживает ли Wiren Board какой-то формат значений, или какую-то специальную их обработку, то нужно конкретизировать вопрос.

Ещё, как вариант, вы можете проверить совместную работу сами: купить Wiren Board 6, а если что-то пойдёт не так, вернуть, оплатив только цену перепроверки Условия возврата - решения для автоматизации

1 Like

Не вижу проблемы в упор. Если овна корректно запрогать, он корректно отвечает по modbus. Если корректно запрогать вайрена - ну Вы поняли.

А когда возникают проблемы с выворачиванием байта - ну, можно профи пригласить, можно самому потренироваться для начала.

Позиция понятна) Если тут есть человек, который за вознаграждение готов сделать мне нормальную интеграцию, буду рад) Как бы в iobroker вроде все заработало, но не до конца, хочется полного безглючного решения

Нашел coil регистры, которые корректно считываются как BOOL, вот только не могу понять, как организовать обратную связь, я так понимаю, что модбас не позволяет писать и считывать одну и ту же переменную с двух сторон (с мастера и слейва). Да еще и сложность в том, что у меня управление клавишами без с фиксации. А дальше пытаюсь управление пробросить в apple home. Но как в таком случае сделать обратную связь? Овен в качестве железки, отвечающей только за свет, отлично себе зарекомендовал с 2014 года, никаких задержек и зависаний, хотелось бы его оставить, но грамотно связать с “надстройками”

Поясните, какую именно связь вы хотите реализовать?
Я вижу задачу так: послать сигнал на Овен включить свет, прочитать статус включения света из Овена и убедиться, что свет включен.
С Wirenboard вы устанавливаете, например, нужный coil в 1, подавая команду на включение света. Овен включает свет и выставляет другой заранее определенный бит статуса состояния света в 1. С Wirenboard вы читаете бит статуса и убеждаетесь, что команда выполнена. То есть потребуются 2 регистра: 1 coil для управления и 1 descrete для статуса света в контроллере Овен.

Почему? Для мастера - это просто значание, в удаленном coil. Вот тут
https://wirenboard.com/wiki/MQTT#.D0.A1.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D1.8F_.E2.80.94_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D1.8B_.D0.BD.D0.B0_.D0.B8.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D1.8F
Описано подробней.
То есть цепочка с точки зрения контроллера такая:
ПО (скрипт, например) хочет изменить какой-то регистр на slave. Дрйвер устанавливает этот регистр , а значение в соответствующем топике slave-устройства меняется только когда оно реально установлено. То есть чтение реального состояния - не связано с записью в регистр.
Инями словами - можно в slave писать значение, оно в любом члучае поменяется когда будет реально записано и прочитано, ситуации когда на контроллере поменяется значение без действительного изменения - исключены.