easy-forum
Deutsch - Hardware => easyControl => Thema gestartet von: richardwith am Juni 18, 2007, 15:07:57 Nachmittag
-
Hallo Experten,
ich nutze einen Zählerbaustein um Schaltimpulse zu zählen.
Damit der Zählerstand auch beim Spannungsausfall an der Steuerung erhalten bleibt, habe ich die Varibalen als RETAIN deklariert.
Die Steuerung steht auf WS (Warmstart).
(siehe Bild)
Leider wird aber der Zählerstand nach dem Ausschalten der Steuerung zurück gesetzt - was habe ich da falsch gemacht?
Danke!
Gruß
Frank
-
Hallo Frank,
die Zählerstände der Zähler werden in den Bausteinen "Zylinder_1" bis "Zylinder_4" gespeichert und nicht in den Ausgangs-Variablen "Summe_n". Wenn Du die Zählerstände remanent haben willst, müssen die Zähler selbst als VAR RETAIN deklariert werden.
In Deinem Programm sind die alten Zählerstände in den Variablen "Summe_n" zwar nach dem Einschalten der Steuerung noch vorhanden, werden aber durch die neu initialisierten Zähler im ersten Programmzyklus überschrieben. Das kannst Du sehen, wenn man zum Test als Startparameter nicht WARMSTART, sondern HALT angibt und dann nach dem Einschalten mal die Zustangsanzeige aufruft.
Viele Grüße
Dieter
-
Hallo Dieter,
danke für Deine Antwort!
Eigentlich ganz logisch, dass man den ganzen Zählerbaustein als RETAIN deklarieren muss - aber auf das Einfachste kommt man meistens nicht ;-)
Gut, dass es ein easy-Forum gibt ....
Gruß
Frank
-
Hallo!
Jetzt habe ich noch eine Frage.
Mit dem Eingang PV kann ich ja nur bis 65535 zählen.
65535 ist mir aber als Zählbereich zu wenig.
Wie kann ich aus WORD ein DWORD machen?
Oder welche Möglichkeit besteht sonst den Zählbereich zu erhöhen?
Danke!
Grüße
Frank
-
Hallo Frank,
mit dem standard Zähler sieht es da eher schlecht aus. Nach meiner Sicht hast du 2 Möglichkeiten.
1.
Selbst programmieren.
2.
Den Zähler aus der Easy800_d.lib nehmen. Der hat im Ausgang einen DINT.
Damit solltest du auf jeden Fall hinkommen.
Gruß
Björn
-
Hallo Frank,
hier ist ein kleines Programmbeispiel mit der implementierung des CTU-FBs als 32Bit Version (CTU32). Das Handling des Bausteins entspricht dem des 16 Bit Zählers.
Viele Grüße
Dieter
-
Danke für die Hilfe!!!
Grüße
Frank