Übung:
Anwenderdefinierter Datentyp
a) Schreiben Sie eine Funktion, benutzen Sie dazu
die Funktionstabelle.
Verwenden Sie den anwenderdefinierten Datentyp
"BAND", da eine Funktion nur einen
Rückgabewert hat, aber drei Relais anzusteuern
sind. Der Datentyp enthält daher drei
Komponenten für den Rückgabewert.Rufen Sie
die Funktion im Programm MAIN auf, das alle 10ms
zyklisch aufgerufen wird.
|
|
 |
TYPE BAND
:
STRUCT
xVor, xZurueck, xSchleich:BOOL;
END_STRUCT
END_TYPEFUNCTION FcBAND : BAND
VAR_INPUT
xS0,xS1,xS2:BOOL;
END_VAR
FcBAND.xVor:= NOT xS0 AND (xS2 OR xS1 AND xS2);
FcBAND.xZurueck:= xS0 AND NOT xS2;
FcBAND.xSchleich:= NOT xS0 AND xS1 AND xS2 OR xS0 AND xS1 AND NOT xS2;
PROGRAM PLC_PRG
VAR
S0 AT %IX2.0:BOOL;
S1 AT %IX2.1:BOOL;
S2 AT %IX2.2:BOOL;
Q1_vor AT %QX0.4:BOOL;
Q2_zur AT %QX0.5:BOOL;
Q3_schleich AT %QX0.6:BOOL;
BandAnl:BAND;
END_VAR
BandAnl:= FcBAND(xS0:=S0 OR S0Visu, xS1:=S1 OR S1Visu, xS2:=S2 OR S2Visu);
Q1_vor:= BandAnl.xVor;
Q2_zur:= BandAnl.xZurueck;
Q3_schleich:= BandAnl.xSchleich;
|