Obsidean_VM/04-SIDEL/00 - MASTER/Source/source/CPU_DP_Global_Diag.md

3.7 KiB

// Block Type: FC
// Block Name (Original): CPU_DP Global Diag
// Block Number: 14
// Original Network Languages: STL, LAD
// Block Comment:
//   *** PLC Profibus Node Comunication Control ***

FUNCTION "CPU_DP_Global_Diag" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1

VAR_TEMP
  SZL_HEADER : "Struct";
END_VAR

  #_2S : Bool; // Auto-generated temporary
BEGIN

  // Network 1: Air Pressure Switch (Original Language: STL)
  //   Read Status PLC Led

  // --- BEGIN STL Network 1 ---
   
     	AN	"HMI CPU_DP Diag".Led_PLC.SFC_51.Busy
     	=	"HMI CPU_DP Diag".Led_PLC.SFC_51.REQ
     	CALL	_Call_?
     
     	L	"SZL_HEADER".LENGTHDR
     	T	"HMI CPU_DP Diag".Led_PLC.SFC_51.Length
     	L	"SZL_HEADER".N_DR
     	T	"HMI CPU_DP Diag".Led_PLC.SFC_51.Set_Data
     
     	L	"HMI CPU_DP Diag".Led_PLC.SF.Led_GR_FLT
     	L	"HMI CPU_DP Diag".Led_PLC.SF.Led_GR_ON_OFF
     	L	"HMI CPU_DP Diag".Led_PLC.SF.Flash_Led_Y_N
     	ADD_I
     	T	"HMI CPU_DP Diag".Led_PLC.Staus.SF_ON
     	L	"HMI CPU_DP Diag".Led_PLC.RUN.Led_GR_FLT
     	L	"HMI CPU_DP Diag".Led_PLC.RUN.Led_GR_ON_OFF
     	L	"HMI CPU_DP Diag".Led_PLC.RUN.Flash_Led_Y_N
     	ADD_I
     	T	"HMI CPU_DP Diag".Led_PLC.Staus.RUN_ON
     	L	"HMI CPU_DP Diag".Led_PLC.STOP.Led_GR_FLT
     	L	"HMI CPU_DP Diag".Led_PLC.STOP.Led_GR_ON_OFF
     	L	"HMI CPU_DP Diag".Led_PLC.STOP.Flash_Led_Y_N
     	ADD_I
     	T	"HMI CPU_DP Diag".Led_PLC.Staus.STOP_ON
     	L	"HMI CPU_DP Diag".Led_PLC.Force.Led_GR_FLT
     	L	"HMI CPU_DP Diag".Led_PLC.Force.Led_GR_ON_OFF
     	L	"HMI CPU_DP Diag".Led_PLC.Force.Flash_Led_Y_N
     	ADD_I
     	T	"HMI CPU_DP Diag".Led_PLC.Staus.FORCE_ON
     	L	"HMI CPU_DP Diag".Led_PLC.BF1.Led_GR_FLT
     	L	"HMI CPU_DP Diag".Led_PLC.BF1.Led_GR_ON_OFF
     	L	"HMI CPU_DP Diag".Led_PLC.BF1.Flash_Led_Y_N
     	ADD_I
     	T	"HMI CPU_DP Diag".Led_PLC.Staus.BF1_ON
     	L	"HMI CPU_DP Diag".Led_PLC.BF2.Led_GR_FLT
     	L	"HMI CPU_DP Diag".Led_PLC.BF2.Led_GR_ON_OFF
     	L	"HMI CPU_DP Diag".Led_PLC.BF2.Flash_Led_Y_N
     	ADD_I
     	T	"HMI CPU_DP Diag".Led_PLC.Staus.BF2_ON
   
  // --- END STL Network 1 ---

  // Network 2: HMI Global Diagnosis (Original Language: LAD)
  //   Setting:
  //   -DP Master #1 
  //   -External DP Interface
  //   -Manual/Automatic Mode

  IF "AUX TRUE" THEN
    "HMI CPU_DP Diag"."Cmd"."DP_Master_Number" := 1;
  END_IF;

  IF "AUX TRUE" THEN
    "HMI CPU_DP Diag"."Cmd"."External_Interface" := FALSE;
  END_IF;

  IF "AUX TRUE" THEN
    "HMI CPU_DP Diag"."Cmd"."Manual_Mode" := TRUE;
  END_IF;

  // Network 3: HMI Global Diagnosis (Original Language: LAD)
  //   Set Check Active Fault

  // PBox SymPy processed, logic in consumer
  "HMI CPU_DP Diag"."Cmd"."FP_Reset" := "HMI CPU_DP Diag"."Cmd"."Reset"; // P_TRIG("HMI CPU_DP Diag"."Cmd"."Reset") - Mem: "HMI CPU_DP Diag"."Cmd"."FP_Reset"

  IF "M19510" OR "M19511" THEN
    "M19514" := TRUE;
  END_IF;

  // Network 4: HMI Global Diagnosis (Original Language: LAD)
  //   Set Single Diag Request

  // PBox SymPy processed, logic in consumer
  "HMI CPU_DP Diag"."Cmd"."FP_Single_Diag" := "HMI CPU_DP Diag"."Cmd"."Single_Diag"; // P_TRIG("HMI CPU_DP Diag"."Cmd"."Single_Diag") - Mem: "HMI CPU_DP Diag"."Cmd"."FP_Single_Diag"

  IF "HMI CPU_DP Diag"."Cmd"."Single_Diag" AND NOT "HMI CPU_DP Diag"."Cmd"."FP_Single_Diag" THEN
    "M19515" := TRUE;
  END_IF;

  // Network 5: HMI Global Diagnosis (Original Language: LAD)
  //   Reset First Access Page

  "T019"(IN := "HMI CPU_DP Diag"."Cmd"."Reset" OR "HMI CPU_DP Diag"."Cmd"."Single_Diag", PT := S5T#2S); // TODO: Declarar "T019" : TON;

  IF "HMI CPU_DP Diag"."Cmd"."Reset" AND "T019".Q THEN
    "HMI CPU_DP Diag"."Cmd"."Reset" := FALSE;
  END_IF;

  IF "HMI CPU_DP Diag"."Cmd"."Single_Diag" AND "T019".Q THEN
    "HMI CPU_DP Diag"."Cmd"."Single_Diag" := FALSE;
  END_IF;

END_FUNCTION