Вот кусок, это именно ротация.
https://disk.yandex.ru/d/Kq9_oLzkrVFTkQ
Вот кусок, это именно ротация.
https://disk.yandex.ru/d/Kq9_oLzkrVFTkQ
Про невежество кончно Вы правы. Потратил рабочий день используя разные способы, и всё как то криво.
Про импульс раз в неделю.. мне помимо импульса переключения, нужен отсчёт дней наработки. Поэтому и взял tramp.
Так работать не будет у вас )))
Бедный ПЛК не знает какая у вас идёт неделя 1 или 2, один насос включается при 0, второй при 1. Так всегда будет включаться 1 насос, какую переменную не сохраняй.
Самый простой способ запомнить какая идёт неделя, считать до 13, Ust_Dni: INT := 13; (с 0 до 13 будет 14 дней) и сохранять в Retain только блок TRAB ( он запомнит время и день недели).
А блок Rotation_N изменить так, только сравнение до 6 ( с 0 до 6 - 7 дней) и с 7 по 13 ( 7 дней)1 Rotation_N.jpg
Счётчик вообще выкинуть.
Точно. Спасибо за идею. Требуемое время увеличу в два раз, в первой половине первый насос работает, во второй половине второй.
ПС неделя это условно... Уставка в днях задаётся 1-30 дней.
Это всё хорошо, только в блоке TRAB нельзя установить реальное время и это очень неудобно.
Вот проект с изменённым блоком Moy_CTU_TRAB.
Время читается в ПЛК, с помощью биб-ки SisLibTime.lib. Не знаю работает ли она в ПЛК 73, если нет возьмите время в самом ПЛК73.1 Время в ПЛК 73.jpg
Проект переключает до 12 часов 1 насос и после 12 часов 2 насос. Проект проверен на ПЛК 154.
При запуске программы, сразу устанавливается реальное время и в зависимости от него запускается нужный насос.
Последний раз редактировалось kondor3000; 24.12.2022 в 14:10.