USV, UPS, Persistente Daten, Daten beim Reboot fehlerhaft

Zuviel Werbung?
-> Hier kostenlos registrieren
Verstehe ich jetzt nicht ganz. Du hast doch etwa so was:
Code:
TYPE strPersData:
STRUCT
   str1:struct1Type;
   str2:struct2Type;
   str3:struct3Type;
END_STRUCT
END_TYPE

VAR
   PersData:ARRAY[1..25] of strPersData;
END_VAR

SizeOf(PersData) gibt Dir die Grösse des gesamten Arrays inkl. aller Structs und sonstigen Daten, die dort drinstehen. Die 1800 Bytes wären dann die Gesamtgrösse Deiner persistenten Daten.
 
Hallo Sireth,

Die CX8090 hat eine 1s-USV. Somit sollte es ausreichen die entsprechenden Variablen als persistent anzulegen und die Funktion FB_S_UPS_CX80xx entsprechend beschaltet aufzurufen.
Wichtig: Bei Spannungsausfall sollte man das normale Programm nicht mehr abarbeiten, sondern nur noch eine Schleife wie in dem Beispiel: http://www.sps-forum.de/codesys-und-iec61131/71363-datenverlust-cx5020.html#post496461

Zu beachten ist auch, dass man keine einzelnen Variablen in Bausteinen persistent deklariert, da ansonsten alle Variablen dieses Bausteins als persistent betrachtet werden und entsprechend viel Speicher brauchen. Bei mehr Daten als 1MB, würde ich über eine „Richtige USV“ nachdenken.

Gruß
Chräshe
 
Puh, die Beiträge auf dieser Seite (3) sind mir leider ne weile verborgen geblieben... hab immer nur aktualisiert und nicht drauf geachtet dass ne neue Seite dazugekommen ist, daher nichts neues gesehen.
Ich habe neue Erkenntnisse:

Es scheint so als ob mein Digitaler Eingang (negative Logik, getasteter Öffner angeschlossen) bei Spannungsausfall FALSE meldet (also keine Masse angeschlossen, als ob mein Taster betätigt wäre). Damit wird dann die entsprechende Funktion ausgeführt und ändert die Variablen im ARRAY... .

Ja vermute ich sollte bei Spannungsausfall wirklich das normale Programm blockieren und nur noch eine seperate Routine ausführen, die die Anlage in den sicheren Zustand bringt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Puh, die Beiträge auf dieser Seite (3) sind mir leider ne weile verborgen geblieben... hab immer nur aktualisiert und nicht drauf geachtet dass ne neue Seite dazugekommen ist, daher nichts neues gesehen.
Ich habe neue Erkenntnisse:

Es scheint so als ob mein Digitaler Eingang (negative Logik, getasteter Öffner angeschlossen) bei Spannungsausfall FALSE meldet (also keine Masse angeschlossen, als ob mein Taster betätigt wäre). Damit wird dann die entsprechende Funktion ausgeführt und ändert die Variablen im ARRAY... .

Ja vermute ich sollte bei Spannungsausfall wirklich das normale Programm blockieren und nur noch eine seperate Routine ausführen, die die Anlage in den sicheren Zustand bringt

Hallo Sireth,

Wenn es notwendig ist, dass du nach Ausfall der Spannung noch Aktionen starten musst, um die Maschine kontrolliert zu stoppen, benötigst du auf jeden Fall eine USV!
Wahrscheinlich nicht nur für die CPU, sondern auch für alle Aktoren die noch was tun sollen…

Gruß
Chräshe
 
Da wollte ich schon mit #14 hin: Die 1s-USV versorgt noch kurz die CPU zum Zweck der Datenspeicherung. Signale, die in diesem Zustand von den Klemmen gelesen werden, können schon "verfälscht" sein.
Sollen externe Signale zur Spannungsausfallsignalisierung verwendet werden, kann es da auch schon problematisch werden.
Ich hab die 1sUSV-Geschichte jedenfalls so gedeutet, das der Sicherungsprozess sofort beim Erkennen des Spannungsausfalls in der E-Busanschaltung angestoßen werden muß.
 
Hallo Sireth,

Wenn es notwendig ist, dass du nach Ausfall der Spannung noch Aktionen starten musst, um die Maschine kontrolliert zu stoppen, benötigst du auf jeden Fall eine USV!
Wahrscheinlich nicht nur für die CPU, sondern auch für alle Aktoren die noch was tun sollen…

Gruß
Chräshe

Es muss nicht viel gemacht werden, ein Zyklus und die Anlage steht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmmh, Ich stelle jetzt als allererstes fest, ob ein Spannungsausfall aufgetreten ist. Wenn ja, dann sollen die Befehle zum Stoppen der Anlage ausgeführt werden. Wenn nicht, wird das eigentliche Programm ausgeführt. Aber scheinbar wird mein Taster trotzdem "virtuell betätigt" und die Funktion unerwünschter Weise ausgeführt :/
 
Zurück
Oben