to Nekit: спасибо, попробую сделать аналогично.

to Филоненко Владислав: по вопросу 3 буду разбираться и экспериментировать. Теперь по вопросу 1. Изначально была следующая мысль. Например основная программа разрабатывается на языке POU SFC и представляет собой цикл. Тогда в одном из блоков нужно считывать состояние дискретного входа и сравнивать его с предыдущим. Ну, а дальше уже дело техники. Я так понял, что Вы в своем ответе на мой вопрос имели в виду именно такую схему?