Saufautomat
Level-1
- Beiträge
- 38
- Reaktionspunkte
- 2
-> Hier kostenlos registrieren
Hallo miteinander,
ich programmiere noch an meinem ersten Programm und allmählich bricht das Chaos über mich herein.
Ich habe eine Schrittkette mit fünf Schritten und drei motorgetriebene Ventile.
Es gibt einen FB in dem ich jeden einzelnen Ausgang ansteuere. So z.B.:
Bei jedem Schritt überprüfe ich, ob die Ventile in der richtigen Position sind.
Jetzt ist schon absehbar, dass noch Ventile und Schritte dazukommen werden. Also wird das so nichts.
Wie macht man es denn am besten? Ich habe eine Idee aber frage lieber erst mal hier bevor ich das fünfte mal alles über den Haufen werfe:
Ich würde jetzt einen Datentyp "Ventile" erschaffen, in dem jedes Ventil als bool aufgeführt ist.
In einem Datenbaustein würde ich für jeden Schritt die Ventilpositionen hinterlegen.
Die aktuellen Ventilpositionen würde ich von den Eingängen einlesen und auch in einem Datentyp "Ventile" speichern.
Mit irgendeinem FB könnte ich dann bestimmt überprüfen, ob die akutellen Ventilpositionen den für den Schritt vorgegebenen entsprechen. Wie weiß ist noch nicht genau.
Das Vorgehen für die Ausgänge kann ich mir nur noch nicht so recht vorstellen:
Für jeden Ausgang bräuchte ich eine Funktion, der ich den aktuellen Schritt übergebe. Die Funktion müsste dann für den Schritt die richtige Ventilposition finden und ausgeben. Nur wie bekomme ich die Information aus dem DB? Muss ich hier vielleicht mit einem zweidimensionalen Array arbeiten?
ich programmiere noch an meinem ersten Programm und allmählich bricht das Chaos über mich herein.
Ich habe eine Schrittkette mit fünf Schritten und drei motorgetriebene Ventile.
Es gibt einen FB in dem ich jeden einzelnen Ausgang ansteuere. So z.B.:
Bei jedem Schritt überprüfe ich, ob die Ventile in der richtigen Position sind.
Jetzt ist schon absehbar, dass noch Ventile und Schritte dazukommen werden. Also wird das so nichts.
Wie macht man es denn am besten? Ich habe eine Idee aber frage lieber erst mal hier bevor ich das fünfte mal alles über den Haufen werfe:
Ich würde jetzt einen Datentyp "Ventile" erschaffen, in dem jedes Ventil als bool aufgeführt ist.
In einem Datenbaustein würde ich für jeden Schritt die Ventilpositionen hinterlegen.
Die aktuellen Ventilpositionen würde ich von den Eingängen einlesen und auch in einem Datentyp "Ventile" speichern.
Mit irgendeinem FB könnte ich dann bestimmt überprüfen, ob die akutellen Ventilpositionen den für den Schritt vorgegebenen entsprechen. Wie weiß ist noch nicht genau.
Das Vorgehen für die Ausgänge kann ich mir nur noch nicht so recht vorstellen:
Für jeden Ausgang bräuchte ich eine Funktion, der ich den aktuellen Schritt übergebe. Die Funktion müsste dann für den Schritt die richtige Ventilposition finden und ausgeben. Nur wie bekomme ich die Information aus dem DB? Muss ich hier vielleicht mit einem zweidimensionalen Array arbeiten?