для теста - раз, для реализации общего сброса (у меня будет 5 групп насосов на 1 Прке висеть) аппаратной кнопкой - два :) просто так - три :))))
Вид для печати
для теста - раз, для реализации общего сброса (у меня будет 5 групп насосов на 1 Прке висеть) аппаратной кнопкой - два :) просто так - три :))))
Взял готовую программу пример от ОВЕНА и заюзал готовый макрос Oper Timer из этой проги.
Далее построил три алгоритма:
1) Блок FB - BLINK, который по интервалам совершает ротацию насосов.
2) Блок комутации (т.е. если один насос в ручном, второй насос вечно работать должен в одиночку).
3) Взял значения наработки часов из блока Oper Timer и сделал логику, что если есть переработка одного из насосов в 2!!!!раза*Тсмены, то FB берет управление через селекторы на себя и ждет пока наработка обоих насосов не станет равна, а после выравнивания наработки уже переключает селекторы обратно на управление от алгоритмов пункта 1 и пункта 2.
Единственное условие, time_work_engine1 = time_work_engine2.
Пока для тестов часы наработки заменил на минуты наработки.Вложение 40505Вложение 40506
Все неплохо, только вот контроля насосов нет никакого. Тут же возникает вопрос о том, что говорилось выше, если по какой то причине один насос отработал дохрена, то при отсутствии ротации по причине выравнивания наработки второй насос может подкинуть или сальники повысохнут. По этой причине из моего из было убрано все, что касается наработки
Я вообще не понимаю смысла выравнивания наработки насосов. Чтобы жили долго и счастливо и умерли в один день?
Опыт (у нас в обслуживании сотни насосов) показывает, что нередко насосы выходят из строя независимо от наработки, например, в группе из трёх насосов неоднократно подвергается ремонту один, а два других годами работают бесперебойно. То у него торцевое уплотнение потекло, то подшипник засвистел. Возможно, режим у них разный получился, хотя и работают на одну трубу. Или врождённые дефекты, центровка, балансировка, да мало ли. И это обычная вещь.
Обновил макрос. добавил некоторый функционал. подробности в шапке.
Удивляет ваше маньякальное стремление к своим вариантам всем известных макросов!
Ваш вариант:
Вложение 47901
Другие ранее предлагаемые варианты:
Вложение 47902
Вложение 47903
Вложение 47904
Даже некоторые присутствуют в менеджере компонентов, ну и все в 2-3 раза проще вашего!
я обязательно заменю свое творение на более простой вариант)))
ну что вы выеживаетесь! я на форуме не так давно, чтобы иметь полную базу решений, которая между прочим хоронится, поскольку модераторов, которые бы все это складировали нет, а то, что уже сложено умерло из-за ограничения времени хранения файлов. онлайн база - вся абы как рассортирована и менять это уже никто не хочет.
UPD: Изменилсамодельный макрос T-триггера на упрошенный, предложенный Сергей0308 и перезалил файлы.
Почему при пуске насосов время ротации устанавливает первоначальное значение? Как сделать, чтобы время запоминалось? К примеру, отработал насос 30% от установленного времени, остановился по давлению, потом включился и время снова стало 100%, а не продолжило уменьшаться с 70%.