matlab 函数 状态机 同步

用matlab simulink做了一个模型,包含有一个函数和一个状态机。
函数负责将整数数组的每个数加上头(83)和尾(69),依次输送到状态机。
状态机负责去掉头(83)和尾(69),再将数据依次输出。
要达到的效果是,状态机的最终依次输出50 48 55 52 48。

现在碰到的问题是,函数的输出显示其功能是OK的,但是它的执行和状态机的执行没有做到同步,导致最终从状态机输出端得到的数据和最新输入的数据不一致。
所以需要请教,是否有办法可以让函数和状态机同步。

下列图片是模型图和状态机内部图。

img


img

另外,函数的代码如下:
function y = fcn(u)
global cnt1;
global cnt2;

if length(u) < 1
y=0;
else
if cnt2 > length(u)
cnt2=1;
end

if cnt1==1
    y=u(cnt2);
    cnt1 = cnt1+1;
    cnt2 = cnt2+1;
else
    if cnt1<1
        y=83;
        cnt1=cnt1+1;
    else
        %cnt1>1
        y=69;
        cnt1=0;
    end
end

end