Вот такой код работает на уже многих объектах.
Контроллеры - ПЛК110 в основном.
Код:
al[last_address] := last_error <> 0;

TONF1 (in := al[5], tp := time_wait, q => ALARM_stratos5);
TONF2 (in := al[6], tp := time_wait, q => ALARM_stratos6);
TONF3 (in := al[16], tp := time_wait, q => ALARM_mv110_16);
TONF4 (in := al[32], tp := time_wait, q => ALARM_mv110_32);
TONF-ы - это экземпляры FB, в которых in идёт на вход TON, TON.q идёт на вход TOF, а TOF.q отдаётся в TONF*.q
al: ARRAY[5..32] OF BOOL;
time_wait равен 5 секундам.
slave-устройства объявлены через конфигурацию ПЛК, last_address и last_error тоже взяты оттуда.

Вроде всё было хорошо, но на очередном объекте случилось так, что затянули с включением насосов в сеть, работают себе независимо от контроллера пока.
Видимо раз в 3-4 часа случается перехлёст успешного обмена с мв110 на время обмена с насосами и не на один-два цикла, а аж на больше чем 5 секунд.
Может кто-нибудь подсказать, как это можно обойти?