Kipp & Zonen · Sensor
SMP series pyranometers (SMP3 / SMP6 / SMP10 / SMP12) Modbus register map
Default configuration
- Protocol
- RS485
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- High word first
- Baud rate
- 19200
- Parity
- Even
- Data bits
- 8
- Stop bits
- 1
This device has an RS-485 interface. Reach it through a Modbus RTU-to-TCP gateway, configured with the factory serial settings above.
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 0 | 1 | Device type | UInt16 | - | 1 | R |
| 1 | 1 | Object data model version | UInt16 | - | 1 | R |
| 2 | 1 | Operational mode Normal, service, calibration or factory mode. | UInt16 | - | 1 | R |
| 3 | 1 | Status flags | UInt16 | - | 1 | R |
| 4 | 1 | Scale factor for sensor data Sets the number of decimal places of the sensor data registers. | Int16 | - | 1 | R |
| 5 | 1 | Temperature compensated radiation Sensor 1 (short wave radiation; net radiation on the SGR). The decimal point is set by the scale factor register 4. | Int16 | W/m² | 1 | R |
| 6 | 1 | Raw non-linearised radiation Raw, non-linearised and non-temperature compensated radiation. | Int16 | W/m² | 1 | R |
| 7 | 1 | Standard deviation of radiation Standard deviation of the radiation over the last period, in 0.1 W/m2 (value = register / 10). | Int16 | W/m² | 0.1 | R |
| 8 | 1 | Body temperature | Int16 | °C | 0.1 | R |
| 9 | 1 | External power voltage External voltage at the chassis socket in 0.1 V (value = register / 10). | Int16 | V | 0.1 | R |
| 18 | 2 | ADC counts, radiation sensor Input voltage of sensor 1 in V (registers 18 MSB and 19 LSB). | Int32 | - | 0.01 | R |
| 22 | 2 | ADC counts, body temperature sensor Input voltage of the body temperature sensor in V. | Int32 | - | 0.01 | R |
| 24 | 2 | ADC counts, power sensor Input voltage of the power sensor in V. | Int32 | - | 0.01 | R |
| 26 | 1 | Error code Most recent / actual error code. | UInt16 | - | 1 | R |
| 27 | 1 | Protocol error | UInt16 | - | 1 | R |
| 28 | 1 | Priority 1 error count | UInt16 | - | 1 | R |
| 29 | 1 | Priority 2 error count | UInt16 | - | 1 | R |
| 30 | 1 | Restart count Number of controlled restarts. | UInt16 | - | 1 | R |
| 31 | 1 | False start count Number of uncontrolled restarts. | UInt16 | - | 1 | R |
| 32 | 1 | Sensor on time, MSB On time in seconds, high word. | UInt16 | s | 1 | R |
| 33 | 1 | Sensor on time, LSB On time in seconds, low word. | UInt16 | s | 1 | R |
| 41 | 1 | Production batch number Year of production in YY. | UInt16 | - | 1 | R |
| 42 | 1 | Serial number | UInt16 | - | 1 | R |
| 43 | 1 | Software version | UInt16 | - | 1 | R |
| 44 | 1 | Hardware version | UInt16 | - | 1 | R |
| 45 | 1 | Node ID Modbus device address on RS-485. | UInt16 | - | 1 | R |
| 10006 | 2 | Radiation (floating point) Temperature compensated radiation with the decimal point set by the scale factor (register 4 / holding register 34). | Float32 | W/m² | 1 | R |
| 10008 | 2 | Standard deviation of radiation (floating point) | Float32 | W/m² | 1 | R |
| 10010 | 2 | Long wave down radiation (floating point) SGR only. | Float32 | W/m² | 1 | R |
| 10014 | 2 | Body temperature (floating point) | Float32 | K | 1 | R |
| 10016 | 2 | External power voltage (floating point) | Float32 | V | 1 | R |
| 10018 | 2 | PV panel temperature (floating point) DustIQ and RT1 only. | Float32 | K | 1 | R |
| 10020 | 2 | Tilt of the sensor (floating point) Tilt of the sensor in degrees (manual name FL_TILT). | Float32 | ° | 1 | R |
| 10022 | 2 | Internal relative humidity (floating point) Internal relative humidity of the instrument in % (manual name FL_RH). | Float32 | % | 1 | R |
Notes
RS-485 device: reach it through a Modbus RTU-to-TCP gateway using the factory serial settings above (address 1, 19200 bps, 8 data bits, even parity, 1 stop bit). Source: Kipp & Zonen 'SMP series smart pyranometer' manual SO-KZ-RE-mn-SMP_Series-EN-GL-231130 (30.11.2023), freely downloadable from https://cdn.hach.com/1XMCM0ZF/at/5jt5827v32k5c74ncf4vg8/SO-KZ-RE-mn-SMP_Series-EN-GL-231130.pdf: chapter 15.2 'Input registers overview' (printed pages 36-39) for the integer registers and for the 'Real time floating data points' block starting at PDU address 10000 (page 38), chapter 15.3 for holding register 34, chapter 15.5/15.6 for the 0.1 V / 0.1 degC / 0.1 W/m2 scaling of the integer registers, and chapter 8.1 for the factory communication settings. The PDU addresses in those tables are the wire addresses used here. The instruments do not distinguish holding from input registers, so read-only values are also available with function code 03. Radiation is reported in W/m2 but its number of decimals is set by the scale factor register (input register 4 / holding register 34); the scale factors here assume the common factory scale factor 0. In the cited 2023 edition, registers 15/16 of the integer table are SMP12-only (0.1 ° / 0.1 %), so they are not modelled; the floating-point tilt and humidity values (FL_TILT 10020, FL_RH 10022) are documented for every SMP model and are listed, while the SMP12-only tilt roll/pitch pair (20000/20002) is left out.