Globale Variablen und System Variablen Codesys 2

Beiträge
431
Reaktionspunkte
18
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich arbeite mit Wago unter Codesys 2.3. Mir ist schon öfters aufgefallen, wenn ich z.B einen DI im Programm verarbeiten will, dann drücke ich F2 und wähle unter System Variablen meinen DI aus. Funktioniert auch soweit.
Alle DI und DO tauchen mit der Suche unter F2 auch als Globale Variablen auf. Worin liegt da der Unterschied?? Sollte ich die System oder Globalen Variablen im Code verarbeiten??

Besten Dank.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

also ich wollte eben mal nachsehen, ob das bei mir auch so ist und nein, meine DI und DO erscheinen nicht unter den System Variablen.
Ich deklariere ohnehin in den globalen Variablen eine Liste die ich IN_OUT nenne und in der alle meine DIs und DOs auf globale Vars deklariert werden.

z.B. DI1_1 AT %IX3.0: BOOL;

Hat den Vorteil, dass ich bei verschiedenen Steuerungskonfigurationen (geänderte Adressen) aber gleichbleibendem Program nur die globale Variablenliste austauschen muss.

Gruß,
Flo
 
Bei mir ist es ebenfalls so. Konfiguriere auch unter den System-Variablen.
Da brauch ich mir um die Adressierung keine Gedanken machen wenn mal eine Karte dazu kommt.

Gruß

Onno
 
Ich deklariere ohnehin in den globalen Variablen eine Liste die ich IN_OUT nenne und in der alle meine DIs und DOs auf globale Vars deklariert werden.

z.B. DI1_1 AT %IX3.0: BOOL;

Hat den Vorteil, dass ich bei verschiedenen Steuerungskonfigurationen (geänderte Adressen) aber gleichbleibendem Program nur die globale Variablenliste austauschen muss.

Also ich deklariere meine Variablen immer in der Steuerungskonfiguration an der Klemme. So brauche ich mich bei stecken einer neuen Klemme nicht um Variablenbezeichnungen kümmern oder unter globalen Variablen etwas beachten. Diese kann ich dann sowohl als Systemvariable als auch als Globale Variable in der Auswahl F2 nutzen. Ich denke, das beide Wege auf das Gleiche Ziel münden. Eine benannte Variable an der Klemme ist sowohl global als auch eine System Variable.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich deklariere meine Variablen immer in der Steuerungskonfiguration an der Klemme. So brauche ich mich bei stecken einer neuen Klemme nicht um Variablenbezeichnungen kümmern oder unter globalen Variablen etwas beachten. Diese kann ich dann sowohl als Systemvariable als auch als Globale Variable in der Auswahl F2 nutzen. Ich denke, das beide Wege auf das Gleiche Ziel münden. Eine benannte Variable an der Klemme ist sowohl global als auch eine System Variable.

Ich mache das genauso. Auch der Vorteil von KingHelmer Variablenliste ist meiner Meinung nach mit der Deklaration direkt an den Eingangskarten abgedeckt. Denn bei gleichbleibenden Programm mit anderer Steuerungskonfiguration hat man bei beiden Varianten im Prinzip den gleichen Aufwand mit der Anpassung. Einmal muss ich die Vars in der Steuerungskonfig ändern, und einmal muss die Variablenliste angepasst werden.
 
Danke für Eure Antworten.

Ok dann mache ich zumindest nichts großartig falsch.
@Flo: Deine Variante ist interessant, kann bei mir auch schon mal vorkommen, dass der gleiche Code auf verschiedener Hardware läuft.
 
Zurück
Oben