Structured text example

This commit is contained in:
Sergey Romanov 2019-08-13 23:19:39 +06:00
parent 02fb6bfd43
commit 847025bc6a

View file

@ -1,14 +1,34 @@
FUNCTION_BLOCK SubFB CONFIGURATION DefaultCfg
VAR_INPUT VAR_GLOBAL
TimeIN : BOOL; (* Boolean input variable *) Start_Stop AT %IX0.0: BOOL; (* This is a comment *)
TimeQ : BOOL; (* Boolean input variable *) END_VAR
END_VAR TASK NewTask (INTERVAL := T#20ms);
VAR_IN_OUT PROGRAM Main WITH NewTask : PLC_PRG;
Timer : TON; (* pointer to instance Time1 of TON input/output variable *) END_CONFIGURATION
END_VAR
VAR_OUTPUT PROGRAM demo
Time3 : TON; (* 3rd instance of TON *) VAR_EXTERNAL
END_VAR Start_Stop: BOOL;
VAR END_VAR
Start : BOOL := TRUE; (* local Boolean variable *) VAR
END_VAR a : REAL; // Another comment
todTest: TIME_OF_DAY := TOD#12:55;
END_VAR
a := csq(12.5);
TON1(IN := TRUE, PT := T#2s);
16#FAC0 2#1001_0110
IF TON1.Q AND a > REAL#100 THEN
Start_Stop := TRUE;
END_IF
END_PROGRAM;
/* Get a square of the circle */
FUNCTION csq : REAL
VAR_INPUT
r: REAL;
END_VAR
VAR CONSTANT
c_pi: REAL := 3.14;
END_VAR
csq := ABS(c_pi * (r * 2));
END_FUNCTION