|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
14.04.2020, 13:49 | #1 |
Новичок
Регистрация: Apr 2020
Сообщения: 2
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ротация насосов
Добрый день, уже неделю мучаюсь никак не могу сделать алгоритм ротации насосов. Возможно кто-то сталкивался с этой задачей и есть готовые решения или сможете подсказать как это реализовать.
Задача такая: Реализовать ротацию 3 насосов, причем может работать как один насос, так и все три сразу в зависимости от количества потребителей. При возникновении аварии одного насоса автоматически переключаемся на другой насос. Если получается такая ситуация, что необходимо включить 2 насоса из 3-х, но работоспособен только один, то выдаем дискретный сигнал об аварии или в любой другой ситуации, когда необходимое количество насосов включить невозможно. В этом случае насосы, которые возможно включить работают. Для ротации на вход макроса подается сигнал смещения, благодаря которому обеспечивается ротация. Фактически это порядковый номер базового насоса, с которого происходит включение. Входы и выходы макроса вижу так: Входы: Пуск(Int) - необходимое кол-во насосов, которое необходимо включить Смещение(Int) - адрес базового насоса для ротации. На вход будет подаваться сигнал с блока GetDays(abs) -> MOD%3. Каждый день базовый адрес насоса будет циклически меняться 0 -> 1 -> 2 -> 0 -> 1 и т.д. Авария 1(Bool) - авария 1 насоса Авария 2(Bool) - авария 2 насоса Авария 3(Bool) - авария 3 насоса Выходы: Пуск 1(bool) - пуск 1 насоса Пуск 2(bool) - пуск 2 насоса Пуск 3(bool) - пуск 3 насоса Авария(bool) - авария насосной группы Заранее благодарен за помощь) |
14.04.2020, 14:37 | #2 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 355
Благодарил(а): 0 раз(а)
Поблагодарили:
256 раз(а) в 252 сообщениях
|
Ответ: Ротация насосов
Можно пройтись по поиску со словом "Ротация".
У меня давно была похожая задача с вентиляторами, но вы для начала хотя бы что-то попробуйте сделать, а мы поможем. Можно нарисовать блок-схему и по ней уже накидать алгоритм в ФБД. Только не увидел условий по наработке насосов, оно вам не надо? __________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
14.04.2020, 22:22 | #3 |
Новичок
Регистрация: Apr 2020
Сообщения: 2
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Ротация насосов
Спасибо за обратную связь, получилось реализовать самому. Извилины чуть в голове не сломал пока делал. Жаль, что нельзя программировать контроллеры на каком-нибудь ООП языке. Намного эффективнее бы получилось писать программы
|
14.04.2020, 23:15 | #4 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Ротация насосов
а как связаны программа и язык?
|
15.04.2020, 13:11 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Ротация насосов
Самое смешное в вашей ситуации, что ФБД с поддержкой макросов - это ООП в самом чистом его виде.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |