109

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
