Skip to content

Modbus Register Table

Complete register mapping for the iCartridge 2.0 Modbus RTU interface.

Slave ID: 0x66 (102 decimal)  |  Baud Rate: 115200  |  Config: 8N1

Input Registers (Read-Only)

Reference 3xxxx - Function 0x04 Read Input Register

RegisterDescriptionData TypeUnit
30001Temperatureint16_tdeci °C
30002Process Pressureint16_tcentibar
30003Barrier Fluid Pressureint16_tcentibar
30004Delta Pressure (Process - Barrier Fluid)int16_tcentibar
30005Pump Powerint16_tcentiwatts
30006Current Yearint16_te.g. 2025
30007Current Monthint16_t1-12
30008Current Dayint16_t1-31
30009Current Hourint16_t0-23
30010Current Minuteint16_t0-59
30011Current Secondint16_t0-59
30012External Accelerometer X-axisint16_tmg
30013External Accelerometer Y-axisint16_tmg
30014External Accelerometer Z-axisint16_tmg
30015Onboard Accelerometer X-axisint16_tmg
30016Onboard Accelerometer Y-axisint16_tmg
30017Onboard Accelerometer Z-axisint16_tmg

Holding Registers (Read/Write)

Reference 4xxxx - Function 0x03 Read / 0x06 Write Holding Register

RegisterDescriptionData TypeUnit / Notes
40001Temperature Setpointint16_tdeci °C
40002Pressure Difference (dP) Setpointint16_tcentibar
40003PID P parameter (temperature)int16_t×100, typical 100-2000 (1.0-20.0)
40004PID I parameter (temperature)int16_t×1000/sec, typical 0-2000 (0.0-2.0)
40005PID D parameter (temperature)int16_t×1000 sec, typical 0-1000 (0.0-1.0)
40006PID Output (temperature)int16_tdeci %
40007Deadband (dP)int16_tcentibar, typical 10-50 (0.1-0.5 bar)
40008Minimum Pulse Time (dP)int16_tcentiseconds
40009Set Yearint16_te.g. 2025, -1 to skip
40010Set Monthint16_t1-12, -1 to skip
40011Set Dayint16_t1-31, -1 to skip
40012Set Hourint16_t0-23, -1 to skip
40013Set Minuteint16_t0-59, -1 to skip
40014Set Secondint16_t0-59, -1 to skip
40015Pressure Hysteresis (dP)int16_tcentibar, typical 10-50 (0.1-0.5 bar)

Coils (Read/Write)

Reference 0xxxx - Function 0x01 Read / 0x05 Write Single Coil

AddressDescriptionType
00001Auto/Manual PID control for temperature (1=Auto, 0=Manual)bool
00002Auto/Manual ON/OFF control for dP (1=Auto, 0=Manual)bool
00003Output solenoid valve 1 (pressure increase)bool
00004Output solenoid valve 2 (pressure decrease)bool

Discrete Inputs (Read-Only)

Reference 1xxxx - Function 0x02 Read Discrete Inputs

AddressDescriptionType
10001Status iCartridge 2.0 - Errorbool
10002Status iCartridge 2.0 - Statebool
10003Process Pressure sensor readybool
10004Barrier Fluid Pressure sensor readybool
10005Pump feedback readybool
10006Temperature sensor readybool
10007Pump Standby (true = standby/stop)bool
10008Pump Fault - Blocked (true = alarm, blocked pump)bool
10009Pump Fault - Electrical (true = alarm, electrical fault)bool
10010Pump Warning (true = warning condition)bool
10011External Accelerometer readybool
10012Onboard Accelerometer readybool

Unit Conversion Reference

Stored UnitConversionExample
deci °C× 0.1 = °C250 → 25.0 °C
centibar× 0.01 = bar150 → 1.50 bar
centiwatts× 0.01 = W500 → 5.00 W
centiseconds× 0.01 = s100 → 1.00 s
mg× 0.001 = g1000 → 1.000 g

PID Parameters

PID sample time is 1 second.

ParameterConversionExample
Kpregister value / 100150 → Kp = 1.50
Kiregister value / 1000800 → Ki = 0.800 /s
Kdregister value / 1000200 → Kd = 0.200 s

Default PID values: P=300 (Kp=3.0), I=0, D=0

Setting the RTC

Write valid values to registers 40009-40014 to update the real-time clock. After a successful update, all fields are automatically reset to -1.

Example - Set time to 2025-03-15 14:30:45:

RegisterValue
40009 (Year)2025
40010 (Month)3
40011 (Day)15
40012 (Hour)14
40013 (Minute)30
40014 (Second)45

INFO

All six time fields must contain valid (positive) values for the RTC update to trigger. Fields are reset to -1 after a successful update to prevent repeated writes.