
Danfoss SonoMeter 40
Ultrasonic heat and cooling meter for energy, power, flow, temperatures and volume in heating and cooling systems.
The Danfoss SonoMeter 40 is an ultrasonic energy meter that measures heating and cooling energy, power, flow and temperatures in heating and cooling systems, for example the heat delivered to a greenhouse. This Modbus RTU template reads energy, volume, power, flow, forward and return temperature and the error code, and lets you write the module address, update rate and serial settings from ModbusCloud.
- Protocol
- Modbus RTU
- Connection
- RS485, 9600 baud
- Registers
- 51, read and write
- Brand
- Danfoss
- Key readings
- Heating energy · Cooling energy · Power · Flow · Forward temperature · Return temperature · Temperature difference · Error code
- Available commands
- Modbus address · Update rate from the meter · Baud rate · Parity
- Compatible models
- SonoMeter 40 · Axioma Qalcosonic E3 with Modbus RTU Slave Module · Axioma Qalcosonic E4 with Modbus RTU Slave Module
- Last updated
Registers (51)
51 read, 6 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| Heating Energy | Read | ||||
| Cooling Energy | Read | ||||
| Power | kW | Read | |||
| Flow | m³/h | Read | |||
| Forward Temperature | °C | Read | |||
| Return Temperature | °C | Read | |||
| Temperature Difference | K | Read | |||
| Volume | m³ | Read | |||
| Tariff Energy 1 | Read | ||||
| Tariff Energy 2 | Read | ||||
| Pulse Input Volume 1 | m³ | Read | |||
| Pulse Input Volume 2 | m³ | Read | |||
| Forward Temperature Fixed | °C | Read | |||
| Return Temperature Fixed | °C | Read | |||
| Temperature Difference Fixed | K | Read | |||
| Error Code | Read | ||||
| Modbus Slave ID | Read and write | ||||
| Update Rate Data From Meter | s | Read and write | |||
| Baud Rate | Read and write | ||||
| Data Bits | Read and write | ||||
| Parity | Read and write | ||||
| Stop Bits | Read and write | ||||
| Heating Energy Integer | Read | ||||
| Cooling Energy Integer | Read | ||||
| Tariff Energy 1 Integer | Read | ||||
| Tariff Energy 2 Integer | Read | ||||
| Volume Integer | Read | ||||
| Pulse Input Volume 1 Integer | Read | ||||
| Pulse Input Volume 2 Integer | Read | ||||
| Power Integer | Read | ||||
| Flow Integer | Read | ||||
| Heating Energy Unit Factor | Read | ||||
| Cooling Energy Unit Factor | Read | ||||
| Tariff Energy 1 Unit Factor | Read | ||||
| Tariff Energy 2 Unit Factor | Read | ||||
| Volume Unit Factor | Read | ||||
| Pulse Input Volume 1 Unit Factor | Read | ||||
| Pulse Input Volume 2 Unit Factor | Read | ||||
| Power Unit Factor | Read | ||||
| Flow Unit Factor | Read | ||||
| Heating Energy Unit | Read | ||||
| Cooling Energy Unit | Read | ||||
| Tariff Energy 1 Unit | Read | ||||
| Tariff Energy 2 Unit | Read | ||||
| Volume Unit | Read | ||||
| Pulse Input Volume 1 Unit | Read | ||||
| Pulse Input Volume 2 Unit | Read | ||||
| Power Unit | Read | ||||
| Flow Unit | Read | ||||
| Heat Meter Serial Number | Read | ||||
| Heat Meter Serial Number ASCII | Read |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Show heat power, flow and forward and return temperature of each heat meter on a dashboard, for example per greenhouse section or heat source.
- Keep a year of heating energy history to compare the daily and monthly heat delivered to each part of the greenhouse.
- Get an email alert when the error code is not 0, so a temperature sensor fault, an empty flow sensor or reverse flow is noticed quickly.
- Set an alarm when the power or the temperature difference stays below a threshold you choose.
- Set the update rate of the module to 300 seconds remotely, so the meter data refreshes as often as ModbusCloud reads it by default.
- Download energy and volume readings as CSV for your own heat delivery reports.
Installation
Connect a 12 to 24 V AC/DC SELV power supply to terminals 60 and 61 of the Modbus RTU module of the SonoMeter 40. The polarity does not matter.
Wire terminals 90 (A+) and 91 (B-) to the RS485 port of the ModbusCloud Gateway with twisted pair cable, and terminate the bus with 120 Ohm at both ends.
By default the Modbus address is the last two digits of the meter serial number (00 gives 100) or the meter M-Bus address. The default bus settings are 9600 baud, 8 data bits, even parity and 1 stop bit.
In ModbusCloud, add a Modbus device with protocol RTU, that address and 9600 8E1, then import this template.
Compare Heating Energy, Power and the temperatures in ModbusCloud with the meter display. The status LED of the module blinks with every request and response.
Things to watch for
The meter does not answer. What should I check?
Check that the module has its 12 to 24 V supply on terminals 60 and 61 and that its LED blinks when the Gateway polls. Then check 9600 baud, 8 data bits, even parity, 1 stop bit and the address. That is the last two digits of the serial number, 100 if those are 00, or the M-Bus address. Swap A and B and check the 120 Ohm termination at both ends of the bus.
Why do the values only change every ten minutes?
The module reads the meter itself at a fixed interval, by default every 600 seconds, and answers Modbus requests from that copy. Write Update Rate Data From Meter to set a shorter interval, for example 300 seconds (raw value 3000) to match the default ModbusCloud reading interval.
Energy, power and temperatures show absurd values. Why?
The template reads 32-bit values high word first. If the floating point values show huge or tiny numbers while the unit registers show normal text such as MWh, the word order on your installation is reversed. Set the 32-bit registers to low word first in ModbusCloud and compare Heating Energy with the meter display.
Why does heating energy have no unit?
The meter counts energy in MWh or GJ, depending on its configuration. Heating Energy Unit shows the unit as text. Read it once and enter that unit on the energy registers in ModbusCloud. Use the floating point values for dashboards, because the integer values also need their unit factor.
Can I change the address or serial settings from ModbusCloud?
Yes, the module address, update rate, baud rate, data bits, parity and stop bits are writable. Writing is off per gateway by default, so request it for the gateway in the portal first. After a change, set the Modbus device in ModbusCloud to the same values. If the module no longer answers, power it off for 10 seconds, hold SET while you power it on and release it when the LED blinks fast after about 12 seconds.
Want to see how it works?














