Wenn ich mir dein Code so anschaue:
Code:
VAR_INPUT
    reset:BOOL;
END_VAR
Counter(Reset:=reset, CU:=Rd_Puls);
dann kann der Counter nur durch die Input-Variable reset zurückgesetzt werden. Sonst zählt er nur hoch. Woher sollen die ausserplanmässigen Resets kommen?

Ich vermute, dass du an die Bausteininstanz irgendein globales reset übergeben hast, das zwischendurch TRUE ist. Um sicher zu sein würde ich den lokalen reset in der Instanz tracen oder fangen, z.B.: IF reset THEN s_reset:= true; END_IF

Gruß,
witkatz