Easy Modbus
  1. Home
  2. Modbus register maps
  3. Grundfos
  4. SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500)

Pump (chemical dosing pump) · Modbus register map

Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) Modbus register map

Updated 29 October 2026

Short answer

Grundfos DDA diaphragm dosing pumps expose one Modbus register map whether they talk through the built-in SoftCIM ports (DDA model C) or a CIM module in a CIU 900. Control registers start/stop the pump, pick the operating mode and write setpoints such as the manual dosing rate and batch volume; status and measurement registers report the actual mode, fault and warning codes, dosing capacity, backpressure, total volume and tank level. 32-bit values are split into HI/LO register pairs.

This page lists 58 Modbus registers for the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) — 19 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Grundfos’s own free documentation (linked below) and checked against it.

Manufacturer
Grundfos
Model
SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500)
Equipment type
Pump (chemical dosing pump)
Registers
58 (19 writable)
Transport
Modbus RTU, Modbus TCP
Default unit ID
Not stated
Default serial
19200 baud, 8E1
TCP port
502
Documented addressing
1-based (subtract 1 for the wire address)
32-bit word order
ABCD high word first (big-endian)
Also known as
DDA, DDA S, DDA XL, DDA-C, DDA model C, SMART Digital S, SMART Digital XL, CIM 200, CIM 500, 98473491
Source document
Modbus for Smart Digital Dosing - SoftCIM Modbus RTU, SoftCIM Modbus TCP, CIM 200 Modbus RTU, CIM 500 Ethernet for Modbus TCP - Functional profile · 98473491 (ECM 1462084) · rev. 2026-09
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500)

Integration in brief

Turn on Bus/Cloud control in the pump (HMI or Grundfos GO), then write 00101 bit 0 = 1 (RemoteAccessReq), choose the mode in 00105, write the setpoint (e.g. 00106-00107 in 0.1 ml/h) and send 00104 = 0 to start. Watch 00201 bit 0 to confirm remote control and poll 00204/00217/00218 for running, fault and warning.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 100Mode/state settingsBITMAP16Remote access request bitRead/write
HR 103ReqStartStopUINT16Start/stop requestRead/write
HR 104OperatingModeUINT16Operating modeRead/write
HR 105SetSetpointManualUINT32 ABCDManual dosing setpointRead/write
HR 200Actual mode/state settingsBITMAP16Remote access confirmedRead
HR 203Miscellaneous statusBITMAP16Running / warning / fault bitsRead
HR 216FaultCodeUINT16Fault codeRead
HR 217WarningCodeUINT16Warning codeRead
HR 305MeasuredDosingCapacityUINT32 ABCDMeasured dosing capacityRead
HR 311VolumeTotalUINT32 ABCDTotal dosed volumeRead

Enable Modbus control & writes

In the pump HMI or the Grundfos GO app set Settings > Communication > Bus/Cloud control = On. Then set 00101 bit 0 (RemoteAccessReq) = 1; without it all control bits are ignored. Relays and the analog output answer Modbus only when their function is set to Bus control in the pump.

Communication loss & watchdog

A fixed 10 s communication watchdog is switched on the first time Bus/Cloud control is enabled; it can be turned off or on with 00102 bit 2 (persistent). If Modbus traffic stops for more than 10 s the pump stops dosing and raises alarm 15; it resumes when communication returns.

Byte order & addressing

Network setup

Watch out for

Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

58 of 58 shown
Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
HR0doc 00001SlaveMinimumReplyDelayExtra reply delay 0-10000 ms; CIM 200 only.UINT16msRead/write
HR2doc 00003SoftwareDefinedModbusAddrSlave address for SoftCIM Modbus RTU on DDA model C.UINT16Read/write
HR3doc 00004SoftwareDefinedBitRateUsed when SW4/SW5 select software-defined (CIM 200) or by SoftCIM RTU.UINT16Read/write0 = 1200; 1 = 2400; 2 = 4800; 3 = 9600; 4 = 19200; 5 = 38400
HR4doc 00005AutoAckControlBits1 = rising-edge control bits are cleared automatically once accepted.UINT16Read/write0 = Disabled; 1 = Enabled
HR8doc 00009SoftwareDefinedParityUINT16Read/write0 = None; 1 = Even; 2 = Odd
HR9doc 00010SoftwareDefinedStopBitUINT16Read/write0 = No stop bit; 1 = 1 stop bit; 2 = 2 stop bits
HR22doc 00023VersionNumberCIM / SoftCIM software version.UINT16Read
HR23doc 00024ActualModbusAddressSlave address in use, 1-247.UINT16Read
HR29doc 00030UnitFamily30 = Smart Digital dosing DDA.UINT16Read30 = Smart Digital dosing DDA
HR30doc 00031UnitTypeUINT16Read1 = DDA S; 3 = DDA XL; 4 = DDA-C
HR31doc 00032UnitVersionGrundfos product version number.UINT16Read
HR100doc 00101Mode/state settingsControl bits; bit 0 must be 1 for Modbus control.BITMAP16Read/writebit 0 = RemoteAccessReq: 1 = control from Modbus; bit 1 = De-aerating (100 %): 1 = start de-aeration; bit 2 = AnalogMode: 0 = 0-20 mA, 1 = 4-20 mA; bit 3 = TimerMode: 0 = cycle timer, 1 = week timer; bit 4 = SlowMode: 1 = enabled; bit 5 = Velocity: 0 = SlowMode 50 %, 1 = SlowMode 25 %
HR101doc 00102Enable/disable functionsBITMAP16Read/writebit 0 = AutoDeaeratingEnable; bit 1 = FlowControlEnable; bit 2 = ModbusWatchdogEnable; bit 3 = AutoFlowAdaptEnable (needs FlowControl); bit 4 = PulseMemoryEnable
HR102doc 00103Action commandsRising-edge commands; acknowledged in 00203.BITMAP16Read/writebit 0 = ResetFault; bit 1 = Pulse (same as an external pulse); bit 2 = ResetVolumeCounter (trip counter); bit 3 = SetRTC (load clock from 00117-00122)
HR103doc 00104ReqStartStopRemote start/stop request.UINT16Read/write0 = ReqStart; 1 = ReqStop
HR104doc 00105OperatingModeRequested dosing mode.UINT16Read/write0 = Manual; 1 = Pulse; 2 = Analog; 3 = Timer; 4 = Batch; 5 = HMI batch; 7 = Proportional dosing, pulse flow sensor; 8 = Proportional dosing, 0-20 mA flow sensor; 9 = Proportional dosing, 4-20 mA flow sensor
HR105doc 00106-00107SetSetpointManualDosing setpoint for Manual mode.UINT32ABCD× 0.1ml/hRead/write
HR107doc 00108-00109SetPulseVolumeVolume dosed per pulse in Pulse mode.UINT32ABCDnlRead/write
HR109doc 00110-00111SetBatchDosingVolumeBatch volume for Batch mode.UINT32ABCD× 0.001mlRead/write
HR111doc 00112-00113SetBatchDosingTimeBatch dosing time for Batch mode.UINT32ABCD× 0.1sRead/write
HR113doc 00114SetPressureMaxPressure alarm limit.UINT16× 0.1barRead/write
HR114doc 00115SetOutputRelaysRelays must be set to Bus control in the pump first.BITMAP16Read/writebit 0 = Relay 1: 1 = active; bit 1 = Relay 2: 1 = active
HR115doc 00116SetAnalogOutputAnalog output value when the output is set to Bus control.UINT16× 0.001mARead/write
HR122doc 00123-00124SetTargetConcentrationTarget chemical concentration for proportional dosing.UINT32ABCD× 0.1ppmRead/write
HR200doc 00201Actual mode/state settingsRead-back of 00101.BITMAP16Readbit 0 = ActRemoteAccess: 1 = pump is under Modbus control; bit 1 = ActDeaerating; bit 2 = ActAnalogMode: 0 = 0-20 mA, 1 = 4-20 mA; bit 3 = ActTimerMode: 0 = cycle, 1 = week; bit 4 = ActSlowMode; bit 5 = ActVelocity: 0 = 50 %, 1 = 25 %
HR201doc 00202Actual enable/disable functionsRead-back of 00102.BITMAP16Readbit 0 = ActAutoDeaeratingEnable; bit 1 = ActFlowControlEnable; bit 2 = ActModbusWatchdogEnable; bit 3 = ActAutoFlowAdaptEnable; bit 4 = ActPulseMemoryEnable
HR202doc 00203Action command acknowledgementsSet when a 00103 command is executed; cleared when its bit is cleared.BITMAP16Readbit 0 = ResetFaultAck; bit 1 = PulseAck; bit 2 = ResetVolumeCounterAck; bit 3 = SetRTCAck
HR203doc 00204Miscellaneous statusBITMAP16Readbit 0 = Dosing (running); bit 1 = Warning; bit 2 = Fault (pump stopped); bit 3 = BusControlLocallyEnabled
HR204doc 00205ActualStartStopUINT16Read0 = Started; 1 = Stopped; 2 = Calibrating; 3 = Service
HR205doc 00206ActualOperatingModeUINT16Read0 = Manual; 1 = Pulse; 2 = Analog; 3 = Timer; 4 = Batch; 5 = HMI batch; 7 = Proportional dosing, pulse flow sensor; 8 = Proportional dosing, 0-20 mA flow sensor; 9 = Proportional dosing, 4-20 mA flow sensor
HR206doc 00207-00208ActualSetpointManualManual-mode setpoint in use.UINT32ABCD× 0.1ml/hRead
HR208doc 00209-00210ActualPulseVolumeUINT32ABCDnlRead
HR210doc 00211-00212ActualBatchDosingVolumeUINT32ABCD× 0.001mlRead
HR212doc 00213-00214ActualBatchDosingTimeUINT32ABCD× 0.1sRead
HR214doc 00215ActualPressureMaxPressure alarm limit in use.UINT16× 0.1barRead
HR215doc 00216ControlSourceStatesWhich stop sources are active (1 = active).BITMAP16Readbit 0 = Stop from pump HMI or GO app; bit 1 = External stop; bit 2 = Stop from bus
HR216doc 00217FaultCodeEvent code of the active alarm.UINT16Read12 = Service now (warning); 15 = Modbus communication fault, main network (alarm); 17 = Flow deviation (warning); 33 = Service soon (warning); 35 = Gas in pump head / de-aerating problem (warning); 36 = Discharge valve leakage (warning); 37 = Suction valve leakage (warning); 51 = Blocked motor or pump (alarm); 57 = Empty tank / dry running (alarm); 64 = Motor head overheated (alarm); 97 = Analog input below 2 mA (alarm); 157 = Real-time clock out of order / battery low (warning); 159 = CIU / GENIbus communication fault (alarm); 165 = Analog input above 21 mA (alarm); 169 = FlowControl cable breakdown (warning); 206 = Low level in tank (warning); 208 = Cavitation (warning); 210 = Max. pressure limit exceeded (alarm); 211 = Backpressure too low (alarm or warning); 247 = Pump powered on (alarm)
HR217doc 00218WarningCodeEvent code of the first active warning.UINT16Read12 = Service now (warning); 15 = Modbus communication fault, main network (alarm); 17 = Flow deviation (warning); 33 = Service soon (warning); 35 = Gas in pump head / de-aerating problem (warning); 36 = Discharge valve leakage (warning); 37 = Suction valve leakage (warning); 51 = Blocked motor or pump (alarm); 57 = Empty tank / dry running (alarm); 64 = Motor head overheated (alarm); 97 = Analog input below 2 mA (alarm); 157 = Real-time clock out of order / battery low (warning); 159 = CIU / GENIbus communication fault (alarm); 165 = Analog input above 21 mA (alarm); 169 = FlowControl cable breakdown (warning); 206 = Low level in tank (warning); 208 = Cavitation (warning); 210 = Max. pressure limit exceeded (alarm); 211 = Backpressure too low (alarm or warning); 247 = Pump powered on (alarm)
HR225doc 00226TankLevelMonitoringHow the feed-tank level is monitored.UINT16Read0 = Float switch; 1 = Calculated (sensor-less); 2 = Analog sensor
HR301doc 00302-00303DosingCapacityMaxFactory maximum dosing capacity of this pump.UINT32ABCD× 0.1ml/hRead
HR303doc 00304-00305DosingCapacityReferenceCapacity setpoint shown on the display.UINT32ABCD× 0.1ml/hRead
HR305doc 00306-00307MeasuredDosingCapacityNeeds FlowControl enabled (00102 bit 1).UINT32ABCD× 0.1ml/hRead
HR307doc 00308MeasuredPressureBackpressure; needs FlowControl enabled.UINT16× 0.1barRead
HR309doc 00310-00311RemainingDosingVolumeVolume still to dose in Batch mode.UINT32ABCD× 0.001mlRead
HR311doc 00312-00313VolumeTotalTotal dosed volume, not resettable.UINT32ABCD× 0.001lRead
HR313doc 00314-00315VolumeTripCounterResettable with 00103 bit 2.UINT32ABCD× 0.001lRead
HR315doc 00316AnalogInput0/4-20 mA input signal.UINT16× 0.001mARead
HR316doc 00317AnalogOutputPresent analog output signal.UINT16× 0.001mARead
HR317doc 00318DigitalInputs1 = input active (NO/NC set in the pump).BITMAP16Readbit 0 = Low-level signal; bit 1 = Empty signal; bit 2 = External stop
HR318doc 00319OutputRelays1 = output active.BITMAP16Readbit 0 = Relay 1; bit 1 = Relay 2; bit 2 = Auto de-aerating valve open
HR319doc 00320NumberOfPowerOnsPower-up counter, not resettable.UINT16Read
HR324doc 00325-00326StrokeCounterNumber of strokes, not resettable.UINT32ABCDRead
HR326doc 00327-00328TimeToNextDosingTimer mode only.UINT32ABCDsRead
HR328doc 00329-00330TankVolumeFeed tank volume (tank monitoring without sensor).UINT32ABCD× 0.1lRead
HR330doc 00331-00332TankVolumeRemainingChemical left in the feed tank (without sensor).UINT32ABCD× 0.1lRead
HR332doc 00333TankLevelRemainingPctFeed tank level (tank monitoring with sensor).UINT16× 0.1%Read
HR333doc 00334-00335PropDosingProcessFlowMeasured process flow (proportional dosing).UINT32ABCD× 0.1l/hRead
HR337doc 00338-00339PropDosingActualConcentrationActual concentration (proportional dosing).UINT32ABCD× 0.1ppmRead

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500)

What Modbus registers does the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) have?

This map lists 58 registers: 58 holding registers. 19 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers 1-based (subtract 1 for the wire address). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Registers are printed as 5-digit numbers from 00001. The profile says register X is sent as X-1 in the telegram (its example: 00115 SetOutputRelays goes out as 00114), so 00101 is wire address 100.

What byte order does the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) use for 32-bit values?

Multi-register values in this map use ABCD (high word first (big-endian)). Set your client to this order for every 32/64-bit value in the table.

What are the minimum Modbus registers to integrate the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500)?

Start with HR 100 Mode/state settings (Remote access request bit); HR 103 ReqStartStop (Start/stop request); HR 104 OperatingMode (Operating mode); HR 105 SetSetpointManual (Manual dosing setpoint); HR 200 Actual mode/state settings (Remote access confirmed); HR 203 Miscellaneous status (Running / warning / fault bits); HR 216 FaultCode (Fault code); HR 217 WarningCode (Warning code); HR 305 MeasuredDosingCapacity (Measured dosing capacity); HR 311 VolumeTotal (Total dosed volume).

How do I enable Modbus control of the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500)?

In the pump HMI or the Grundfos GO app set Settings > Communication > Bus/Cloud control = On. Then set 00101 bit 0 (RemoteAccessReq) = 1; without it all control bits are ignored. Relays and the analog output answer Modbus only when their function is set to Bus control in the pump.

What happens when the Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) loses Modbus communication?

A fixed 10 s communication watchdog is switched on the first time Bus/Cloud control is enabled; it can be turned off or on with 00102 bit 2 (persistent). If Modbus traffic stops for more than 10 s the pump stops dosing and raises alarm 15; it resumes when communication returns.

Where is the official Grundfos SMART Digital DDA dosing pump (SoftCIM, CIM 200 / CIM 500) Modbus documentation?

The source is Modbus for Smart Digital Dosing - SoftCIM Modbus RTU, SoftCIM Modbus TCP, CIM 200 Modbus RTU, CIM 500 Ethernet for Modbus TCP - Functional profile (98473491 (ECM 1462084)), revision 2026-09, published free by Grundfos at https://api.grundfos.com/literature/Grundfosliterature-6012959.pdf.

More Grundfos Modbus register maps

Source: Modbus for Smart Digital Dosing - SoftCIM Modbus RTU, SoftCIM Modbus TCP, CIM 200 Modbus RTU, CIM 500 Ethernet for Modbus TCP - Functional profile · 98473491 (ECM 1462084) · rev. 2026-09. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.