EXIT Programmteil in B&R Automation Studio

louissz

New member
Beiträge
1
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,

ich bin Student und habe einen ST-Code für den Betrieb eines Motors im zyklischen Programmteil geschrieben. Nun sollen Einstellungen wie beispielsweise die Anlaufzeit des Motors gespeichert werden, und wieder abrufbar sein, wenn die Steuerung neu gestartet wird. Dafür benutzt man dann ja den Exit-Programmteil soweit ich das verstanden habe. Könnte mir jemand weiterhelfen, wie ich die Speicherung der Daten beim Ausschalten der Steuerung im Exit-Programmteil abbilde?

Danke im voraus!
 

maxder2te

Well-known member
Beiträge
615
Punkte Reaktionen
183
Soweit ich mich an den As-Kurs erinnern kann wird Exit nicht beim Ausschalten der Steuerung aufgerufen, sondern beim Löschen eines Tasks von der Steuerung, weil z. B. Ein Programm - Update geladen wird.
Bevor du dich mit EXIT-Routinen und Daten wegspeichern plagst solltest du die Einstellungen, falls es nicht viele sind, in eine Datenstruktur zusammen fassen und diese in den Permanentspeicher legen.
 

pwolfing

New member
Beiträge
4
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hi,

Du kannst in den globalen Variablen Retain-Variablen anlegen. Diese Werte werden bei einem Spannungsausfall gespeichert.
In deinem Init-Programm musst du die Laufzeitvariable mit dem Wert der Retainvariable schreiben.
Dann startest du immer mit den letzten Werten.

LG
 

maxder2te

Well-known member
Beiträge
615
Punkte Reaktionen
183
Hi,

Du kannst in den globalen Variablen Retain-Variablen anlegen. Diese Werte werden bei einem Spannungsausfall gespeichert.
In deinem Init-Programm musst du die Laufzeitvariable mit dem Wert der Retainvariable schreiben.
Dann startest du immer mit den letzten Werten.

LG
Wozu soll das gut sein?
Retain ist retain, also direkt mit retain - Variablen arbeiten und nicht lange herumkopieren.... Mit sind in As keine Variablen bekannt die man nicht retain setzen könnte, solange man genug Speicher hat
 

pwolfing

New member
Beiträge
4
Punkte Reaktionen
0
Achja da habe ich etwas verwechselt. Im Init-Teil setzte ich die Variable auf einen Startwert falls sie gleich Null wäre. Da habe ich gerade falsch gedacht.
 

GeWer

Member
Beiträge
17
Punkte Reaktionen
2
Zuviel Werbung?
->Hier kostenlos registrieren
Vielleicht solltest du in diesem Zusammenhang auch über ein Rezeptsystem nachdenken, falls du nicht bei größeren Änderungen oder Projektinstallationen die Werte neu eingeben willst?

Mit MappRecipe geht das mit wenigen Programmzeilen.
 

maxder2te

Well-known member
Beiträge
615
Punkte Reaktionen
183
Vielleicht solltest du in diesem Zusammenhang auch über ein Rezeptsystem nachdenken, falls du nicht bei größeren Änderungen oder Projektinstallationen die Werte neu eingeben willst?

Mit MappRecipe geht das mit wenigen Programmzeilen.
Mit Watch-Tabellen geht das ohne eine einzige Programmzeile.
Rezepte zielen eigentlich auf das umschalten von Datensätzen ab, und nicht auf das Speichern von Einstellwerte.
 

GeWer

Member
Beiträge
17
Punkte Reaktionen
2
Mit Watch-Tabellen geht das ohne eine einzige Programmzeile.
Rezepte zielen eigentlich auf das umschalten von Datensätzen ab, und nicht auf das Speichern von Einstellwerte.
Ok, der Aufruf von MpRecipeXml in KOP ist keine Programmzeile 😉

In verschiedenen Projekten werden Maschineneinstellwerte gerne in Fixdaten über MappRecipe gespeichert.
 
Oben