| Aufgabe 6.1 |
Kompensationsanlage aus Kapitel
1
PROGRAM PLC_PRG
(*Kompensationsanlage U,I,P-Werte zum Testen des Codes
ändern*)
VAR
r_U :REAL:= 230.0;(*Die Variable wird mit 230.0
initialisiert*)
r_I :REAL:= 10.5; (*Testwert*)
r_P :REAL:= 1500.0; (*Testwert*)
r_S, r_lamda, r_Q :REAL;
END_VAR
(*Scheinleistung berechnen*)
r_S:= r_U * r_I;
(*Leistungsfaktor berechnen*)
r_lamda:= r_P / r_S;
(*Blindleistung berechnen*)
r_Q:= SQRT(EXPT(r_S,2)- EXPT(r_P,2));Kompensationsanlage
aus Kapitel 4
PROGRAM PLC_PRG
(*****************************************************
Kompensationsanlage: Erhöhen Sie zum Testen des Codes
den I-Wert beobachten Sie die Schütze.
******************************************************)
VAR
r_U :REAL:=230.0;(*Spannung*) r_I :REAL:=10.0;(*Strom*)
r_P :REAL:=1000.0;(*Wirkleistung*)
r_S, r_lamda, r_Q :REAL;(*Scheinleistung,
Leistungsfaktor, Blindleistung*)
xQ1, xQ2, xQ3:BOOL;(*Schütze*)
END_VAR
(*Scheinleistung berechnen*)
r_S:= r_U * r_I;
(*Leistungsfaktor berechnen*)
r_lamda:= r_P / r_S;
(*Blindleistung berechnen*)
r_Q:=SQRT(EXPT(r_S,2)-EXPT(r_P,2));
(*Schütze abhängig von der Bildleistung schalten*)
IF r_Q <1000 THEN
xQ3:=FALSE; xQ2:=FALSE; xQ1:=FALSE;
ELSIF r_Q <2000 THEN
xQ3:=FALSE; xQ2:=FALSE; xQ1:=TRUE;
ELSIF r_Q <3000 THEN
xQ3:=FALSE; xQ2:=TRUE; xQ1:=TRUE;
ELSE
xQ3:=TRUE; xQ2:=TRUE; xQ1:=TRUE;
END_IF;
|
| Übung 6.2 |
Positionieren Wenn
Sie die Vorlage auf InfoClick verwenden, so können Sie
die Anlage in einer Visualisierung steuern.
VAR_GLOBAL
iIstPosition:INT; (*z.B. IO-Link fähigen
Distanzsensor, Wert in mmm, z.B.IW0*)
xQ0 AT %QX0.0:BOOL; (*Schütz-zurück*)
xQ1 AT %QX0.1:BOOL; (*Schütz-vor*)
END_VAR
PROGRAM PLC_PRG
(*************************************************************************************
Mit dem Taster S0 wird über ein Schütz Q0 ein Antrieb
eingeschaltet,
bis die Position 0 erreicht ist. Mit dem Taster S1 wird
die Position 1 angefahren usw.
Die Position könnte über einen IO-Link fähigen
Distanzsensor erfasst werden,
sein Wert in mm könnte im zugehörigen Speicher, z.B. %IW0
gelesen werden.
In dieser Übung wird der Wert des Distanzsensor im
Unterprogramm MODELL abhängig von den
den Variablen xQ0 und xQ1 (Schütze) erzeugt, dieses
Programm simuliert den Sensor.
**************************************************************************************)
VAR
END_VAR
(*Unterprogrammaufrufe*)
MODELL();(*nicht löschen, verändert den Positionswert
abhängig von den Schützen*)
POSITIONIEREN();
PROGRAM MODELL
(*******************************************************
Verändern Sie den Programmcode nicht, er stellt
die Intelligenz des visualisierten Anlagenmodells dar.
********************************************************)
VAR
END_VAR
IF xQ1 THEN
iIstPosition := iIstPosition + 1;
ELSIF xQ0 THEN
iIstPosition := iIstPosition - 1;
END_IF;
PROGRAM POSITIONIEREN
VAR
xS0_Visu, xS1_Visu, xS2_Visu, xS3_Visu:BOOL;
iSollPosition: ARRAY[0..3] OF INT:= [0, 50, 100,
150];
END_VAR
??????
|