OSCAT Forum

oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: NetFritz am 04. November 2009, 12:12:35

Titel: METER_STAT und RETAIN PERSISTENT
Beitrag von: NetFritz am 04. November 2009, 12:12:35
Hallo

Habe für den Baustein METER_STAT die Variablen so angelegt.
VAR RETAIN PERSISTENT
   Last_Day : REAL;
   Current_Day : REAL;
   Last_Week : REAL;
   Current_Week : REAL;
   Last_Month : REAL;
   Current_Month : REAL;
   Last_Year : REAL;
   Current_Year : REAL;
END_VAR

Wenn ich nun mein Prog. ändere und dann auf die Wago 750-849 schreibe sind meine Zählerstände weg.
Was mus ich machen das sie nicht verloren gehen.
oscat.lib 3.10 TwinCAT / CoDeSys 2.3
Gruß NetFritz
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: NetFritz am 04. November 2009, 13:04:51
Hallo

Hier nochmal meine genaue Deklaration.
VAR RETAIN PERSISTENT
   LAUFZ_WP: UDINT;
   SCHALT_WP: UDINT;
   LAUFZ_WP_letzter_Tag AT %MD5: REAL;
   LAUFZ_WP_aktueller_Tag AT %MD6: REAL;
   LAUFZ_WP_letzter_Woche AT %MD7: REAL;
   LAUFZ_WP_aktuelle_Woche AT %MD8: REAL;
   LAUFZ_WP_letzter_Monat AT %MD9: REAL;
   LAUFZ_WP_aktueller_Monat AT %MD10: REAL;
   LAUFZ_WP_letztes_Jahr AT %MD11: REAL;
   LAUFZ_WP_aktuelles_Jahr AT %MD12: REAL;
END_VAR
Habe nochmal gesucht und das gefunden.
Um unkontollierte Überschteibungen zu vermeiden,
sollen Merker und VAR_RETAIN niemal zusammen benutz werden.
Kann es daran liegen.
Aber die Variablen
   LAUFZ_WP: UDINT;
   SCHALT_WP: UDINT;
vom Baustein ONTIME bleiben auch nicht erhalten.
Gruß NetFritz
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: NetFritz am 06. November 2009, 18:50:25
Hallo
Habe mal mit der Wago Hotline telefoniert.
Die Wago 750-849 kann RETAIN PERSISTENT.
Kann es sein das der Baustein ONTIME die Variablen überschreibt ?
Gruß NetFritz
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: hugo am 07. November 2009, 09:38:26
wir sehen uns das beim nächhsten release nochmals an
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: Pusher am 23. November 2009, 09:28:21
Bei mir die gleichen Probleme schreibe nur nicht RETAIN PERSISTENT in den Merkerbereich sondern in eine
Novram Klemme EL 6080. Nach Neustart alles auf 0 .  ???

Win CE CP6601 TwinCat 2.11.1536 Oscat 3.10. Bin gespannt was die 3.11 bringt.
MFG
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: hugo am 23. November 2009, 10:57:31
der baustein sollte des definitiv nivht tun, es sein denn:

1. es liegt noch kein gültiges datum an
   bitte die reihenfolge der bausteine prüfen und sicherstellen das das aktuelle datum anliegt

2. rst ist true gewesen

Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: NetFritz am 23. November 2009, 13:55:13
Hallo
Bei mir ist das so das Datum aus einem anderen Task kommt, der Task wird alle 5sek aufgerufen.
Der Task steht aber als erster in der Taskkonfig.

Taskkonfig:
Name:Uhr Prio:31 Zyklisch 5s
Name:main PLC_PRG : Prio:1 Freilaufend
Name:Betriebsstunden Prio:2 Freilaufend

Kann es davon kommen das der Task Uhr nicht sofort auferufen wird ?
Gruß NetFritz
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: hugo am 23. November 2009, 17:05:24
ja das kann durchaus sein,
in diesem fall solltest du prüfen ob eine gültige uhrzeit / datum anliegen und erst dann den meter baustein freigeben/aufrufen wenn dies der fall ist.
liegt eine uhrzeit an die älter ist als die zuletzt verarbeitete wird der baustein die ausgänge löschen.

 
Titel: Re:METER_STAT und RETAIN PERSISTENT
Beitrag von: NetFritz am 24. November 2009, 13:09:35
Hallo

Habe mal Versuchsweise das Datum im gleichen Programmteil wie der Betriebstundenzähler gelegt.
SysRtcGetTime -> DT_TO_DATE -> DI/METER_STAT
Dann werden die Werte von METER_STAT nicht mehr gelöscht.

Vielen Dank
Oscat ist Klasse
Gruß NetFritz