|
1 PROGRAM MAIN_TEST |
|
2 VAR |
|
3 QX1 AT %QX1 : BOOL := 1; |
|
4 QX2 AT %QX2 : BOOL := 0; |
|
5 QX3 AT %QX3 : BOOL; |
|
6 IX1 AT %IX1 : BOOL; |
|
7 IX2 AT %IX2 : BOOL; |
|
8 IX3 AT %IX3 : BOOL; |
|
9 END_VAR |
|
10 |
|
11 INITIAL_STEP GO: |
|
12 END_STEP |
|
13 |
|
14 TRANSITION FROM GO TO STEP1 |
|
15 := IX1 = FALSE; |
|
16 END_TRANSITION |
|
17 |
|
18 STEP STEP1: |
|
19 ONSTEP1(N); |
|
20 END_STEP |
|
21 |
|
22 ACTION ONSTEP1: |
|
23 QX1 := TRUE; |
|
24 QX2 := TRUE; |
|
25 END_ACTION |
|
26 |
|
27 TRANSITION FROM STEP1 TO STEP2 |
|
28 := IX2 = TRUE; |
|
29 END_TRANSITION |
|
30 |
|
31 STEP STEP2: |
|
32 INLINE1(P); |
|
33 END_STEP |
|
34 |
|
35 ACTION INLINE1: |
|
36 QX1 := QX2 XOR QX1; QX2 := NOT QX2; |
|
37 END_ACTION |
|
38 |
|
39 TRANSITION FROM STEP2 TO A1 |
|
40 := QX1 = FALSE AND QX2 = FALSE; |
|
41 END_TRANSITION |
|
42 |
|
43 STEP A1: |
|
44 INLINE2(N); |
|
45 END_STEP |
|
46 |
|
47 ACTION INLINE2: |
|
48 IX1 := TRUE; |
|
49 END_ACTION |
|
50 |
|
51 TRANSITION FROM A1 TO STEP2 |
|
52 := IX1 = TRUE; |
|
53 END_TRANSITION |
|
54 |
|
55 TRANSITION FROM STEP2 TO (D1, D2, D3) |
|
56 := QX1 = TRUE AND QX2 = TRUE; |
|
57 END_TRANSITION |
|
58 |
|
59 STEP D1: |
|
60 INLINE5(N); |
|
61 END_STEP |
|
62 |
|
63 ACTION INLINE5: |
|
64 QX1 := FALSE; |
|
65 END_ACTION |
|
66 |
|
67 TRANSITION FROM D1 TO E1 |
|
68 := NOT ( QX1 OR QX2 OR QX3 ); |
|
69 END_TRANSITION |
|
70 |
|
71 STEP E1: |
|
72 INLINE8(N); |
|
73 END_STEP |
|
74 |
|
75 ACTION INLINE8: |
|
76 QX1 := TRUE; |
|
77 END_ACTION |
|
78 |
|
79 TRANSITION FROM (E1, E2, E3) TO GO |
|
80 := QX1 AND QX2 AND QX3; |
|
81 END_TRANSITION |
|
82 |
|
83 STEP D2: |
|
84 INLINE6(N); |
|
85 END_STEP |
|
86 |
|
87 ACTION INLINE6: |
|
88 QX2 := FALSE; |
|
89 END_ACTION |
|
90 |
|
91 TRANSITION FROM D2 TO E2 |
|
92 := NOT ( QX1 OR QX2 OR QX3 ); |
|
93 END_TRANSITION |
|
94 |
|
95 STEP E2: |
|
96 INLINE9(N); |
|
97 END_STEP |
|
98 |
|
99 ACTION INLINE9: |
|
100 QX2 := TRUE; |
|
101 END_ACTION |
|
102 |
|
103 STEP D3: |
|
104 INLINE7(N); |
|
105 END_STEP |
|
106 |
|
107 ACTION INLINE7: |
|
108 QX2 := FALSE; |
|
109 END_ACTION |
|
110 |
|
111 TRANSITION FROM D3 TO E3 |
|
112 := NOT ( QX1 OR QX2 OR QX3 ); |
|
113 END_TRANSITION |
|
114 |
|
115 STEP E3: |
|
116 INLINE10(N); |
|
117 END_STEP |
|
118 |
|
119 ACTION INLINE10: |
|
120 QX3 := TRUE; |
|
121 END_ACTION |
|
122 |
|
123 TRANSITION FROM STEP2 TO A3 |
|
124 := QX1 = TRUE AND QX2 = FALSE; |
|
125 END_TRANSITION |
|
126 |
|
127 STEP A3: |
|
128 INLINE4(N); |
|
129 END_STEP |
|
130 |
|
131 ACTION INLINE4: |
|
132 IX1 := TRUE; |
|
133 END_ACTION |
|
134 |
|
135 TRANSITION FROM A3 TO STEP2 |
|
136 := IX1 = TRUE; |
|
137 END_TRANSITION |
|
138 |
|
139 TRANSITION FROM STEP2 TO A2 |
|
140 := QX1 = FALSE AND QX2 = TRUE; |
|
141 END_TRANSITION |
|
142 |
|
143 STEP A2: |
|
144 INLINE3(N); |
|
145 END_STEP |
|
146 |
|
147 ACTION INLINE3: |
|
148 IX1 := FALSE; |
|
149 END_ACTION |
|
150 |
|
151 TRANSITION FROM A2 TO STEP2 |
|
152 := IX1 = FALSE; |
|
153 END_TRANSITION |
|
154 |
|
155 END_PROGRAM |
|
156 |
|
157 |
|
158 CONFIGURATION STD_CONF |
|
159 |
|
160 RESOURCE STD_RESSOURCE ON BEREMIZ |
|
161 TASK STD_TASK(INTERVAL := t#100ms,PRIORITY := 0); |
|
162 PROGRAM MAIN_INSTANCE : MAIN_TEST; |
|
163 END_RESOURCE |
|
164 END_CONFIGURATION |