Autor Thema: VAR RETAIN  (Gelesen 4117 mal)

Offline richardwith

  • Newbie
  • *
  • Beiträge: 10
VAR RETAIN
« 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


Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: VAR RETAIN
« Antwort #1 am: Juni 19, 2007, 08:09:37 Vormittag »
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

Offline richardwith

  • Newbie
  • *
  • Beiträge: 10
Re: VAR RETAIN
« Antwort #2 am: Juni 19, 2007, 11:43:32 Vormittag »
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


Offline richardwith

  • Newbie
  • *
  • Beiträge: 10
Re: VAR RETAIN
« Antwort #3 am: Juni 21, 2007, 08:13:14 Vormittag »
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

Offline DiscoStu

  • Full Member
  • ***
  • Beiträge: 127
Re: VAR RETAIN
« Antwort #4 am: Juni 21, 2007, 09:53:47 Vormittag »
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

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: VAR RETAIN
« Antwort #5 am: Juni 21, 2007, 15:04:46 Nachmittag »
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

Offline richardwith

  • Newbie
  • *
  • Beiträge: 10
Re: VAR RETAIN
« Antwort #6 am: Juni 26, 2007, 16:09:02 Nachmittag »
Danke für die Hilfe!!!

Grüße
Frank