Liste globaler Variablen per Befehl ausschalten

UlTra

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

-> Beckhoff -> TwinCAT -> PLC

ich habe unter Ressourcen eine Liste an globalen Variablen (alle BOOL) angelegt,
die unter bestimmten Bedingungen nicht geschrieben werden dürfen.

Ist es möglich, diese Liste per Befehl "auszusperren" oder zu deaktivieren?
Das fände ich sehr elegant :cool:

Oder schreibe ich besser ein kleines ST-Programm, das mir diese Variablen
in einer Schleife auf FALSE setzt?

beste Grüße,

UlTra
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Set, Get

Globale Variablen sollte man möglichst NIE verwenden, wenn man grössere Systeme entwickelt.

Es bietet sich an, eine Funktion oder einen FunktionsBlock zum Setzen und Rücklesen der Werte einzusetzen.

Moderne Sprachen wie C# haben so etwas als Standard eingebaut. Der Vorteil hierbei ist, dass man beim Setzen auch gleich ungültige Werte (bei bool allerdings kaum möglich) verhindern kann.

Es kommt hierbei leider immer wieder die Diskussion der Effektivität auf, das ist ein Scheinargument, wenn man sich mal Zyklus Zeiten und Zeiten im Detail ansieht. Und auch hier wieder ein Hinweis auf modernere Sprachen (inllineing und anonyme Variablen...)
 
Klingt danach als ob man dieses Programm noch mal von Grund auf neu überdenken sollte.

Wer sollte denn die Variablen verändern wenn nicht das Programm oder die Visu?
 
Klingt danach als ob man dieses Programm noch mal von Grund auf neu überdenken sollte.

Warum? Ich bin mir schon im klaren über die Dinge, die ich mache. :cool:

Wer sollte denn die Variablen verändern wenn nicht das Programm oder die Visu?

Ein Anwender, der an einem weit entfernten Ort ein *Prozessleitsystem bedient und Aggregate von Hand aus der Ferne bedienen kann.

Ich habe der Übersicht halber alle Variablen die aus dem *PLS rein kommen in einer eigenen Liste. Das macht die Inbetriebnahme einfacher.
Ein Wartungsmonteur kann die Steuerung auf "örtlich" setzten. Dann ist ein Bedienen aus der Ferne nicht möglich. Lesen geht noch.
Schön währe es halt gewesen, die ganze Liste FALSE setzten zu können.

Naja, dann halt anders. Danke.
 
...
Ein Anwender, der an einem weit entfernten Ort ein *Prozessleitsystem bedient und Aggregate von Hand aus der Ferne bedienen kann.
...

Eben genau aus diesem Grund würde ich es über die Visu lösen, die Bedienelemente deaktivieren also die Bedienung sperren und dies durch einen Farbumschaltung (aus grauen) signalisieren.

Der Bediener sollte ja auch wissen das er gerade keine Aktivität ausführen darf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alles relativ

Jetzt würde mich glatt mal interessieren wie du das gemeint hast. Wo wenn nicht in großen Projekten sonst sollte ich globale Variablen benutzen?


Es kommt auch darauf an, was man als Grosses Projekt ansieht. Wenn mehr als 5 Kollegen am Projekt entwickeln, wenn mehr als 40.000 Zeilen ST Code beteiligt sind, wird es gemein, wenn jeder auf eine Variable mal eben so schreiben darf.


Deshalb die Set/Get Zugriffe, wenn alles nicht mehr hilft, setzt man einen BreakPoint in der Set Funktionalität und sieht dann, wer an der Variable dreht!
 
Zurück
Oben