Просмотр полной версии : Modbus Счётчик нажатий и импульс в ОВНЕ
Всем привет! Есть пр102, к модбас слейву подключен прибор в регистрах которого есть счётчик. Как сделать в ОВНЕ импульс (заданной продолжительности, TP) при увеличения значения в сетевой переменной соответствующей регистру счётчика?
kondor3000
29.08.2024, 21:50
Всем привет! Есть пр102, к модбас слейву подключен прибор в регистрах которого есть счётчик. Как сделать в ОВНЕ импульс (заданной продолжительности, TP) при увеличения значения в сетевой переменной соответствующей регистру счётчика?
Переменную записывать в Блок Write to fb, который запишет время в ms в нужный таймер, скрин 78329
Для 5 сек, надо записать 5000, либо передать число 5 и перед записью умножить на 1000.
Если я верно понял, то алгоритм такой:
* Отслеживаем предыдущее значение счётчика (в отдельной переменной)
* Сравниваем его с текущим, которое получаем по Modbus (через EQ)
* Если они равны - ничего не делаем
* Если НЕ равны, то делаем два дела:
- Записываем в Предыдущее текущее (через SEL с обратной связью)
- Дёргаем через R_TRIG таймер TP, как показал kondor3000
Спасибо +- так. Не могу сообразить как сделать с sel(((
p.s. Обожаю твои статьи про то как раздалбывают панельные дома.
А куда в таком примере класть логику сравнения значения из сетевой переменной с текущей?
Спасибо +- так. Не могу сообразить как сделать с sel(((
p.s. Обожаю твои статьи про то как раздалбывают панельные дома.
Ну, примерно так: если равны - то SEL пишет в ту же переменную прошлое значение из самой себя, а если не равны - то пишет новое значение.
Вот. Накидал. Проверил в симуляторе. Обрати внимание на обратные связи на ValPrev в двух местах! Это важно!
78332
Если таких штуковин будет много - сделай из этого кода Макрос (тогда ValCur будет входом, а ValPrev - переменной внутри макроса). Я примерно такой алгортим использую, чтобы обрабатывать изменения удалённых регистров-команд из Облака ОВЕН.
Про раздалбывают дома уже устарело =) Теперь интересно про ПЛК и ПРки.
Пожалуйста. Только там пробовать нечего. Если ты хоть чуть-чуть разбираешься в OWL (опять же, у меня есть про него базовые посты на сайте), то всё сразу получится.
Отпишись потом о результатах.
Накидал макрос, немного дополнив логику для управления из HA. Считываем числительное количества нажатий, при изменении посылаем пуш вызов на макрос управление нажатием.
При получении сигнала в slave регистр овна по rs 485 от HA так же включаем нагрузку.
7834078341
Прекрасно работает. Всем спасибо!
Сергей0308
30.08.2024, 10:49
Накидал макрос, немного дополнив логику для управления из HA.
7834078341
Прекрасно работает.
А, зачем инвертор и целочисленный SEL, в смысле, может их убрать и просто преобразовать булево значение в целочисленное?!
В home assistant modbus light не корректно работает отображение текущего статуса света, если его включать с кнопки а не из ha в случае если в овне делать иначе. Решил вопрос инвентором и SELом, может как то можно более правильно сделать.
Ааа, так ты с HA делаешь! Круто! Я только позавчера стал изучать их модуль Modbus.
Если это именно свет - то я сделал через Coil, и без всяких счётчиков.
Блин, ну есть же нормальное решение подаетте на блок равенства число на один вход напрямую, а на второй с линией задержки а на выход not. В итоге будет импульс при изменении числа.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot