昨晚学习练习了ST语言做最近60秒的分钟均值,今天继续做最近一小时的均值,1秒采集一次数据。在昨晚程序上增加功能,新建一个导出的功能块类型Average_Hour,定义下面的变量:
旗下新建一个程序段Average_Hour,使用ST编程
Minute1:=BCD_TO_INT(%SW51);
Minute:=mod_int(Minute1,100);
Second1:=BCD_TO_INT(%SW50);
Second:=div(second1,100);
R_TRIG_0 (CLK := %s6,
Q => Trig);
IF Trig then
hour[Minute,Second]:=PV;
SUM:=0.0;
for i:=0 to 59 do
for j:=0 to 59 do
sum:=sum+hour[i,j];
end_for;
end_for;
Average_Hour:=sum/3600.0;
end_if;
前面四行是获取当前分钟和秒的数值,后面程序很好理解。
做完后就可以调用这个功能块了。