Table of Contents
Meteo-42 SCADA Server can be used to monitor performance and production of wind farms
    by providing reliable meteorological data. Meteo-42 data loggers support the standard
    protocols
    Modbus TCP/IP over Ethernet as well as
    Modbus RTU over RS-485 (server).
SCADA parameters can be configured in the → menu. In order to activate SCADA for Meteo-42, select the checkbox Activate SCADA server.
Figure 8.1. Configuring SCADA Parameters

Depending on the SCADA system in which Meteo-42 is integrated, a protocol for data retrieval has to be chosen:
If you use Modbus TCP, a TCP port has to be entered. The default value is 502. If Allow global access is selected, the SCADA server will be accessible over every available TCP connection (e.g. Ethernet, Modem, USB-B), otherwise it will only be available over the Ethernet connection. By entering an IP address in field Allowed client IP address, the access to the data can be restricted to a single IP. Only the client with the specified IP address can request data from Meteo-42. If the field is left empty or filled with value 0.0.0.0, any client is allowed to access the data. You can also introduce a list of IP addresses separated by a semicolon (;), e.g. 192.168.13.5;192.168.14.6
![]()  | Note | 
|---|---|
In most SCADA systems, the Ethernet interface should be configured properly with a static IP address. Refer to Section 7.7, “Configuring LAN Parameters” for further details.  | 
![]()  | Important | 
|---|---|
If a USB modem is connected to Meteo-42 and Ethernet is used for SCADA, it is
            necessary to select
              | 
In order to connect Meteo-42 to a fiber optic, an industrial media converter 10/100BaseT to 100BaseFX (-40–75 °C) can be used.
Make sure that your Modbus TCP client is addressing the Meteo-42 SCADA server with the proper Modbus unit ID configured here. The default value is 1.
Modbus TCP uses the unit identificator for routing purposes in case of addressing a device on a MODBUS or MODBUS+ serial line subnetwork. The Modbus TCP server is still sensitive for this parameter. For further details see MODBUS Messaging on TCP/IP Implementation Guide V1.0b recommendations at The Modbus Organization.
If you are using the Modbus RTU protocol, Modbus Unit ID and RS-485 serial settings (speed and data format) have to be selected.
Available baud rates: 115200, 57600, 38400, 19200 and 9600 bits per second.
Available serial settings (data/parity/stop): 8N1, 8N2, 8E1.
If you are using more than one Meteo-42 data logger in your SCADA system, each data logger requires a unique Modbus Unit ID and all data loggers have to use the same RS-485 serial settings (speed and data format).
Save your settings. Otherwise, the configuration is reset to the previous values after moving to another page.
To use Meteo-42 SCADA server, the CECS must remain permanently on (see also Section 4.2, “System Administration”). This mode is automatically set when the SCADA server is activated in the → . You can only switch it off again after deactivating the SCADA server.
![]()  | Important | 
|---|---|
CECS is a fully embedded Linux™ computer (see also Section 1.4, “The Two Systems of Meteo-42”). Be aware that the power consumption of Meteo-42 is higher, when CECS is switched on.  | 
It is possible to request both live data and statistics over SCADA. Only selected statistics, also included in the CSV files, are available (see statistics selection menu). The time interval over which the SCADA statistics are calcuated defaults to 10 minutes and can be modified in menu → menu (see also Section 6.3.1, “Configuring Statistics and CSV files”).
![]()  | Important | 
|---|---|
The same statistics interval is used for SCADA, the logic controller and live data.  | 
Summary statistics are normally used to calculate the summary over a complete day. It is available for precipitation, precipitation intensity, status, sun status, bat passes and bat pulses evaluations. The SCADA summary interval can also be changed in → menu.
The Modbus register map in the Meteo-42 web interface only shows the selected statistics from the → menu. Go to the → menu and select the required data. See also Section 6.3.1, “Configuring Statistics and CSV files”.
It is possible to monitor the incoming Modbus traffic to Meteo-42 SCADA server, both for the Modbus TCP and for the Modbus RTU implementation. This allows you to see if any requests are arriving from a SCADA client and if the Meteo-42 is responding.
Figure 8.2. SCADA diagnose tool

Press the start and stop buttons at the → to start and stop showing the current Modbus traffic. After one minute, this function is automatically disabled and can be manually re-enabled.
![]()  | Note | 
|---|---|
This implementation is an approximate display of the current Modbus traffic with one second accuracy. It is possible that some frames do not get displayed.  | 
The configurable Modbus Register Map allows Meteo-42 to operate in most existing SCADA systems. The user must determine which measurement values should be available for the SCADA client and configure a unique address for each measurement (first reference is 0, available range is 0 to 65535). For more information about the supported function codes see the public function code definition from the Modbus application protocol specification The Modbus Organization.
![]()  | Important | 
|---|---|
Meteo-42 uses Protocol Data Unit (PDU) addressing, i.e. the start address is 0. Typically, reference numbers are one-indexed, meaning that the start value of a given range is one. Thus if your Modbus client expects the value at register 400001, you must introduce addess 0 in Meteo-42 Modbus Holding Register Map. No prefixing for the data blocks is used (e.g. 3 for input and 4 for holding registers).  | 
All registers in range 0 to 65535 not selected to hold a measurement will contain the hexadecimal value FFFFh. If the register is selected but no valid measurement is present, the invalid value corresponding to the configured data type is written (see Table 8.1, “Modbus Invalid values”).
Table 8.1. Modbus Invalid values
| Data Type | Invalid Value | 
|---|---|
| short (16-bit integer) | 7FFFh | 
| ushort (16-bit unsigned integer) | FFFFh | 
| long (32-bit integer) | 7FFFFFFFh | 
| ulong (32-bit unsigned integer) | FFFFFFFFh | 
| IEEE 754 (32-bit single precision binary floating point) | 7FC00000h | 
| Unix Time | 00000000h | 
Figure 8.3. SCADA Modbus Register Table

MeasurementsName of the evaluation, channel, or measurand. For every measurand either two or four registers are used, depending on the data type selected (see Table 8.2, “Optional Available Information and configuration”).
Name of date, time, and switches fields. Every single value needs one register,
          with the exception of the UNIX time (seconds since
          1970-01-01 00:00:00 GMT), which needs two registers.
Live,
        Avg, ...
        Med)In these fields, the modbus register number where each measurement value will be contained must be introduced.
For each evaluation or channel, a data type can be selected, e.g.
          float, (see
          Table 8.2, “Optional Available Information and configuration”).
For each evaluation or channel, a scale factor can be selected, e.g.
          float, (see
          Table 8.2, “Optional Available Information and configuration”).
Describes instantly measured data of the active channels (A
          n, AC n,
          C n, D
          n, R n
          C m, P
          n) and switches (S
          n) as well as instantly evaluated data (Top Anemometer Wind
          Speed (m/s), Precipitation (mm), etc.).
Live data are updated in the Modbus store once per second. If a higher measurement rate is configured for a sensor, only the last value of every second will be available over SCADA.
All live data values, including Live Date/Time and Live Unix Time, are written in the Modbus store with an atomic operation. This guarantees that the time-stamps, in case configured, match the measurement values.
Statistics can be applied to channels and to evaluated data. All statistics data values, including Statistics Date/Time and Start-End Unix Time, are written in the Modbus store with an atomic operation. This guarantees that the time-stamps, in case configured, match the measurement values
The SCADA interval for statistics calculation (Statistics interval for Livedata, Logic Controller and SCADA) defaults to 10 minutes and can be configured in the → menu. This interval is applied for standard statistics: average (Avg), maximum (Max), minimum (Min), standard deviation (SDv), sum (Sum, only for status signals), median (Med) and value (Val). For the Summary statistics, SCADA summary interval is applied, which defaults to daily. The summary statistics are calculated as a simple moving statistic at the end of every SCADA interval for statistics calculation (i.e. 10 minutes with the default configuration).
![]()  | Warning | 
|---|---|
If the CECS reboots, aggregated data are only available after the corresponding statistics interval or summary interval is elapsed.  | 
![]()  | Important | 
|---|---|
Only statistics selected in menu → (see Figure 6.3, “Statistics Selection Page”) are available here for retrieval.  | 
In order to configure the Modbus server address of the data logger for serial subnetworks, go to the → menu. For further details about Modbus see: www.modbus.org.
Table 8.2. Optional Available Information and configuration
| Option | Description | 
|---|---|
| 
               Measurements Data Type and Scale Factor  | 
               Date/time values, i.e. year, month, day, hour, minute, and second, as well as state of the switches are represented as unsigned short values, stored in one 16-bit Modbus register each. Data type and scale factor do not apply to these values. For the measurement value representation, data type and scale factor have to be selected. Data types short, ushort, long and ulong represent a measurement value as an integer and store it in one or respectively two subsequent 16-bit registers. To achieve higher resolution on the representation or a wider range of values represented with a lower resolution, the original measured value can be divided by a scale factor before storing it into the registers as an integer. The default data type is IEEE 754 standard in binary32 format (32-bit single precision binary floating point), being values stored in two subsequent 16-bit Modbus registers. In this last case, scale factor 1 is recommended. See also Equation 8.1, “Scale Factor”.  | 
| 
               Modbus Endianness for SCADA Server  | 
               According to the Modbus Application Protocol Specification V1.1.b, Modbus is a 'big-Endian' protocol: "Modbus uses a 'big-Endian' representation for addresses and data items. If a numerical quantity larger than a single byte is transmitted, the most significant byte will be sent first." Meteo-42 endianness can be configured by the user via web interface and is set by default to 'big-endian' byte order and 'big-endian' registers order representation (high byte first, high word first). For example for value -4.395978e-11, the representation is shown in table Table 8.3, “Modbus Endianness for SCADA Server”.  | 
| 
               Modbus register address interpretation  | 
               For historical reasons, some devices use a starting offset to refer to Modbus register addresses, depending on the function code used to read the data. That means, a Modbus client may represent for example Modbus input register 100 with address 30101 and Modbus holding register 100 with address 40101. Meteo-42 does not use this representation. Only the register address, unique for each measurement that will be retrieved and in range 0 to 65535, must be introduced at the Modbus register table. For the previous example, only 100 should be introduced at the corresponding text box of the register table.  | 
| 
               Modbus Device Identification  | 
               Some additional information relative to the physical and functional description of the device is available with function code 43 (see Table 8.4, “Modbus Device Identification”).  | 
Equation 8.1. Scale Factor
Table 8.3. Modbus Endianness for SCADA Server
| Representation | Byte Endianness | Word Endianness | 
|---|---|---|
| AE41 5650 | Big (high byte first) | Big (high word first) | 
| 5650 AE41 | Big (high byte first) | Little (low word first) | 
| 41AE 5056 | Little (low byte first) | Big (high word first) | 
| 5056 41AE | Little (low byte first) | Little (low word first) | 
Table 8.4. Modbus Device Identification
| Object Id | Description | Type | 
|---|---|---|
| 0x00 | VendorName: 'Ammonit Measurement GmbH' | ASCII String | 
| 0x01 | ProductCode: Data logger serial number (e.g. 'D151234') | ASCII String | 
| 0x03 | VendorURL: 'http://ammonit.com/' | ASCII String | 
| 0x04 | ProductName: Data logger name (see Section 4.2, “System Administration”) | ASCII String | 
| 0x05 | ModelName: Data logger type (e.g. 'Meteo-42L') | ASCII String | 
Input registers contain the measurement values configured by the user. Meteo-42
      SCADA server instantly writes measured values in the
      Live registers and the calculated statistics after each interval in the
      aggregated data registers. These data can be read with modbus function code 04. Register
      addresses must be between 0 and 65535. The following values can be accessed in modbus
      registers, if so configured in the table:
| Live and statistical data of all active channels | 
Data logger internal values
        (Int. Voltage (V),
        Int. Current (mA) and
        Int. Temperature (°C)) | 
| Switches state | 
| Unix Time (for live data and start/end of current statistics and summary intervals) | 
Live data time stamp
        (Date/Time Live) | 
Last second of the evaluated interval for statistical data
        (Date/Time Statistics) | 
Last second of the evaluated interval for summary data
        (Date/Time Summary) | 
![]()  | Important | 
|---|---|
Only measurements selected in menu → (see Figure 6.3, “Statistics Selection Page”) are available here for retrieval.  | 
Holding registers can be both read or written. If
      Write measurements to holding registers is selected, the measurement
      values from the Input registers table will be also written in the same register numbers
      from the Holding registers table. They can be read with function code 03.
Holding registers can be written by the SCADA client in order to achieve any of the following implemented functionalities.
To synchronize data logger date and time over Modbus, configure the start holding register number for the date/time value in the Modbus Register Map (Set Date/Time). By means of a single modbus frame and function code 16 (write multiple registers), year, month, day, hour, minute and second must be written in six subsequent registers, starting at the previously configured register number (16-bit unsigned short values).
A successful synchronization will be logged in the logbook.
![]()  | Important | 
|---|---|
It is necessary to allow date and time synchronization over SCADA in Section 4.2, “System Administration”.  | 
If a register number is configured in Set switches state, it is possible to set the current state of the switches. You can use modbus function code 6 (write single register) to control the state of all 8 switches with one telegram or function code 5 (write single coil) to set the state of only one switch.
In the first case, you must write into the configured register the integer representing the state of all switches. Each bit determines the state of one switch: "0" for open, "1" for closed switch.
In the second case the configured register is the first address and corresponds to S1. To change the state of switch 'n' (Sn) you must write the coil address.
Table 8.5. Set switches state
| Switch number | S8 | S7 | S6 | S5 | S4 | S3 | S2 | S1 | 
|---|---|---|---|---|---|---|---|---|
| Bit Position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
An easy way to cascade two or more Meteo-42 data loggers to get more measurement channels, is to use one Meteo-42 as RS-485 SCADA client, and up to four Meteo-42 as RS-485 servers. All data loggers have to be connected as an RS-485 bus.
Please be aware of the following characteristics of RS-485 cascading:
Due to the additional communication involved, there is a delay on the cascaded channels, between 1 and 2 seconds. For most applications, where only 10 minute average data are relevant, this should not be a problem.
The CECS of the servers must be always active, leading to a higher energy consumption.
The servers do not necessarily have a connection to the Internet. If there is no additional modem or a router, the data loggers cannot be accessed from remote nor can receive software updates easily.
The client can only read up to 20 Modbus registers per server in one read instruction. Instead of using four Meteo-42 servers, one can also configure the same Meteo-42 up to four times to read different register sets. This allows reading up to 80 Modbus registers from one server.
Care has to be taken, that client and server configurations fit exactly.
The Meteo-42 server or servers need to be configured as a SCADA device with Modbus RTU protocol and a unique Modbus unit identifier. Note, that if you need to share more than 20 registers with the client, Meteo-42 will need more than one read requests. Meteo-42 can perform until 8 read requests per second, of 20 registers each. The CECS must be always active.
At the client side, every server has to be added as an RS-485 sensor (/ ), introducing server's unit identifier as RS-485 address. If you need to request more than 20 registers from one server, you must do this configuring two different sensors with the same server unit identifier. After selecting the corresponding data type, the resulting evaluations must show the same measurement value as at the server. For each of the measurement values you should configure a custom evaluation using a linear equation in order to confer it the known unit and data type (see Evaluation Helper).