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.

SD_12 data transfer between loggers


PPeters Sep 3, 2009 12:10 AM

I have a system that transfers data between two loggers
A CR10x(PB) and CR10X
we push 16 values from the PB(sensor) to the 10x (recorder)successfully

I am trying to replicate for another site with no success
here i am moving data from a 10x to a 10
I am using the following code
on the 10x (sensor)

1: Beginning of Subroutine (P85)
1: 98 Subroutine 98

2: SDI-12 Sensor (P106)
1: 0 SDI-12 Address
2: 0016 Time/Values
3: 1 Loc [ F_stage1 ]

3: End (P95)

and the 10(recorder)
1: SDI-12 Recorder (OS10 1.1) (P105)
1: 0 SDI-12 Address
2: 0 -- Start Measurement (aM0!)
3: 8 Port
4: 1 Loc [ collect_1 ]
5: 1.0 Mult
6: 0.0 Offset

I only seem to get 6 values?
I have tried different settings but only get max of 9
and set up for 10x to 10x with no improvment.
I know this will be something very simple to reslove but any help would be appreciated.


jra Sep 3, 2009 02:24 PM

Are these both CR10Xs? Your P105 instruction looks like it is from a CR10, not CR10X.

The second parameter of your P106 instruction will depend on how it is being queried (i.e. the P105 in the other logger). So, it is important to know what logger the P105 is running in.

In the recorder logger you may need to try two P105 instructions. Something like this:
;GET VALUES FROM DATALOGGER 8 VALUES AT A TIME
3: SDI-12 Recorder (P105)
1: 0 SDI-12 Address
2: 0 Start Measurement (aM0!)
3: 4 Port
4: 1 Loc [ Loc1 ]
5: 1.0 Mult
6: 0.0 Offset

4: SDI-12 Recorder (P105)
1: 0 SDI-12 Address
2: 1 Start Measurement (aM1!)
3: 4 Port
4: 9 Loc [ Loc9 ]
5: 1.0 Mult
6: 0.0 Offset

And your sensor logger will have something like:
2: SDI-12 Sensor (P106)
1: 0 SDI-12 Address
2: 0008 Time/Values ;see NOTE below
3: 1 Loc [ Battery ]
;NOTE: a series of M commands will be querying the sensor so format is tttn. ttt=0; data is ready, n=8 values to transfer

I'd also recommend making sure the latest Operating system is running in each logger. http://www.campbellsci.com/19_1_763 If you're using a CR10 (not CR10X) we'll need to know the PROM signature, *B 02.

Let me know if this solves your problem... or not.

Regards,
Janet


Bobfbks Sep 4, 2009 09:51 PM

I'm trying to do the same thing (Array based CR10X to Array Based CR10X SDI using the most recent operating system) and having the same problem of only a few values being sent. This program combo results in 6 values making it from one to the other. I see in the protocol:
http://www.sdi-12.org/sdi-12/SDI-12_version1_3%20January%2012%202009.pdf
a mention of a limit on # of characters transmitted but if the PPeters' pakbus logger could do 16 values could something else be afloat? Here are my two sample programs in case I'm making a mistake in my implementation. Thanks for taking a look.

SDI Recorder Program
*Table 1 Program
01: 60 Execution Interval (seconds)

1: SDI-12 Recorder (P105)
1: 5 SDI-12 Address
2: 0 Start Measurement (aM!)
3: 2 Port
4: 1 Loc [ battery_1 ]
5: 1.0 Multiplier
6: 0.0 Offset

2: SDI-12 Recorder (P105)
1: 5 SDI-12 Address
2: 1 Start Measurement (aM1!)
3: 2 Port
4: 6 Loc [ battery_6 ]
5: 1.0 Multiplier
6: 0.0 Offset

SDI Sensor Program
*Table 1 Program
01: 30 Execution Interval (seconds)

1: Beginning of Loop (P87)
1: 0 Delay
2: 8 Loop Count

2: Step Loop Index (P90)
1: 2 Step

3: Batt Voltage (P10)
1: 1 -- Loc [ battery ]

4: Internal Temperature (P17)
1: 2 -- Loc [ paneltm ]

5: End (P95)

*Table 2 Program
02: 0.0 Execution Interval (seconds)

*Table 3 Subroutines

1: Beginning of Subroutine (P85)
1: 98 Subroutine 98

2: SDI-12 Sensor (P106)
1: 5 SDI-12 Address
2: 0015 Time/Values
3: 1 Loc [ battery ]

3: End (P95)

End Program

* Last updated by: Bobfbks on 9/4/2009 @ 3:52 PM *


jra Sep 4, 2009 10:10 PM

Bobfks,

You are querying the sensor with the M! command. So, in the P106 instruction the second parameter Time/Values has the format tttn.

From Edlog's help:
Time/Values: When the M command initiates the measurement, enter in the form of tttn. When the C command initiates the measurement, enter in the form of ttnn.

So, you probably want to query with the C command in the P105 instruction.
1: SDI-12 Recorder (P105)
1: 0 SDI-12 Address
2: 0 -- Start Measurement (aM0!)
3: 1 Port
4: 1 Loc [ value1 ]
5: 1.0 Mult
6: 0.0 Offset

See that -- in parameter 2? That is the concurrent measurement command, C. In Edlog, to toggle the -- (index) put your cursor on the second parameter so the 0 is highlighted and press the Index button at the top of the editor, or F4.

Hope that helps.

Janet


Bobfbks Sep 8, 2009 06:06 PM

Thanks, that worked great.

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