亲爱的朋友们
我正在准备一个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,字符串)
床头柜
开始进度
扫描(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*