160 lines
9.0 KiB
Markdown
160 lines
9.0 KiB
Markdown
```pascal
|
|
// Block Type: FC
|
|
// Block Number: 1933
|
|
// Original Network Languages: LAD
|
|
// Block Comment:
|
|
// The following PROGRAM handle the CIP software modules. The module interface is
|
|
// the Standard one: Qualifier,Request, Latch, Wait, Reset (Inizialize) AND Done.
|
|
// Qualifier: (Level Signal) Qualify the module TO be executed; all the conditions
|
|
// that enable the module TO run must be included in the Qualifier.
|
|
// Request: (Pulse ONS) Request TO execute the module.
|
|
// Latch: (Level Signal) IF the Qualifier is enabled AND the module is NOT already
|
|
// executed AND is NOT Reset, than the Latch latches UNTIL th Done OR the Reset
|
|
// comes.
|
|
// Done: (Level Signal) Is Setted as soon as the module complete its functions,
|
|
// AND
|
|
// staies On UNTIL next Reset.
|
|
|
|
FUNCTION "CIPLocal" : Void
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_TEMP
|
|
mNewProgram : Bool;
|
|
mRET_VAL : Bool;
|
|
END_VAR
|
|
|
|
#_3M : Bool; // Auto-generated temporary
|
|
BEGIN
|
|
|
|
// Network 1: (Original Language: LAD)
|
|
|
|
"CIP_Program_Variables"."CIP_Run"."Qualifier" := "gBlenderCIPMode" AND "gBlenderSuppliesOk" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_LocalCIP";
|
|
|
|
// Network 2: CIP Inizialized Signal (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"mRequestTP" := "gIN_StartBtn"; // P_TRIG("gIN_StartBtn") - Mem: "mRequestTP"
|
|
|
|
IF "gIN_StartBtn" AND "CIP_Program_Variables"."CIP_Run"."Qualifier" AND NOT "mRequestTP" THEN
|
|
"CIP_Program_Variables"."Status"."Inizialized" := FALSE;
|
|
END_IF;
|
|
|
|
"CIP_Program_Variables"."CIP_Run"."Request" := "gIN_StartBtn" AND "CIP_Program_Variables"."CIP_Run"."Qualifier" AND NOT "mRequestTP";
|
|
|
|
// Network 3: MIX - Air and CO2 pressure ok and auxiliary ok (Original Language: LAD)
|
|
|
|
// Network 3 did not produce printable SCL code.
|
|
|
|
// Network 4: MIX - CIP Local (Original Language: LAD)
|
|
|
|
// Network 4 did not produce printable SCL code.
|
|
|
|
// Network 5: (Original Language: LAD)
|
|
|
|
"HMI_Local_CIP_Variables"."Cip_Commands"."_RunPause" := "CIP_Program_Variables"."CIP_Run"."Latch" AND "HMI_Local_CIP_Variables"."Cip_Commands"."_ProgPause";
|
|
|
|
// Network 6: (Original Language: LAD)
|
|
|
|
"CIP_Program_Variables"."CIP_Run"."Wait" := ("gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Wait") OR ("gBlenderCIPMode" AND "HMI_Local_CIP_Variables"."Cip_Commands"."_RunPause");
|
|
|
|
// Network 7: (Original Language: LAD)
|
|
|
|
"CIP_Program_Variables"."CIP_Run"."Latch" := ("CIP_Program_Variables"."CIP_Run"."Request" AND "CIP_Program_Variables"."CIP_Run"."Reset" AND "gBlenderAlarm" AND "CIP_Program_Variables"."CIP_Run"."Done") OR ("CIP_Program_Variables"."CIP_Run"."Reset" AND "gBlenderAlarm" AND "CIP_Program_Variables"."CIP_Run"."Done" AND "CIP_Program_Variables"."CIP_Run"."Latch");
|
|
|
|
IF ("CIP_Program_Variables"."CIP_Run"."Request" AND "CIP_Program_Variables"."CIP_Run"."Reset" AND "gBlenderAlarm" AND "CIP_Program_Variables"."CIP_Run"."Done" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Report") OR ("CIP_Program_Variables"."CIP_Run"."Reset" AND "gBlenderAlarm" AND "CIP_Program_Variables"."CIP_Run"."Done" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Report" AND "CIP_Program_Variables"."CIP_Run"."Latch") THEN
|
|
"CIPReportDB"."General"."AuxReportCipStart" := TRUE;
|
|
END_IF;
|
|
|
|
// Network 8: CIP Running Signal (Original Language: LAD)
|
|
|
|
"CIP_Program_Variables"."CIP_Run"."Running" := "CIP_Program_Variables"."CIP_Run"."Wait" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
"HMI_Local_CIP_Variables"."Cip_Commands"."_Running" := "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 9: (Original Language: LAD)
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"mONS" := "gIN_StopBtn"; // P_TRIG("gIN_StopBtn") - Mem: "mONS"
|
|
|
|
// PBox SymPy processed, logic in consumer
|
|
"mONS2" := "CIP_Program_Variables"."CIP_Run"."Latch"; // P_TRIG("CIP_Program_Variables"."CIP_Run"."Latch") - Mem: "mONS2"
|
|
|
|
"CIP_Program_Variables"."CIP_Run"."Done" := "CIP_Program_Variables"."Status"."Completed" OR ("gIN_StopBtn" AND NOT "mONS");
|
|
|
|
// Network 10: (Original Language: LAD)
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Report" AND "CIP_Program_Variables"."Status"."Completed" THEN
|
|
"CIPReportDB"."General"."AuxReportCipEnd" := TRUE;
|
|
END_IF;
|
|
|
|
// Network 11: MIX - CIP Local (Original Language: LAD)
|
|
|
|
"mNoRecircFlowDly"(IN := "HMI_Device"."PPM303"."Out" AND (("HMI_Digital"."FSS301"."Filtered" AND "HMI_Device"."AVS336"."Out" AND "CIP_Program_Variables"."CIP_Run"."Latch") OR ("HMI_Digital"."FSS301"."Filtered" AND "HMI_Device"."AVS337"."Out" AND "CIP_Program_Variables"."CIP_Run"."Latch")), PT := S5T#3M); // TODO: Declarar "mNoRecircFlowDly" : TON;
|
|
|
|
"gCIPRecirFlowMiss_Fault" := "mNoRecircFlowDly".Q;
|
|
|
|
// Network 12: (Original Language: LAD)
|
|
|
|
"CIP_Program_Variables"."Status"."WaitFillerReadyToCIP" := "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch" AND "gIN_FillerCIPRequest" AND "CIP_Program_Variables"."Status"."WaitEventRequest"."ReadyForCIP";
|
|
|
|
"HMI_Alarms"."gH_Message" := "gBlenderCIPMode" AND "Procedure_Variables"."Blender_Run"."Latch" AND "gIN_FillerCIPRequest" AND "CIP_Program_Variables"."Status"."WaitEventRequest"."ReadyForCIP";
|
|
|
|
// Network 13: Local CIP Wait Temperature (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "CIP_Program_Variables"."Status"."WaitEventRequest"."Temperature_Ok" AND "CIP_Program_Variables"."Status"."WaitEventStatus"."Temperature_Ok" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 14: (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "CIP_Program_Variables"."Status"."WaitEventRequest"."HighConductivity" AND "CIP_Program_Variables"."Status"."WaitEventStatus"."HighConductivity" AND "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 15: (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Conductimeter" AND "CIP_Program_Variables"."Status"."WaitEventRequest"."LowConductivity" AND "CIP_Program_Variables"."Status"."WaitEventStatus"."LowConductivity" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 16: (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "CIP_Program_Variables"."Status"."WaitEventRequest"."DrainCompleted" AND "CIP_Program_Variables"."Status"."WaitEventStatus"."DrainCompleted" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 17: (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "CIP_Program_Variables"."Status"."WaitEventRequest"."CIPChangeReady" AND "CIP_Program_Variables"."Status"."WaitEventStatus"."CIPChangeReady" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 18: (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Message" := "CIP_Program_Variables"."Status"."WaitEventRequest"."CIPCycleEnded" AND "CIP_Program_Variables"."Status"."WaitEventStatus"."CIPCycleEnded" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 19: Local CIP Hold (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Status" := "CIP_Program_Variables"."CIP_Run"."Wait" AND "CIP_Program_Variables"."CIP_Run"."Latch";
|
|
|
|
// Network 20: Local CIP Completed (Original Language: LAD)
|
|
|
|
"HMI_Alarms"."gH_Status" := "CIP_Program_Variables"."Status"."Completed" AND "gBlenderProdMode" AND "gBlenderRinseMode";
|
|
|
|
// Network 21: (Original Language: LAD)
|
|
|
|
"CIPRecipeManagement_Data"(Active_Recipe_Req := "HMI_Variables_Cmd"."RecipeCIP"."Active_Request", Active_Recipe_Running := "HMI_Variables_Cmd"."RecipeCIP"."Active_Recipe_Running", Active_Recipe_Start := "HMI_Variables_Cmd"."RecipeCIP"."Active_Recipe_Start", Copy := "HMI_Variables_Cmd"."RecipeCIP"."Copy", Copy_to := "HMI_Variables_Cmd"."RecipeCIP"."Copy_Request", Delete := "HMI_Variables_Cmd"."RecipeCIP"."Delete", Download := "HMI_Variables_Cmd"."RecipeCIP"."Download", Edit := "HMI_Variables_Cmd"."RecipeCIP"."Edit", HMI_Recipe_Main_Page := "HMI_Variables_Cmd"."RecipeCIP"."Main_Page", HMI_Recipe_Page_Running := "HMI_Variables_Cmd"."RecipeCIP"."Page_Running", Max_Recipe_Number := 30, Read := "HMI_Variables_Cmd"."RecipeCIP"."Read", Upload := "HMI_Variables_Cmd"."RecipeCIP"."Upload", UploadPC := "HMI_Variables_Cmd"."RecipeCIP"."UploadPC", Work_Recipe := "HMI_Variables_Cmd"."RecipeCIP"."Edit_Request", Write := "HMI_Variables_Cmd"."RecipeCIP"."Write");
|
|
|
|
// Network 22: (Original Language: LAD)
|
|
|
|
"HMI_Local_CIP_Variables"."Cip_Commands"."_ProgNoSaveAllwd" := "HMI_Variables_Cmd"."RecipeCIP"."Work_Rec_is_Active_Recip" AND "HMI_Local_CIP_Variables"."Cip_Commands"."_Running";
|
|
|
|
// Network 23: (Original Language: LAD)
|
|
|
|
CIPLocal_WaitEvent_Ctrl();
|
|
|
|
// Network 24: (Original Language: LAD)
|
|
|
|
CIPLocal_ExecSimpleCIP(Clock := "Clock_1Hz", Hold := "CIP_Program_Variables"."CIP_Run"."Wait", Inizialize := "CIP_Program_Variables"."CIP_Run"."Reset", Start := "CIP_Program_Variables"."CIP_Run"."Latch", StepDown := "HMI_Local_CIP_Variables"."Cip_Commands"."_ProgStepDown", StepUp := "HMI_Local_CIP_Variables"."Cip_Commands"."_ProgStepUp");
|
|
|
|
// Network 25: (Original Language: LAD)
|
|
|
|
IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Report" THEN
|
|
CIPReportManager();
|
|
END_IF;
|
|
|
|
END_FUNCTION
|
|
|
|
```
|