LJStreamUD - Windows Only
The application LJStreamUD V1.16 is included with the main installation package:
LabJack Windows Driver and Software Installation Package
LJStreamUD.exe is a ready-to-run executable that streams from 1-16 input channels on a U3, U6, or UE9. It displays selected channels on a graph and writes data to file.
For LabVIEW programmers, the source code is available in the LabVIEW_LJUD archive.
See Section 3.2 of the applicable user's guide for background on streaming. Also see the analog input section (2.x) and the UD driver stream section (4.3.x).
It is recommend to initially just open and click "Start Stream" without changing any settings. If you have already changed some settings and are having problems getting it to run, close the program and delete "ljstreamud.cfg", then open again and you will have the default settings.
LJLogUD vs. LJStreamUD: LJLogUD uses command/response mode as documented in Section 3.1 of any UD series user's guide. It acquires and processes 1 scan at a time at the specified Interval. Generally used for perhaps 10 scans/second or slower. LJStreamUD uses stream mode as documented in Section 3.2 of any UD series user's guide. Each iteration it retrieves and processes 1 seconds worth of scans. Generally needed for perhaps 100 scans/second or faster. For more discussion of command/response mode and stream mode see Section 3.0 of the applicable user's guide: U3, U6, or UE9.
# Channels: 1-16.
Scan Rate: Put in the desired scan rate. Sample rate is scan rate times # channels. See Section 3.2 of the U3/U6/UE9 User's Guide for more information.
Resolution: Affects the U6 only. See Section 3.2 of the U6 User's Guide.
SettlingFactor: 0-255. Affects the U6 only. See Section 5.2.12 of the U6 User's Guide.
Device Type & Address (Opening): In the working directory there is a file called LJStreamUD_open.cfg. If you don't see it, make sure you have opened & closed LJStreamUD at least once after installation. In the first line of this config file, if DeviceType=ANY, the application will search USB and then Ethernet for the first U3/U6/UE9 it can find. If ANY is not in the first line, then a call to OpenLabJackS() is made with the specified strings. See Section 4.3.1 of the U3/U6/UE9 User's Guide. Example: [Main] (1st line of config file), DeviceType=LJ_dtUE9 (2nd line), ConnectionType=LJ_ctUSB (3rd line), Identifier=1 (4th line). If you mess up the config file, just delete it and then open & close the application to make a new default one.
+Ch/-Ch: Put in the desired positive and negative channel numbers. This specifies which analog input to read. To read other types of channels (DI, Timers, Counters), see the special channel support described in Section 3.2.1 or 3.2.2 (stream mode section) of the applicable User's Guide.
Ranges: Select the desired range, which is related to gain. Not all devices support all ranges, but starting with UD V3.19 the driver will select the best range available rather than throwing an error. For more information, see the AIN section in Section 2 of the U3/U6/UE9 User's Guide, and also see Section 4.3.3 of the applicable user's guide. The U3 does not have normal range options, but does have the "Special" range which is enabled by setting the negative channel to 32.
Write To File: Click this to start and stop writing to file. The resulting file is a tab-delimited ASCII file. The first column is elapsed time since you started writing to file (does not reset when a new file starts automatically due to Max File Size). Files are written with a .dat extension. To quickly open in Excel or Open Office Calc, change the extension to .xls or .ods. To import to a Google Spreadsheet, make the extension .tsv before uploading.
Data File Prefix: LJStreamUD uses this as the base string when it makes a file name. When LJStreamUD starts a new file, it appends a "_#" to the specified prefix, where "#" is an unused number from 0-99999.
Max File Size (Bytes): When the current data file exceeds this limit, it is closed and a new file is started. In theory the max value is 2^31 - 1, or 2147483647, but we have not tried a file that big ourselves.
Change Working Directory: Click this to select the directory where the config file and data files will be saved. After navigating to the desired directory in the pop-up window, click "Select Cur Dir" at the bottom-right.
Graph History: Controls how many scans are shown on the graph.
DisableScaling: Scaling is computing intensive. If UD Backlog is growing, disable scaling.
Scaling Equations: Should be something like "y=a", where "y" is the scaled output and "a" is the input voltage of the 1st row. "b" through "p" would be the input voltage of the rest of the rows. Everything after "//" is ignored, so use for comments. A few examples:
y=c // Scaled value equal to raw value from 3rd row
y=100*c // EI-1034/LM34 voltage to deg F
y=c-273.15 // deg K to deg C
y=((c-273.15)*9/5)+32 // deg K to deg F
y=TCVoltsToTemp[K:c:a] // Type K, t/c voltage from 3rd row, CJ temp from 1st row
For more details see the LJLog/Stream Scaling Equations page.
1.06: Not compatible with older config files, so delete ljstreamud.cfg before running the first time! Changed config file delimiter to "#!#" instead of "," for better international compatibility. Made maximum file size a user control. Scaled values now grayed-out if scaling is disabled.
1.07: Turned on scroll bars, for use on smaller monitors.
1.08: Minor changes to the process used to find the next available file number.
1.09: No longer disables timers and counters. Added controls for Resolution and SettlingFactor.
1.10: Makes error display red if there is an error. Fixed typos in header for data files.
1.11: Fixed jumbled display on Windows 7. Comments now allowed in scaling equations starting with "//".
1.12: Added support for registry storage of working directory. Now shows errors in command/response
mode (when not streaming).
1.13: Changed to maintain display of last stream error, and thus does not show command-response errors when not streaming. Changed timestamp in header of data file to show seconds.
1.14: Fixed bug in OpenAny where if it did not find any devices it would try 128 times to open a UE9 at 0.0.0.0.
1.15: Two changes. The first is that it now supports a config file that lets you specify a particular device to open. See the description of "Device Type & Address" above. The second is that it now uses the filename of the application to specify the names of the config files and to specify the location of the working directory registry key. The former means if you make a copy of LJLogUD.exe called LJLogUD2.exe, the config files will be LJLogUD2.cfg and LJLogUD2_open.cfg and thus each copy has its own config files. The latter means you can use a different working directory for each copy, although you don't have to.
1.16: Added "Write To File" control to items saved in config file, so the application will now remember how this control was last set.
1.17: Changed all text to Segoe UI font so screen items are aligned regardless of system font size.
main LabJack installer, linked at the top of this page, includes
LJStreamUD and also includes the needed LabVIEW 7.1 run-time engine (LVRTE
7.1). If an update to LJStreamUD is available, it will appear in a "File attachment:" section below. Download and unzip to get the new exe, then find and replace the old exe.
I'd like to compliment you on your nicely-written native LabVIEW
drivers; we're customising them to our own ends, but they're a nice
neat starting point—unlike a lot of other people's code! [...] By the
way—excellent table of contents in the PDF Manual—why can't everyone
do that?! [...] Very much enjoying working with the LabJacks—and
looking forward to using them for other jobs.—Tom, CPP Wind Engineering