Lokale Retain Varialen sind prinzipiell möglich. Es wird dann (vom Compiler) die ganze Funktion als Retain deklariert. Aus persönlichen Vorlieben würde ich aber die betroffenen Variablen dann global deklarieren. In der SPS-Welt ist das auch nichts verwerfliches.
Input-Variablen als Retain macht auch wenig Sinn.
Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Leute
Habe ich etwas verpasst?
Wegen der Komplexität unserer Anwendung haben wird einzelne Themen in einzelne Programme gegliedert.
Nun bin ich an einer Datensicherung für die Arrays, welche in den einzelnen Programmen definiert sind, mit Auslesen und Zurückschreiben.
Aber da kommt die Fehlermeldung, dass die Arrays (oder auch einzelne Variablen) schreibgeschützt sind.
Ist es prinzipiell nicht möglich, Programmübergreifend auf die Daten schreibend zuzugreifen?
Lollipop, ganz traurig .....
wenn diese nicht global sind, kannst du sie ohne weiteres nicht programmübergriefend ändern (nur lesen).
für das ändern müsstest du dir funktionen in den programmen schreiben, die das dann machen; oder halt global deklarieren.
über pointer könnte es auch klappen, damit hab ich aber noch wenig erfahrung mit codesys und ist auch bissl gewagt...
Hallo
Du kannst auch die lokalen Variablen als VAR_INPUT deklarieren.
Dann müssts gehen.
Gruss
Erik
Danke für die Antworten.
*
Das mit den Pointern ist für mich auch Neuland.
*
Als Input definieren? Funktioniert! Bin erstaunt. Aber es geht.
Nur wollte ich einen Teil der Daten als Retain-Daten deklarieren. Aber dann geht es natürlich nicht.
Lollipop
Mahlzeit
Lokale Retain Varialen sind prinzipiell möglich. Es wird dann (vom Compiler) die ganze Funktion als Retain deklariert. Aus persönlichen Vorlieben würde ich aber die betroffenen Variablen dann global deklarieren. In der SPS-Welt ist das auch nichts verwerfliches.
Input-Variablen als Retain macht auch wenig Sinn.
Erik
Der Entscheid ist gefallen, und die globalen Variablen werden erweitert.
So entfernen wir uns wieder von gewissen Strukturen. Die Anlage wird trotzdem laufen ....
Und mit ein wenig Fleiss wird auch die HMI-Oberfläche manuell angepasst.
Schliesslich wollte die Maus-Taste schon lange wieder einmal Überstunden leisten ......
Vielen Dank ...
Lollipop