Printable Modbus Map | LabJack
 
« Close

Datasheets and User Guides

App Notes

Software & Driver

 

Printable Modbus Map

This page displays information from ljm_constants.json.

 

Analog Input Registers
Name Start Address Type Access

AIN#(0:13)             Returns the voltage of the specified analog input.

0 FLOAT32 R

AIN#(0:13)_RANGE             The range/span of each analog input. Write the highest expected input voltage.

40000 FLOAT32 R/W

AIN#(0:13)_NEGATIVE_CH             Specifies the negative channel to be used for each positive channel. 199=Default=> Single-Ended.

41000 UINT16 R/W

AIN#(0:13)_RESOLUTION_INDEX             The resolution index for command-response and AIN-EF readings. A larger resolution index generally results in lower noise and longer sample times.

41500 UINT16 R/W

AIN#(0:13)_SETTLING_US             Settling time for command-response and AIN-EF readings.

42000 FLOAT32 R/W

AIN_ALL_RANGE             A write to this global parameter affects all AIN. A read will return the correct setting if all channels are set the same, but otherwise will return -9999.

43900 FLOAT32 R/W

AIN_ALL_NEGATIVE_CH             A write to this global parameter affects all AIN. Writing 1 will set all AINs to differential. Writing 199 will set all AINs to single-ended. A read will return 1 if all AINs are set to differential and 199 if all AINs are set to single-ended. If AIN configurations are not consistent 0xFFFF will be returned.

43902 UINT16 R/W

AIN_ALL_RESOLUTION_INDEX             The resolution index for command-response and AIN-EF readings. A larger resolution index generally results in lower noise and longer sample times. A write to this global parameter affects all AIN. A read will return the correct setting if all channels are set the same, but otherwise will return 0xFFFF.

43903 UINT16 R/W

AIN_ALL_SETTLING_US             Settling time for command-response and AIN-EF readings. A write to this global parameter affects all AIN. A read will return the correct setting if all channels are set the same, but otherwise will return -9999. Max is 50,000 us.

43904 FLOAT32 R/W

 

DAC Registers
Name Start Address Type Access

DAC#(0:1)             Pass a voltage for the specified analog output.

1000 FLOAT32 R/W

 

Digital I/O Registers
Name Start Address Type Access

FIO#(0:7)             Read or set the state of 1 bit of digital I/O. Also configures the direction to input or output. Read 0=Low AND 1=High. Write 0=Low AND 1=High.

2000 UINT16 R/W

EIO#(0:7)             Read or set the state of 1 bit of digital I/O. Also configures the direction to input or output. Read 0=Low AND 1=High. Write 0=Low AND 1=High.

2008 UINT16 R/W

CIO#(0:3)             Read or set the state of 1 bit of digital I/O. Also configures the direction to input or output. Read 0=Low AND 1=High. Write 0=Low AND 1=High.

2016 UINT16 R/W

MIO#(0:2)             Read or set the state of 1 bit of digital I/O. Also configures the direction to input or output. Read 0=Low AND 1=High. Write 0=Low AND 1=High.

2020 UINT16 R/W

FIO_STATE             Read or write the state of the 8 bits of FIO in a single binary-encoded value. 0=Low AND 1=High. Does not configure direction. Reading lines set to output returns the current logic levels on the terminals, not necessarily the output states written. The upper 8-bits of this value are inhibits.

2500 UINT16 R/W

EIO_STATE             Read or write the state of the 8 bits of EIO in a single binary-encoded value. 0=Low AND 1=High. Does not configure direction. Reading lines set to output returns the current logic levels on the terminals, not necessarily the output states written. The upper 8-bits of this value are inhibits.

2501 UINT16 R/W

CIO_STATE             Read or write the state of the 4 bits of CIO in a single binary-encoded value. 0=Low AND 1=High. Does not configure direction. Reading lines set to output returns the current logic levels on the terminals, not necessarily the output states written. The upper 8-bits of this value are inhibits.

2502 UINT16 R/W

MIO_STATE             Read or write the state of the 3 bits of MIO in a single binary-encoded value. 0=Low AND 1=High. Does not configure direction. Reading lines set to output returns the current logic levels on the terminals, not necessarily the output states written. The upper 8-bits of this value are inhibits.

2503 UINT16 R/W

FIO_DIRECTION             Read or write the direction of the 8 bits of FIO in a single binary-encoded value. 0=Input and 1=Output. The upper 8-bits of this value are inhibits.

2600 UINT16 R/W

EIO_DIRECTION             Read or write the direction of the 8 bits of EIO in a single binary-encoded value. 0=Input and 1=Output. The upper 8-bits of this value are inhibits.

2601 UINT16 R/W

CIO_DIRECTION             Read or write the direction of the 4 bits of CIO in a single binary-encoded value. 0=Input and 1=Output. The upper 8-bits of this value are inhibits.

2602 UINT16 R/W

MIO_DIRECTION             Read or write the direction of the 3 bits of MIO in a single binary-encoded value. 0=Input and 1=Output. The upper 8-bits of this value are inhibits.

2603 UINT16 R/W

DIO#(0:22)             Read or write the state of all digital I/O in a single binary-encoded value. 0=Low AND 1=High. Does not configure direction. A read of an output returns the current logic level on the terminal, not necessarily the output state written. Writes are filtered by the value in DIO_INHIBIT.

2800 UINT32 R/W

DIO_STATE             Read or write the direction of all digital I/O in a single binary-encoded value. 0=Input and 1=Output. Writes are filtered by the value in DIO_INHIBIT.

2850 UINT32 R/W

DIO_DIRECTION             A single binary-encoded value where each bit determines whether _STATE, _DIRECTION or _ANALOG_ENABLE writes affect that bit of digital I/O. 0=Default=Affected, 1=Ignored.

2900 UINT32 R/W

 

Digital Extended Features
Name Start Address Type Access

DIO#(0:22)_EF_ENABLE             1 = enabled. 0 = disabled. Must be disabled during configuration. Note that DIO-EF reads work when disabled and do not return an error.

44000 UINT32 R/W

DIO#(0:22)_EF_INDEX             An index to specify the feature you want.

44100 UINT32 R/W

DIO#(0:22)_EF_OPTIONS             Function dependent on selected feature index.

44200 UINT32 R/W

DIO#(0:22)_EF_VALUE_A             Function dependent on selected feature index.

44300 UINT32 R/W

DIO#(0:22)_EF_VALUE_B             Function dependent on selected feature index.

44400 UINT32 R/W

DIO#(0:22)_EF_VALUE_C             Function dependent on selected feature index.

44500 UINT32 R/W

DIO#(0:22)_EF_VALUE_D             Function dependent on selected feature index.

44600 UINT32 R/W

DIO#(0:22)_EF_READ_A             Reads an unsigned integer value. The meaning of the integer is dependent on selected feature index.

3000 UINT32 R

DIO#(0:22)_EF_READ_A_AND_RESET             Reads the same value as DIO#(0:22)_EF_READ_A and forces a reset.

3100 UINT32 R

DIO#(0:22)_EF_READ_B             Reads an unsigned integer value. The meaning of the integer is dependent on selected feature index.

3200 UINT32 R

 

Digital EF Clock Source
Name Start Address Type Access

DIO_EF_CLOCK0_ENABLE             1 = enabled. 0 = disabled. Must be disabled during configuration.

44900 UINT16 R/W

DIO_EF_CLOCK0_DIVISOR             Divides the core clock. Valid options: 1,2,4,8,16,32,64,256.

44901 UINT16 R/W

DIO_EF_CLOCK0_OPTIONS             Bitmask: bit0: 1 = use external clock. All other bits reserved.

44902 UINT32 R/W

DIO_EF_CLOCK0_ROLL_VALUE             The clock will count to this value and then start over at zero. The clock pulses counted are those after the divisor. 0 results in the max roll value possible. This is a 32-bit value (0-4294967295) if using a 32-bit clock, and a 16-bit value (0-65535) if using a 16-bit clock.

44904 UINT32 R/W

DIO_EF_CLOCK0_COUNT             Current tick count of this clock. Will read between 0 and ROLL_VALUE-1.

44908 UINT32 R

 

SPI Registers
Name Start Address Type Access

SPI_CS_DIONUM             The DIO line for Chip-Select.

5000 UINT16 R/W

SPI_CLK_DIONUM             The DIO line for Clock.

5001 UINT16 R/W

SPI_MISO_DIONUM             The DIO line for Master-In-Slave-Out.

5002 UINT16 R/W

SPI_MOSI_DIONUM             The DIO line for Master-Out-Slave-In.

5003 UINT16 R/W

SPI_MODE             The SPI mode controls the clock idle state and which edge clocks the data. Bit 1 is CPOL and Bit 0 is CPHA, so CPOL/CPHA for different decimal values: 0 = 0/0 = b00, 1 = 0/1 = b01, 2 = 1/0 = b10, 3 = 1/1 = b11. For CPOL and CPHA explanations, see Wikipedia article: <a target='_blank' href='https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus'>https://e... style='margin-right: -1;' src='https://ljsimpleregisterlookup.herokuapp.com/static/images/ui-icons-extl... />.

5004 UINT16 R/W

SPI_SPEED_THROTTLE             This value controls the SPI clock frequency. Pass 0-65535. Default=0 corresponds to 65536 internally which results in ~800 kHz. 65500 = ~100 kHz, 65100 = ~10 kHz, 61100 = ~1 kHz, 21000 = ~100 Hz, and 1 = ~67 Hz. Avoid setting too low such that the entire transaction lasts longer than the 250 millisecond timeout of the internal watchdog timer.

5005 UINT16 R/W

SPI_OPTIONS             Bit 0 is Auto-CS-Disable. When bit 0 is 0, CS is enabled. When bit 0 is 1, CS is disabled. Bit 1: 0 = Set DIO directions before starting the SPI operations, 1 = Do not set DIO directions. Bit 2: 0 = Transmit data MSB first, 1 = LSB first. Bits 4-7: This value sets the number of bits that will be transmitted during the last byte of the SPI operation. Default is 8, valid options are 1-8.

5006 UINT16 R/W

SPI_GO             Write 1 to begin the configured SPI transaction.

5007 UINT16 W

SPI_NUM_BYTES             The number of bytes to transfer.

5009 UINT16 R/W

SPI_DATA_TX             Write data here. This register is a buffer.

5010 BYTE W

SPI_DATA_RX             Read data here. This register is a buffer. Underrun behavior - fill with zeros.

5050 BYTE R

 

I2C Registers
Name Start Address Type Access

I2C_SDA_DIONUM             The number of the DIO line to be used as the I2C data line. Ex: Writing 0 will force FIO0 to become the I2C-SDA line.

5100 UINT16 R/W

I2C_SCL_DIONUM             The number of the DIO line to be used as the I2C clock line. Ex: Writing 1 will force FIO1 to become the I2C-SCL line.

5101 UINT16 R/W

I2C_SPEED_THROTTLE             This value controls the I2C clock frequency. Pass 0-65535. Default=0 corresponds to 65536 internally which results in ~450 kHz. 1 results in ~40 Hz, 65516 is ~100 kHz.

5102 UINT16 R/W

I2C_SLAVE_ADDRESS             The 7-bit address of the slave device. Value is shifted left by firmware to allow room for the I2C R/W bit.

5104 UINT16 R/W

I2C_NUM_BYTES_TX             The number of data bytes to transmit. Zero is valid and will result in a read-only I2C operation.

5108 UINT16 R/W

I2C_NUM_BYTES_RX             The number of data bytes to read. Zero is valid and will result in a write-only I2C operation.

5109 UINT16 R/W

I2C_OPTIONS             Advanced. Controls details of the I2C protocol to improve device compatibility. bit 0: 1 = Reset the I2C bus before attempting communication. bit 1: 0 = Restarts will use a stop and a start, 1 = Restarts will not use a stop. bit 2: 1 = disable clock stretching.

5103 UINT16 R/W

I2C_GO             Writing to this register will instruct the LabJack to perform an I2C transaction.

5110 UINT16 R/W

I2C_ACKS             An array of bits used to observe ACKs from the slave device.

5114 UINT32 R/W

I2C_DATA_TX             Data that will be written to the I2C bus. This register is a buffer.

5120 BYTE W

I2C_DATA_RX             Data that has been read from the I2C bus. This register is a buffer. Underrun behavior - fill with zeros.

5160 BYTE R

 

LJTick-DAC Registers
Name Start Address Type Access

TDAC#(0:22)             Update a voltage output on a connected LJTick-DAC accessory. Even TDAC# = DACA, Odd TDAC# = DACB. For instance, if LJTick-DAC accessory is connected to FIO2/FIO3 block on main device, TDAC2 corresponds with DACA, and TDAC3 corresponds with DACB.

30000 FLOAT32 W

TDAC_SERIAL_NUMBER             Returns the serial number of an LJTick-DAC, and forces a re-read of the calibration constants. Which LJTDAC is determined by the last write to TDAC# ... whether it was successful or not.

55200 UINT32 R

 

SBUS Registers
Name Start Address Type Access

SBUS#(0:22)_TEMP             Reads temperature in Kelvin from an SBUS sensor (EI-1050/SHT1x/SHT7x). SBUS# is the DIO line for the EI-1050 enable. If SBUS# is the same as the value specified for data or clock line, there will be no control of an enable line.

30100 FLOAT32 R

SBUS#(0:22)_RH             Reads humidity in % from an external SBUS sensor (EI-1050/SHT1x/SHT7x). # is the DIO line for the EI-1050 enable. If # is the same as the value specified for data or clock line, there will be no control of an enable line.

30150 FLOAT32 R

SBUS#(0:22)_DATA_DIONUM             This is the DIO# that the external sensor's data line is connected to.

30200 UINT16 R/W

SBUS#(0:22)_CLOCK_DIONUM             This is the DIO# that the external sensor's clock line is connected to.

30225 UINT16 R/W

SBUS_ALL_DATA_DIONUM             A write to this global parameter sets all SBUS data line registers to the same value. A read will return the correct setting if all channels are set the same, but otherwise will return 0xFF.

30275 UINT16 R/W

SBUS_ALL_CLOCK_DIONUM             A write to this global parameter sets all SBUS clock line registers to the same value. A read will return the correct setting if all channels are set the same, but otherwise will return 0xFF.

30276 UINT16 R/W

SBUS_ALL_POWER_DIONUM             Sets the power line. This DIO is set to output-high upon any read of SBUS#_TEMP or SBUS#_RH. Default is FIO6 for the T4 and FIO2 for the T7. An FIO line can power up to 4 sensors while an EIO/CIO/MIO line or DAC line can power up to 20 sensors. Set to 9999 to disable. To use multiple power lines, use a DAC line for power, or otherwise control power yourself, set this to 9999 and then control power using writes to normal registers such as FIO5, EIO0, or DAC0.

30277 UINT16 R/W

 

1-Wire Registers
Name Start Address Type Access

ONEWIRE_DQ_DIONUM             The data-line DIO number.

5300 UINT16 R/W

ONEWIRE_DPU_DIONUM             The dynamic pullup control DIO number.

5301 UINT16 R/W

ONEWIRE_OPTIONS             Controls advanced features. Value is a bitmask. bit 0: reserved, bit 1: reserved, bit 2: 1=DPU Enabled 0=DPU Disabled, bit 3: DPU Polarity 1=Active state is high, 0=Active state is low (Dynamic Pull-Up)

5302 UINT16 R/W

ONEWIRE_FUNCTION             Set the ROM function to use. 0xF0=Search, 0xCC=Skip, 0x55=Match, 0x33=Read.

5307 UINT16 R/W

ONEWIRE_NUM_BYTES_TX             Number of data bytes to be sent.

5308 UINT16 R/W

ONEWIRE_NUM_BYTES_RX             Number of data bytes to be received.

5309 UINT16 R/W

ONEWIRE_GO             Instructs the T7 to perform the configured 1-wire transaction.

5310 UINT16 W

ONEWIRE_ROM_MATCH_H             Upper 32-bits of the ROM to match.

5320 UINT32 R/W

ONEWIRE_ROM_MATCH_L             Lower 32-bits of the ROM to match.

5322 UINT32 R/W

ONEWIRE_ROM_BRANCHS_FOUND_H             Upper 32-bits of the branches detected during a search.

5332 UINT32 R

ONEWIRE_ROM_BRANCHS_FOUND_L             Lower 32-bits of the branches detected during a search.

5334 UINT32 R

ONEWIRE_SEARCH_RESULT_H             Upper 32-bits of the search result.

5328 UINT32 R

ONEWIRE_SEARCH_RESULT_L             Lower 32-bites of the search result.

5330 UINT32 R

ONEWIRE_PATH_H             Upper 32-bits of the path to take during a search.

5324 UINT32 R/W

ONEWIRE_PATH_L             Lower 32-bits of the path to take during a search.

5326 UINT32 R/W

ONEWIRE_DATA_TX             Data to be transmitted over the 1-wire bus. This register is a buffer.

5340 BYTE W

ONEWIRE_DATA_RX             Data received over the 1-wire bus. This register is a buffer. Underrun behavior - buffer is static, old data will fill the extra locations, firmware 1.0225 changes this to read zeros.

5370 BYTE R

 

Asynchronous Serial
Name Start Address Type Access

ASYNCH_ENABLE             1 = Turn on Asynch. Configures timing hardware, DIO lines and allocates the receiving buffer.

5400 UINT16 R/W

ASYNCH_BAUD             The symbol rate that will be used for communication. 9600 is typical. Up to 38400 works, but heavily loads the T7's processor.

5420 UINT32 R/W

ASYNCH_RX_DIONUM             The DIO line that will receive data. (RX)

5405 UINT16 R/W

ASYNCH_TX_DIONUM             The DIO line that will transmit data. (TX)

5410 UINT16 R/W

ASYNCH_RX_BUFFER_SIZE_BYTES             Number of bytes to use for the receiving buffer. Max is 2048. 0 = 200

5430 UINT16 R/W

ASYNCH_NUM_BYTES_RX             The number of data bytes that have been received.

5435 UINT16 R

ASYNCH_NUM_BYTES_TX             The number of bytes to be transmitted after writing to GO. Max is 256.

5440 UINT16 R/W

ASYNCH_TX_GO             Write a 1 to this register to initiate a transmission.

5450 UINT16 W

ASYNCH_DATA_TX             Write data to be transmitted here. This register is a buffer.

5490 UINT16 W

ASYNCH_DATA_RX             Read received data from here. This register is a buffer. Underrun behavior - fill with zeros.

5495 UINT16 R
Unknown register(s): ASYNCH_NUM_BITS

 

Stream Configuration
Name Start Address Type Access

STREAM_SCANRATE_HZ             Write a value to specify the number of times per second that all channels in the stream scanlist will be read. Max stream speeds are based on Sample Rate which is NumChannels*ScanRate. Has no effect when using and external clock. A read of this register returns the actual scan rate, which can be slightly different due to rounding. For scan rates >152.588, the actual scan interval is multiples of 100 ns. Assuming a core clock of 80 MHz the internal roll value is (80M/(8*DesiredScanRate))-1 and the actual scan rate is then 80M/(8*(RollValue+1). For slower scan rates the scan interval resolution is changed to 1 us, 10 us, 100 us, or 1 ms as needed to achieve the longer intervals.

4002 FLOAT32 R/W

STREAM_NUM_ADDRESSES             The number of entries in the scanlist

4004 UINT32 R/W

STREAM_SAMPLES_PER_PACKET             Specifies the number of data points to be sent in the data packet. Only applies to spontaneous mode.

4006 UINT32 R/W

STREAM_SETTLING_US             Time in microseconds to allow signals to settle after switching the mux. Does not apply to the 1st channel in the scan list, as that settling is controlled by scan rate (the time from the last channel until the start of the next scan). Default=0. When set to less than 1, automatic settling will be used. The automatic settling behavior varies by device.

4008 FLOAT32 R/W

STREAM_RESOLUTION_INDEX             The resolution index for stream readings. A larger resolution index generally results in lower noise and longer sample times.

4010 UINT32 R/W

STREAM_BUFFER_SIZE_BYTES             Size of the stream data buffer in bytes. A value of 0 equates to the default value. Must be a power of 2. Size in samples is STREAM_BUFFER_SIZE_BYTES/2. Size in scans is (STREAM_BUFFER_SIZE_BYTES/2)/STREAM_NUM_ADDRESSES. Changes while stream is running do not affect the currently running stream.

4012 UINT32 R/W

STREAM_AUTO_TARGET             Controls where data will be sent. Value is a bitmask. bit 0: 1 = Send to Ethernet 702 sockets, bit 1: 1 = Send to USB, bit 4: 1 = Command-Response mode. All other bits are reserved.

4016 UINT32 R/W

STREAM_NUM_SCANS             The number of scans to run before automatically stopping (stream-burst). 0 = run continuously. Limit for STREAM_NUM_SCANS is 2^32-1, but if the host is not reading data as fast as it is acquired you also need to consider STREAM_BUFFER_SIZE_BYTES.

4020 UINT32 R/W

STREAM_ENABLE             Write 1 to start stream. Write 0 to stop stream. Reading this register returns 1 when stream is enabled. When using a triggered stream the stream is considered enabled while waiting for the trigger.

4990 UINT32 R/W

STREAM_SCANLIST_ADDRESS#(0:127)             A list of addresses to read each scan. In the case of Stream-Out enabled, the list may also include something to write each scan.

4100 UINT32 R/W

 

Constant Current Sources
Name Start Address Type Access

CURRENT_SOURCE_200UA_CAL_VALUE             Fixed current source value in Amps for the 200UA terminal. This value is stored during factory calibration, it is not a current reading. Using the equation V=IR, with a known current and voltage, it is possible to calculate resistance of RTDs.

1902 FLOAT32 R

CURRENT_SOURCE_10UA_CAL_VALUE             Fixed current source value in Amps for the 10UA terminal. This value is stored during factory calibration, it is not a current reading. Using the equation V=IR, with a known current and voltage, it is possible to calculate resistance of RTDs.

1900 FLOAT32 R

 

Internal Temp Sensor
Name Start Address Type Access

TEMPERATURE_AIR_K             Returns the estimated ambient air temperature just outside of the device in its red plastic enclosure. This register is equal to TEMPERATURE_DEVICE_K - 4.3. If Ethernet and/or WiFi is enabled, subtract an extra 0.6 for each.

60050 FLOAT32 R

TEMPERATURE_DEVICE_K             Takes a reading from the internal temperature sensor using range=+/-10V and resolution=8, and applies the formula Volts*-92.6+467.6 to return kelvins.

60052 FLOAT32 R