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

2.6 KiB

// Block Type: FC
// Block Number: 1892
// Original Network Languages: LAD

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

VAR_TEMP
  mPAMaselliRecipeTrnsfr : Bool;
  mTrnsfrOK : Bool;
  mAux1 : Int;
  mAux2 : Int;
END_VAR

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

  // Network 1: Recipe Number (Original Language: LAD)

  LIMIT_I(IN := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_ProdMeterRecipeNum", MN := 1, MX := 40);

  "mAux2" := "HMI_Blender_Parameters"."Actual_Recipe_Parameters"."_ProdMeterRecipeNum";

  // Network 2: Recipe Number (Original Language: LAD)

  IF "gBlenderCIPMode" THEN
    "mAux2" := 0;
  END_IF;

  // Network 3: Recipe Number (Original Language: LAD)

  "P_gMaselli_RecipeSetNum" := "mAux2";

  // Network 4: Recipe Transfer (Original Language: LAD)

  "mPAMaselli_RecipeTmr1"(IN := "gBlenderCIPMode" OR "gProdMeterTransferRecipe", PT := S5T#10S); // TODO: Declarar "mPAMaselli_RecipeTmr1" : TP;

  "mPAMaselliRecipeTrnsfr" := "mPAMaselli_RecipeTmr1".Q;

  // Network 5: Recipe Data Edit (Original Language: LAD)

  IF "gProdMeterTransferRecipe" AND "HMI_Variables_Cmd"."Recipe"."Download" THEN
    "gProdMeterTransferRecipe" := FALSE;
  END_IF;

  // Network 6: Recipe Data Edit (Original Language: LAD)

  // NBox SymPy processed, logic in consumer
  "mPAMaselli_RecipeFTRIG" := "mPAMaselliRecipeTrnsfr"; // N_TRIG("mPAMaselliRecipeTrnsfr") - Mem: "mPAMaselli_RecipeFTRIG"

  IF "mPAMaselli_RecipeFTRIG" AND NOT "mPAMaselliRecipeTrnsfr" THEN
    "mPAMaselliRecipeTrnsfr" := FALSE;
  END_IF;

  // Network 7: Recipe Data Edit (Original Language: LAD)

  // PBox SymPy processed, logic in consumer
  "mPAMaselli_RecipeRTRIG" := "mPAMaselliRecipeTrnsfr"; // P_TRIG("mPAMaselliRecipeTrnsfr") - Mem: "mPAMaselli_RecipeRTRIG"

  IF "mPAMaselliRecipeTrnsfr" AND NOT "mPAMaselli_RecipeRTRIG" THEN
    "mPAMaselliRecipeTrnsfr" := TRUE;
  END_IF;

  // Network 8: Recipe Number (Original Language: LAD)

  SEL_I(G := "mPAMaselliRecipeTrnsfr", IN0 := 0, IN1 := 255);

  "P_gMaselli_RecipeSetNumStr" := "mAux1";

  // Network 9: Transfer Ok (Original Language: LAD)

  "mAux1" := "P_gMaselli_ProductNumber";

  "mTrnsfrOK" := Eq("mAux1", "mAux2");

  // Network 10: Transfer Fault / Recipe Error (Original Language: LAD)

  "mPAMaselli_TrnsfrFault"(IN := "mPAMaselliRecipeTrnsfr" AND "mTrnsfrOK", PT := S5T#5S); // TODO: Declarar "mPAMaselli_TrnsfrFault" : TON;

  "Maselli_PA_Data"."Input_From_Maselli"."gPAMaselli_RecipeError" := "mPAMaselli_TrnsfrFault".Q;

END_FUNCTION