Kapitel 2. Lösungen: Boolesche Operationen ======================================================================= Übung 2.1 Äquivalenz-Funktion PROGRAM PLC_PRG (*Äquivalenz-Funktion Wert von %IX2.0 und %IX2.1 zum testen ändern, %QX0.1 beobachten*) VAR xB1 AT %IX2.0:BOOL; xB2 AT %IX2.1:BOOL; xP2 AT %QX0.1:BOOL; END_VAR xP2:= (xB1 AND xB2) OR (NOT xB2 AND NOT xB1); _______________________________________________________________________ Übung 2.2 XOR-Operand PROGRAM PLC_PRG (*Äntivalenz-Funktion*) VAR xB1_temp AT %IX2.0:BOOL; xB2_temp AT %IX2.1:BOOL; xP1_Uebertemp AT %QX0.1:BOOL; END_VAR xP1_Uebertemp:= xB1_temp XOR xB2_temp; _______________________________________________________________________ Übung 2.3 Funktion 2 aus 3 PROGRAM PLC_PRG (*2 aus 3 mit Schließer*) VAR xB1_Temp AT %IX2.0:BOOL; xB2_Temp AT %IX2.1:BOOL; xB3_Temp AT %IX2.2:BOOL; xP1_Temp_zu_hoch AT %QX0.2:BOOL; END_VAR xP1_Temp_zu_hoch:= xB1_Temp AND xB2_Temp OR xB1_Temp AND xB3_Temp OR xB2_Temp AND xB3_Temp; _______________________________________________________________________ Übung 2.4 Wechselschaltung PROGRAM PLC_PRG (*Wechselschaltung*) VAR S1 AT %IX2.0:BOOL;(*Schalter*) S2 AT %IX2.1:BOOL; E1 AT %QX0.0:BOOL;(*Leuchte*) E2 AT %QX0.1:BOOL; END_VAR E1:= S1 XOR S2; E2:= E1; _______________________________________________________________________ Übung 2.5 KV-Diagramm: Funktion 3 aus 4 PROGRAM PLC_PRG (*3 aus 4*) VAR xB1 AT %IX2.0:BOOL; xB2 AT %IX2.1:BOOL; xB3 AT %IX2.2:BOOL; xB4 AT %IX2.3:BOOL; xP1 AT %QX0.1:BOOL; END_VAR xP1:= xB1 AND xB2 AND xB3 OR xB1 AND xB2 AND xB4 OR xB1 AND xB3 AND xB4 OR xB2 AND xB3 AND xB4; _______________________________________________________________________ Übung 2.6 Funktion 2 aus 3 mit Öffner Variablendeklaration wie Übung 2.3 xP1_Temp_zu_hoch:= (NOT xB1_Temp AND NOT xB2_Temp) OR (NOT xB1_Temp AND NOT xB3_Temp) OR (NOT xB2_Temp AND NOT xB3_Temp); _______________________________________________________________________ Übung 2.7 PROGRAM PLC_PRG VAR xS1 AT %IX1.0:BOOL; xS2 AT %IX1.1:BOOL; xP1 AT %QX0.0:BOOL; xP2 AT %QX0.1:BOOL; xP3 AT %QX0.2:BOOL; END_VAR xP1:= xS1 OR xS2; xP2:= xS1 XOR xS2; xP3:= NOT xP2; _______________________________________________________________________ Bandanlage PROGRAM PLC_PRG (************************************** Bandsteuerung über Schalter Siehe Funktionstabelle S0 %IX2.0 ein -> Q0_vor %QX0.0 ein S1 %IX2.1 ein -> Q2_schleich %QX0.2 ein S2 %IX2.2 ein -> Q1_zurueck %QX0.1 ein ***************************************) VAR S0 AT %IX2.0:BOOL;(*zurück*) S1 AT %IX2.1:BOOL;(*schleich*) S2 AT %IX2.2:BOOL;(*vor*) Q1_vor AT %QX0.4:BOOL; Q2_zur AT %QX0.5:BOOL; Q3_schleich AT %QX0.6:BOOL; END_VAR Q1_vor:= NOT S0 AND NOT S1 AND S2 OR NOT S0 AND S1 AND S2; Q2_zur:= S0 AND NOT S1 AND NOT S2 OR S0 AND S1 AND NOT S2; Q3_schleich:= S0 AND S1 AND NOT S2 OR NOT S0 AND S1 AND S2; =======================================================================