|
|||
| Aufgaben 18.1 | Tanktyp 1: Heizung ein/aus,
in CODESYS V3 oder e!COCKPIT PROGRAM PLC_PRG (****************************************************************** OOP Heizung ein/aus, Methoden Zur Simulation, nach dem Einloggen und Start, können Sie den Wert von xS1 ändern, beobachten Sie xQ1. *******************************************************************) VAR xS1:BOOL; // Schalter ein/aus Heizung1: FB_Heizung; // Objekt 1, Tanktyp 1 xQ1:BOOL; // Heizungsschütz END_VAR IF xS1 THEN Heizung1.M_On(); // Methodenaufruf ELSE Heizung1.M_Off(); END_IF; xQ1:= Heizung1.xOUT; FUNCTION_BLOCK FB_Heizung VAR_OUTPUT xOUT:Bool; END_VAR METHOD M_Off VAR_INPUT END_VAR xOUT:= FALSE; METHOD M_On VAR_INPUT END_VAR xOUT:= TRUE; |
||
| Aufgaben 18.2 | Tanktyp 2: Heizung
Leistungssteuerung über eine weitere Methode, in CODESYS V3 oder e!COCKPIT PROGRAM PLC_PRG (****************************************************************** OOP Heizung ein/aus, Methoden, Vererbung Zur Simulation, nach dem Einloggen und Start, können Sie die Werte von xS1 und rSollwert ändern, beobachten Sie xQ1, xQ2 und rLeistung. *******************************************************************) VAR xS1:BOOL; // Schalter ein/aus Heizung1: FB_Heizung; // Objekt 1, Tanktyp 1 xQ1:BOOL; // Heizungsschütz Heizung2: FB_Heiz_Leistungsteuerung; // Objekt 2, Tanktyp 2 xQ2:BOOL; rLeistung:REAL; // Wert für Leistungssteller rSollwert:REAL:= 0.8; // Vorgabewert END_VAR IF xS1 THEN Heizung1.M_On(); // Methodenaufruf Heizung2.M_SetzeLeistungswert(rSollwert); ELSE Heizung1.M_Off(); Heizung2.M_Off(); END_IF; xQ1:= Heizung1.xOUT; xQ2:= Heizung2.xOUT; rLeistung:= Heizung2.rLeistungswert; FUNCTION_BLOCK FB_Heizung FUNCTION_BLOCK FB_Heiz_Leistungsteuerung
EXTENDS FB_Heizung |
||
| Aufgaben 18.3 | Tanktyp 2: Heizung
Leistungssteuerung über eine Eigenschaft, in CODESYS V3 oder e!COCKPIT PROGRAM PLC_PRG (****************************************************************** OOP Heizung ein/aus, Methoden, Vererbung, Eigenschaften (Property) Zur Simulation, nach dem Einloggen und Start, können Sie die Werte von xS1 und rSollwert ändern, beobachten Sie xQ1, xQ2 und rLeistung. *******************************************************************) VAR xS1:BOOL; //Schalter ein/aus Heizung1: FB_Heizung; // Objekt 1 xQ1:BOOL; // Heizungsschütz Heizung2: FB_Heiz_Leistungsteuerung; // Objekt 2 xQ2:BOOL; // Heizungsschütz rLeistung:REAL; // Stellwert rSollwert:REAL:=0.7; // Vorgabewert END_VAR IF xS1 THEN Heizung1.M_On(); Heizung2.M_On(); Heizung2.P_Leistungwert:= rSollwert; ELSE Heizung1.M_Off(); Heizung2.M_Off(); Heizung2.P_Leistungwert:= 0.0; END_IF; xQ1:= Heizung1.xOUT; xQ2:= Heizung2.xOUT; rLeistung:= Heizung2.P_Leistungwert; FUNCTION_BLOCK FB_Heizung FUNCTION_BLOCK FB_Heiz_Leistungsteuerung
EXTENDS FB_Heizung PROPERTY P_Leistungwert
: REAL |
||
| Aufgaben 18.4 |
Tankanlage, Programm mit
Interface, in CODESYS V3 oder e!COCKPIT PROGRAM PLC_PRG (****************************************************************** OOP Heizung ein/aus, Methoden, Vererbung, Interfaces Zur Simulation, nach dem Einloggen und Start, können Sie den Wert von xK1 ändern, beobachten Sie Tank1 ... Tank4. *******************************************************************) VAR K1:BOOL;// bei Normallast TRUE Tank1:FB_TankTyp1; Tank2:FB_TankTyp2; Tank3:FB_TankTyp1; Tank4:FB_TankTyp2; Tank:ARRAY[1..4] OF I_Energiemanagment:= [Tank1, Tank2, Tank3, Tank4]; i: INT:=1; END_VAR FOR i:=1 TO 4 DO IF K1 THEN Tank[i].Normallast(); ELSE Tank[i].Ueberlast(); END_IF; END_FOR; INTERFACE
I_EinAus FUNCTION_BLOCK FB_TankTyp1
IMPLEMENTS I_EinAus, I_Energiemanagment FUNCTION_BLOCK FB_TankTyp2
EXTENDS FB_TankTyp1 IMPLEMENTS I_Leistung |
||
© Vogel Buchverlag |
|||