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

3.4 KiB

// Block Type: FC
// Block Name (Original): Prod Tank Drain_Seq
// Block Number: 1807
// Original Network Languages: LAD, STL

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

VAR_INOUT
  mStep : Int;
  mTime : Int;
  mTransition : Bool;
END_VAR

VAR_TEMP
  Buffer : Bool;
  mProdTankMinLevel : Bool;
  mFlipFlop : Bool;
  mOverPress : Bool;
  mDummy : Bool;
  mPresetTimer : Int;
  sp : Real;
  mUnderPress : Bool;
  sp_1 : Real;
  __PlcmigTempFillBits_14B0 : Array[0..7] of Bool;
END_VAR

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

  // Network 1: STEP CONTROL (Original Language: STL)

  // --- BEGIN STL Network 1 ---
   
     	L	"mStep"
     	JL	LEND
     	JU	ST00
     	JU	ST01
     	JU	ST02
     	JU	ST03
     	JU	ST04
     LEND:   		JU	FULL
     FULL:   		L	0
     	T	"mStep"
     	JU	END
   
  // --- END STL Network 1 ---

  // Network 2: STEP 00 (Original Language: LAD)

  "__PlcmigTempFillBits_14B0" := "AUX TRUE";

  // Network 3: STEP 00 (Original Language: STL)

  // --- BEGIN STL Network 3 ---
   
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 3 ---

  // Network 4: STEP 01 (Original Language: LAD)

  IF "AUX FALSE" THEN
    "gSP_AVM315" := TRUE;
  END_IF;

  // Network 5: STEP 01 (Original Language: STL)

  // --- BEGIN STL Network 5 ---
   
     	AN	"HMI_Digital".LSM302L.Filtered
     	=	"__PlcmigTempFillBits_14B0"[0]
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBits_14B0"[1]
     	BLD	103
     	A	"Procedure_Variables".TM301_Drain.Wait
     	=	"__PlcmigTempFillBits_14B0"[2]
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 5 ---

  // Network 6: STEP 02 (Original Language: LAD)
  //   OFF For 8sec
  //   ON For 2sec

  "mFlipFlopTON1"(IN := "gClock_20s", PT := S5T#10S); // TODO: Declarar "mFlipFlopTON1" : TP;

  "mFlipFlop" := "mFlipFlopTON1".Q;

  // Network 7: STEP 02 (Original Language: LAD)

  IF "AUX TRUE" AND "HMI_Digital"."LSM302L"."Filtered" THEN
    "gSP_AVM315" := TRUE;
  END_IF;

  IF "AUX TRUE" THEN
    "gSP_AVM345" := TRUE;
  END_IF;

  IF "AUX TRUE" AND "gBlenderProdMode" THEN
    "gSP_AVP316" := TRUE;
  END_IF;

  IF "AUX TRUE" THEN
    "gSP_AVP316_1" := TRUE;
  END_IF;

  // Network 8: STEP 02 (Original Language: STL)

  // --- BEGIN STL Network 8 ---
   
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 8 ---

  // Network 9: STEP 02 (Original Language: LAD)
  //   OFF For 8sec
  //   ON For 2sec

  IF "AUX TRUE" THEN
    "gSP_AVM369" := TRUE;
  END_IF;

  IF "AUX TRUE" THEN
    "gSP_AVM353" := TRUE;
  END_IF;

  IF "AUX TRUE" THEN
    "gSP_AVM345" := TRUE;
  END_IF;

  // Network 10: STEP 03 (Original Language: STL)

  // --- BEGIN STL Network 10 ---
   
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBits_14B0"[0]
     	BLD	103
     	A	"AUX TRUE"
     	=	"__PlcmigTempFillBits_14B0"[1]
     	BLD	103
     	A	"Procedure_Variables".TM301_Drain.Wait
     	=	"__PlcmigTempFillBits_14B0"[2]
     	BLD	103
     	A	CLK_0.5S
     	=	"__PlcmigTempFillBits_14B0"[3]
     	BLD	103
     	CALL	"_StepMove"
     	A	_Statusword_?
     	JC	END
   
  // --- END STL Network 10 ---

  // Network 11: STEP 03 (Original Language: LAD)

  "Procedure_Variables"."TM301_Drain"."Done" := "AUX FALSE";

  // Network 12: END (Original Language: STL)

  // --- BEGIN STL Network 12 ---
   
     END:    		NOP_0
   
  // --- END STL Network 12 ---

END_FUNCTION