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.

serial input from two devices


steed Apr 23, 2009 08:56 PM

Hello-

We have a network of weather stations on board the Washington State Ferries using CR10X dataloggers. Previously the raw, uncorrected weather data was output from the CR10X to an (non-CS) external communication device which also ingested navigation data and performed wind correction before transmitting to land receivers. So the wind direction is always zeroed relative to one end of the vessel (these ferries operate in both "forward" and "backward" direction). Now we are replacing the external communication devices with NL100 network interfaces, and thus need to ingest the navigation information directly in the CR10X and perform wind correction internally.

The two marine navigation devices I want to connect to my CR10X are a Furuno GP 90 GPS unit (for geographic position) and an Anschutz Standard 20 Gyro Compass (for vessel heading). Both of these are capable of outputting RS232 serial signals containing multi-field (comma separated) ASCII string data. These devices output Tx data at specified intervals (1 second) and there are several different length lines of data output each time. Each line of output starts with a string code to identify the records that follow. I know which data line codes I need, the number of fields in those lines. Unfortunately, the other lines of data contain varying numbers of fields, some greater than and others less than the lines I need. Those I will ignore.

I suspect I may have difficulty correctly processing the serial data and parsing out the lines I want, so if anyone has an example of CR10X code that handles a similar situation, it would be greatly appreciated. Thanks.

-Rick


IslandMan Apr 24, 2009 09:03 AM

Rick,

My simple advise would be to upgrade the CR10X to a CR1000. The time saved in trying to do this with the P15 Instructions in the CR10X would more than pay for the CR1000 which has excellent string handling capabilities and would allow you to use the NL115 or NL120 plug on Ethernet Adapter, much easier to program using Device Config, in my humble opinion.

Regards,
Dave


steed Apr 24, 2009 04:08 PM

It would be easier to change out the dataloggers, but as with the rest of the world, we don't have the $$ right now. So if anyone has a CR10X program to read in multiple, varying number of comma-separated field, P15 strings and toss all of those you don't want, it would make my life much simpler. Thanks.

-Rick


aps Apr 27, 2009 09:14 AM

I think you may not find the problem as difficult as it sounds (as long as you can set the baud rate to 1200 baud - the fastest the CR10X would read).

If the devices are following the NMEA standard (or something similar) there will be an identifier at the start of each message which you can pickup using the filter function that was added to the P15 instruction in the CR10X logger in its latter years.

To use this first make sure your loggers have the last OS in them (can be got from www.campbellsci.com/downloads) and then refer to the matching manual found at:

https://s.campbellsci.com/documents/us/manuals/cr10x.pdf

Then refer to Appendix B (pdf page 233) and you will see the filter function described plus an example of reading one specific GPS string which may not be that far away from what you want to do.

Apart from the baud rate limitation, there are other limitations of P15, one being that it does not buffer anything, so the program will get held up waiting for the next message that matches your filter to come in. You will have to call the instruction several times to get several different strings.

If you cannot make this work out then you could consider adding an SDM-SIO4 to the logger which overcomes the baud rate and buffering limitation, but many find it difficult to program.

As others said the next step beyond that is upgrade the loggers to CR800 or CR1000s as serial I/O is so much easier with those newer loggers.

* Last updated by: aps on 4/27/2009 @ 3:14 AM *


steed Apr 27, 2009 03:47 PM

Hi Andrew-

That's good news to me. My navigation devices output NMEA 0183 V2.0 messages, but I don't yet know if we can get anything less than 4800 baud. The SDM-SIO4 looks like it would be a good alternative to direct wiring if we can't drop the data rate. Can you direct me to the appropriate person for sales information? Thank you.

-Rick


aps Apr 28, 2009 09:47 AM

The US expert on that product is Doug Neff. Best call into speak to him at the Logan office to fully discuss the application. He is an expert at dealing with NMEA data.

There is one other hardware option he might suggest too which is the SC100 device which has a baud rate conversion function for use with P15. This will not overcome the problem with the program pausing whilst waiting for and reading in the serial data, but would be cheaper for one or two channels.

* Last updated by: aps on 4/28/2009 @ 3:51 AM *

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