summaryrefslogtreecommitdiffstats
path: root/EXAMPLE.awl
blob: 6f712a424ee2d997fa57d201b4198437e3d1a420 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
ORGANIZATION_BLOCK OB 1
BEGIN
	CALL		FC 1
	CALL		FC 2
	CALL		FC 3
	CALL		FB 1, DB 2 (
		INPUT_VAR := 1
	)
END_ORGANIZATION_BLOCK



FUNCTION FC 1: VOID
BEGIN
	U		E 0.0
	=		A 0.0
END_FUNCTION



FUNCTION FC 2: VOID
TITLE = Shift register
BEGIN
	UN		T 10
	=		M 0.0
	L		S5T#200MS
	SV		T 10

	L		MD 4
	L		1
	==D
	S		M 0.1
	RRD		1
	==D
	R		M 0.1

	L		MD 4
	UD		L#-1
	L		1
	SPZ		_001
	TAK
	U		M 0.0
	SPBN		_001
	U		M 0.1
	SPBN		_000
	RLD		2
_000:	RRD		1
_001:	T		MD 4

	L		MD 4
	T		AD 4
	TAD
	T		AD 8
END_FUNCTION



FUNCTION FC 3: VOID
TITLE = DB usage example
BEGIN
	AUF		DB 1
	L		DBD 2
	T		MD 16
END_FUNCTION



FUNCTION_BLOCK FB 1
  VAR_INPUT
    INPUT_VAR : INT
  END_VAR
BEGIN
	NOP 0
END_FUNCTION_BLOCK



DATA_BLOCK DB 1
TITLE = This is global DB 1
STRUCT
	VAR1 : INT		// DBW0: VAR1 => 16 bit signed int
	VAR2 : DWORD	// DBD2: VAR2 => 32 bit unsigned dword
	VAR3 : WORD		// DBW6: VAR3 => 16 bit unsigned word
END_STRUCT
BEGIN
	VAR1 := 1337
	VAR2 := DW#16#DEADBEEF
	VAR3 := B#(1, 2)
END_DATA_BLOCK



DATA_BLOCK DB 2
TITLE = This is an instance DB for FB 1
FB 1
BEGIN
	INPUT_VAR := 123
END_DATA_BLOCK
bues.ch cgit interface