Показать сообщение отдельно
Старый 29.01.2023, 16:27   #7
младшой
Senior Member
 
Регистрация: May 2010
Адрес: Москва
Сообщения: 863
Благодарил(а): 4 раз(а)
Поблагодарили: 86 раз(а) в 67 сообщениях
По умолчанию Ответ: Ротация

Позволю себе немного критики.

1. Лишние обратные переключения при сбросе аварии.
Вот включился "Уровень 1" - запустился Насос 1.
Во время работы по какой-то причине пришел аварийный сигнал "Авария 1" - Насос 1 отключился, включился Насос 2.
Пришел дежурный, аварию сбросил. По хорошему Насос 2 должен продолжить работу, а Насос 1 - ждать своей очереди. В обратном переключении нет смысла.
Но ваш макрос обратно переключает на Насос 1.

2. Неравномерная ротация при аварии одного насоса.
Если один из насосов находится в аварии, счетчик ротации не пропускает его номер, а дважды включает следующий за ним насос.
Например:
- Авария Насоса 1;
- Включаем Уровень 1 - Запускается Насос 2 (т.к. счетчик ротации указывает на Насос 1, но тот в аварии);
- Выключаем Уровень 1 - насосы останавливаются;
- Включаем Уровень 1 - Повторно запускается Насос 2 (т.к. счетчик указывает на Насос 2);
следующим будет Насос 3, затем два раза Насос 2 и т.д.

Считаю, что если какой-либо насос находится в аварии, то остальные два должны ротироваться между собой также равномерно: Насос 2 - Насос 3 - Насос 2 - Насос 3 - ...

3. Включение насосов в ручном режиме.
Данный вопрос дискуссионный. Однако, я считаю, что при ручном запуске какого-либо насоса, автоматический запуск должен отключаться.

4. Ротация по наработке часов, количеству запусков.
Ну, собственно, её нет. Ротация по порядку не обеспечивает равномерной работы насосов. А исходя из пункта 2, может возникнуть дисбаланс в наработке между насосами.

5. Оформление макроса
Название связей "Out (bool)2", "out2", "out_2" и в таком духе не способствует эффективному исследованию устройства макроса.
младшой вне форума   Ответить с цитированием