LJM Library Overview
LJM is LabJack's free, cross-platform driver / library for simplifying device communication. It supports the LabJack T-Series devices and the LabJack Digit-Series devices.
Download
See the LJM installer page to download.
Documentation
See the following LJM User's Guide.
Features
Cross-platform
Supported in multiple languages
Completely free
Licensed with the permissive MIT X11 License
Device reconnection—automatically repairs connections
Modbus Name-To-Address interpretation - ability to interpret LabJack register names such as
AIN0
Error-To-String Interpretation
Convert bytes to values
Perform thermocouple calculations
Convert IP and MAC numbers
Versatile Library configurations
Threaded data streaming and buffering
Basic demo mode for testing without a physical device.
Cross-Platform
Support for Windows, macOS, and Linux allows for the same code to be run on different operating systems with the same results, whether it's on your Windows desktop, MacBook laptop, or Raspberry Pi running a distribution of Linux.
Supported In Multiple Languages
Written in C++ with a C API, LabJack maintains and supports wrappers for many programing languages.
Some other supported languages:
See the full list of supported languages.
LJM's API allows for easy integration into most languages. If the language you use isn't currently supported, feel free to contact us for assistance in integrating LJM into your project.
LJM Is For Any Level Of Expertise
You don't need to be familiar with Modbus to use LJM. Simply use LJM's Single Value Functions for direct access to all the features your LabJack device provides.
If you do prefer to use Modbus, LJM's Raw Byte Functions provide byte-level control to manually send and receive Modbus packets.
Modbus Interpretation
Using LJM's name-to-address map, you can communicate with LabJack devices using the readable names of data values, such as AIN0
, AIN0_RANGE
, ETHERNET_IP
, or WIFI_STATUS
.
LJM provides functions that convert readable Modbus register names to a register addresses, such as LJM_NameToAddress. Or, you can directly interact with your LabJack device using the Name-style Single Value Functions. (Although you can use the Address-style Easy functions if you prefer.)
You can easily look up Modbus registers on the Modbus Map page.
Easy Device Connection
Connecting to a LabJack device is simple using the LJM Open Functions. You can open a connection to the first found LabJack device or connect to a particular device. A particular device can be opened by the device IP address, serial number, or by a customizable device name. You can also filter which device you connect to based on the connection type or the device type.
Configurable Behavior
Customize the behavior of the LJM library to fit your needs. See the full list of Configuration Parameters.
You can also put a configuration file on your system and load it into LJM, so that one configuration that works well can be loaded for multiple programs. (It's also easy to edit!)
Questions?
See the following LJM User's Guide
See the LJM example code (available in multiple programming languages)