Hi all,
We have an AM25T mux connected to a CR23X data logger for temperature measurements.
My application kind of defeats the purpose of the data logger but I'm trying to get all current temperature values through a 3rd party automation system using the serial telecommunication commands, every second or so.
I can access the Input storage values by means of [loc. no]I command but this is quite inefficient when you have more channels.
I can also access the Final Storage Area by means of [no. of arrays]D command , and all though the ASCII dump gives me all the values, I can access only the oldest values.
Is there any way I can get the current measured values through serial as a delimited string ?
Thanks,
Dan
01: 1 Execution Interval (seconds) 1: Do (P86) 1: 49 Turn On Switched 12V 3: AM25T Multiplexer (P134) 1: 25 Reps 2: 32 50 mV, 50 Hz Reject, Slow Range 3: 1 Channel 4: 1 DIFF Channel 5: 31 Exchan 1, 50 Hz Reject 6: 4 Clock Control 7: 5 Reset Control 8: 3 Type K (Chromel-Alumel) 9: 26 Ref Temp (Deg. C) Loc [ RefTemp ] 10: 1 Loc [ TC_1 ] 11: 1.0 Multiplier 12: 0.0 Offset 4: Do (P86) 1: 10 Set Output Flag High (Flag 0) 5: Set Active Storage Area (P80) 1: 1 Final Storage Area 1 2: 99 Array ID 6: Sample (P70) 1: 26 Reps 2: 1 Loc [ TC_1 ]
The instruction you want to look at is P15. There are a few threads here on the Forum addressing this instruction. Expect to spend some time experimenting.
The other instruction I'd encourage you to consider is P106 SDI-12 Sensor. It is quite a bit easier to use than P15. P106 will make your CR23X system act like an SDI-12 sensor. If your automation system can talk SDI-12 this would be the way to go. Here are some resources if you're not familiar with SDI-12: SDI-12 Specs, CSI videos.
Take a look at Appendix C.1 (Telecommunications Commands with Binary Responses) of the datalogger manual. You can do what you want but the command and response are binary and will have to be translated. The command to set up the input locations to be returned is "2413J" and the command to return the binary values is "K". The alternative to doing this is to remote keyboard commands (7H or 2718H) followed by a sequence like "*61A" which will show the first input location and will advance by one location each time that you send an "A" character.
One of the easiest methods that might work for your case is the P96 instruction. It can spit out a line of formatted data whenever you write to final storage.
The other route that might work for you is using the Modbus functionality of the datalogger. There is a section in the CR23X manual with instructions on how to enable Modbus. All input locations will be mapped to Modbus registers if you use that functionality.
Thanks all. Really appreciate your help
I've tried both P15 and P96 and both work. I think I'll use P15 as I'm not planing to use the Final Storage Areas
Hats off to you.