PDA

Просмотр полной версии : Modbus Счётчик нажатий и импульс в ОВНЕ



horon
29.08.2024, 21:22
Всем привет! Есть пр102, к модбас слейву подключен прибор в регистрах которого есть счётчик. Как сделать в ОВНЕ импульс (заданной продолжительности, TP) при увеличения значения в сетевой переменной соответствующей регистру счётчика?

kondor3000
29.08.2024, 21:50
Всем привет! Есть пр102, к модбас слейву подключен прибор в регистрах которого есть счётчик. Как сделать в ОВНЕ импульс (заданной продолжительности, TP) при увеличения значения в сетевой переменной соответствующей регистру счётчика?

Переменную записывать в Блок Write to fb, который запишет время в ms в нужный таймер, скрин 78329
Для 5 сек, надо записать 5000, либо передать число 5 и перед записью умножить на 1000.

Cs-Cs
29.08.2024, 22:34
Если я верно понял, то алгоритм такой:
* Отслеживаем предыдущее значение счётчика (в отдельной переменной)
* Сравниваем его с текущим, которое получаем по Modbus (через EQ)
* Если они равны - ничего не делаем
* Если НЕ равны, то делаем два дела:
- Записываем в Предыдущее текущее (через SEL с обратной связью)
- Дёргаем через R_TRIG таймер TP, как показал kondor3000

horon
29.08.2024, 22:51
Спасибо +- так. Не могу сообразить как сделать с sel(((

p.s. Обожаю твои статьи про то как раздалбывают панельные дома.

horon
29.08.2024, 22:53
А куда в таком примере класть логику сравнения значения из сетевой переменной с текущей?

Cs-Cs
29.08.2024, 23:03
Спасибо +- так. Не могу сообразить как сделать с sel(((
p.s. Обожаю твои статьи про то как раздалбывают панельные дома.
Ну, примерно так: если равны - то SEL пишет в ту же переменную прошлое значение из самой себя, а если не равны - то пишет новое значение.
Вот. Накидал. Проверил в симуляторе. Обрати внимание на обратные связи на ValPrev в двух местах! Это важно!
78332
Если таких штуковин будет много - сделай из этого кода Макрос (тогда ValCur будет входом, а ValPrev - переменной внутри макроса). Я примерно такой алгортим использую, чтобы обрабатывать изменения удалённых регистров-команд из Облака ОВЕН.
Про раздалбывают дома уже устарело =) Теперь интересно про ПЛК и ПРки.

horon
29.08.2024, 23:10
Спасибо буду пробовать!

Cs-Cs
30.08.2024, 08:03
Пожалуйста. Только там пробовать нечего. Если ты хоть чуть-чуть разбираешься в OWL (опять же, у меня есть про него базовые посты на сайте), то всё сразу получится.
Отпишись потом о результатах.

horon
30.08.2024, 10:38
Накидал макрос, немного дополнив логику для управления из HA. Считываем числительное количества нажатий, при изменении посылаем пуш вызов на макрос управление нажатием.

При получении сигнала в slave регистр овна по rs 485 от HA так же включаем нагрузку.

7834078341

Прекрасно работает. Всем спасибо!

Сергей0308
30.08.2024, 10:49
Накидал макрос, немного дополнив логику для управления из HA.
7834078341

Прекрасно работает.

А, зачем инвертор и целочисленный SEL, в смысле, может их убрать и просто преобразовать булево значение в целочисленное?!

horon
30.08.2024, 10:55
В home assistant modbus light не корректно работает отображение текущего статуса света, если его включать с кнопки а не из ha в случае если в овне делать иначе. Решил вопрос инвентором и SELом, может как то можно более правильно сделать.

Cs-Cs
30.08.2024, 15:44
Ааа, так ты с HA делаешь! Круто! Я только позавчера стал изучать их модуль Modbus.
Если это именно свет - то я сделал через Coil, и без всяких счётчиков.

bayk
31.08.2024, 16:04
Блин, ну есть же нормальное решение подаетте на блок равенства число на один вход напрямую, а на второй с линией задержки а на выход not. В итоге будет импульс при изменении числа.