Kipp and Zonen
The purpose of this plugin is to collect data from Kipp & Zonen weather stations.
This plugin reads the data from Kipp & Zonen weather stations, via Modbus serial or TCP. Data will be collected to the
weathertable. By default, it will collect data every 5 minutes, but can collect at a minimum rate of
1 second, depending on the speed of the serial connection. The plugin will make
1attempt (by default) to read the data. The following data will be collected from the
kipp_zonnen_smp11.txtconfiguration file, which can collect from the following types of weather stations
SMP3, SMP6, SMP10, SMP11, SMP21 and SMP22 Smart Pyranometer:
Variable Name Units
Solar Radiation W/m^2
Solar Radiation Raw W/m^2
Body Temperature °C
Arguments are as follows:
endpoint. This is either a serial device like
/dev/ttyS0or an IP or DNS like
bus_addresses. A Modbus address in the range 2-255. This can be a hyphenated list like
3-10or a list like
--port. This is an optional parameter used in an Ethernet gateway, and is the TCP port used for the gateway. Default is
--attempts. This is an optional parameter, and determines how many times to times to attempt to read an inverter value. Default is
--delay. This is the delay in seconds between inverter send and receive commands, AND if
attempts> 1. Fractions like
0.3can be used. Default is
--stop_on_any_command_fail. If this is specified, then any Modbus commands that fail will stop all further queries for all bus addresses and attempts.
--serial_lock. If this is set, the program can only be run one at a time (so as not to overload a Modbus device). If the device being queried is a serial device, this will automatically be set to "on". For IP addresses it is optional.
--sampling_rate. If this is defined, and the sampling rate is greater than 1, then all
SWAP16values will be collected as an average. In other words; it will take a sample at the nominated frequency. After X samples defined by
sampling_rate, a record will be written and sent to the cloud.
Please follow the documentation carefully. According to the documentation:
"...Kipp & Zonen has developed a smart interface that features RS-485 Modbus® data communication for connection to programmable logic controllers (PLC’s), inverters, digital control equipment and the latest generation of data loggers... All models are available in two versions. One has an analogue voltage output of 0 to 1 V, the other has an analogue current output of 4 to 20 mA. They all have a 2-wire RS-485 interface with Modbus® (RTU) protocol...."
Use the RS485 leads from the Kipp and Zonen to connect A, B and GND to the Ardexa RS485 adapter. Note carefully the requirement to install: a. A terminating resistor, b. Pull up resistor, and c. Pull down resistor
Once connected, Ardexa will read the data using Modbus RTU, that is; Modbus over RS485. The factory default communication parameters for all Smarts are: • Baud
19200 baud• Size and Parity is
8 bits - even - 1 stopbit• The factory default Modbus address is 1