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

3.1 KiB

// Block Type: FB
// Block Number: 1000
// Original Network Languages: LAD

FUNCTION_BLOCK "SubCarb"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1

VAR_INPUT
  NUM : Int;
  ALARM : Bool;
  CIP : Bool;
  ActualValue : Real;
  OpenLimit1 : Real;
  CloseLimit1 : Real;
  DelayOpen1 : Time;
  DelayClose1 : Time;
  OpenLimit2 : Real;
  CloseLimit2 : Real;
  DelayOpen2 : Time;
  DelayClose2 : Time;
  OpenLimit3 : Real;
  CloseLimit3 : Real;
  DelayOpen3 : Time;
  DelayClose3 : Time;
  OpenLimit4 : Real;
  CloseLimit4 : Real;
  DelayOpen4 : Time;
  DelayClose4 : Time;
END_VAR

VAR_OUTPUT
  OUT1 : Bool;
  OUT2 : Bool;
  OUT3 : Bool;
  OUT4 : Bool;
END_VAR

VAR_INOUT
  SCRS1 : Bool;
  SCRS2 : Bool;
  SCRS3 : Bool;
  SCRS4 : Bool;
END_VAR

VAR_STAT
  TDelayOpen1 : "TON_TIME:v1.0";
  TDelayClose1 : "TON_TIME:v1.0";
  TDelayOpen2 : "TON_TIME:v1.0";
  TDelayClose2 : "TON_TIME:v1.0";
  TDelayOpen3 : "TON_TIME:v1.0";
  TDelayClose3 : "TON_TIME:v1.0";
  TDelayOpen4 : "TON_TIME:v1.0";
  TDelayClose4 : "TON_TIME:v1.0";
END_VAR

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

BEGIN

  // Network 1:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" >= "OpenLimit1", PT := "DelayOpen1"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 2:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" <= "CloseLimit1", PT := "DelayClose1"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 3:  (Original Language: LAD)

  // Network 3 did not produce printable SCL code.

  // Network 4:  (Original Language: LAD)

  "OUT1" := "CIP" OR "SCRS1";

  // Network 5:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" >= "OpenLimit2", PT := "DelayOpen2"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 6:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" <= "CloseLimit2", PT := "DelayClose2"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 7:  (Original Language: LAD)

  // Network 7 did not produce printable SCL code.

  // Network 8:  (Original Language: LAD)

  "OUT2" := "CIP" OR "SCRS2";

  // Network 9:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" >= "OpenLimit3", PT := "DelayOpen3"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 10:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" <= "CloseLimit3", PT := "DelayClose3"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 11:  (Original Language: LAD)

  // Network 11 did not produce printable SCL code.

  // Network 12:  (Original Language: LAD)

  "OUT3" := "SCRS3" OR "CIP";

  // Network 13:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" >= "OpenLimit4", PT := "DelayOpen4"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 14:  (Original Language: LAD)

  #TON_INSTANCE_25(IN := "ActualValue" <= "CloseLimit4", PT := "DelayClose4"); // TODO: Declarar #TON_INSTANCE_25 : TON;

  // Network 15:  (Original Language: LAD)

  // Network 15 did not produce printable SCL code.

  // Network 16:  (Original Language: LAD)

  "OUT4" := "SCRS4" OR "CIP";

END_FUNCTION_BLOCK