Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

SDI-12 CRC


lespedeza Oct 21, 2008 07:02 PM

I was just curious if anyone has implemented a program that takes advantage of the SDI-12 protocol's CRC feature with SDI-12 sensors attached to a CSI datalogger. I noticed the the CR1000 version of CRBasic has some CRC algorithms built in, but wasn't sure if any of them were the same as the SDI-12 implementation.


aps Oct 22, 2008 09:43 AM

The SDI12Sensor and SDI12Recorder commands in the CRx000 dataloggers support the SDI-12 checksum options. See the help on the SDI-12 commands for further details.

APS


lespedeza Oct 22, 2008 11:20 AM

Andrew,

Thanks for pointing me in the right direction. I found the reference in the help. I was concentrating my searching on the CR2xx and is probably why I didn't find that info for the CRx000. I guess it would be asking too much for something like this to be available on the CR2xx series, right? And would probably be too laborious to implement it manually?

Thanks again for the info.

Jimmy


aps Oct 22, 2008 01:55 PM

The CR200 also supports a sub-set of the the SDI-12 commands that support checksums. I can only apologise that this is not better documented but my recollection is that it will let you use the R, A, V, ?, M, MC, C and CC commands in that SDI12Recorder command. MC and CC being checksummed.

Update:

Here is a full list of the commands supported in the CR200 (to appear in the manual/help soon):

The commands supported are (in the following commands, "a" is the address):

a! - Address Query
aI! - Identification
aM! - Start Measurement
aM1!....aM9! - Additional Start Measurement
aMC! - Start Measurement with CRC
aMC1!...aMC9! - Additional Start Measurement with CRC
aV! - Start Verification
aC! - Start concurrent Measurement
aC1!...aC9! - Additional Start Concurrent Measurement
aCC! - Start Concurrent Measurement with CRC
aCC1!...aCC9! - Additional Start Concurrent Measurement with CRC
aR0!...aR9! - Continuous Measurement
aRC0!...aRC9! - Continuous Measurement with CRC


APS

* Last updated by: aps on 10/23/2008 @ 2:05 AM *


lespedeza Oct 24, 2008 01:46 PM

Andrew,

Thanks again for the additional information...but as is so often the case, with more information comes more questions.

So, when using the CRC command with the CR2xx, will it respond as is documented for the CRx000? In other words, the help states

"If a check summed command fails, a NAN will be returned and the command will be retried."

Will the CR2xx respond like this as well?

Also, I was unaware that the CR2xx supported concurrent measurements. Has this changed? If it has, I'd be very pleased.

Thanks again for the help.


aps Oct 27, 2008 09:45 AM

The CR200 will respond to checksum errors in the same way as the CR1000. I believ it retries three times and will display NaN when it gets a bad value.

The CR200 has supported concurrent measurements for quite a while. Below is a little more detail of what it does when using the C! command. Unlike some systems it does not go off and do other things whilst waiting for the response. So whether this instruciton is useful to you depends on what the sensor does in response to the C! command. Many will give a much shorted response time and give you the latest measurement - so it is then beneficial to use this mode.

aC! - Start concurrent Measurement (works like the M command), in other words.. the concurrent command waits for the time returned before issuing the D commands. Then the logger program advances to the next instruction. By definition the recorder should issue the command, get the time the sensor will take to make the measurement, then issue the D command after time return is done. While waiting for the sensor's time to complete the logger can advance to the next instruction and possibly start another concurrent sensors making its measurement. The CR200 does not do this it delays in the recorder instruction until the sensors time has expired then advances to the next instruction. (So the behaviour is just like the M command).


lespedeza Oct 27, 2008 12:30 PM

That's good to know about the CR200 supporting the CRC command. I'll implement it immediately.

Unfortunately the concurrent measurement command doesn't really help me the way it is implemented in the CR200, but thanks for the explanation. I was hoping it worked like the CRx000 and the CR10X.

Thanks again.

Log in or register to post/reply in the forum.