Initial
This commit is contained in:
58
PLC/8 Media/POUs/LeviPump/Levi2PumpMixSystem_FB.TcPOU
Normal file
58
PLC/8 Media/POUs/LeviPump/Levi2PumpMixSystem_FB.TcPOU
Normal file
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
|
||||
<POU Name="Levi2PumpMixSystem_FB" Id="{ece2ff75-6acd-40f3-8c3a-ce486569e98e}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK Levi2PumpMixSystem_FB
|
||||
VAR_INPUT
|
||||
iStation : INT;
|
||||
TargetVolume : REFERENCE TO LREAL;
|
||||
TargetFlow : REFERENCE TO LREAL;
|
||||
TargetRatio : REFERENCE TO LREAL;
|
||||
|
||||
System : REFERENCE TO LeviPumpIn_FB;
|
||||
Pump1 : REFERENCE TO LeviPumpIn_FB;
|
||||
Pump2 : REFERENCE TO LeviPumpIn_FB;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
END_VAR
|
||||
VAR
|
||||
Step : INT;
|
||||
END_VAR
|
||||
VAR PERSISTENT
|
||||
MixSystemOk : BOOL;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[IF StationsStatus[iStation].Soll.Stop THEN
|
||||
IF Step > 10 THEN
|
||||
MixSystemOk := FALSE;
|
||||
Step := 0;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
CASE Step OF
|
||||
0:
|
||||
IF System.bOutStartMix THEN
|
||||
IF System.bInTankFull THEN
|
||||
System.bOutStartMix := 0;
|
||||
ELSE
|
||||
Step := 10;
|
||||
END_IF
|
||||
END_IF
|
||||
10:
|
||||
IF System.bOutInitDone AND Pump1.bOutInitDone AND Pump2.bOutInitDone THEN
|
||||
Step := 20;
|
||||
END_IF
|
||||
20:
|
||||
IF Pump1.StartVolume(TargetVolume*(1-TargetRatio/100), TargetFlow*(1-TargetRatio/100)) AND
|
||||
Pump2.StartVolume(TargetVolume*(TargetRatio/100), TargetFlow*(TargetRatio/100)) THEN
|
||||
Pump1.bOutVolumeDone := FALSE;
|
||||
Pump2.bOutVolumeDone := FALSE;
|
||||
Step := 30;
|
||||
END_IF
|
||||
30:
|
||||
// System.bOutRefill := FALSE;
|
||||
System.bOutStartMix := FALSE;
|
||||
Step := 0;
|
||||
END_CASE]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
Reference in New Issue
Block a user