you have even 2 hierarchical automata here
one with input x outputs y,z,RET_VAL ... one with inputs y , z outputs "y","z"
Code:
FUNCTION FC 89 : DINT
TITLE =Factorial
VERSION : 0.1
VAR_INPUT
x : DINT ;
END_VAR
VAR_TEMP
y : DINT ;
z : DINT ;
END_VAR
BEGIN
NETWORK
TITLE =
[COLOR="Magenta"] L #x; [/COLOR]
T #y; [COLOR="Silver"]//y = x[/COLOR]
T #z; [COLOR="silver"]//z = x[/COLOR]
L 1;
>D ;
[B]JCN B;[/B]
A: L #y;
+ L#-1;
T #y; [COLOR="silver"]//[COLOR="Yellow"]"[/COLOR]y[COLOR="yellow"]"[/COLOR] = y - 1[/COLOR]
L #z;
*D ;
T #z; [COLOR="Silver"]//[COLOR="yellow"]"[/COLOR]z[COLOR="yellow"]"[/COLOR] = z * y[/COLOR]
L #y;
L L#1;
>D ;
[B]JC A; [/B]
L #z;
B: [COLOR="Magenta"] T #RET_VAL; [/COLOR]
END_FUNCTION
one with input x outputs y,z,RET_VAL ... one with inputs y , z outputs "y","z"
Last edited: