条件数据存储 _Campbellsci论坛问答

亲爱的朋友们
我正在准备一个CRBASIC程序,用一个控制所有过程的CR800数据记录器来称量蒸渗计。到目前为止,我已经使用CR10x来控制它超过10年了。
作为常规,我每小时注册一张唱片,到目前为止没问题。
当我想在我的数据表上记录(与我用于小时记录的数据表相同)下午3:45:18发生的具体事件时,问题就出现了。这对我来说是不可能的。
知道如何解决这个问题吗?
这是我正在准备的程序的一部分(与数据存储相关的主要部分):

数据表(LisPoma,1,-1)
数据间隔(0,60,最小值,0)
数据事件(0、KFlag02、KFlag02,1)
样本(1,DJ,字符串)
示例(1,PesLisH,字符串)
示例(1,Peslis24,字符串)
样本(1个,Perduapes,字符串)
示例(1,PesLisR,字符串)
样本(1,PerduaPesH,字符串)
示例(1,ETc,字符串)

示例(1,LDip,字符串)
床头柜

条件数据存储
_Campbellsci论坛问答

开始进度
扫描(200,毫秒,3.0)
面板温度(面板T,250)
电压差(Vlis,1,mV2500,1,真值,0250,1,0)
比索=1.325*瓦利斯-530.96
脉冲计数(ComptVol,1,1,2,0,10,0)
LDip=LDip+ComptVol
蓄电池(蓄电池电压)
.........
DD()=比索
PerduaPes=比索R-比索
PerduaPesH=比索R-比索H
ETc=印尼比索/(4.8*4)
ETcH=每两个比索/(4.8*4)

'调用输出表
调用表LisPoma

下一次扫描
结束程序

新对话如下:

Datainterval和Dataevent是控制数据存储的机制。如果您将它们放在同一个数据表中,那么要输出任何内容,它们都需要为true。由于这不是您想要的,如果您确实希望两个数据集在同一个表中,那么从程序主体中删除两条指令并控制表的输出,可以使用TrigVar或有条件地调用表。

下面我显示了相应修改的程序的部分,这些部分使用Trivar技术,当该变量设置在事件上或使用IF Timeinterval构造时(类似于旧记录器中的P92)。

删除Datainterval指令的一个后果是,每个记录上的时间戳都会自动写入数据,而不是记录器使用推断的时间(对于以固定间隔输出的数据,它会使用推断时间)。这为每个记录增加了大约16个字节的数据存储需求。

如果您更频繁地存储数据,这可能会给您带来问题,在这种情况下,您可以将常规(60分钟的数据)存储在一个表中,将事件驱动的数据存储在另一个表(只需在需要时调用该表)。

程序摘要:

....
'kflag02用于允许数据存储
数据表(LisPoma,kflag02,-1)
'没有数据间隔或数据事件
示例(1,dj,字符串)
示例(1,英语,字符串)
样本(1,peslis24,字符串)
样本(1个,每段,字符串)
示例(1,peslisr,字符串)
样本(1个,每个duapesh,字符串)
示例(1等,字符串)
样品(1,蚀刻,串)
示例(1,ldip,字符串)
床头柜
.........

'调用输出表
'每隔60分钟将标志kflag02设置为TRUE以强制数据存储
'此标志也可以由您自己的上面的代码设置,以强制事件触发的数据存储
如果TimeIntoInterval(0.60,min),则kflag02=真
调用表LisPoma
'在存储数据后重置标志,以避免连续重新触发
kflag02=错误

*最后更新者:aps于2009年7月23日凌晨3:10*

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 条件数据存储 _Campbellsci论坛问答
「条件数据存储 _Campbellsci论坛问答」评论列表

发表评论