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

12 KiB

// Block Type: FC
// Block Name (Original): Profibus Network
// Block Number: 11
// Original Network Languages: LAD, STL

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

VAR_TEMP
  #_0 : Bool; // Auto-generated temporary
END_VAR

BEGIN

  // Network 1: Global Diagnosis (cycle) (Original Language: STL)

  // --- BEGIN STL Network 1 ---
   
     	A	"M19510"
     	O	"M19511"
     	O	"M19512"
     	O	"GLOBAL_DIAG_DB".BUSY
     	S	"M19513"
     	AN	"GLOBAL_DIAG_DB".BUSY
     	R	"M19510"
     	R	"M19511"
     	R	"M19512"
     
     	AN	"GLOBAL_DIAG_DB".BUSY
     	R	"M19513"
     
     	A	"gIN_VoltageOk"
     	L	S5T#1S
     	OnDelay	"T141"
     
     	A	"gIN_ResetBtn"
     	JC	RESE
     	JU	CONT
     RESE:   		R	"SFM Profibus"
     	L	DINT#0
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[1]
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[2]
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[3]
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[4]
     CONT:   		NOP_0
     
     	AN	"T141"
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[1]
     	JC	SLA1
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[1]
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_ERROR[1]
     	OD
     SLA1:   		L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[1]
     	OD
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[1]
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[1]
     	L	DINT#0
     	NE_D
     	S	"SFM Profibus"
     
     	AN	"T141"
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[2]
     	JC	SLA2
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[2]
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_ERROR[2]
     	OD
     SLA2:   		L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[2]
     	OD
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[2]
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[2]
     	L	DINT#0
     	NE_D
     	S	"SFM Profibus"
     
     	AN	"T141"
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[3]
     	JC	SLA3
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[3]
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_ERROR[3]
     	OD
     SLA3:   		L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[3]
     	OD
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[3]
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[3]
     	L	DINT#0
     	NE_D
     	S	"SFM Profibus"
     
     	AN	"T141"
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[4]
     	JC	SLA4
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_NOT_PRESENT[4]
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_ERROR[4]
     	OD
     SLA4:   		L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[4]
     	OD
     	T	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[4]
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[4]
     	L	DINT#0
     	NE_D
     	S	"SFM Profibus"
   
  // --- END STL Network 1 ---

  // Network 2: Slaves (Original Language: STL)

  // --- BEGIN STL Network 2 ---
   
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[1]
     	T	"MD1870"
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[2]
     	T	"MD1874"
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[3]
     	T	"MD1878"
     
     	L	"GLOBAL_DIAG_DB".LIST_SLAVES_FAULT_SAVE[4]
     	T	"MD1882"
   
  // --- END STL Network 2 ---

  // Network 3: Simulation (Original Language: LAD)

  IF "HMI_Blender_Parameters"."Processor_Options"."Blender_OPT"."_Simulation" THEN
    "MD1870" := DINT#0;
    "MD1874" := DINT#0;
    "MD1878" := DINT#0;
    "MD1882" := DINT#0;
  END_IF;

  // Network 4: Profibus: Node 1 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FC3102_DP" := "M18700";

  IF "M18700" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."FC3102_DP" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18700" THEN
    "HMI_Variables_Status"."Profibus"."State"."FC3102_DP" := 0;
  END_IF;

  // Network 5: Profibus: Node 3 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."ET200" := "M18702";

  IF "AUX FALSE" AND "M18702" THEN
    "HMI_Variables_Status"."Profibus"."State"."ET200" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18702" THEN
    "HMI_Variables_Status"."Profibus"."State"."ET200" := 0;
  END_IF;

  // Network 6: Profibus: Node 20 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."ValvesBase_Festo" := "M18723";

  IF "AUX FALSE" AND "M18723" THEN
    "HMI_Variables_Status"."Profibus"."State"."ValvesBase_Festo" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18723" THEN
    "HMI_Variables_Status"."Profibus"."State"."ValvesBase_Festo" := 0;
  END_IF;

  // Network 7: Profibus: Node 22 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."ValvesBase_Joucomatic" := "M18725";

  IF "AUX FALSE" AND "M18725" THEN
    "HMI_Variables_Status"."Profibus"."State"."ValvesBase_Joucomatic" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18725" THEN
    "HMI_Variables_Status"."Profibus"."State"."ValvesBase_Joucomatic" := 0;
  END_IF;

  // Network 8: Profibus: Node 28 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Carbo" := "M18733";

  IF "AUX FALSE" AND "M18733" THEN
    "HMI_Variables_Status"."Profibus"."State"."mPDSPA_Carbo" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18733" THEN
    "HMI_Variables_Status"."Profibus"."State"."mPDSPA_Carbo" := 0;
  END_IF;

  // Network 9: Profibus: Node 30 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTN301_Promag" := "M18735";

  IF "AUX FALSE" AND "M18735" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTN301" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18735" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTN301" := 0;
  END_IF;

  // Network 10: Profibus: Node 31 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTP302" := "M18736";

  IF "AUX FALSE" AND "M18736" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTP302" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18736" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTP302" := 0;
  END_IF;

  // Network 11: Profibus: Node 32 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTM303" := "M18737";

  IF "AUX FALSE" AND "M18737" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTM303" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18737" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTM303" := 0;
  END_IF;

  // Network 12: Profibus: Node 33 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTM304" := "M18740";

  "HMI_Alarms"."gH_Message" := "M18740";

  IF "M18740" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTM304" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18740" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTM304" := 0;
  END_IF;

  // Network 13: Profibus: Node 35 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."CTS301_LowCond" := "M18742";

  IF "M18742" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."CTS301_LowCond" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18742" THEN
    "HMI_Variables_Status"."Profibus"."State"."CTS301_LowCond" := 0;
  END_IF;

  // Network 14: Profibus: Node 36 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."CTS302_HighCond" := "M18743";

  IF "M18743" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."CTS302_HighCond" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18743" THEN
    "HMI_Variables_Status"."Profibus"."State"."CTS302_HighCond" := 0;
  END_IF;

  // Network 15: Profibus: Node 37 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."CTM304_ProdCond" := "M18744";

  "HMI_Alarms"."gH_Message" := "M18744";

  IF "M18744" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."CTM304_ProdCond" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18744" THEN
    "HMI_Variables_Status"."Profibus"."State"."CTM304_ProdCond" := 0;
  END_IF;

  // Network 16: Profibus: Node 40 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Cobrix_Prod" := "M18747";

  IF "M18747" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."mPDSPA_Cobrix_Prod" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18747" THEN
    "HMI_Variables_Status"."Profibus"."State"."mPDSPA_Cobrix_Prod" := 0;
  END_IF;

  // Network 17: Profibus: Node 41 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."MaselliPA" := "M18750";

  IF "M18750" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."MaselliPA" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18750" THEN
    "HMI_Variables_Status"."Profibus"."State"."MaselliPA" := 0;
  END_IF;

  // Network 18: Profibus: Node 42 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."mPDSPA_Cobrix_Syrup" := "M18751";

  IF "M18751" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."mPDSPA_Cobrix_Syrup" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18751" THEN
    "HMI_Variables_Status"."Profibus"."State"."mPDSPA_Cobrix_Syrup" := 0;
  END_IF;

  // Network 19: Profibus: Node 50 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."PPN301_VFC" := "M18761";

  IF "M18761" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."PPN301_VFC" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18761" THEN
    "HMI_Variables_Status"."Profibus"."State"."PPN301_VFC" := 0;
  END_IF;

  // Network 20: Profibus: Node 51 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."PPP302_VFC" := "M18762";

  IF "M18762" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."PPP302_VFC" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18762" THEN
    "HMI_Variables_Status"."Profibus"."State"."PPP302_VFC" := 0;
  END_IF;

  // Network 21: Profibus: Node 52 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."PPM303_VFC" := "M18763";

  IF "M18763" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."PPM303_VFC" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18763" THEN
    "HMI_Variables_Status"."Profibus"."State"."PPM303_VFC" := 0;
  END_IF;

  // Network 22: Profibus: Node 110 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."ET200M" := "M18835";

  IF "M18835" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."ET200M" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18835" THEN
    "HMI_Variables_Status"."Profibus"."State"."ET200M" := 0;
  END_IF;

  // Network 23: Profibus: Node 118 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."ProdPH" := "M18845";

  "HMI_Alarms"."gH_Message" := "M18845";

  IF "M18845" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."ProdPH" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18845" THEN
    "HMI_Variables_Status"."Profibus"."State"."ProdPH" := 0;
  END_IF;

  // Network 24: Profibus: Node 120 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTN301_Promass" := "M18847";

  IF "M18847" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTN301_Promass" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18847" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTN301_Promass" := 0;
  END_IF;

  // Network 25: Profibus: Node 121 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTP302_2400S" := "M18850";

  IF "M18850" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTP302_2400S" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18850" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTP302_2400S" := 0;
  END_IF;

  // Network 26: Profibus: Node 122 Fault (Original Language: LAD)

  "HMI_Variables_Status"."Profibus"."Error"."FTM303_2400S" := "M18851";

  IF "M18851" AND "AUX FALSE" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTM303_2400S" := 19;
  END_IF;

  IF "AUX FALSE" AND NOT "M18851" THEN
    "HMI_Variables_Status"."Profibus"."State"."FTM303_2400S" := 0;
  END_IF;

END_FUNCTION