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.

Combining data tables with different intervals


jarlu May 7, 2018 08:33 PM

I am creating a program for a National Fire Danger Rating tower.  The data is to be sent to the GOES sattellite hourly, but various sensors are required to use different sampling intervals.  Wind/RH data is to be averaged every 10 minutes, solar rad data is to be a one hour average of 60 samples, and various other instruments are simply to be sampled hourly.  I will be using the TX321, and I am under the impression that I will be able to send data with multiple timestamps using table option 0 of the GOESdata command, but I don't know how to combine all the data into a single table.

Is there a way to combine the 6ea. 10 minute wind &RH averages in a single table with all of the other hourly data? 

If anyone is currently using CSI logger/transmitter for Fire Danger Rating purposes I would love to look over the program you used.

Thanks!


Dana May 8, 2018 08:24 PM

I am not familiar with the requirements for NFDR, but one thing you could do is use the data table access instructions to pull the data from each of the tables with different intervals and store it into one table. That table could then be specified in the GOESData instruction. I don't know if this is the best way, but it is "a way". :)  

Check the CRBasic help for additional information on the data table access instructions (DataTable Access in the help Index). 

Best, Dana


jra May 8, 2018 08:38 PM

Also, here's a blog post related to Dana's suggestion: https://www.campbellsci.com/blog/programmatically-access-stored-data-values 


GTProdMgr May 11, 2018 11:51 PM

Once you have all the data pulled into a single table using the <TableName>.<FieldName> syntax mentioned above, you could also use the GOESTable instruction instead of the GOESData instruction to control what data is sent up to the GOES Satellite.

You use the GOESSetup instruction when the program starts to get your Tx321 configured properly, then you can use either GOESData or GOESTable, and then after the transmission you use GOESStatus to check the Tx321 for how things worked (or not).

When you use the GOESTable instruction, you place it inside the table that you want to be transmitted up to the GOES satellite. Then you place a GOESField instruction immediately before any of the Sample/Average/Max/Min instructions that you want to be included in the transmission (not every field in the table has to be transmitted). Then it is easy to make the transmission by simply making a table call to that table that contains the GOESTable instruction (use the CallTable <TableName> instruction). The call to the table populates the buffer on the Tx321 so that the next time a scheduled transmission occurs, the data will be sent. Or in the case of a Random transmission, the buffer is populated and a random transmission gets scheduled.

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