таймер в данном случае вызывается при каждом проходе программы, и подвывертов в коде нет. Есть факт того что очень редко при каких то не выясненных обстоятельствах таймер дает сбой и говорит сразу о том что отработал, очень похоже на ситуацию когда таймер не сброшен, но при всех возможных выходов из программы есть сброс таймера. Action, это что то из Codesys 3.0 или я что то не понимаю, ибо перешел по нескольким ссылкам в поиске гугла по фразе "Codesys Action", все ведут к статьям по Codesys 3.0.