Beckhoff Twincat PLC - Adressfreie Variablen definieren / retain-persistente Var.

Zuviel Werbung?
-> Hier kostenlos registrieren
Man kann jedoch auch auf lokale Variablen überall zugreifen, z.B. in der Form PRG_xxxx.MeineLokaleVar

Ohne eine Diskussion loszubrechen ob man dies tun soll, ist meine Frage, ob das ein Fehler ist (von Codesys bzw. TwinCAT) oder so gewollt ist.

Die Norm erlaubt das eigentlich nicht, CoDeSys bewusst schon. Also: ein gewollter Fehler. Wenn man sowas mal erlaubt hat, kann man es natürlich nie wieder verbieten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Wenn wir schon mal das Thema Variablen haben ....
es gibt ja Bausteine um Persistente Variablen zu schreiben oder zu lesen,
jetz hab ich aber nirgends gelesen ob das mit einem BC 9050 auch geht.

Ziel ist es das ein paar Sollwerte vom Typ ,,INT,, oder ,, REAL ,, in der Regelung nach dem Kaltstart erhalten bleiben.
 
Hallo,

ich habe bei meiner Haussteuerung Variablen im Bereich "Globale Variablen" mit Adresse definiert:

nOut_Temperatur_Sollwert_Schlafzimmer AT%Q*: INT;
nOut_Temperatur_Sollwert_Gaestezimmer AT%Q*: INT;

Ziel ist es, dass im Bussystem die Solltemperaturen nach einem Stromausfall erhalten bleiben.

Die finde im Bereich "TwinCat_Configuration" inkl. Adresse wieder:

.nOut_Temperatur_Sollwert_Schlafzimmer AT %QB1 : INT;
.nOut_Temperatur_Sollwert_Gaestezimmer AT %QB2 : INT;

Bei einem Absturz des Bussystems haben sich da jetzt Phantasie- Temperaturen (-20.000 bis + 20.000) eingetragen. Diese möchte ich jetzt wieder in den normalen Bereich bringen (ca. 210)

Ich habe schon diverse sachen versucht, die Temperaturen anzupassen. Hierunter waren z.B. Werte forcen, Werte schreiben und ich hab mir auch ein kleines Programm geschrieben, welches die Werte zurücksetzen soll.

Welchen Tip könnt ihr mir noch geben, um die Temperaturen zurückzusetzen?

Kann ich die o.g. Adressen eigentlich manuell ändern?
Im Bereich "TwinCat_Configuration" steht der Hinweis: (* Generated automatically by TwinCAT - (read only) *)
Ich möchte noch weitere Variablen definieren und das will noch nicht so richtig klappen:

(*Zeitsteuerung Raffstores*)

Werktag_rauf AT%Q*:TOD;
Werktag_runter AT%Q*:TOD;
Samstag_rauf AT%Q*:TOD;
Samstag_runter AT%Q*:TOD;
Sonntag_rauf AT%Q*:TOD;
Sonntag_runter AT%Q*:TOD;

Gruß

Ingo

moz-screenshot.png
 
Die Norm erlaubt das eigentlich nicht, CoDeSys bewusst schon. Also: ein gewollter Fehler. Wenn man sowas mal erlaubt hat, kann man es natürlich nie wieder verbieten.

Dann muss man ja auch gar nicht. Aber es spräche noch nichts gegen ein Mittel, welches lokale Variablen auch wirklich lokal macht, oder? Ein "private" oder was auch immer? Gibt es irgendetwas in der Art?

Ich bin nicht gerade sonderlich programmiererfahren und sitze gerade an meinem ersten TwinCAT-Projekt.
Vielleicht habe ich deshalb auch das Gefühl, tierisch ausgebremst zu werden.

VG,
Alex
 
Zurück
Oben