58 lines
1.4 KiB
XML
58 lines
1.4 KiB
XML
<?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> |