Очень странная работа гибкой логики.
Сделал замкнутый цикл с прерыванием из 2 программ (так было нужно). Условием запуска второй программы сделал окончание работы первой. А в условие запуска первой программы помимо сигнала на одном из входов, прописал окончание работы второй программы. Цикл замкнулся. Все просто. Но 2 этих простых программы упорно выполнялись 1 раз и все останавливалось. Наблюдал за процессом на вкладке "диагностика".
В итоге выяснил, что для охранного комплекса, если условия для запуска программы совпали, программа считается выполненной, даже если на действие стоит задержка. Так вот эта задержка игнорируется. Раз условия совпали-значит программа выполнена. Поэтому у меня ничего и не работало. Получалось так, что условие запуска программы и ее окончания приходили одновременно, даже не смотря на задержку 2 секунды на выполнение действий.
А итоге в условие первой программы прописал не окончание работы второй программы, а начало ее работы. И только тогда все заработало. Какие-то жуткие костыли, но как есть.
Кто-нибудь обращал внимание на такую логику в выполнении программ?
Customer support service by UserEcho
Обращал...https://support.starline.ru/communities/103/topics/96224-oshibka-v-programme
Вот спасибо. Но с последнего сообщения в теме по ссылке прошло уже полгода, а текущая версия СЛМ уже 3.7.2, а воз и ныне там. Ошибка до сих пор не исправлена.