DGSI Slope Indicator
Home Products Downloads Support Contacts Projects News

Campbell Scientific Datalogger Q&A


Question: How can I calculate how fast the CR10 X memory fills up with readings

Answer: The quickest way to assess memory usage for an Edlog programmed device (CR10(X), CR510, etc.) is to look at the fsl file. When you compile a program using the Edlog compiler it generates a number of other files along with the .dld. One has the extension .fsl and this stands for Final Storage Label. If you scroll all the way to the bottom of the file you will find an estimate of the amount of memory used in a single day. For example this is the estimate from one of my programs: “Estimated Total Final Storage Locations used per day 5976”. The CR10X has roughly 60000 locations so in this scenario data should be offloaded every 10 days to avoid data loss.

Data can be stored as high or low resolution so one can’t simply count the number of data points to estimate memory usage. The compiler will allow for high and low resolution in its estimate so it’s best to use the fsl file to estimate memory


Question: How do I read VW sensors with a CR10 datalogger?

Answer: You need a vibrating wire adaptor. Please check the Campbell Scientific website for more information. We have some sample programs that you can use to get started. We do not provide support for these programs.


Question: I want to place my CR10 and my AM416 multiplexer in different locations. How far apart can I place them?

Answer: We usually recommend that the AM416 be placed close to the CR10, but if you must separate them, here are some points to consider:

1. Power: The CR10 must supply power to drive the relays on the AM416, so you must check for a voltage drop caused by the resistance of long cables. See the AM416 manual for power requirements.

2. Digital Ouput and Pulse: The CR10 sends a digital signal to reset and clock the relays. The duration and level of this signal can be degraded by long cables. See the AM416 manual for required voltages.

3. Signal Degradation: The signal from the sensor doesn't stop at the multiplexer. It continues, unamplified and unfiltered, through the multiplexer all the way to the CR10. Long cable lengths are subject to RF noise from the environment and resistance from the cable.


Question: How do I read Slope Indicator's RTD temperature sensor with a CR10X?

Answer:

1. Use instruction P4 with the following settings to read the RTD sensor.

02 - Range Option: Enter 25 (60 Hz rejection, 2500 mV range)
05 - Delay (units .01 sec): Enter 2
06 - mV Excitation: Enter 2500
08 - Mult: Enter .001
09 - Offset: Enter 0


2. Use instruction P55 to apply factors to convert the reading
to degrees C. These factors work for temperatures between -40 and
+130 degrees C.

04 - C0: Enter 2412.6
05 - C1: Enter -3442.5
06 - C2: Enter 1904.4
07 - C3: Enter -435.97
08 - C4: Enter 0
09 - C5: Enter 0


Question: How do I read (3K) thermistors with the CR10X?

Answer:

1. Use instruction P4 to read the thermistor.

02 - Range Option: Enter 15 (60 Hz rejection, 1500 mV range)
05 - Delay (units .01 sec): Enter 1
06 - mV Excitation: Enter 2500
08 - Mult: Enter .001
09 - Offset: Enter 0


2. Use instruction P55 to apply factors to convert the reading to degrees C.

04 - C0: Enter -104.78
05 - C1: Enter 378.11
06 - C2: Enter -611.59
07 - C3: Enter 544.27
08 - C4: Enter -240.91
09 - C5: Enter 43.08

 


Question: I want to use CR10 data in Excel. How can I convert CR10 dates into Excel dates?

Answer: We've placed the answer on a separate page: How to Convert CR10 Dates.


Question: I need to enter some polynomial factors that have more decimal places than the p55 instructions allows. What's a good workaround?

Answer: One workaround is to convert the factors to scientific notation and assign them to variables: this:

A_01=-1.59950E-05
B_01=4.29700E-03
C_01=124.06
Mt_01=0.0228
Bt_01=-0.455

A_02=-1.38150E-05
B_02=2.27790E-03
C_02=109.18
Mt_02=0.0246
Bt_02=0.499

Scientific notation allows the CR10X to maintain the required number of decimal places. Then you make a loop to grab relevant factors and apply them to the raw data in a simple polynomial equation:

xmH2O = (((xA * xHz^2 + xB * xHz + xC) + BARO_psi + xTemp) * 0.7037) + xeleOS

Then transfer the result into the final storage location, for example:

24: Beginning of Subroutine (P85) ; convert to mH2O
1: 83 Subroutine 83

25: Beginning of Loop (P87)
1: 0000 Delay
2: 15 Loop Count

; get a frequency & temperature
26: Z=X (P31)
1: 3 -- X Loc [ VWHz_46 ]
2: 164 Z Loc [ xHz ]

27: Z=X (P31)
1: 19 -- X Loc [ VWT_46 ]
2: 165 Z Loc [ xTemp ]

28: Z=X (P31) ; get the elevation offset
1: 201 -- X Loc [ eleOS_46 ]
2: 166 Z Loc [ xeleOS ]

; get the calibration factors
29: Block Move (P54)
1: 5 No. of Values
2: 76 -- First Source Loc [ A_01 ]
3: 16 Source Step
4: 156 First Destination Loc [ xA ]
5: 1 Destination Step

30: If (X<=>F) (P89) ; if the fequency is < 0 we have a bad reading
1: 164 X Loc [ xHz ]
2: 4 <
3: 0 F
4: 30 Then Do

; if we have a bad reading then set the value to zero
xmH2O = 0

31: Else (P94)

; calculate temperature correction
xTemp = xMt * xTemp + xBt

; convert to mH2O
xmH2O = (((xA * xHz^2 + xB * xHz + xC) + BARO_psi + xTemp) * 0.7037) + xeleOS

32: End (P95)

; put calculated reading into final storage
33: Z=X (P31)
1: 163 X Loc [ xmH2O ]
2: 35 -- Z Loc [ mH2O_46 ]

34: End (P95) ; loop

35: End (P95) ; subroutine

 

DGSI Information