编程带参数FC,实现先进后出的功能:即进一个数,所有数后移,进来的数放在第一个元素,出一个数,将第一个元素移出,后面的元素前移,没有数据与所有数据全满则报警输入参数Bool类型,名称:in_trig,输入参数Bool类型,名称:out_trig,输入输出参数int类型,名称:value,输入输出参数Array[0..4]of Int,名称Arr,输出参数Bool类型,名称:empty,输出参数Bool类型,名称:full。
怎么仿真,麻烦老师帮忙看看 程序
IF #STATIC=0 THEN
#empty := 1;
#full := 0;
END_IF;
IF #STATIC = 5 THEN
#empty := 0;
#full := 1;
END_IF;
#Static_1(CLK := #in_trig);
#Static_2(CLK := #out_trig);
IF #Static_1.Q THEN
CASE #STATIC OF
0:#Arr[0]:=#value ;
1..4:
FOR #TEMP := #STATIC TO 1 BY -1 DO
#Arr[#TEMP]:=#Arr[#TEMP-1] ;
END_FOR;
#Arr[0]:=#value ;
#STATIC += 1;
ELSE ;
END_CASE;
;
END_IF;
IF #Static_2.Q THEN
CASE #STATIC OF
0:
RETURN;
1:
#value := #Arr[0];
2..5:
FOR #TEMP := 1 TO (#STATIC - 1) BY 1 DO
#Arr[#TEMP - 1] := #Arr[#TEMP];
END_FOR;
#value := #Arr[0];
#STATIC -= 1;
ELSE
;
END_CASE;
;
END_IF;