I'm programming my CR1000 datalogger to record temperature and water level at two different time intervals. Attached to the CR1000 is the CFM100 CF reader. I am using PC200W 4.1 on a Windows Vista OS. I'm wanting to use the CardOut function to tell the datalogger to send the data to the CF card, but have so far received a couple of errors. My questions:
1) The syntax of the function is described as CardOut(StopRing, Size). However, searching the manual, I couldn't find any indication of what I should use for either of the values. How do I determine what values to enter for StopRing and Size?
2) Where should this be entered in the CRBasic program? I currently have it entered twice, under each DataTable definition, on the line before EndTable.
When I used CardOut(0,-1), which I found in a previous forum post, I received this error message that I did not receive on previous tests that did not include the CardOut function:
"The following errors were found:
Skipped Scans: 140 - The main scan interval or number of scan buffers may need to be increased.
Skipped Records in WaterLvl: 69 - If recurring, there may be a hardware or program error."
WaterLvl is the data table that records the Water Level data at 1/s.
ADDITIONALLY: So far, I have been unable to find a way to set a sub-second sampling period for the datalogger. This is because despite the millisecond sampling unit, only intervals on a 1000 scale appear accepted. Please advise if you know a way to accomplish this.
* Last updated by: novice888 on 4/21/2011 @ 4:31 PM *
You'll find information on the CardOut instruction and how it is used in a program in the CRBasic Help. Highlight the instruction in the list of instructions on the right side of the Editor window and then press the Help button at the top of that window.
If the instruction is already in the program, you can also put your cursor on the instruction name and press F1, though the information provided may be somewhat abbreviated (usually, it will tell you to refer to the "main help" for additional info). You can also get help on each of the parameters this way -- put your cursor on the parameter, and press F1.
SkippedScan errors means the execution interval of your program is too fast to execute all the instructions in the time allotted. To resolve, increase your scan interval. If your program is running in PipeLinemode (it tells at the bottom of the Editor when you compile), you can increase the number of scan buffers and possibly reduce the number of skipped scans. When in PipelineMode, the measurements run in one task and the processing of those measurements is run in another. Measurements have priority, and the Scan Buffer is used to hold the processing if it "gets behind" while the datalogger is busy making measurements. Complete information on this scenario is contained in the manual and some information is in the help file.
The CR1000's minimum scan interval is 10 ms.
Dana W.
Thank you for your response.
I'm not sure what you mean by the "Editor". I'm using Short Cut to create the program and then adding CRBasic commands by hand in a text file. Is there another program available that I should be using instead?
And as to the minimum scan interval, when I made the time less than 1000 milliseconds (ie 1 second), this is the error I receive:
"line 36: DataTable interval 100000 uSec is not integrally divisible by scan interval 1000000 uSec."
By Editor, I mean the CRBasic Editor that ships with LoggerNet, PC400, and RTDAQ. I made an assumption that you were using it to write your code.
Based on the error, your scan rate is 1 second, but you are trying to write to the data table at 0.1 seconds. You can't store data faster than you are making measurements.
Dana W.
I've already gotten an email from the tech support team about the CardOut function, so I'm covered on that.
For the scan rate issue, is it possible to change the scan rate to a lower interval? I'm using the CS450 sensor.
Since you are already working with someone in customer support here at CSI, I'll let them work with you on the rest of your questions.
Dana W.