- Monday, July 07, 2014
ACEP at Work: BlackBox Project Logbook – Project Update
The BlackBox Project consists of the design, construction and testing of a remote data acquisition system. The goal of the project is to develop a completely self-contained system that can be left in the field unmonitored for extended periods of time.
Since the last update several routines have been developed successfully (with some modifications to the previously proposed design) for the BlackBox.
Main Routine - The main routine has remained unchanged from the previous design. It opens all the NetCDF (Network Common Data Form) files, retrieving all of the files and their variables IDs along with the other useful information. Namely the number of samples already recorded, sampling frequencies, slot letters, and channels. This information is then passed on to reader routine.
Reader Routine – This routine gets all of the data collected by the main routine, uses it to read from the I/O (input/output) board, collects the samples one by one at a fixed frequency (1000 Hz) and stores them in a shared memory buffer. The writer routine also has access to the buffer and once it reaches a certain size (i.e., 1000 samples) it sends a signal to the writer routine.
Writer Routine – The writer routine waits indefinitely for a signal to indicate that the shared buffer is now full. This is not a periodic task, it is always running. As soon as it receives a signal, it will back up the buffer immediately so the reader routine may continue to sample and write to the common buffer. After this it will write the data to the individual NetCDF file buffers. This is done without disturbing the reader routine so as to maintain the sampling frequency.
Once a buffer of a file has finished being written a signal is sent to announce that it may be saved to disk. In order to ensure data integrity it is important that the file is only saved after its buffer is completely written, and not before or during the process.
Saver Routine - (Not yet implemented) The saver routine waits for a signal to ensure a buffer of a file is full and ready to be saved to the disk after every second. Once it is, it will synchronize the buffer with the file in the disk.
As of right now, only a single task of each routine is running. Once the routines are finished, three more slots containing twenty differential channels each will be installed.
The next step will be to ensure the reliability of the routines in the present hardware in order to make sure the current setup is stable. After that, the last routine should be implemented and its reliability re-assessed.
Project Lead: Marc Mueller-Stoffels, firstname.lastname@example.org
Project Engineers: Jeremy Vandermeer and Luis Pereira Miranda
Project Funding: ShellWind/Shell Foundation, Alaska Energy Authority
Image: Rudimentary computer illustration of what the BlackBox will look like once all of its components have been installed into its protective housing. Image courtesy JVandermeer, ACEP/UAF.