Obsidean_VM/04-SIDEL/06 - E5.007363 - Modifica O.../Source/source/CIPLocal.md

9.0 KiB

// 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