131 lines
3.1 KiB
Markdown
131 lines
3.1 KiB
Markdown
```pascal
|
|
// 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
|
|
|
|
```
|