OCC Streaming Data System (OSDS)

 

Note that in January, 2017, the Instrument Communication Module (ICM) was released. ICM is a more powerful solution for acquiring data from streaming data systems as well as a wide variety of other instruments.

The OCC Streaming Data System (OSDS) is a set of LabVIEW tools for working with streaming or simple query-response data over serial, ethernet, and other buses. The OSDS assumes that the streaming data is in the form of a string and that it needs to be converted to a one-dimensional array of numeric values. OSDS consists of four main components, OSDS Drivers, OSDS Editor, OSDS Recorder, and OSDS Simulator, in addition to several other tools and example programs. The OSDS Drivers are intended to be used inside LabVIEW programs for reading data from streaming sources. The OSDS Editor is used to edit, view, and create the OSDS Format Files that define how the system deals with a given stream of data. The OSDS Recorder can be used to capture a data stream and store it in a file that can then later be played back with the OSDS Simulator. Two example programs are included. The first demonstrates how to use the OSDS Driver to acquire data. It can optionally log the data to a file. The second example implements a variation of the OSDS Driver that allows it to be multiply-instantiated, so that several data streams can be acquired using the same set of VIs. This example uses a configuration file to define which data streams will be recorded and where to record them, and it operates without user intervention once it is launched. It can therefore be used as a data logger for multiple data streams without further modification.

The OSDS was originally implemented to create a reusable component for reading streaming navigational data from research aircraft by a variety of custom scientific instruments. Often, these instruments would be deployed on different aircraft, and although each aircraft supplied a similar data stream, the format and interface specifications were nearly always different. OSDS abstracts these details into the OSDS Format File, so that the same software can read various data streams simply by substituting a different OSDS Format File definition. However, once this functionality was implemented, it became clear that the OSDS could be used to interface to a wide array of data streams. Originally, only streaming data was supported: e.g. the data is continuously broadcast at a fixed rate, with no prompting required from the software that is reading the data. However, basic query/response functionality has been added to enable the OSDS to read data from relatively simple instruments that do require a prompt.

OSDS is licensed under the Creative Commons Attribution-Share Alike 3.0 license. Derivative and commercial works incorporating OSDS are allowed, as long as any changes made are made available to the community at large. Please submit improvements as well as new OSDS Format Files and OSDS Stream Files to: support@originalcode.com


OSDS Version 1.2.0 (LV 2013, 3.3 MB) was released in June, 2015. Support has been added for TCP connections.

OSDS Version 1.1.4 (LV 2012, 9.8 MB) is available as of October, 2013. This version has one significant fix, in that all OSDS Readers are now set to be re-entrant, so that multiple calls to the same reader from different driver instances will not block each other. New Format and Stream files have also been included.

OSDS Version 1.1.1 (LV 2010, 7.4 MB) is available as of September, 2011. This version has several minor bug fixes and features and includes the new Multi Line Reader that allows OSDS to handle instruments that send more than one line end character per data packet. New Format and Stream files have also been included.

OSDS Version 1.0.1 (LV 8.2.1, 3.8 MB) is now available. This version is relatively new and should be used with caution. This download includes all of the above OSDS components as well as a selection of OSDS Format Files and OSDS Stream Files, and the OSDS Description document. As more OSDS Format and OSDS Stream Files are developed by OCC and submitted to OCC by other users, they will be made available on this page as well. Currently available OSDS Format Files include definitions for reading the navigation data from the NASA WB57, NASA/North Dakota DC8, and NOAA P3 research aircraft, Garmin GPS units, computer time (local and UTC), NTP time servers, and the Brookfield DVII-Pro+ Viscometer. OSDS Stream Files are available for most of these sources as well. Note that the WB57 Format File has not yet been tested. Updated from v 1.0 to 1.0.1 20080322. Minor changes and improvements for UDP data streams and for using various OSDS components inside built executables. Also a few additional Format Files and Stream Files. It also includes a project with build scripts for creating a compiled version and installer for the OSDS MI Logger and for the OSDS Recorder and OSDS Simulator.


Additional OSDS Downloads

OSDS MI Logger (executable, 55MB) This is an installer, including the LabVIEW Run-Time Engine, for a compiled version of the OSDS MI Logger, a stand-alone program that can acquire from any number of data streams and log the data to disk. This installer also includes a compiled version of the OSDS Editor as well as the OSDS Description document.

OSDS Recorder and Simulator (executable, 57MB) This is an installer that includes three compiled programs (including the LabVIEW Run-Time Engine), the OSDS Recorder, OSDS Simulator, and OSDS Editor. With these programs, you can record streaming data in the OSDS Stream Format, which the OSDS Simulator can later re-transmit to simulate the instrument of interest. These programs allow you to record OSDS Stream Files for later use (e.g. development and testing of OSDS Drivers) without needing LabVIEW and the entire OSDS system installed.

OSDS Format Files (18KB) This is a zipped file containing the current collection of OSDS Format Files. There are currently 19 OSDS Format Files included. As more become available, these can be downloaded here without having to download the entire OSDS system.

OSDS Stream Files (2.1MB) This is a zipped file containing the current collection of OSDS Stream Files, with 48 OSDS Stream Files currently included. Last updated October, 2009.