by Janet Albers | Updated: 10/07/2015 | Comments: 2
CRBasic has a full menu of instructions to help you write or edit your data logger program. This article offers a main course of scheduling your data logger actions using the RealTime() instruction with a side dish of making your program easier to read with Alias declarations.
The RealTime() instruction acquires the year, month, day, hour, minute, second, microsecond, day of week, and day of year from the data logger clock and stores the results in an array. This is useful if you want to schedule the data logger to perform an action at particular intervals or on particular days. For example, you can use the RealTime() instruction to schedule an action every Tuesday or once a month.
In the RealTime() instruction example below, a Boolean variable is set to "True" on the fifth day of every month. You might use this to test an alarm or run a calibration routine.
In the above example, did you notice the instruction “If rTime(3) = 5 Then state = True”? This instruction would be more readable as "If Day of Month (DOM) is True.” You can use the Alias declaration to assign the second name of “DOM” to “rTime(3)” like this:
Now, in the above example, we can use "If DOM = 5 Then state = True."
Alias declarations are particularly useful when using arrays, such as with the RealTime() instruction, so you can easily identify individual variables using unique names.
Did you know that you can copy and paste the Alias declarations for the RealTime() instruction from the RealTime Example in the CRBasic Editor Help? Follow these steps to access this resource:
Recommended for You: For more information about variable arrays and Alias declarations, watch the ”CRBasic | Advanced Programming” video. |
Hungry for more information about the RealTime() instruction or Alias declarations? Post your comment or question below.
Comments
Cristian | 08/24/2017 at 04:03 PM
Hi Janet,
For a propagation chamber, I need to set different conditions for each day (starting a random day). Basically a different set point of humidity for each day*. I have been looking for a "time" intruction to do this but without luck so far.
*example
If DAY=1 then if Humidity <90% then PorSet (1,1)...
If DAY=2 then if Humidity <80% then PorSet (1,1)...
And so on...
Could you please help me with this?
Thanks very much.
Cristian
jra | 08/25/2017 at 02:07 PM
Try the Timer() instruction. Something like:
Public ElapsedTime, DayOfTest, startflag As Boolean
If startflag = true Then
ElapsedTime = Timer (1,Hr,0) 'start timer
startflag = false
EndIf
ElapsedTime = Timer (1,Hr,4) 'read timer
If ElapsedTime > 0 AND ElapsedTime <= 24 Then DayOfTest = 1
If ElapsedTime > 24 AND ElapsedTime <= 48 Then DayOfTest = 2
If ElapsedTime > 48 AND ElapsedTime <= 72 Then DayOfTest = 3
Please log in or register to comment.