Campbell CR1000X数据采集器 多种指令来设置时间间隔


       Campbell CR1000X数据采集器通常用于数据测量和存储,但它有个隐藏的功能,可以基于时间间隔控制其他设备。如何在CRBasic中使用TimeIsBetween()和TimeIntoInterval()指令来设置时间间隔.
 
   使用CRBasic进行编程,可以通过DataInterval()指令,在需要的时间间隔下存储数据,例如每隔1小时进行数据存储,如下图所示:
 
除此之外,其他操作也可按照某个间隔来进行。例如,我们可以在逻辑语句下使用TimeIsBetween()或者TimeIntoInterval()指令,打开或关闭一个设备、进行测量或某些计算。
 
使用TimeIsBetween()指令时,数据采集器会判定自身的实时时间,是否在设置的某一段时间范围内。如果是,则指令返回true。该指令在指定的整个时间段内都返回true。
 
If TimeIsBetween (9,17,1,Hr) Then
  SW12 (SW12_1,1) ’modem on
Else
  SW12 (SW12_1,1) ’modem off
EndIf
 SW12_1将在每天8点到18点之间保持打开状态,其他时间关闭。


使用TimeIntoInterval()指令时,在每次的扫描中,数据采集器会判定自身的实时时间,是否和设置的某个时间相同。如果是,则指令返回true。该指令只在数采自身的实时时间和设置的某个时间相同的当次扫描内返回true。
 
If TimeIntoInterval (8,24,Hr) Then
  SW12 (SW12_1,1) ’modem on
EndIF
If TimeIntoInterval (18,24,Hr) Then
  SW12(SW12_1,0) ’modem off
EndIf SW12_1将在每天8点打开,在18点关闭。