С отработкой задержки не вижу проблем.
Появление сообщения в таблице и активация Crach_Pump у меня всегда происходит с задержкой:
https://ftp.owen.ru/CoDeSys3/95_Inte...eninAlarms.mp4
Вы ожидаете, что в этот момент eCurrTransition будет равно -1?eCurrTransition = 2 когда порог превышен, а время еще не вышло.
Но тут есть нюанс - блок вызывается событийно самим кодесисовским AlarmManager'ом.
В настройках класса тревог установлено 3 галочки - соответственно, вы можете "увидеть" 3 состояния (1, 2, 4) и еще 0 до первого срабатывания тревоги.
2022-08-16_8-16-55.png
Если поставить галочку ACK - то можно будет увидеть еще состояние 3.
Я могу предположить, что -1 (Pending) используется где-то внутри библиотеки AlarmManager, и в своем коде вы увидеть это значение не сможете.
Думаю, что такого условия нет и переменная перейдет в 0 только после перезагрузки контроллера и будет в нем до тех пор, пока тревога еще ни разу не активируется.Кто подскажет, по какому условию eCurrTransition : AlarmManager.AlarmStateTransition; возвращается к 0?




Ответить с цитированием
