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.

Re: CR1000 networking


GeodeNZ Apr 2, 2009 03:28 AM

Hello,

I'm preparing to deploy 11 CR1000's at a remote field site. For the most part I have the measuring and recording down for each logger. I'll be using a combination of MD485's and RF401 radios to establish the network connections. I'm using the pakbus capability from the CS I/O SDC7 channel. This seems to be working just fine, I can reach all the loggers using LoggerNet, at least in my office ;)

I would like to have one master logger which has a cellular modem to store say 5 minute readings from the other loggers into one data table. This would serve a couple of purposes. Most importantly this would make it possible for someone on the job site to scroll through all the stations "semi" current readings(using a DataView 295). This 5 minute table from all the loggers would also be retrieved by loggernet over the modem. I have read and reread many times the various ways it is possible to send variables. It was suggested I look at the getdatarecord instruction as a robust option.

I've gone over the help files etc many times and have had a bit of success. But before I go to far, I thought I would ask how best to approach this? The getdatarecord seems ideal, but I've not managed to get it working properly, I'm getting a result error of -7, which is saying there is a table definition issue if memory serves....I'm sure I can get the getdatarecord working eventually, but maybe another instruction would be more appropriate?

Thanks
Steve


jtrauntvein Apr 3, 2009 12:07 PM

The -7 error code is documented to indicate that the table definition signatures between the two dataloggers do not match. The datalogger maintains a set of meta-data for each of its tables. This meta-data includes things like column names, data types, units, and process strings. It also maintains the name and size (in terms of numbers of records) of the table. In order for GetDataRecords() to succeed, all of this meta-data must match exactly between the two dataloggers. Otherwise, this error code will be the result. You can work around this by adding the integer 32768 to the value for the tableNo parameter. This acts as a flag to the remote datalogger to ignore the table definition signature. In order for this latter option to work, you will have to ensure that the layout of the two tables is compatible.

Regards,

Jon Trauntvein


GeodeNZ Apr 5, 2009 04:24 PM

Hi Jon,

Thank you for the reply. Each of my remote CR1000's will be logging a different number of values (ranging from 3 to 10).

Gathering these variables onto a master data table (logger) is the goal. What instruction would you recommend for making this happen?

Looks like the GetDataRecord or the GetVariables is my best bet?

Best Regards,
Steve


jtrauntvein Apr 8, 2009 11:46 AM

As I said before, if you use GetDataRecord(), you will need to ensure the compatibility of the tables between your two loggers. This seems to imply that your "main" logger will have to maintain as many types of tables as there are variations in the programs running in "slave" loggers or that your slave loggers all provide the same type of table to collect. This latter option is quite doable. The "slave" loggers could fill in NaN values for those fields that are not applicable for their context.


Dana Apr 8, 2009 03:11 PM

GetVariable may indeed be a good option. Once the variables are "got" you could store the data from each logger into individual tables in the master datalogger, or store all the data into one table (each record, or row, in the data table would contain the data from all the dataloggers).

Dana


GeodeNZ Apr 10, 2009 02:22 PM

Hi Dana,

Thanks for the reply. I have a test setup running nicely in my lab now :)

I'll be using a number of radios and multidrops for communication. One scenario is hoping from one RF401 to another, then using a 485 for a couple of loggers than back to RF401's, all in a serial string. I have this working, configuring the RF401's for SDC7 and the MD485's on SDC8 and using neighbor filters to force routes.

The GetVariable instruction asks for communication type, which in my case is initially SDC 7 for the radios but then has SDC 8 for the multidrops. I have transfered data across this link with out any problems. This is how it should be yes?

On a related note, I noticed that I'm not able to change the beacon interval on SDC7 to zero using pakbus bus graph or the status window remotely. Is this somehting I need to do through device configurator or do this have something to do with the use of neighbor filters etc?

Hope this makes sense, I'm working day and night on this, I need to deploy this system early next week states away. And I sure don't want to be doing any more debugging on site then needed.

I could steer you to the IP site of my loggers, the modem is currently always on. Would be grateful if you would take a look at my setup.

Regards,
Steve


Dana Apr 10, 2009 07:38 PM

Hi Steve,

I have transfered data across this link with out any problems. This is how it should be yes?

The best test is if it's working, it's good :)

I noticed that I'm not able to change the beacon interval on SDC7 to zero using pakbus bus graph or the status window remotely.

You should be able to do this in either PakBus Graph or the Status table. Make sure when you set it in PakBus Graph to click out of the field to another field to "set" the value before clicking Apply. I seems to remember one version of PakBus Graph where if you didn't click out of the field the value wouldn't "take".

I can look at your setup if you would like. My email is just dana @.

Regards,

Dana


Otemohu Jan 17, 2013 04:21 PM

I dig an old post.

I have a simple network than GeodNZ that is composed of a CR1000 with NL100 (PB7) on which is connected an other CR1000 (PB8) with MD485 and a last CR1000 (PB9) with MD485 that ends the network.
I use the NL100 Ethernet protocol to connect Loggernet with the CR1000 PB7.

I would like to create a unique DataTable on the PB7 CR1000 with getting variables from the two others (PB8 et PB9).

Are the two following command lines of my program correct to do this?

GetVariables(Result_FS2,ComSDC7,0,8,0,0,"Public","FS2_deltaT()",FS2_deltaT(),8) GetVariables(Result_FS3,ComSDC7,8,9,0,0,"Public","FS3_deltaT()",FS3_deltaT(),8)


These commands are located in the Main scan. I have a doubt regarding PBFieldNames "FS2_deltaT()" and "FS3_deltaT()". Will be there incremented such as PBVariable by the PBSwath constant? Or do I have to put a loop to do this step eight times?

Daniel

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