"BOOL" mehrfach ansteuern aus dem Programmcode

Rici

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

Hier kommt wohl die simpelste Frage, ich weiß jedoch nicht welchen Lösungsweg ich nehmen sollte.
Habe auch nichts dazu googeln können, eventuell ist es zu banal.

Aufgabe: Eine Art Störung Signal soll im Bedienpaneel angezeigt werden. Dieses Signal kann von unterschiedlichen stellen auf "true" geschaltet werden.

Welcher Weg ist der eleganteste.
1- Im der ganzen Anlage wird mit Merker/Flags gearbeitet, welche irgendwann-mal verodert (oder-Baustein) werden.
2-
3- Das Störsignal (bool) wird mit einem Sprung angesteuert und somit true. Auf null gesetzt wird es nur einmal an der obersten Stelle des ganzen codes.

Das ist das was mir eingefallen ist. Hoffe es ist verständlich beschrieben.
Ich tendiere zu dem Lösungsansatz 3.

Hat jemand andere/bessere Ansätze?
Wie macht ihr das?

Das Programm ist übrigen CoDeSys 3.5, falls es von bedeutung sein sollte.

Danke im Voraus
 
Zuletzt bearbeitet:
Ich würde das Bit am Anfang des Zyklus auf false setzen und dann bei jeder auftretenden Störung auf true setzen.
Ich glaube, das entspricht deinem Vorschlag 3.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die übersichtlichste Lösung ist das Verodern vieler Störungs-Flags an einer Stelle als Sammelstörung. Da sieht man beim Beobachten auf einen Blick ob und warum die Sammelstörung aktiv ist. Des Programmierers Anspruch auf "Eleganz" kann man entgegenkommen, wenn die Störungs-Flags in Störungs-Words/DWords liegen und der Code prüft die Words auf <> 0, oder die Flags liegen in einem Bool-Array, was man mit einer Schleife auswerten könnte.

Die für Programmierer "faulste" Lösung ist das Setzen des Bits direkt im Programmcode wo auch immer dem Programmierer das Setzen so einfällt. Da braucht man zum Nachvollziehen des Codes eine Querverweisliste über das gesamte Programm. Bei vielen Kunden ist eine solche Art Programmierung mit Zuweisungen an mehreren verstreuten Programmstellen für Lieferanten verboten, weil zu unübersichtlich und im Fehlerfall die Diagnose zu lange dauert (die Zeit des Kunden ist viel mehr Geld wert als eine eingesparte Programmierer-Stunde!).

Harald
 
Zurück
Oben