Hallo goofi,
also kurze Funktionsbeschreibung.
Im Prinzip wird der Istwert des Zählers (C01) mit dem vorherigen Istwert desselben Zählers (C01) verglichen. Dies geschieht im Vergleicher (CP01). Der vorherige Istwert wird mit Hilfe des Datenbausteins (DB01) an den zweiten Eingang des Vergleichers (CP01) geschrieben und zwar immer nur dann wenn er sich geändert hat, also nicht mehr gleich ist (CP01EQ negiert).
Jenachdem ob der Istwert des Zählers (C01) größer oder kleiner dem vorherigen Istwert des Zählers geworden ist, läßt sich die Zählrichtung erkennen. CP01LT und CP01GT haben jeweils nur für einen Zyklus der Steuerung high-Signal, deshalb die Zeitbausteine T01 bzw. T02 dahinter um das "blinken" der Ausgänge Q1 bzw Q2 zu überbrücken.
P.S. In der Simulation konnte ich nicht feststellen das beim Programmstart kurz beide Richtungen angezeigt werden. Der Zähleristwert ist beim Start 0 der Datenbaustein übergibt beim Start 0 also sagt der Vergleicher das die Werte gleich sind und schaltet nicht den Ausgang LT oder GT. Aber vielleicht kannst Du Dein komplettes Programm hier mal einstellen.
mfG Jan