Was macht dieser Operator?

":=" Input oder In/Out
"=>" Output
des entsprechenden FBs.

Output "gas" wird auf Variable gas.motorr ... geschrieben.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei Stukturiertem Text ist das ein Vergleicher. Jedoch ist er hier falsch geschrieben, weiss nicht ob das so funktioniert. Korrekt wäre ">=", auch bekannt als GE, was das Kürzel für "Greater-Equal", also Grösser-Gleich ist.

Der Operator Vergleicht ob die Variable, der Zustand oder die Zahl links grösser oder gleich gross wie die Variable, der Zustand oder die Zahl rechts vom Operator.

Typische Anwendung:

Code:
IF (var1 >= var2) THEN
    var3 := TRUE;
END_IF;

Soll heissen: Wenn die Variable 1 ("var1") grösser oder gleich gross ist wie die Variable 2 ("var2") dann setze die Variable 3 ("var3") auf True/1.\

Solltest du nicht mit ST arbeiten, so gib bitte an welche Programmiersprache du nutzt, denn je nach Programmiersprache kann die Bedeutung dieses Operanten variieren.

Weitere Informationen hier.
 
Zuletzt bearbeitet:
Für das Eröffnungsbeispiel ist die Aussage von Manuel zutreffend. Also das schreiben des Outputs auf eine Variable. Finde das Zeichen unglücklich da in vielen anderen Programmiersprachen Grösser-Gleich mit >= wie auch => geschrieben werden kann...
 
Deshalb bitte ich ja um die Angabe der Programmiersprache. Denn bei Strukturiertem Text ist "=>" nicht zulässig (zumindest bei CoDeSys).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für Codesys kann man aber ganz klar sagen, das die Variante => für größer-gleich schlicht unzulässig ist, eben weil es eine Zuweisung ist.
Und das Eröffnungsbeispiel ist absoult eindeutig ST.

Mfg
Manuel
 
ok danke für die antworten, es ist in st geschrieben. arbeite an einem programm weiter welches nicht ich geschrieben habe und da kam mir dieser operator in die quere. genau so geschrieben wie in meiner obigen frage, also nich >= sondern so =>. größer gleich (>=) war mir bekannt.

warum kann ich eigentlich nicht gas.motorrechts.gasweg := gas statt gas => gas.motorrechts.gasweg schreiben?

sg
 
Zuletzt bearbeitet:
Und...der akzeptiert den Operanten bei dir? :confused:

Hast du mir mal einen grösseren Ausschnitt des Programmes zeigen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
warum kann ich eigentlich nicht gas.motorrechts.gasweg := gas statt gas => gas.motorrechts.gasweg schreiben?
Weil die CodeSys-Syntaxregeln nun mal so sind.
Du kannst aber die Zuweisung ausserhalb des FB-Aufrufs schreiben:
MotorRechts(Bremsen:=0);
gas.motorrechts.gasweg:=Motorrechts.gas;
 
Wie eben schon mal geschrieben ist das ganz normal in ST wenn man Ausgänge eines FB auf eine Variable schreibt.

z.B.: TON(IN:= , PT:= , Q=> , ET=> );
 
Zurück
Oben