863 lines
36 KiB
Markdown
863 lines
36 KiB
Markdown
```pascal
|
|
// Block Type: FB
|
|
// Block Number: 1718
|
|
// Original Network Languages: STL, LAD
|
|
|
|
FUNCTION_BLOCK "Input"
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_STAT
|
|
CO2_LowPressure : Bool;
|
|
H_Fault_Temp : Bool;
|
|
L_Fault_Temp : Bool;
|
|
mRealTemp : Real;
|
|
mCO2PressOkON : Bool;
|
|
mDelayFaultAVM346ON : Bool;
|
|
mDelayFaultAVM362ON : Bool;
|
|
mDelayFaultAVM327ON : Bool;
|
|
mDelayFaultAVM328ON : Bool;
|
|
mDeairTank_VacuumOkON : Bool;
|
|
mDeairTank_VacuumFltON : Bool;
|
|
mFlrRinseTankMaxLvlON : Bool;
|
|
mFlrRinseTankMinLvlON : Bool;
|
|
mFiller1ProReqDlyON : Bool;
|
|
mFiller2ProReqDlyON : Bool;
|
|
mFillerEndTankFillingON : Bool;
|
|
mFillerCIPReadyDlyON : Bool;
|
|
mUVLampDelayReadyON : Bool;
|
|
mUVLampDelayFaultON : Bool;
|
|
mUVLampDelayTempHighON : Bool;
|
|
mDeairTank_DelayFaultON : Bool;
|
|
mRVM301_DelayFaultON : Bool;
|
|
mCO2PressOk : "TON_TIME:v1.0";
|
|
mDelayFaultAVP361 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM342 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM341 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM346 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM362 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM369 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM327 : "TON_TIME:v1.0";
|
|
mDelayFaultAVN314 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM317 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM316 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM315 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM314 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM313 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM312 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM311 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM323_2 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM323_1 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM321 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM324 : "TON_TIME:v1.0";
|
|
mDelayFaultAVN318 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM322 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM326 : "TON_TIME:v1.0";
|
|
mDelayFaultAVN328 : "TON_TIME:v1.0";
|
|
mDelayFaultAVN327 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM323 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM388 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM389 : "TON_TIME:v1.0";
|
|
mDelayFaultAVN395 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP317 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP316_1 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP316 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP317_1 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP391 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP344 : "TON_TIME:v1.0";
|
|
mDelayFaultAVP324 : "TON_TIME:v1.0";
|
|
mDelayFaultAVM328 : "TON_TIME:v1.0";
|
|
mDeairTank_VacuumOk : "TON_TIME:v1.0";
|
|
mDeairTank_VacuumFlt : "TOF_TIME:v1.0";
|
|
mFlrRinseTankMaxLvl : "TON_TIME:v1.0";
|
|
mFlrRinseTankMinLvl : "TOF_TIME:v1.0";
|
|
mFillerProReqDly : "TON_TIME:v1.0";
|
|
mFiller2ProReqDly : "TON_TIME:v1.0";
|
|
mFillerEndTankFilling : "TOF_TIME:v1.0";
|
|
mFillerCIPReadyDly : "TOF_TIME:v1.0";
|
|
mFiller2CIPReadyDly : "TOF_TIME:v1.0";
|
|
mUVLampDelayReady : "TON_TIME:v1.0";
|
|
mUVLampDelayFault : "TON_TIME:v1.0";
|
|
mUVLampDelayTempHigh : "TON_TIME:v1.0";
|
|
mDeairTank_DelayFault : "TON_TIME:v1.0";
|
|
mRVM301_DelayFault : "TON_TIME:v1.0";
|
|
Deair_Water_Temp : "LowPassFilter";
|
|
Product_Tank_Level : "LowPassFilter";
|
|
C1_Conductivity_Caustic : "LowPassFilter";
|
|
C1_Conductivity_Water : "LowPassFilter";
|
|
CIP_Retur_Temperature : "LowPassFilter";
|
|
Fille_Level : "LowPassFilter";
|
|
Syrup_Conductivity : "LowPassFilter";
|
|
Product_Conductivity : "LowPassFilter";
|
|
Deaireator_Pressure : "LowPassFilter";
|
|
CO2InjPressFlted : "LowPassFilter";
|
|
DeairValveFlted : "LowPassFilter";
|
|
ProductO2Conc : "LowPassFilter";
|
|
NorgrenPressSafety : "LowPassFilter";
|
|
mDelayFaultAVM317_1 : "TON_TIME:v1.0";
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
mF8_AuxiliaryOn_ONS : Bool;
|
|
mF1_StartStop_ONS : Bool;
|
|
mDummy : Bool;
|
|
mCalc : Real;
|
|
mCO2InjPressThreshold : Real;
|
|
mCO2InjPressNotOk : Bool;
|
|
mSyrTankMinLevel : Bool;
|
|
mDivertPanelSensor : Bool;
|
|
mRVN304Fault : Bool;
|
|
mRVN305Fault : Bool;
|
|
mProdTankPressValveFault : Bool;
|
|
mH_Fault : Bool;
|
|
mL_Fault : Bool;
|
|
mAuxDI : DInt;
|
|
mFTFS : Real;
|
|
mAuxInt1 : Int;
|
|
mAuxInt2 : Int;
|
|
mAI_RVM301 : Word;
|
|
mAuxFlowTronic : Real;
|
|
AuxManifoldCIP_Stat : Bool;
|
|
AuxManifoldProd_Stat : Bool;
|
|
AuxNot_WST : Bool;
|
|
PCM306_Error : Real;
|
|
PCM306_MaxError : Real;
|
|
RVN304_MaxError : Real;
|
|
RVN305_MaxError : Real;
|
|
END_VAR
|
|
|
|
#_15S : Bool; // Auto-generated temporary
|
|
#_1M : Bool; // Auto-generated temporary
|
|
#_2S : Bool; // Auto-generated temporary
|
|
#_30S : Bool; // Auto-generated temporary
|
|
#_30s : Bool; // Auto-generated temporary
|
|
#_3s : Bool; // Auto-generated temporary
|
|
#_5S : Bool; // Auto-generated temporary
|
|
#_6s : Bool; // Auto-generated temporary
|
|
#TOF_INSTANCE_31 : Bool; // Auto-generated temporary
|
|
#TOF_INSTANCE_33 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_25 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_27 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_28 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_29 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_30 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_32 : Bool; // Auto-generated temporary
|
|
#TON_INSTANCE_36 : Bool; // Auto-generated temporary
|
|
BEGIN
|
|
|
|
// Network 1: Check Flow Meter (Original Language: LAD)
|
|
|
|
Input_CheckFlowMetersSta();
|
|
|
|
// Network 2: MIX - Use during Workshop test - BF - (Original Language: LAD)
|
|
|
|
"gWorkshopTest" := "HMI_Service"."Workshop_Test"."WorkshopTest";
|
|
|
|
IF NOT "HMI_Service"."Workshop_Test"."WorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMTestWithGas" := FALSE;
|
|
END_IF;
|
|
|
|
"gWorkshop_Syrup_Test" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."SyrupTestRequest";
|
|
|
|
"gWorkshop_CIP_Signals" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."CIPSignalsTestRequest";
|
|
|
|
"gWorkshop_Filler_Signals_SIM" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."FillerSignalsTestRequest";
|
|
|
|
"gWorkshop_Co2_Presence" := "HMI_Service"."Workshop_Test"."WorkshopTest" AND "HMI_Service"."Workshop_Test"."CO2TestPresent";
|
|
|
|
// Network 3: Auxiliary On (Original Language: LAD)
|
|
|
|
"mAuxiliaryOn" := ("DI_AuxVoltage_On" AND "DI_Emergency_Pilz_On" AND "DI_Emergency_Pressed") OR ("DO_CtrlCircuitRun" AND "DI_Emergency_Pilz_On" AND "DI_Emergency_Pressed");
|
|
|
|
// Network 4: Voltage Ok (Original Language: LAD)
|
|
|
|
"gIN_VoltageOk" := "mAuxiliaryOn" AND "DI_AuxVoltage_On";
|
|
|
|
// Network 5: E-Stop Pressed (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "DI_Emergency_Pressed";
|
|
|
|
// Network 6: Shut Down (Original Language: LAD)
|
|
|
|
"HMI_Variables_Status"."Procedures"."ShutDownRequest" := "DI_UPSsupply" AND "HMI_ShutDownDelay";
|
|
|
|
// Network 7: (Original Language: LAD)
|
|
|
|
"T169"(IN := "DO_HMIPowerSupply", PT := S5T#1M); // TODO: Declarar "T169" : TON;
|
|
|
|
// Network 8: Temp Too High (Original Language: LAD)
|
|
|
|
"gElCabTooHigh" := "DI_MaxTempAlarm";
|
|
|
|
// Network 9: Horn Reset (Original Language: LAD)
|
|
|
|
"gIN_ResetHorn" := ("HMI_Variables_Cmd"."Commands_From_HMI"."F9_HornReset"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F9_HornReset"."Enable") OR ("DI_PB_HornReset" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F9_HornReset"."Enable");
|
|
|
|
// Network 10: Reset (Original Language: LAD)
|
|
|
|
"gIN_ResetBtn" := "DI_AlarmReset" OR ("HMI_Variables_Cmd"."Commands_From_HMI"."F10_FaultReset"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F10_FaultReset"."Enable");
|
|
|
|
// Network 11: StartStop (Original Language: LAD)
|
|
|
|
// Edge Logic handled by Coil 28
|
|
"M19025" := "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable") - Mem: "M19025"
|
|
|
|
"mF1_StartStop_ONS" := "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable" AND NOT "M19025";
|
|
"M19025" := "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable"; // P_TRIG("HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Command" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Enable") - Mem: "M19025"
|
|
|
|
// Network 12: Stop (Original Language: LAD)
|
|
|
|
"gIN_StopBtn" := "mF1_StartStop_ONS" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Light";
|
|
|
|
// Network 13: Start (Original Language: LAD)
|
|
|
|
"gIN_StartBtn" := "mF1_StartStop_ONS" AND "HMI_Variables_Cmd"."Commands_From_HMI"."F1_StartStop"."Light";
|
|
|
|
// Network 14: Use during Workshop test - BF - (Original Language: LAD)
|
|
|
|
"mCO2InjPressThreshold" := "HMI_Blender_Parameters"."ProcessSetup"."_PPN301Pressure" + 0.1;
|
|
|
|
SEL_R(G := "Blender_Variables_Pers"."gCarboStillRecipe" AND "gBlenderRinseMode", IN0 := "HMI_Blender_Parameters"."ProcessSetup"."_N2MinPressure", IN1 := "mCO2InjPressThreshold");
|
|
|
|
"mDummy" := TRUE;
|
|
|
|
// Network 15: Use during Workshop test - BF - (Original Language: LAD)
|
|
|
|
"mCalc" := "mCO2InjPressThreshold" / 2.0;
|
|
|
|
SEL_R(G := "Procedure_Variables"."TN301_StartUp"."Latch", IN0 := "mCO2InjPressThreshold", IN1 := "mCalc");
|
|
|
|
"mDummy" := TRUE;
|
|
|
|
// Network 16: C02 Injection Not Ok (Original Language: LAD)
|
|
|
|
"mCO2InjPressNotOk" := Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl", 0) OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0);
|
|
|
|
// Network 17: CO2 Low Presure Fault (Original Language: LAD)
|
|
|
|
"gCO2PressNotOk" := ("Procedure_Variables"."BlendFill_StartUp"."Done" AND "mCO2InjPressNotOk" AND "gWorkshopTest" AND "gBlenderCIPMode") OR ("Procedure_Variables"."BlendFill_StartUp"."Latch" AND "mCO2InjPressNotOk" AND "gWorkshopTest" AND "gBlenderCIPMode" AND ("HMI_PID"."RVM301"."Out" < 50.0));
|
|
|
|
// Network 18: Co2 Line Pressure Ok (Original Language: LAD)
|
|
|
|
"gIN_LinePressCO2Ok" := "gCO2LowPress_Fault";
|
|
|
|
// Network 19: CO2 inlet line pressure not stable (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "Blender_Variables_Pers"."gCarboStillRecipe" AND "gCO2LowPress_Fault" AND "gBlenderBlending" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0);
|
|
|
|
IF "Blender_Variables_Pers"."gCarboStillRecipe" AND "gCO2LowPress_Fault" AND "gBlenderBlending" AND ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_InjectionPress_Ctrl" > 0) THEN
|
|
"mCalc" := "HMI_PID"."PCM306"."Sp" - "HMI_Instrument"."PCM306"."PVFiltered";
|
|
END_IF;
|
|
|
|
// Network 20: *** (Original Language: LAD)
|
|
|
|
// Network 20 has no logic elements.
|
|
|
|
// Network 21: MIX - (Original Language: LAD)
|
|
|
|
"HMI_Device"."AVM362"."FeedBackOff" := "HMI_Device"."AVM362"."Config" AND "HMI_Device"."AVM362"."Out" AND "DI_AVM362_Close";
|
|
|
|
"HMI_Device"."AVM362"."FeedBackOn" := "HMI_Device"."AVM362"."Config" AND "HMI_Device"."AVM362"."Out" AND "DI_AVM362_Open";
|
|
|
|
// Network 22: AVM362 Fault Valve (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_32(IN := ("DI_AVM362_Close" AND "HMI_Device"."AVM362"."FeedBackOff") OR ("DI_AVM362_Open" AND "HMI_Device"."AVM362"."FeedBackOn"), PT := T#5S); // TODO: Declarar #TON_INSTANCE_32 : TON;
|
|
|
|
"gAVM362Fault" := #TON_INSTANCE_32.Q;
|
|
|
|
// Network 23: MIX - (Original Language: LAD)
|
|
|
|
"HMI_Device"."AVM346"."FeedBackOff" := "HMI_Device"."AVM346"."Config" AND "HMI_Device"."AVM346"."Out" AND "DI_AVM346_Close";
|
|
|
|
"HMI_Device"."AVM346"."FeedBackOn" := "HMI_Device"."AVM346"."Config" AND "HMI_Device"."AVM346"."Out" AND "DI_AVM346_Open";
|
|
|
|
// Network 24: AVM346 Fault Valve (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_36(IN := ("gWorkshopTest" AND "DI_AVM346_Close" AND "HMI_Device"."AVM346"."FeedBackOff") OR ("gWorkshopTest" AND "DI_AVM346_Open" AND "HMI_Device"."AVM346"."FeedBackOn"), PT := T#5S); // TODO: Declarar #TON_INSTANCE_36 : TON;
|
|
|
|
"gAVM346Fault" := #TON_INSTANCE_36.Q;
|
|
|
|
// Network 25: Raw signal (Original Language: LAD)
|
|
|
|
"HMI_Digital"."_PAL_S11"."Raw" := "DI_Air_InletPress_OK";
|
|
|
|
"HMI_Digital"."_PAL_S11"."Filtered" := "DI_Air_InletPress_OK";
|
|
|
|
// Network 26: Syrup Line Drain Valve Aux (Original Language: LAD)
|
|
|
|
"gIN_HVP301_Aux" := "AUX TRUE" AND "DI_HVP301_Sensor";
|
|
|
|
// Network 27: Water Manual Drain Valve Aux (Original Language: LAD)
|
|
|
|
"gIN_HVM302_Aux" := "DI_HVM302_Sensor" AND "AUX FALSE";
|
|
|
|
// Network 28: Raw signal (Original Language: LAD)
|
|
|
|
"HMI_Digital"."FSS301"."Raw" := "DI_FSS301";
|
|
|
|
// Network 29: Raw signal (Original Language: LAD)
|
|
|
|
"HMI_Digital"."LSN301L"."Raw" := "DI_LSN301L";
|
|
|
|
// Network 30: Raw signal (Original Language: LAD)
|
|
|
|
"HMI_Digital"."LSN302L"."Raw" := "DI_Min_Deair2_Level";
|
|
|
|
// Network 31: Raw signal (Original Language: LAD)
|
|
|
|
"HMI_Digital"."LSM302L"."Raw" := "DI_LSM302L";
|
|
|
|
// Network 32: Raw signal (Original Language: LAD)
|
|
|
|
"HMI_Digital"."LAL_S3"."Raw" := "DI_Min_Syrup_Level";
|
|
|
|
// Network 33: Deaireator Tank Vacuum OK (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_29(IN := "DI_DeairVacuumOk" OR "gDeairTank_VacuumOk", PT := T#15S); // TODO: Declarar #TON_INSTANCE_29 : TON;
|
|
|
|
#TOF_INSTANCE_31(IN := #TON_INSTANCE_29.Q, PT := T#15S); // TODO: Declarar #TOF_INSTANCE_31 : TOF;
|
|
|
|
"gIN_DeairTank_Vacuum_Ok" := #TOF_INSTANCE_31.Q;
|
|
|
|
// Network 34: Water Valve Closed (Original Language: LAD)
|
|
|
|
"gIN_RMM301_Closed" := "DI_RMM301_Closed";
|
|
|
|
// Network 35: Syrup Valve Closed (Original Language: LAD)
|
|
|
|
"gIN_RMP302_Closed" := "DI_RMP302_Closed";
|
|
|
|
// Network 36: Carbo CO2 Valve Closed (Original Language: LAD)
|
|
|
|
"gIN_RMM303_Closed" := "DI_RMM303_Closed";
|
|
|
|
// Network 37: GAS2 Valve Closed (Original Language: LAD)
|
|
|
|
"gIN_RMM304_Closed" := "DI_RMM304_Closed";
|
|
|
|
// Network 38: Water Pump FC Ready (Original Language: LAD)
|
|
|
|
"gIN_PPN301_FCReady" := "HMI_PID"."PPN301"."Config" AND "PPN301_B01_DriveReady" AND "PPN301_B03_Trip";
|
|
|
|
// Network 39: Syrup Pump FC Ready (Original Language: LAD)
|
|
|
|
"gIN_PPP302_FCReady" := "HMI_PID"."PPP302"."Config" AND "PPP302_B01_DriveReady" AND "PPP302_B03_Trip";
|
|
|
|
// Network 40: Product Pump FC Ready (Original Language: LAD)
|
|
|
|
"gIN_PPM303_FCReady" := "PPM303_B01_DriveReady" AND "PPM303_B03_Trip";
|
|
|
|
// Network 41: From Syrup Room Syrup ready (Original Language: LAD)
|
|
|
|
"gIN_SyrRoomOk" := ("DI_SyrRoom_SyrPump_Running" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode");
|
|
|
|
"Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_1_Ready" := ("DI_SyrRoom_SyrPump_Running" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode");
|
|
|
|
"Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_2_Ready" := ("DI_SyrRoom_SyrPump_Running" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode") OR ("Procedure_Variables"."Syr_RunOut"."Latch" AND "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode");
|
|
|
|
// Network 42: Syrup RunOut (Original Language: LAD)
|
|
|
|
"Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_RunOut" := "DI_SYRUP_Runout" AND "gBlenderProdMode" AND "DI_SyrRoom_Cip_Mode";
|
|
|
|
// Network 43: Syrup Room Alarm (Original Language: LAD)
|
|
|
|
"Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_Room_Alarm" := "gBlenderProdMode" AND "DI_SyrRoom_Pump_Ready";
|
|
|
|
// Network 44: Syrup Room CIP (Original Language: LAD)
|
|
|
|
"Interlocking_Variables"."SYRUP_ROOM_REC_DATA"."Syrup_Room_Cip" := "DI_SyrRoom_Cip_Mode";
|
|
|
|
// Network 45: AVM327 Status (Original Language: LAD)
|
|
|
|
"HMI_Device"."AVM327_NoCMD"."Out" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."MixProof_AVM327_Status";
|
|
|
|
// Network 46: Divert Panel Sensor (Original Language: LAD)
|
|
|
|
"mDivertPanelSensor" := Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_DivertPanel", 1);
|
|
|
|
// Network 47: MainFold Not Ready Prod (Original Language: LAD)
|
|
|
|
"gIN_ManifoldNotReadyProd" := "gBlenderRinseMode" AND "gBlenderCIPMode" AND "AuxManifoldCIP_Stat" AND "Procedure_Variables"."Blender_Run"."Latch" AND "mDivertPanelSensor";
|
|
|
|
// Network 48: MainFold Not Ready CIP (Original Language: LAD)
|
|
|
|
"gIN_ManifoldNotReadyCIP" := "gBlenderRinseMode" AND "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch" AND "mDivertPanelSensor" AND "AuxManifoldProd_Stat";
|
|
|
|
// Network 49: Filler product request delay (Original Language: LAD)
|
|
|
|
"gIN_FillerProdReady" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."PROD_Selected" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_Selected";
|
|
|
|
// Network 50: FillerProReqDly (Original Language: LAD)
|
|
|
|
"gIN_Filler1ProductReq" := "Interlocking_Variables"."SIDEL_FILLER_REC_DATA"."PROD_Request" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."GEN_AVM362_Enable";
|
|
|
|
"gIN_Filler_AVM362_En" := "Interlocking_Variables"."SIDEL_FILLER_REC_DATA"."PROD_Request" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."GEN_AVM362_Enable";
|
|
|
|
// Network 51: FillerProReqDly (Original Language: LAD)
|
|
|
|
"gIN_Filler2ProductReq" := "DI_Flr2_PROD_Request";
|
|
|
|
"gIN_Filler_AVM363_En" := "DI_Flr2_PROD_Request";
|
|
|
|
// Network 52: Filler Filling (Original Language: LAD)
|
|
|
|
"gIN_FillerBottleFilling" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_Bott_Filling";
|
|
|
|
// Network 53: Filler End Flushing (Original Language: LAD)
|
|
// gBlendFillReceiveData.Prod_BottlePresence
|
|
|
|
"gIN_FillerEndFlushing" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_End_Flushing" OR ("gWorkshopTest" AND "gWorkshop_Filler_Signals_SIM" AND "HMI_Service"."Workshop_Test"."SIMFillerEndFlushing");
|
|
|
|
// Network 54: Filler End Tank (Original Language: LAD)
|
|
// gBlendFillReceiveData.Prod_End_Tank_Filling
|
|
|
|
#TOF_INSTANCE_33(IN := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."PROD_End_Tank_Filling" OR ("gWorkshopTest" AND "gWorkshop_Filler_Signals_SIM" AND "HMI_Service"."Workshop_Test"."SIMFillerEndTankFilling"), PT := T#2S); // TODO: Declarar #TOF_INSTANCE_33 : TOF;
|
|
|
|
"gIN_FillerEndTankFilling" := #TOF_INSTANCE_33.Q AND "mFillerEndTankFillingON";
|
|
|
|
// Network 55: Rinse Complete (Original Language: LAD)
|
|
|
|
"System_RunOut_Variables"."In_Flr_FastRinseComplete" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_RinseCompleted" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."RINSE_Ended";
|
|
|
|
// Network 56: Last Container (Original Language: LAD)
|
|
|
|
"System_RunOut_Variables"."In_Flr_LastContainer" := "DI_Flr_EndProdLastBottleFilled" OR "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."PROD_Last_Bottle";
|
|
|
|
// Network 57: Water Rinser Request (Original Language: LAD)
|
|
|
|
"System_RunOut_Variables"."In_Flr_WaterRinseRequest" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."Fast_ChangeOver_WaterReq" OR "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_RinseRequest";
|
|
|
|
// Network 58: Filler AVM346 En (Original Language: LAD)
|
|
|
|
"gIN_Filler_AVM346_En" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."GEN_AVM346_Enable" OR ("HMI_Service"."Workshop_Test"."SIMFillerAVM346Enable" AND "gWorkshopTest");
|
|
|
|
// Network 59: Filler CIP Request (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_30(IN := "DI_Flr1_CIP/RinseFiller" OR "gWorkshopTest", PT := T#5S); // TODO: Declarar #TON_INSTANCE_30 : TON;
|
|
|
|
"gIN_FillerCIPRequest" := #TON_INSTANCE_30.Q;
|
|
|
|
// Network 60: Filler2 CIP Request (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_28(IN := "DI_Flr2_CIP/RinseFiller" OR "gWorkshopTest", PT := T#5S); // TODO: Declarar #TON_INSTANCE_28 : TON;
|
|
|
|
"gIN_Filler2CIPRequest" := #TON_INSTANCE_28.Q;
|
|
|
|
// Network 61: Filler CIp Cycle Ended (Original Language: LAD)
|
|
|
|
"gIN_FillerCIPCycleEnded" := "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_FlipCompleted" OR "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."CIP_FlipFlop_Completed";
|
|
|
|
// Network 62: From Filler Drain Completed (Original Language: LAD)
|
|
|
|
"gIN_FillerCIPDrainCompl" := "DI_Flr1_CIP_DrainComplete" OR "Interlocking_Variables"."SIMO_FILLER_REC_DATA"."CIP_DrainCompleted";
|
|
|
|
// Network 63: From Filler Spare (Original Language: LAD)
|
|
|
|
"gIN_FillerCIPChangeReady" := "DI_Flr1_CIP/RinseFiller" OR "DI_Flr_CIP_RecoverReq";
|
|
|
|
// Network 64: From Filler CIP Open AVM313 (Original Language: LAD)
|
|
|
|
"T121"(IN := "T122" AND "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch", PT := S5T#30S); // TODO: Declarar "T121" : TON;
|
|
|
|
// Network 65: AVM313 Cip Pulsing ON (Original Language: LAD)
|
|
|
|
"gIN_FillerCIPOpen_AVM313" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."CIP_Open_AVM313" OR ("HMI_Device"."PPM303"."Out" AND "T121");
|
|
|
|
// Network 66: From Filler Drain Selecteted (Original Language: LAD)
|
|
|
|
"gIN_FillerCIPDrainSelect" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."DREN_Selected";
|
|
|
|
// Network 67: Filler Speed (Original Language: LAD)
|
|
|
|
"mCalc" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."Filler_Speed";
|
|
|
|
"Filler_Head_Variables"."Filler_Speed" := "mCalc" * 1.0;
|
|
|
|
// Network 68: Filler Bottles Count (Original Language: LAD)
|
|
|
|
"mAuxDI" := "Interlocking_Variables"."FILLER_MIXER_RECEIVE"."RunOut_BottleCount";
|
|
|
|
"System_RunOut_Variables"."FillerBottleCount" := "mAuxDI";
|
|
|
|
// Network 69: From CIP Room Drain Request (Original Language: LAD)
|
|
|
|
"gIN_CIP_DrainRequest" := "Interlocking_Variables"."CIP_REC_DATA"."Drain_Request" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."Cip_DrainRequest";
|
|
|
|
// Network 70: From CIP Room Flood Request (Original Language: LAD)
|
|
|
|
"gIN_CIP_TankFilling" := "DI_CIP_TankFilling" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."Cip_FloodingRequest";
|
|
|
|
// Network 71: From CIP Room CIP running (Original Language: LAD)
|
|
|
|
"gIN_CIP_CIPRunning" := "DI_CIP_CIP_Rinse" OR "DI_CIP_CIP_Enable";
|
|
|
|
"gIN_CIP_CIPMode" := "DI_CIP_CIP_Rinse" OR "DI_CIP_CIP_Enable";
|
|
|
|
// Network 72: From CIP Room CIP change sanitize (Original Language: LAD)
|
|
|
|
"gIN_CIP_ChangeSanitize" := "Interlocking_Variables"."CIP_REC_DATA"."Change_Sanitize" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."CIP_RecoveryRequest";
|
|
|
|
// Network 73: From CIP Room CIP completed (Original Language: LAD)
|
|
|
|
"gIN_CIP_CIPCompleted" := "DI_CIP_CleaningCompleted" OR "Interlocking_Variables"."CIP_REC_DATA"."Completed";
|
|
|
|
// Network 74: From CIP Room CIP Product Sending (Original Language: LAD)
|
|
|
|
"gIN_CIP_CIPProdSending" := "DI_CIP_CIP_Enable" OR "Interlocking_Variables"."SIDEL_CIP_REC_DATA"."Cip_ProductSending";
|
|
|
|
// Network 75: From CIP Room CIP Fault (Original Language: LAD)
|
|
|
|
"gIN_CIP_Fault" := ("DI_CIP_CleaningFault" AND "gWorkshopTest") OR ("Interlocking_Variables"."SIDEL_CIP_REC_DATA"."CIP_CleaningAlarm" AND "gWorkshopTest");
|
|
|
|
// Network 76: Chiler Ammonia level too high (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "gGencoldChillerEn" AND "Blender_Variables_Pers"."gCoolerEnabled" AND "gWorkshopTest" AND (("gProductChillerEn" AND "DI_Ammonia_High_Lev_Prod" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode")) OR ("gWaterChillerEn" AND "DI_AmmoniaHighLev_Water" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode")));
|
|
|
|
"gIN_AmmoniaHighLevel" := "gGencoldChillerEn" AND "Blender_Variables_Pers"."gCoolerEnabled" AND "gWorkshopTest" AND (("gProductChillerEn" AND "DI_Ammonia_High_Lev_Prod" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode")) OR ("gWaterChillerEn" AND "DI_AmmoniaHighLev_Water" AND ("HMI_Variables_Status"."Procedures"."ColdRinseRun" OR "gBlenderProdMode")));
|
|
|
|
// Network 77: UV Lamp Ready (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_25(IN := "DI_UV_Lamp_Ready", PT := T#30s); // TODO: Declarar #TON_INSTANCE_25 : TON;
|
|
|
|
"Blender_Variables"."gInUVLampReady" := #TON_INSTANCE_25.Q;
|
|
|
|
// Network 78: UV Lamp (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "DI_UV_Lamp_Ready" AND "Blender_Variables"."gInUVLampReady";
|
|
|
|
// Network 79: UV Lamp (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_27(IN := "DI_UV_Lamp_Ready" AND "gOUT_UVLamp_ONOFF", PT := T#5S); // TODO: Declarar #TON_INSTANCE_27 : TON;
|
|
|
|
"Blender_Variables"."gInUVLampAlarm" := #TON_INSTANCE_27.Q;
|
|
|
|
// Network 80: UV Lamp (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_28(IN := "DI_UV_Lamp_Ready" AND "gOUT_UVLamp_ONOFF", PT := T#3s); // TODO: Declarar #TON_INSTANCE_28 : TON;
|
|
|
|
"gUVLampHighTemperature" := "mUVLampDelayTempHighON" AND #TON_INSTANCE_28.Q;
|
|
|
|
// Network 81: mAI_RVM301 (Original Language: STL)
|
|
|
|
// --- BEGIN STL Network 81 ---
|
|
|
|
AN "AUX FALSE"
|
|
A "AUX FALSE"
|
|
JNB _009
|
|
L "P_AI_RVM301"
|
|
T "mAI_RVM301"
|
|
SET
|
|
SAVE
|
|
CLR
|
|
_009: A _Statusword_?
|
|
= LX26.0
|
|
A LX26.0
|
|
A_BRACK
|
|
L "mAI_RVM301"
|
|
L 0
|
|
LE_I
|
|
BRACKET
|
|
JNB _00a
|
|
L 0
|
|
T "mAI_RVM301"
|
|
_00a: NOP_0
|
|
A LX26.0
|
|
A_BRACK
|
|
L "mAI_RVM301"
|
|
L 27648
|
|
GT_I
|
|
BRACKET
|
|
JNB _OOb
|
|
L 27648
|
|
T "mAI_RVM301"
|
|
_OOb: NOP_0
|
|
|
|
// --- END STL Network 81 ---
|
|
|
|
// Network 82: Read Analog Input (Original Language: LAD)
|
|
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."RVM301", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "mAI_RVM301");
|
|
|
|
// Network 83: Prod Tank Pressure Fault (Original Language: LAD)
|
|
|
|
IF "AUX FALSE" THEN
|
|
"mRealTemp" := "HMI_Instrument"."RVM301"."PV" - "HMI_PID"."RVM301"."Out";
|
|
END_IF;
|
|
|
|
// Network 84: RVM301 Fault (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_29(IN := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Instrument"."RVM301"."Config" AND "mProdTankPressValveFault", PT := T#6s); // TODO: Declarar #TON_INSTANCE_29 : TON;
|
|
|
|
"gRVM301_Fault" := #TON_INSTANCE_29.Q;
|
|
|
|
// Network 85: TTN321 (Original Language: LAD)
|
|
// DB972.DBW36 = 27648
|
|
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."TTN321", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_TTN321");
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"Deair_Water_Temp"(i_Enable := "AUX TRUE", i_Num := 20, i_Value := "HMI_Instrument"."TTN321"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := TRUE;
|
|
|
|
// Network 86: PCM306 (Original Language: LAD)
|
|
// DB972.DBW36 = 27648
|
|
|
|
IF "gBlenderCIPMode" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."PCM306", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PCM306");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"CO2InjPressFlted"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."PCM306"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "gBlenderCIPMode";
|
|
|
|
// Network 87: To HMI - Instrument in fault (Original Language: LAD)
|
|
|
|
IF "HMI_PID"."PCM306"."Sp" > 1.0 THEN
|
|
"PCM306_MaxError" := "HMI_PID"."PCM306"."Sp" * 0.15;
|
|
END_IF;
|
|
|
|
IF "HMI_PID"."PCM306"."Sp" > 1.0 THEN
|
|
"PCM306_Error" := "HMI_Instrument"."PCM306"."PV" - "HMI_PID"."PCM306"."Sp";
|
|
END_IF;
|
|
|
|
// Network 88: PTM308 (Original Language: LAD)
|
|
// DB972.DBW36 = 27648
|
|
|
|
IF "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."PTM308", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PTM308");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"NorgrenPressSafety"(i_Enable := "AUX TRUE", i_Num := 5, i_Value := "HMI_Instrument"."PTM308"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE";
|
|
|
|
// Network 89: LTM302 (Original Language: LAD)
|
|
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."LTM302", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_LTM302");
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"Product_Tank_Level"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."LTM302"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := TRUE;
|
|
|
|
// Network 90: CTS302 (Original Language: LAD)
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."CTS302", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CTS302");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"C1_Conductivity_Caustic"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."CTS302"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE");
|
|
|
|
// Network 91: CTS301 (Original Language: LAD)
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."CTS301", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CTS301");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"C1_Conductivity_Water"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."CTS301"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE");
|
|
|
|
// Network 92: TTS305_1 (Original Language: LAD)
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."TTS305_1", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CIPReturnTemperature");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"CIP_Retur_Temperature"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."TTS305_1"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter_Profibus" AND "AUX FALSE");
|
|
|
|
// Network 93: Filler Level (Original Language: LAD)
|
|
|
|
IF "AUX FALSE" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_SignalExchange", 0) THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."_FillerLevel", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_FillerLevel");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"Fille_Level"(i_Enable := "AUX TRUE", i_Num := 10, i_Value := "HMI_Instrument"."_FillerLevel"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("AUX FALSE" AND Eq("HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_SignalExchange", 0));
|
|
|
|
// Network 94: CTM304 (Original Language: LAD)
|
|
|
|
IF "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."CTM304", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_CTM304");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"Product_Conductivity"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."CTM304"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE";
|
|
|
|
// Network 95: PTN313 (Original Language: LAD)
|
|
|
|
IF "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."PTN313", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_PTN313");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"Deaireator_Pressure"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."PTN313"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE";
|
|
|
|
// Network 96: Gas Factor (Original Language: LAD)
|
|
|
|
SEL_R(G := "Blender_Variables_Pers"."gCarboStillProduct" OR "gBlenderCIPMode", IN0 := 0.9848858, IN1 := 1.235718);
|
|
|
|
// Network 97: RVN305 (Original Language: LAD)
|
|
|
|
SEL_R(G := "HMI_Service"."Workshop_Test"."SIMTestWithGas" AND "gWorkshopTest", IN0 := "Blender_Variables"."gActualGasFactor", IN1 := 1.0);
|
|
|
|
SEL_R(G := Ne("Blender_Variables"."gActualGasFactor", 0.0), IN0 := 1.0, IN1 := "mFTFS");
|
|
|
|
"HMI_Instrument"."RVN305"."Span" := "Blender_Variables"."gFlowTronic" / "mFTFS";
|
|
|
|
// Network 98: RVN304 (Original Language: LAD)
|
|
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."RVN304", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_RVN304");
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"HMI_Instrument"."RVN304"."PVFiltered" := "HMI_Instrument"."RVN304"."PV";
|
|
END_IF;
|
|
|
|
"mDummy" := TRUE;
|
|
|
|
// Network 99: RVN304 Fault (Original Language: LAD)
|
|
|
|
IF "HMI_PID"."RVN304"."Sp" > 100.0 THEN
|
|
"mRealTemp" := "HMI_Instrument"."RVN304"."PVFiltered" - "HMI_PID"."RVN304"."Sp";
|
|
END_IF;
|
|
|
|
// Network 100: RVN304 Fault (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_30(IN := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Instrument"."RVN304"."Config" AND "mRVN304Fault", PT := T#1M); // TODO: Declarar #TON_INSTANCE_30 : TON;
|
|
|
|
"gRVN304Fault" := #TON_INSTANCE_30.Q AND "AUX FALSE";
|
|
|
|
// Network 101: RVN305 (Original Language: LAD)
|
|
|
|
IF "HMI_Device"."AVN328"."Out" AND "HMI_Device"."AVN350"."Out" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."RVN305", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_RVN305");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"DeairValveFlted"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."RVN305"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR ("HMI_Device"."AVN328"."Out" AND "HMI_Device"."AVN350"."Out");
|
|
|
|
// Network 102: RVN305 Fault (Original Language: LAD)
|
|
|
|
IF "HMI_PID"."RVN305"."Sp" > 100.0 THEN
|
|
"mRealTemp" := "HMI_Instrument"."RVN305"."PVFiltered" - "HMI_PID"."RVN304"."Sp";
|
|
END_IF;
|
|
|
|
// Network 103: RVN305 Fault (Original Language: LAD)
|
|
|
|
#TON_INSTANCE_30(IN := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" AND "HMI_Instrument"."RVN304"."Config" AND "mRVN304Fault", PT := T#1M); // TODO: Declarar #TON_INSTANCE_30 : TON;
|
|
|
|
"gRVN305Fault" := #TON_INSTANCE_30.Q AND "AUX FALSE";
|
|
|
|
// Network 104: RVN305 Filtered (Original Language: LAD)
|
|
|
|
SEL_R(G := "HMI_Device"."AVN350"."Out", IN0 := 0.0, IN1 := "HMI_Instrument"."RVN305"."PVFiltered");
|
|
|
|
// Network 105: Product Tank Pressure (Original Language: LAD)
|
|
// Product Tank Pressure
|
|
// DB972.DBW36 = 27648
|
|
|
|
IF "AUX FALSE" THEN
|
|
ReadAnalogIn(ANALOG := "HMI_Instrument"."_ProductO2Conc", MAX_Analog_Value := "Blender_Constants"."gAnalogMaxValue", MIN_Analog_Value := 0, PEW := "P_AI_ProductO2");
|
|
END_IF;
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
|
|
"ProductO2Conc"(i_Enable := "AUX TRUE", i_Num := 4, i_Value := "HMI_Instrument"."_ProductO2Conc"."PV");
|
|
END_IF;
|
|
|
|
"mDummy" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" OR "AUX FALSE";
|
|
|
|
// Network 106: No Test (Original Language: LAD)
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."CO2TestRequest" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMCipMode" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMCipRunning" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMCipChangeSanitize" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMCipDrainRequest" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMCipCompleted" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMCipCausticSanitizeRun" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMFillerAVM346Enable" := FALSE;
|
|
END_IF;
|
|
|
|
IF "gWorkshopTest" THEN
|
|
"HMI_Service"."Workshop_Test"."SIMFillerAVM362Enable" := FALSE;
|
|
END_IF;
|
|
|
|
// Network 107: Digital Scanner (Original Language: LAD)
|
|
|
|
Input_DigitalScanner();
|
|
|
|
// Network 108: Digital Ctrl (Original Language: LAD)
|
|
|
|
Input_DigitalCtrl();
|
|
|
|
// Network 109: CIP Hot Water Sending to Mixer (Original Language: LAD)
|
|
|
|
"gIN_CIP_HotWaterSending" := "DI_CIP_HotWaterSending";
|
|
|
|
// Network 110: CIP Soda Tank is able to receive soda from mixer (Original Language: LAD)
|
|
|
|
"gIN_CIP_FreeSodaTank" := "DI_CIP_FreeSodaTank";
|
|
|
|
// Network 111: From CIPRoom (Original Language: LAD)
|
|
|
|
"gIN_CIP_ChemicalProd" := "DI_CIP_ChemicalProd";
|
|
|
|
// Network 112: MIX - Supplies Alarm (Original Language: LAD)
|
|
|
|
"gAmmoniaCompressor_Fault" := "gGencoldChillerEn" AND "DI_Ammonia_CompressorReady" AND "gIN_VoltageOk" AND "gBlenderProdMode";
|
|
|
|
END_FUNCTION_BLOCK
|
|
|
|
```
|