最大值上的CR200样本 _Campbellsci论坛问答

我的标准程序和其他O/S的输出是每小时最大风速。我还使用“风速”输出最大风速的风向;“最大采样”;200不可用的指令。

我是运气不好吗?还是我能找出出现最大速度的记录(这也可以让我检索风向)?有人找到(更好的)解决方案了吗?我也将该指令用于其他一些输出(即前一小时的最大10分钟平均风速(带方向))。任何建议都将不胜感激

最大值上的CR200样本
_Campbellsci论坛问答

谢谢

迈克

新对话如下:

我还没有尝试过,但你可以建立一个特殊的表,它使用一个条件作为触发器,触发器是变量有一个新的最大值。只需存储几条记录,然后在一小时结束时检索最后一条记录(或该记录中的字段名)(使用GetRecord或TableName.fieldname)


公共值,最大值,StoreRec为布尔值


数据表(MaxTable,StoreRec,5)
样本(最多1个)
床头柜

'和在程序主体中

如果值>;最大然后
最大值=值
StoreRec=真
其他的
StoreRec=错误
结束如果


就像我说的,我还没有尝试过,但从逻辑上讲,它似乎是可行的(除非我的逻辑今天需要更多的糖!)

希望这有助于激发一些想法。。。

Dana公司

新对话如下:

迈克,

正如您所指出的,与CR800/CR1000系列相比,CR200指令集是有限的。您需要手动跟上最大风速和相关方向的值,尤其是当您读取传感器的速度超过每分钟一次时;CR200表格的最小数据间隔为1分钟。类似于Dana的建议:


'未在CRBasic或CR200中测试

'变量
公用ws,wd
公共maxspd,maxdir


'根据一小时的观察结果保存数据
数据表(myTable,True,-1)
数据间隔(0.60,分钟)
样品(1,最大spd)
样本(1,最大目录)
床头柜

开始进度
“扫描(5,秒)”间隔必须平均划分为60分钟

'如果时间最长,则将最大值重置为无意义
'将查找此小时的新最大值
如果iftime(0.60,min),则
最大spd=-999
最大目录=-999
结束语


'将风速和风向分别读取到ws和wd

'确定当前ws是否最快
这个小时看到了。如果是,请保存它和相关的目录
如果ws>;那么最大spd
最大spd=ws
最大方向=wd
结束语

调用表myTable

下一次扫描
结束程序

新对话如下:

我以Sam为例,稍作修改:

公用ws,wd
公共maxspd,maxdir

数据表(HourlyTable,True,-1)
数据间隔(0,1,小时)
样品(1,最大spd)
样本(1,最大目录)
床头柜

开始进度

扫描(5,秒)

如果ws-gt=maxspd OR IfTime(53600,秒)然后
最大spd=ws
最大方向=wd
结束如果

调用表小时表

下一次扫描
结束程序

主要区别在于,在一小时后的下一次扫描之前,您不想清除跟踪变量,而且当您清除跟踪变量时,您还可以将当前实时值设置为新的最大值,并在最大值上采样一小时,因为它们是这样。

新对话如下:

感谢Dana、Sam和ChipsNSalsa

我刚从我们车站的长途旅行回来,很高兴看到你们所有人做出这样的努力。再次感谢。当我完成我的解决方案(我会尝试一些方法)时,我会发布它们。对于像我这样的人来说,这是一件非常好的事情,就像他们正在成为Edlog的专家并开发一个邪恶的数据标准一样。。。。伴随而来的是CRBasic及其所有的灵活性。

再次感谢

迈克

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 最大值上的CR200样本 _Campbellsci论坛问答
「最大值上的CR200样本 _Campbellsci论坛问答」评论列表

发表评论