Недавно начал осваивать Вашу замечательную программу и при попытке сделать таймер столкнулся с небольшой проблемкой (сначала в версии 3.1.4, а потом и в 4.0).
Предполагаю, что в блоке CTDU (Счетчик) закралась ошибка.
Просмотрев код, выяснил, что выход ">L" (Достижение установленного значения) всегда в программе определяется знаком "больше или равно" (>=).
Это верно, когда счёт идёт "На увеличение" (UP).
Но, когда выбирается счёт "На уменьшение" (DOWN), то условие выполняется сразу и на выходе ">L" одновременно появляется сигнал.
"На увеличение" - всё верно, знак ">=" (_count1P >= 10) "На уменьшение" - ошибка, знак тот же ">=" (_count1P >= -10), условие сразу становится верным, хотя счётчик не досчитал до заданного значения. Судя по описанию блока, счётчик всегда считает +1 или -1 для целых чисел в зависимости от установки "Типа счетчика".
Тогда вероятно наиболее верным решением будет установить в условии знак равенства "==", (то есть для примера на скриншотах _count1P == 10 ).
Вероятно с аналогичной проблемой столкнулся и автор в предыдущих постах:
Чтобы прога работала, надо либо ручками исправить в коде знак условия, либо пока (не исправят) не использовать счетчик для обратного хода, то есть допилить программу, используя только "прямые счетчики" + математику.