Autor Thema: METER_STAT und RETAIN PERSISTENT  (Gelesen 14738 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline NetFritz

  • Full Member
  • ***
  • Beiträge: 100
    • Profil anzeigen
METER_STAT und RETAIN PERSISTENT
« 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

Offline NetFritz

  • Full Member
  • ***
  • Beiträge: 100
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #1 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

Offline NetFritz

  • Full Member
  • ***
  • Beiträge: 100
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #2 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

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 152
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #3 am: 07. November 2009, 09:38:26 »
wir sehen uns das beim nächhsten release nochmals an

Pusher

  • Gast
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #4 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

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 152
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #5 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


Offline NetFritz

  • Full Member
  • ***
  • Beiträge: 100
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #6 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

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 152
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #7 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.

 

Offline NetFritz

  • Full Member
  • ***
  • Beiträge: 100
    • Profil anzeigen
Re:METER_STAT und RETAIN PERSISTENT
« Antwort #8 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