首页 理论教育 PAC编程基本教程:数组平均值计算指令AVE

PAC编程基本教程:数组平均值计算指令AVE

时间:2023-10-26 理论教育 版权反馈
【摘要】:平均值计算指令AVE是一条保持型输出指令,梯级条件跳变触发执行。数组平均值计算指令AVE可以计算指定数组的一维、二维或三维元素的平均值。图9-9 数组平均值计算操作当梯级条件跳变触发时,指令执行将实数三维数组Array—AVE3的8个元素求取平均值,并将结果放在实数目标标签AVE3—REAL中。

PAC编程基本教程:数组平均值计算指令AVE

平均值计算指令AVE是一条保持型输出指令,梯级条件跳变触发执行。数组平均值计算指令AVE可以计算指定数组的一维、二维或三维元素的平均值。数组的参数项应填写被计算数组的第一个元素,指定数组的维数可以是0、1或2,长度的参数项应填写参加计算的元素的个数,计算结果必为双整数或实数。本条指令的操作将影响到算术标志位。梯级逻辑编写如图9-9所示。

978-7-111-36030-8-Chapter09-10.jpg

图9-9 数组平均值计算操作

当梯级条件跳变触发时,指令执行将实数三维数组Array—AVE3的8个元素求取平均值,并将结果放在实数目标标签AVE3—REAL中。指令执行后的数据表中的数据显示如图9-10所示。

978-7-111-36030-8-Chapter09-11.jpg

图9-10 AVE指令执行后的数据表中的数据显示

有一个求取加权平均值的实例,要对模拟量输入模块3通道的模拟量数据定时采集,当前采集的数据值与前19次采集的数据值累加之后,求取其平均值,编写梯级逻辑如图9-11所示。(www.xing528.com)

采集20个数据并缓存起来需采用堆栈指令,关于堆栈指令FFL和FFU的执行过程后续章节将详细介绍。连续采集的20个数据值存放在数组Array_AVE中,这里将对连续采集到的20个数据值求取平均值,设定计时器Timer_AVE预置值为1s,计时器的完成位DN作为工作位,则每秒钟采集数据一次。

指令AVE的梯级条件限制了求平均值的运算,在数据未采满20个时,不进行计算,当20个数据采集满之后,每采集一个数据计算一次平均值,用于控制数据采集的计时器的完成位同时提供了一个跳变的梯级条件,使得AVE指令在每次数据采集时得以执行。AVE指令的计算结果可提供给其他梯级逻辑的指令使用,或者作为某个变化数据的预处理。

978-7-111-36030-8-Chapter09-12.jpg

图9-11 求加权平均值梯级逻辑

这里,堆栈数组的控制结构标签的POS应该在初始化例程中给予清除,否则例程运行最初的计算数据因新旧数据混杂而不可靠。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈