-> Hier kostenlos registrieren
Hallo, ich habe 1-2 Fragen:
Wie lese ich das untenstehende Programm?
Deute ich das richtig wenn ich sage:
U za.pospal41=1
UN esteine41
U epalbe41
L za.pakofo41
T za.abbe41
usw
usw
usw
ODER:
O za.pospal41=1
ON esteine41
O epalbe41
L za.pakofo41
T za.abbe41
usw
usw
usw
Mein Problem ist es das ich nicht genau weiß ob ich die aufeinanderfolgenden IF-Anweisungen als ODER bzw UND Verknüpfung betrachten kann.
Oder kann man das so Pauschal gar nicht sagen ?
Frage 2:
Ist das richtig:
Wenn die erste IF Anweisung nicht erfüllt wird, dann ist EndIf.
Wenn die erste erfüllt wird aber die zweite nicht, dann ist EndIf.
wird die erste und die zweite erfüllt aber die dritte nicht, dann (aber auch nur dann) ist ELSE und der Teil nach ELSE wird ausgeführt?
werden alle 3 Ifs erfüllt werden die Befehle nach dem dritten IF ausgeführt.
ist das korrekt?
Danke schon mal!
pal41:
IF sm(p:=za.pospal41 ,s:=za.stom41) = 1 THEN //wenn Linie B Abgabepos. Steine ist frei(DB1.DBW640) dann
IF aba (p:=esteine41 ,s:=za.stom41) = aus THEN //wenn E16.0(esteine41) ist 0 dann
IF abe (p:=epalbe41 , s:=za.stom41) = ein THEN //wenn E16.2(epalbe41) ist 1 dann
za.abbe41:=za.pakfo41; //setze Linie B Abgabe(DB1.DBW652)= Kette B Palette vorfahren Linie B(DB1.DBW650)
za.start41:=1; //setze Kette B Startsignal an Paketierung(DB1.DBW644)auf 1
za.frei41:=0; //setze Freigabe von Paketierung(DB1.DBW642)auf 0
mstart_lb := aus; //setze M122.3 Linie B Start Fremdförderer MSK auf 0
GOTO inf41; //nächster Schritt
ELSE //ansonsten
za.abbe41:=za.pakfo41; //setze Linie B Abgabe(DB1.DBW652)= Kette B Palette vorfahren Linie B(DB1.DBW650)
za.pakfo41:=0 ; //setze Kette B Palette vorfahren Linie B(DB1.DBW650)auf 0
za.frei41:=0; //setze Freigabe von Paketierung(DB1.DBW642)auf 0
GOTO inf41; //nächster Schritt
END_IF;
END_IF;
END_IF;
Wie lese ich das untenstehende Programm?
Deute ich das richtig wenn ich sage:
U za.pospal41=1
UN esteine41
U epalbe41
L za.pakofo41
T za.abbe41
usw
usw
usw
ODER:
O za.pospal41=1
ON esteine41
O epalbe41
L za.pakofo41
T za.abbe41
usw
usw
usw
Mein Problem ist es das ich nicht genau weiß ob ich die aufeinanderfolgenden IF-Anweisungen als ODER bzw UND Verknüpfung betrachten kann.
Oder kann man das so Pauschal gar nicht sagen ?
Frage 2:
Ist das richtig:
Wenn die erste IF Anweisung nicht erfüllt wird, dann ist EndIf.
Wenn die erste erfüllt wird aber die zweite nicht, dann ist EndIf.
wird die erste und die zweite erfüllt aber die dritte nicht, dann (aber auch nur dann) ist ELSE und der Teil nach ELSE wird ausgeführt?
werden alle 3 Ifs erfüllt werden die Befehle nach dem dritten IF ausgeführt.
ist das korrekt?
Danke schon mal!
pal41:
IF sm(p:=za.pospal41 ,s:=za.stom41) = 1 THEN //wenn Linie B Abgabepos. Steine ist frei(DB1.DBW640) dann
IF aba (p:=esteine41 ,s:=za.stom41) = aus THEN //wenn E16.0(esteine41) ist 0 dann
IF abe (p:=epalbe41 , s:=za.stom41) = ein THEN //wenn E16.2(epalbe41) ist 1 dann
za.abbe41:=za.pakfo41; //setze Linie B Abgabe(DB1.DBW652)= Kette B Palette vorfahren Linie B(DB1.DBW650)
za.start41:=1; //setze Kette B Startsignal an Paketierung(DB1.DBW644)auf 1
za.frei41:=0; //setze Freigabe von Paketierung(DB1.DBW642)auf 0
mstart_lb := aus; //setze M122.3 Linie B Start Fremdförderer MSK auf 0
GOTO inf41; //nächster Schritt
ELSE //ansonsten
za.abbe41:=za.pakfo41; //setze Linie B Abgabe(DB1.DBW652)= Kette B Palette vorfahren Linie B(DB1.DBW650)
za.pakfo41:=0 ; //setze Kette B Palette vorfahren Linie B(DB1.DBW650)auf 0
za.frei41:=0; //setze Freigabe von Paketierung(DB1.DBW642)auf 0
GOTO inf41; //nächster Schritt
END_IF;
END_IF;
END_IF;