summaryrefslogtreecommitdiffstats
path: root/tests/symbols.awl
blob: a0b8e8001c403cc07496feaed3f635ec4b0dc683 (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
FUNCTION_BLOCK "Function Block"
	VAR_INPUT
		INVAR : S5TIME
	END_VAR
BEGIN
	NOP		0
END_FUNCTION_BLOCK


DATA_BLOCK "Data_1"
STRUCT
	VAR0		: INT
END_STRUCT
BEGIN
	VAR0		:= 123
END_DATA_BLOCK


DATA_BLOCK "Instance DB"
	"Function Block"
BEGIN
END_DATA_BLOCK


ORGANIZATION_BLOCK OB 1
BEGIN
	// Test symbolic M access
	__STWRST
	U		"sym_M_0.0"
	__ASSERT==	__STW VKE,	0
	SET
	=		M 0.0
	__STWRST
	U		"sym_M_0.0"
	__ASSERT==	__STW VKE,	1
	CLR
	=		"sym_M_0.0"
	__STWRST
	U		M 0.0
	__ASSERT==	__STW VKE,	0


	// Test symbolic fully qualified access
	L		"Data_1".VAR0
	__ASSERT==	__ACCU 1,	123


	// Test symbolic FB call
	CALL	"Function Block", "Instance DB" (
		INVAR := 100,
	)


	// Test symbolic timer/counter access
	CLR
	SI		"symbolic timer"
	U		"symbolic timer"
	=		M 0.0
	CLR
	ZR		"symbolic counter"
	U		"symbolic counter"
	=		M 0.0


	CALL SFC 46 // STOP CPU
END_ORGANIZATION_BLOCK
bues.ch cgit interface