664 lines
14 KiB
Plaintext
664 lines
14 KiB
Plaintext
|
|
(* @PATH := '\/TASK0_VOID' *)
|
|
(* @SYMFILEFLAGS := '59392' *)
|
|
PROGRAM MFMAnalog_Values
|
|
VAR
|
|
mCarboCO2DeltaPSim : REAL ;
|
|
mTemp : MFM_Real_Struct ;
|
|
mAuxONS : F_TRIG ;
|
|
mBlendStopONS : BOOL ;
|
|
mBlendStopDly : TOF ;
|
|
mAuxTP : TP ;
|
|
|
|
mH2OValveSlew : SlewLimit ;
|
|
mH2OFlowFlted : LowPassFilter ;
|
|
mSyrValveSlew : SlewLimit ;
|
|
mSyrFlowFlted : LowPassFilter ;
|
|
mCarboCO2ValveSlew : SlewLimit ;
|
|
mCarboCO2FlowFlted : LowPassFilter ;
|
|
mWaterFlowTmp : REAL ;
|
|
mSyrupFlowTmp : REAL ;
|
|
mCarboCO2FlowTmp : REAL ;
|
|
mCO2InjPressure : REAL ;
|
|
mWaterFlowDld : Delay ;
|
|
mSyrupFlowDld : Delay ;
|
|
mCarboCO2FlowDld : Delay ;
|
|
mWaterVFMError : LREAL ;
|
|
mWaterDRand : FW_DRand ;
|
|
mCO2WaterEffectDRand : FW_DRand ;
|
|
mCO2WaterCoupling : REAL ;
|
|
mSyrupMFMError : LREAL ;
|
|
mSyrupDRand : FW_DRand ;
|
|
mCO2MFMError : LREAL ;
|
|
mCO2DRand : FW_DRand ;
|
|
mH2OTotFlted : LowPassFilter ;
|
|
mSyrupTotFlted : LowPassFilter ;
|
|
mSyrupDensFlted : LowPassFilter ;
|
|
mSyrupBrixFlted : LowPassFilter ;
|
|
mSyrupTempFlted : LowPassFilter ;
|
|
mCarboCO2TotFlted : LowPassFilter ;
|
|
mCarboCO2TempFlted : LowPassFilter ;
|
|
mCarboCO2DensFlted : LowPassFilter ;
|
|
mCO2InjPressFlted : LowPassFilter ;
|
|
mProdFlowFlt : LowPassFilter ;
|
|
mCO2DensSim : REAL ;
|
|
mDummy : BOOL ;
|
|
mProdFlowFlted : LowPassFilter;
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
EN_Out : BOOL ;
|
|
END_VAR
|
|
|
|
|
|
|
|
(* @END_DECLARATION := '0' *)
|
|
IF NOT gH_Blender_OPT_Simulation THEN
|
|
IF gH_Blender_OPT_Conductimeter_Profibus THEN
|
|
mTemp := ConvertReal(gLowCond_Node15 ) ;
|
|
gLowCond_Conductivity := mTemp.Analog_Value ;
|
|
gLowCond_Conductivity_State := mTemp.Value_State ;
|
|
gIn_C2_Conductivity_Water := 1000*gLowCond_Conductivity;
|
|
|
|
mTemp := ConvertReal(gLowCondTemp_Node15 ) ;
|
|
gLowCond_Temperature := mTemp.Analog_Value ;
|
|
gLowCond_Temperature_State := mTemp.Value_State ;
|
|
gCIPReturnTemp_PV:=gLowCond_Temperature;
|
|
|
|
mTemp := ConvertReal(gHighCond_Node16 ) ;
|
|
gHighCond_Conductivity := mTemp.Analog_Value ;
|
|
gHighCond_Conductivity_State := mTemp.Value_State ;
|
|
gIn_C1_Conductivity_Caustic := 1*gHighCond_Conductivity;
|
|
|
|
mTemp := ConvertReal(gHighCondTemp_Node16 ) ;
|
|
gHighCond_Temperature := mTemp.Analog_Value ;
|
|
gHighCond_Temperature_State := mTemp.Value_State ;
|
|
gCIPHeaterTemp_PV:=gHighCond_Temperature;
|
|
END_IF
|
|
mTemp := ConvertReal( gProductFlow_Node17 ) ;
|
|
gVFM_ProductFlow := mTemp.Analog_Value ; (* Product Flowrate Reading From FM Node17 *)
|
|
gVFM_ProductFlow_State := mTemp.Value_State ; (* Product Flowrate Error Code *)
|
|
|
|
mTemp := ConvertReal( gProductTotalizer1_Node17 ) ;
|
|
gVFM_ProductTotalizer := mTemp.Analog_Value ; (* Product Totalizer Reading From FM Node17 *)
|
|
gVFM_ProductTotalizer_State := mTemp.Value_State ; (* Product Totalizer Error Code *)
|
|
|
|
mTemp := ConvertReal(gProdPH_Node18 ) ;
|
|
gProdPH_PHValue := mTemp.Analog_Value ;
|
|
gProdPH_PHValue_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal(gTempProdPH_Node18 ) ;
|
|
gProdPH_Temperature := mTemp.Analog_Value ;
|
|
gProdPH_Temperature_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal(gProdCond_Node19 ) ;
|
|
gProdCond_Conductivity := mTemp.Analog_Value ;
|
|
gProdCond_Conductivity_State := mTemp.Value_State ;
|
|
gProductConductivity := 1000*gProdCond_Conductivity;
|
|
|
|
mTemp := ConvertReal(gTempProdCond_Node19 ) ;
|
|
gProdCond_Temperature := mTemp.Analog_Value ;
|
|
gProdCond_Temperature_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gWaterFlow_Node20 ) ;
|
|
gMFM_WaterFlow := mTemp.Analog_Value ; (* Water Flowrate Reading From VFM Node20 *)
|
|
gMFM_WaterFlow_State := mTemp.Value_State ; (* Water Flowrate Error Code *)
|
|
|
|
mTemp := ConvertReal( gWaterTotalizer1_Node20 ) ;
|
|
gMFM_WaterTotalizer := mTemp.Analog_Value ; (* Water Totalizer Reading From VFM Node20 *)
|
|
gMFM_WaterTotalizer_State := mTemp.Value_State ; (* Water Totalizer Error Code *)
|
|
|
|
mTemp := ConvertReal( gSyrMassFlow_Node21 ) ;
|
|
gMFM_Syrup1Flow := mTemp.Analog_Value ; (* Syrup Flowrate Reading From MFM Node21 *)
|
|
gMFM_Syrup1Flow_State := mTemp.Value_State ; (* Syrup Flowrate Error Code *)
|
|
|
|
mTemp := ConvertReal( gSyrTemperature_Node21 ) ;
|
|
gMFM_TemperatureSyrup1 := mTemp.Analog_Value ; (* Syrup Temperature Reading From MFM Node21 *)
|
|
IF gMFM_TemperatureSyrup1>200 THEN
|
|
gMFM_TemperatureSyrup1 := gMFM_TemperatureSyrup1 - gZeroAbsolute ;
|
|
END_IF
|
|
gMFM_TemperatureSyrup1_State := mTemp.Value_State ;(* Syrup Temperature Error Code *)
|
|
|
|
mTemp := ConvertReal(gSyrTotalizer1_Node21 ) ;
|
|
gMFM_Syrup1Totalizer := mTemp.Analog_Value ;
|
|
gMFM_Syrup1Totalizer_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gSyrDensity_Node21 ) ;
|
|
gMFM_Syrup1Density := mTemp.Analog_Value + gH2O_Density_Off ;
|
|
gMFM_Syrup1Density_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gSyrBrix_Node21 ) ;
|
|
IF gWorkshopTest THEN
|
|
gMFM_Syrup1Brix := gTestSyrBrix ;
|
|
ELSE
|
|
gMFM_Syrup1Brix := mTemp.Analog_Value ;
|
|
END_IF
|
|
gMFM_Syrup1Brix_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gCO2MassFlow_Node22 ) ;
|
|
gMFM_CO2Flow := mTemp.Analog_Value ;
|
|
gMFM_CO2Flow_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gCO2Temperature_Node22 ) ;
|
|
gMFM_CO2Temperature := mTemp.Analog_Value ;
|
|
IF gMFM_CO2Temperature>200 THEN
|
|
gMFM_CO2Temperature := gMFM_CO2Temperature - gZeroAbsolute ;
|
|
END_IF
|
|
gMFM_CO2Temperature_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gCO2Density_Node22 ) ;
|
|
gMFM_CO2Density := mTemp.Analog_Value ;
|
|
gMFM_CO2Density_State := mTemp.Value_State ;
|
|
|
|
mTemp := ConvertReal( gCO2Totalizer1_Node22 ) ;
|
|
gMFM_CO2Totalizer := mTemp.Analog_Value ;
|
|
gMFM_CO2Totalizer_State := mTemp.Value_State ;
|
|
|
|
mCO2InjPressure := CO2InjPressure(i_Temp:=gMFM_CO2Temperature ,i_Dens:=gMFM_CO2Density) ;
|
|
ELSE (* Simulation *)
|
|
IF gBlenderProdMode THEN
|
|
(* Calculates the flow across the water valve *)
|
|
mH2OValveSlew(i_InValue:=gR_Out_H2O_PID, i_SlewMax:=15,i_Cycle:=gTask0Cycle_Time, out:=gH2OValveSlewOut) ;
|
|
IF (gCarboWaterLine_Running OR gDeairStartUp_Running) AND gH_EV22_Status THEN
|
|
gH2OValveSlewOut := 4 ;
|
|
END_IF
|
|
mCarboCO2DeltaPSim := DeltaP(i_Flow:=gCarboCO2FlowSim, i_K:= gCarboCO2ValveCv, i_Valve:=gCarboCO2ValveSlewOut) ;
|
|
mWaterFlowTmp := ValveFlow(i_DeltaP:=gWaterValveDeltaP-0.02*mCarboCO2DeltaPSim ,i_ValveOp:=gH2OValveSlewOut ,i_KFF:=0.055, i_Dens:=gH2O_Density ) + mWaterVFMError + mCO2WaterCoupling ;
|
|
mH2OFlowFlted(i_Value:=mWaterFlowTmp,i_Num:=10 ,i_Enable:=TRUE) ;
|
|
|
|
mWaterFlowDld(i_Value:=mH2OFlowFlted.FilterOut ,i_Sample:=2 ) ;
|
|
mCO2WaterEffectDRand(nSeed:=0) ;
|
|
IF (gCarboStillProduct OR gH_Blender_OPT_DoubleDeair) AND gWaterPipe_Vel>0 AND gBlenderStableFlow AND gAlwaysOff THEN
|
|
mCO2WaterCoupling := mCO2WaterEffectDRand.fRndNum * (1 / EXPT(gWaterPipe_Vel,3)) * mWaterFlowDld.i_out * 0.02 ;
|
|
ELSE
|
|
mCO2WaterCoupling := 0.0 ;
|
|
END_IF
|
|
mWaterDRand(nSeed:=0) ;
|
|
mWaterVFMError := mWaterDRand.fRndNum * gWaterVFMCalcError ;
|
|
gWaterFlowSim := mWaterFlowDld.i_out ;
|
|
|
|
mSyrValveSlew(i_InValue:=gR_Out_SYR_PID, i_SlewMax:=20,i_Cycle:=gTask0Cycle_Time, out:=gSyrValveSlewOut) ;
|
|
mSyrupFlowTmp := ValveFlow(i_DeltaP:=gSyrupValveDeltaP ,i_ValveOp:=gSyrValveSlewOut ,i_KFF:=0.35, i_Dens:=gActualRecipe_SyrDens) + mSyrupMFMError ;
|
|
mSyrFlowFlted(i_Value:=mSyrupFlowTmp,i_Num:=10 ,i_Enable:=TRUE) ;
|
|
mSyrupFlowDld(i_Value:=mSyrFlowFlted.FilterOut ,i_Sample:=5) ;
|
|
mSyrupDRand(nSeed:=0) ;
|
|
mSyrupMFMError := mSyrupDRand.fRndNum * gSyrupMFMCalcError ;
|
|
gSyrupFlowSim := mSyrupFlowDld.i_out ;
|
|
|
|
mCarboCO2ValveSlew(i_InValue:=gR_Out_CO2_PID, i_SlewMax:=20,i_Cycle:=gTask0Cycle_Time, out:=gCarboCO2ValveSlewOut) ;
|
|
mCarboCO2FlowTmp := ValveFlow(i_DeltaP:=gCarboCO2ValveDeltaP ,i_ValveOp:=gCarboCO2ValveSlewOut ,i_KFF:=0.34, i_Dens:=gCO2_Density / 1000) + mCO2MFMError ;
|
|
mCarboCO2FlowFlted(i_Value:=mCarboCO2FlowTmp ,i_Num:=10 ,i_Enable:=TRUE) ;
|
|
mCarboCO2FlowDld(i_Value:=mCarboCO2FlowFlted.FilterOut ,i_Sample:=3) ;
|
|
mCO2DRand(nSeed:=0) ;
|
|
mCO2MFMError := mCO2DRand.fRndNum * gCO2MFMCalcError ;
|
|
gCarboCO2FlowSim := mCarboCO2FlowDld.i_out ;
|
|
|
|
gMFM_WaterFlow := gWaterFlowSim ;
|
|
gMFM_Syrup1Flow := gSyrupFlowSim ;
|
|
gMFM_CO2Flow := gCarboCO2FlowSim ;
|
|
|
|
mCO2DensSim := 0.028 + 0.0015 * SIN(Omegat) ;
|
|
mCO2InjPressure := CO2InjPressure(i_Temp:=20 ,i_Dens:=mCO2DensSim) ;
|
|
|
|
gMFM_Syrup1Brix := gTestSyrBrix ;
|
|
gMFM_Syrup1Density := SyrupDensity(i_SyrupBrix:=gTestSyrBrix) ;
|
|
END_IF
|
|
END_IF
|
|
|
|
mCO2InjPressFlted(i_Value:=mCO2InjPressure,i_Num:=8 ,i_Enable:=TRUE) ;
|
|
gCO2InjPressureCalc := LIMIT(10, mCO2InjPressFlted.FilterOut, 20) * 1.0 ;
|
|
|
|
mProdFlowFlted(i_Value:=gVFM_ProductFlow,i_Num:=8 ,i_Enable:=TRUE) ;
|
|
gProd_Flow_Meas := mProdFlowFlted.FilterOut ;
|
|
|
|
IF gBlenderProdMode THEN
|
|
mH2OFlowFlted(i_Value:=gMFM_WaterFlow,i_Num:=6 ,i_Enable:=gBlenderFlowFltEn) ;
|
|
gH2O_Flow_Meas := mH2OFlowFlted.FilterOut ;
|
|
mSyrFlowFlted(i_Value:=gMFM_Syrup1Flow,i_Num:=6 ,i_Enable:=gBlenderFlowFltEn) ;
|
|
gSYR_Flow_Meas := mSyrFlowFlted.FilterOut ;
|
|
mCarboCO2FlowFlted(i_Value:=gMFM_CO2Flow,i_Num:=6 ,i_Enable:=gBlenderFlowFltEn) ;
|
|
MFMAnalog_Values.Totalizers ;
|
|
ELSE
|
|
mH2OFlowFlted(i_Value:=gMFM_WaterFlow,i_Num:=10 ,i_Enable:=gBlenderFlowFltEn) ;
|
|
gH2O_Flow_Meas := mH2OFlowFlted.FilterOut ;
|
|
mSyrFlowFlted(i_Value:=gMFM_Syrup1Flow,i_Num:=0 ,i_Enable:=gBlenderFlowFltEn) ;
|
|
gSYR_Flow_Meas := mSyrFlowFlted.FilterOut ;
|
|
mCarboCO2FlowFlted(i_Value:=gMFM_CO2Flow,i_Num:=0 ,i_Enable:=gBlenderFlowFltEn) ;
|
|
END_IF
|
|
|
|
IF gCO2_Density<>0 THEN
|
|
gCO2_Flow_Meas := mCarboCO2FlowFlted.FilterOut / gCO2_Density ;
|
|
END_IF
|
|
|
|
IF gActualSyrupDens > 0 THEN
|
|
gSYR_Vol_Flow_Meas := gSYR_Flow_Meas / gActualSyrupDens ;
|
|
ELSE
|
|
gSYR_Vol_Flow_Meas := gSYR_Flow_Meas ;
|
|
END_IF
|
|
mProdFlowFlt(i_Value:=gH2O_Flow_Meas + gSYR_Vol_Flow_Meas,i_Num:=18, i_Enable:=gBlenderFlowFltEn) ;
|
|
gActual_Prod_Flow := mProdFlowFlt.FilterOut ;
|
|
|
|
MFMAnalog_Values.ResetTotalizers();
|
|
END_PROGRAM
|
|
ACTION ResetTotalizers:
|
|
_LD_BODY
|
|
_NETWORKS : 1
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_OR
|
|
_LD_OPERATOR : 3
|
|
_LD_CONTACT
|
|
gBlenderCIPMode
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gBlenderRinseMode
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gSLIMResetCounter
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 1
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
MOVE
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 8
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gWaterTotal
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gSyrupTotal
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gCO2Total
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProductVFMTotal
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gCO2TempTot
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gSyrupTempTot
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gWaterTempTot
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProductVFMTempTot
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
|
|
END_ACTION
|
|
|
|
ACTION Totalizers:
|
|
_LD_BODY
|
|
_NETWORKS : 4
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 3
|
|
_LD_CONTACT
|
|
gBlenderBlending
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_FUNCTIONBLOCK
|
|
mBlendStopDly
|
|
_BOX_EXPR : 2
|
|
_EMPTY
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
t#2s
|
|
_EXPRESSION
|
|
_POSITIV
|
|
TOF
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
_EMPTY
|
|
_FUNCTIONBLOCK
|
|
mAuxONS
|
|
_BOX_EXPR : 1
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
F_TRIG
|
|
_OUTPUTS : 0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mBlendStopONS
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
mBlendStopONS
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 4
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gMFM_WaterTotalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gWaterTempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gWaterTempTot
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gMFM_Syrup1Totalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gSyrupTempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gSyrupTempTot
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gMFM_CO2Totalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
1000
|
|
_EXPRESSION
|
|
_POSITIV
|
|
DIV
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gCO2TempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gCO2TempTot
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gVFM_ProductTotalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gProductVFMTempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProductVFMTempTot
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_OR
|
|
_LD_OPERATOR : 2
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gAlwaysOff
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
mBlendStopONS
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gBlenderRun_Running
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_FUNCTIONBLOCK
|
|
mAuxTP
|
|
_BOX_EXPR : 2
|
|
_EMPTY
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
t#1s
|
|
_EXPRESSION
|
|
_POSITIV
|
|
tp
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_SET
|
|
gBlendResetTotalizer
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gBlenderBlending
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 4
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gMFM_WaterTotalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gWaterTempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gWaterTotal
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gMFM_Syrup1Totalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gSyrupTempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gSyrupTotal
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gMFM_CO2Totalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
1000
|
|
_EXPRESSION
|
|
_POSITIV
|
|
DIV
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gCO2TempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gCO2Total
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gVFM_ProductTotalizer
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gProductVFMTempTot
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ADD
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProductVFMTotal
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
|
|
END_ACTION
|
|
|