Schalter - Betriebszustände

Bambam

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

ich habe ein kleines Problem. Und zwar möchte ich zwischen zwei Betriebszustände umschalten.(Soll später auf mehr als zwei erweitert werden). Es soll immer nur einer/oder gar keiner an sein und jeder einzelne für sich wieder abschaltbar sein.

Ich war der Meinung, dass das eigentlich nicht so schwer sein sollte, doch so wirklich bekomme ich das nicht hin. Ich habe mehrere Ansätze verfolgt mit SR- und RS-FlipFlops, Select-Anweisungen, IF-Anweisungen usw. Doch nichts von all dem hat mich zum Ziel geführt.

Vielleicht gibt es ja jemanden der mir da ein bisschen auf die Sprünge helfen kann.

Hier ist mal meinen Ansatz den ich zu erst ausprobiert habe. Ich weiß warum er nicht funktioniert, jedoch weiß ich nicht was ich anders machen muss.

Code:
[COLOR=Blue]IF    [/COLOR]bModus_Manuell = [COLOR=Magenta]TRUE [/COLOR][COLOR=Blue]THEN[/COLOR]
       bModus_Automatisch := [COLOR=Magenta]FALSE[/COLOR];
       iModus_Manuell := 1;           [COLOR=Lime] [COLOR=Green](*Dient zur Generierung einer ID die in einer XML-Datei verwendet wird*)[/COLOR][/COLOR]
[COLOR=Blue]END_IF[/COLOR]

[COLOR=Blue]IF[/COLOR]    bModus_Manuell = [COLOR=Magenta]FALSE [/COLOR][COLOR=Blue]THEN[/COLOR]
        iModus_Manuell := 2;
[COLOR=Blue]END_IF[/COLOR]

[COLOR=Blue]IF[/COLOR]    bModus_Automatisch = [COLOR=Magenta]TRUE [/COLOR][COLOR=Blue]THEN[/COLOR]
        bModus_Manuell := [COLOR=Magenta]FALSE[/COLOR];
        iModus_Automatisch := 1;
[COLOR=Blue]END_IF[/COLOR]

[COLOR=Blue]IF[/COLOR]    bModus_Automatisch = [COLOR=Magenta]FALSE [/COLOR][COLOR=Blue]THEN[/COLOR]
        iModus_Automatisch := 2;
[COLOR=Blue]END_IF[/COLOR]
Habt wie immer vielen Dank im Voraus.
 
Und woher kommt das Umschaltsignal bzw. wie wird zwischen den Betriebsarten umgeschalten? Da du auf die Var auch schreibend zugreifst, vermute ich dass alle dargestellten Var nicht mit E/A´s verbunden sind.

Was meinst du mit jeder für sich abschaltbar?
Wenn nur einer an ist kann auch nur einer ausgehen, oder?!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe das ganze Visualisiert und habe 4 Buttons. Wenn ich auf den einen drücke möchte ich, dass die Variable mit der er verbunden ist auf TRUE schaltet. Drücke ich ein zweites mal auf den Button, dann möchte ich das er wieder ausgeht, die Variable auf FALSE schaltet.

Ist einer der vier Buttons gedrückt, sprich ist ein Betriebszustand aktiv, möchte ich indem ich auf einen anderen drücke diesen Abschalten und einen anderen an.

Ich hoffe es ist jetzt verständlich worauf ich hinaus will. :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So funktioniert es:

Code:
trigTasterManuell(CLK := bModus_Manuell);
trigTasterAutomatisch(CLK := bModus_Automatisch);

    IF  trigTasterManuell.Q     THEN
        bModus_Manuell := TRUE;
        bModus_Automatisch := FALSE;
        iModus_Manuell := 1;
    END_IF

    IF  bModus_Manuell = FALSE THEN
        iModus_Manuell := 2;
    END_IF

    IF  trigTasterAutomatisch.Q THEN
        bModus_Automatisch := TRUE;
        bModus_Manuell := FALSE;
        iModus_Automatisch := 1;
    END_IF

    IF  bModus_Automatisch = FALSE THEN
        iModus_Automatisch := 2;
    END_IF

Das ist mir jetzt schon ein bisschen peinlich, dass ich da nicht selber drauf gekommen bin.
icon11.gif


Danke nochmal ...
 
Zurück
Oben