Мне кажется, здесь трудностей не может возникнуть, вот мой вариант:
Заслон.PNG
Все концевики размыкаются в крайних положениях.
Если продолжительность открытия-закрытия больше времени полного хода, включается авария!
Вот, немного модернизировал, предположил что открытие и закрытие заслонок происходит с одной скоростью, тогда и время полного хода открытия и закрытия будет одинаковым и достаточно будет одной уставки времени для определения аварии при открытии-закрытии:
Заслон_2.PNG
И, внутренняя авария теперь будет мигать всеми 3 лампами одновременно пока на кнопку не нажмёшь!
Если поверить в радужную картину, что Вы рисуете(всё упирается и останавливается как нужно, при этом ничего не ломается и Вам остаётся утирать обеими свободными руками слёзы счастья) и Вы концевики подключая как нужно(паралейно-последовательно) создаёте необходимую логику для работы и общие сигналы открыть-закрыть для всех заслонок, можно упростить:
Заслон_3.PNG
И, усовершенствовал, например: при нажатии кнопки выполняется 1-ый шаг(открываются заслонки), если заслонки открыты, сразу переходит ко 2-ому шагу(включает насос) и т. д.