könntest es ne bisschen genauer beschreiben?
Ich bin zwar nicht Zefix aber ich kann es ja mal versuchen ...
Das Problem mit S7-Zählern (und auch mit "normalen" S7-Zeiten) in Higraph ist natürlich, dass jeder Schritt nur dann bearbeitet wird wenn er "dran" ist. Da aber die S7-Zähler und -Zeiten flankengesteuert arbeiten, gibt das in der Regel Probleme.
Ich gehe daher - wie anscheinend auch Zefix - so vor, dass ich mir einen eigenen Zähler mit Hilfe von mathematischen Grundfunktionen aufbaue.
Benötige ich zum Beispiel einen Fehlerzähler in einer - sagen wir mal - Variablen namens "FZAEHLER" vom Typ INT (z.B. Merker- oder Datenwort) so gibt es folgende Teilschritte ("/" soll einen Zeilenvorschub bedeuten) :
1. In der Initialisierung und zum Reset die Befehle "L 0;/T FZAEHLER;"
2. Bei Auftreten eines Fehlers : "L FZAEHLER;/L 1;/+ I;/T FZAEHLER;"
3. Zur Auswertung auf Überschreitung: "L FZAEHLER;/L FMAX;/> I;"
Alle Befehle sind ja in jedem Schritt in Higraph in AWL-Syntax möglich, so dass du alle denkbaren und machbaren Rechenvorgänge auch programmieren kannst.
Nebenbei gesagt sollte man Higraph meines Erachtens immer in symbolischer Notation programmieren und erst beim Kompilieren die Aktualparameter zuweisen lassen. Das verbessert die Lesbarkeit und Portierbarkeit enorm.
War das klar genug?
Michael aka Dumbledore