Это не принципиально(не имеет значения) случайно или неслучайно происходит событие, тут главное чтобы уместились события за необходимое вам время, оно всё равно будет зафиксировано! Можно поставить несколько экземпляров макроса ячейки памяти, чтобы памяти хватало на 2 суток без затирания! И в одну целочисленную переменную 32 битную, без всяких "заморочек", просто через "Х100"(чтобы разнести значения по разным десятичным разрядам) можно поместить секунды, минуты, часы, дни и месяцы одного года, чего, как я понимаю, вам вполне достаточно! Короче, в старшие разряды месяцы пишите!
Старшие разряды.PNG
Не может быть более "42"!
Хотел дополнить, для ясности, можно использовать старший бит, для классификации события, например "1" - контакт замкнулся, "0" - контакт разомкнулся!
Как-то примерно так, до 31 события, включительно:
Контроль состояния.PNG
Останется на экран вывести для просмотра события и времени происхождения! Данные энергонезависимые, если энергонезависимость не нужна можно убрать!
Нулевое событие - это текущее состояние, далее, чем больше номер события, тем дальше в историю(тем более давнее событие)!
Вот экран добавил:
Экран_время_события.PNG
И чуть-чуть подрихтовал, теперь с экрана можно редактировать переменную номер события, тоесть просматривать события, кому нравятся внешние кнопки, можно оставить как в преведущем варианте!