Neustart / Programm Download Blind Position & Winkel beibehalten

Begonnen von Omalik, 10. Mai 2013, 17:06:06

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Omalik

Hallo Oscat Entwickler

Ich benutze Blind_input hinter Blind_night hinter blind_security hinter blind_control wie sicher einige von euch auch. Nun das funktioniert soweit bestens. Meine Frage ist wie habt ihr das mit dem Neustarten oder runterladen eines neuen SPS Programms gemacht?
Sagen wir haben 30 Storen und alle sind irgendwie irgendwo (Pos und ang) Nun haben wir einen Stromausfall. Die SPS startet neu und dann …? Dann sollten alle Storen sich nicht bewegen und das SPS Programm weiss wo die letzte Position war.  Nun ich versuche das mit NOV Ram zu machen da ich Beckhoff Hardware einsetze. Das funktioniert aber nicht da ein Baustein in der Reihe auf Pos0 und Ang0 stellt.
Die Lösung mit Persistent sollte nicht genutzt werden da mein Flash Speicher zu schnell defekt geht.
Gute Beschreibung betreffend Persistente Daten:
http://www.sps-forum.de/beckhoff-codesys-iec61131/49643-faq-alles-rund-um-twincat.html
Daten die erhalten bleiben - nach Spannungsausfall oder Online-Change
Ich würde gerne die 3. Variante: Die Verwendung des NOVRAM da anwenden.

Mache ich einen Überlegungsfehler oder was kann ich machen? Bin Offen für Vorschläge! Weiss jemand welcher Baustein die Probleme macht, bevor ich alles analysiere.


Besten Dank für eure Hilfe.

Omalik

Vielleicht hilft jemand das auch weiter. Ich habe einige Zeit gebraucht, bis ich einen Überblick bekommen habe. Bin kein Experte und mit Infosys von Beckhoff wurde ich noch viel schlauer….

Sehr guter Ansatz:
http://www.sps-forum.de/beckhoff-codesys-iec61131/53344-beckhoff-retain-wirklich-so-umstaendlich-2.html
„
1.Was sind die Unterschiede zwischen persistenten und retain Variablen?
1.1 Retain:
- Retain Variablen werden durch das Schlüsselwort RETAIN gekennzeichnet.
- Retain Variablen liegen in einem speziellen Speichersegment
- Beim Shutdown von TwinCAT wird der Inhalt des Speichersegments binäre 1:1 auf die
Festplatte geschrieben (TwinCAT\Boot\TCPLC_R_x.wbp, x=1..4 Nummer LZS)
Vorteil
- Laden und Speichern geht sehr schnell.
Nachteile
- Wenn Bootprojekt und Retain-Datei nicht 100% zusammenpassen, dann kann das
TwinCAT System nicht starten!
Hinweis:
!! Wegen der Nachteile wird die Verwendung nicht empfohlen!!

1.2 Persistent:
-Persistente Variablen werden durch das Schlüsselwort PERSISTENT gekennzeichnet.
- Persistente Variablen liegen an ganz unterschiedlichen Stellen im Speicher.
- Beim Shutdown von TwinCAT werden die markierten Variablen gesammelt und in eine
strukturierte binäre Datei geschrieben (TwinCAT\Boot\TCPLC_T_x.wbp, x=1..4). Name
und Pfad, Größe und Wert der Variablen werden gespeichert .
Vorteil
- Beim Aufstarten werden alle Variablen geprüft. Wenn die Variablen entsprechende
Pendants im Projekt haben werden die Werte geladen. Wenn nicht, dann nicht.
Nachteile
- Laden und Speichern dauert etwas länger.
- Die persistent Variablendatei ist etwas größer.
Hinweis:
-Soll eine Variable einer Instanz eines FB oder einer Struktur gespeichert werden,
so wird die gesamte Struktur gespeichert.
- Bei XP/Win7 embedded : Der Ordner für die remanenten Daten darf nicht
von einem EWF oder FBWF geschützt sein!
„

Einen weiteren Vorteil sehe ich noch, dass ich aus dem SPS Programm die Persistente Variablen Speichern kann.
Nun stellt sich mir die Frage: Was ist der Grund, warum bei den Oscat Libs Retain benutzt wurde?

Danke