Вариант без макроса:
Конечный_автомат.owle

Вариант с макросом:
Конечный_автомат2.owle

Язык ST применять бессмысленно, если быстродействие не требуется (???).

Макрос Transition может иметь варианты с увеличенным количеством входов I1, I2, I3, ... и T_concur1, T_concur2, T_concur3, ...
Ix - это входы условия переходов
T_concurx - это входы для блокировки текущего перехода конкурирующими переходами. Может пригодиться для сильно разветвленных конечных автоматов (как у меня).

И конечно же обязательно должен быть на свободном месте текстовый комментарий типа:
State:
0 - всё отключено
1 - насос запускается
2 - насос работает
3 - насос заблокирован
NB: пока практикой не отработано, но примерно так.