";平均值“;作用 _Campbellsci论坛问答

当下面的程序执行Average命令时,它将平均多少个数据点。似乎因为每次扫描后都会调用该表,所以平均值应该是
只是一个值的平均值。。。这个功能是如何工作的?

";平均值“;作用
_Campbellsci论坛问答


'声明变量和单位
公共电池V
单位BattV=伏特

'定义表
数据表(电池平均值表,真,-1)
数据间隔(0,1,最小值,10)
平均值(1,BattV,FP2,错误)
床头柜

'主程序
开始进度
扫描(1,秒,1.0)
蓄电池(蓄电池电压)
调用表(电池平均值表)
下一次扫描
结束程序

新对话如下:

你的

数据间隔(0,1,最小值,10)

扫描(1,秒,1.0)

共同推动了平均值中的样本数量。在60秒内的59秒内,电池电压测量值被简单地添加到蓄电池中,并且计数器被递增。在一分钟的顶部,最后一个蓄电池电压被加到蓄电池上,计数器再增加一次。然后将累加器除以计数器,在这种情况下,计数器应为60,并将得到的平均值写入表中。然后累加器和计数器被清除,在这种情况下,它在分钟结束后的一秒钟重新开始。

新对话如下:

这让我想起了我见过几次的错误,更多的是基于数组的记录器,但我认为这也适用于基于表的记录器。问题是,当对表或最终存储指令的调用被放入if语句中时,或者不是在每次通过程序时都执行。当您这样做时,平均指令只在程序进入if语句时累积和计数。例如:

1:电池电压(P10)
1:1位置[BattV]

2:如果时间是(P92)
进入1:0分钟(秒--)
2:1间隔(与上述单位相同)
3:30然后做

3:Do(第86页)
1:10将输出标志设置为高(标志0)

4:实时(P77)
1:1220年、日、小时/分钟(午夜=2400)

5:平均值(P71)
1:1代表
2:1位置[BattV]

6:结束(P95)

在这种情况下,你的平均值只会是1。最好只使用P92设置输出标志,并将最终存储指令设置在该指令的正下方。

新对话如下:

我也有类似的问题。这就是我的CR1000程序的工作原理(简化):

'程序启动/////////////////////
公用MyVar

数据表(MyTable,1,-1)
数据间隔(0,30,最小值,10)
平均值(1,MyVar,IEEE4,错误)
最大值(1、MyVar、IEEE4、False、False)
床头柜

开始进度
扫描(30,秒,0,0)
[测量一些东西并将其放入MyVar]
如果TimeIntoInterval(0.30,min),则调用表MyTable
下一次扫描
结束程序
'程序结束/////////////////////

IF语句本应被省略。我现在已经更正了代码,但我有来自本站早些时候的宝贵数据,希望能恢复。请更详细地告诉我Average和Maximum是如何工作的。

在我擦除IF语句之前的数据已经损坏,我可以看出,但现在看起来很好。以前和现在有什么区别?

“平均值”和“最大值”何时清除并准备好进行新的运行?


我希望有人能帮我。如果是这样的话,我也许可以做一个反向滤波器来获得原始数据。

非常感谢。

*最后更新人:Bo于2010年2月22日上午7:11*

新对话如下:

";你的

数据间隔(0,1,最小值,10)

扫描(1,秒,1.0)

共同推动了平均值中的样本数量。在60秒内的59秒内,电池电压测量值被简单地添加到蓄电池中,并且计数器被递增。在一分钟的顶部,最后一个蓄电池电压被加到蓄电池上,计数器再增加一次。然后将累加器除以计数器,在这种情况下,计数器应为60,并将得到的平均值写入表中。然后累加器和计数器被清除,在这种情况下,它在分钟结束后的一秒钟重新开始";

谢谢你澄清这一点。我阅读了average函数的帮助文件,但其中没有提到累加器和计数器。是否有这样一份文件,其中与DataTable和Scan指令一起工作的函数,以这种详细程度进行了记录?

新对话如下:

博-在你移除之前 如果TimeIntoInterval(0.30,分钟)。。。 语句中,您得到的是瞬时值(与Sample指令相同),而不是平均值。当你只有同一时间间隔的瞬时值时,无论如何都无法计算出平均值是多少。

新对话如下:

VA转速技术14

以下内容在CR9000X手册中。如果在其他手册中,这些信息是否足够丰富?

4.2.8.4数据输出处理说明

数据表声明中包括的输出处理指令确定存储到数据表中的值。最常用的输出处理指令有Average、Maximum、Minimum和Sample。
程序必须使用allTable指令调用该表,才能进行输出处理。当通过CallTable指令调用Data Table时,数据存储处理指令
处理变量的当前值。如果表的触发条件为true,则处理后的值将存储到数据表中,并重置输出处理。

有关数据处理说明的信息,请参见第6.4节输出处理。

Average是一个输出处理指令,它将输出变量在输出间隔内的平均值。参数是重复——数组中要计算平均值的元素数量、要求平均值的源变量或数组、要存储结果的数据格式(见表4.5-1),以及允许在条件允许从平均值中排除读数的禁用变量
不满足。如果禁用变量不等于0,则读数将不包括在平均值中。在下面的程序片段中,RefTemp变量和TC()变量数组的6个元素的平均值每100毫秒作为一条记录存储到数据表中。

当使用输出处理指令(如Average)时,应比表输出发生的频率更频繁地调用表,以便在平均计算中包括多个值。

例如,在示例4.2.8-4中,表输出速率为每100毫秒一次。如果仅使用CallTable指令每100毫秒调用一次Table,则每个输出的计算平均值将仅使用单个样本。但是,如果每10毫秒调用一次表,则将使用10个值来计算平均值。

示例4.2.8-4:CR基本代码:平均输出指令
数据表(表1,True,2000)
数据间隔(0100,毫秒,10)
CardOut(0,-1)
'平均值(Reps,Source,DataType,
禁用Var)
平均值(1,参考温度,fp2,0)
平均值(6,TC(1),fp2,0)
床头柜

新对话如下:

我把问题转移到了一个新的话题:
最大值/平均值

@请看那边。

*最后更新人:Bo于2010年2月23日凌晨4:20*

新对话如下:

TweedleDee公司-

这很有帮助。谢谢

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 ";平均值“;作用 _Campbellsci论坛问答
「";平均值“;作用 _Campbellsci论坛问答」评论列表

发表评论