Vestas ODBC

Purpose

This plugin will read from the Vestas Data Historian, which is a Microsoft SQL Server, via ODBC.

Configuration of the Ardexa Edge Device

Ensure you have read a copy of the manufacturer's operating and safety manual. Please review the manual for safety instructions. Ardexa uses the Vestas Historian to read live and historical data. The Historian uses a Microsoft SQL Server to store the data. It is available from TCP Port 1433 on the IP address for which the Vestas Historian server is located. Access to the data is via userid and password to a specific database. Ardexa needs access to the following four items of information:

ip_address:  (example) 192.168.1.10
userid:      (example) sqluser
password:    (example) something
DB name:     (example) customer

Once the Ardexa edge device is installed on the plant's network, verify that it can "ping" the Vestas Historian using the following command in the REMOTE SHELL (replace the IP address with the IP address of the Historian Server):

ping -c 1 192.168.1.2

Also, check that the TCP Port for the Vestas Historian is open. You can do this using the REMOTE SHELL, using the nmap command as follows.

nmap -sS -p 1433 192.168.1.2

Generally speaking, most firewalls are stateful. This means that once you allow outgoing connections, the firewall will recognise responses coming back from the Internet and let them pass despite the fact that there is no explicit rule to allow incoming data. Some older Vestas installations may require additional rules to allow the Ardexa machine to work correctly. So be aware that;

  • The firewall may not be stateful and therefore explicit incoming rules need to be created to allow replies to come back through the firewall (5671/tcp, 53/udp)

  • DNS uses UDP which is not a "connection orientated" protocol and while modern routers handle it just fine. Some Vestas sites might be old enough to require explicit rules to allow DNS.

Please don't forget to send to Ardexa:

  1. Clear photographs of the installation

  2. The IP address of the Vestas Historian

  3. The userid of the Vestas Historian

  4. The password of the Vestas Historian

  5. The database name

  6. The quantity and model numbers of all wind turbines at the park

Usage

The Linux driver to read the Microsoft SQL Server is automatically installed and configured when this plugin is installed. This Ardexa plugin will read the Vestas data, via the Historian, in real time, and send it to the Ardexa cloud. Vestas Historian data is recorded at no less than 10 minute intervals, and stored historically for (usually) the life of the system. Selected data is collected from the Historian. A single scenario should be setup up to read data at 5 minute intervals. Ardexa will only send data to the cloud if the timestamp of the last read has changed.

Run a discover to see all the data. It will also show the data and time on SQL Server and compare it to the Ardexa device. Pay particular attention to these, since at times the Vestas Historian time may not be synced. All date and times are in UTC.

    Date on SQL Server:  2021-11-01 04:43:52.030000
    Date on Ardexa Device: 2021-11-01 04:43:52 +0100
    Found the following:
      grid: GRID1 (T_GRID1_10MINDATA)
      gridcount: GRID1-count (T_GRID1_10MINCOUNT)
      turbine: WEA01 (T_WEA01_10MINDATA)
      turbine: WEA02 (T_WEA02_10MINDATA)
      turbine: WEA03 (T_WEA03_10MINDATA)
      logbook: tparkevent (TParkEvent)

All data will be sent to the wind10m and logbook tables. Ardexa is able to send all historical data to the cloud, if required.

Arguments

  • Configuration YAML A configuration YAML file must be included which can contain up to 6 items of information. An example of which is:

    ip_address: 192.168.1.10
    user: {whatever}
    passwd: {whatever}
    db_name: customer
    driver: ODBC Driver 17 for SQL Server,
    port: 1433,
  • The db_name, driver and/or port maybe excluded and the default values will be used as follows:

    db_name: customer
    driver: ODBC Driver 17 for SQL Server,
    port: 1433,

Debug Commands

Running a discover command with -vv (debug data), will show the available tables and all available data in the database. Command is:

vestas_odbc -vv discover /opt/ardexa/config/vestas-odbc/task/vestas.config_file

You can run a first verb, which will show the table names, how many recordxs in each table, and the earliest data record. Command is:

vestas_odbc first /opt/ardexa/config/vestas-odbc/task/vestas.config_file

It will return something like:

Name         Table                 Start      End    Count  First date
-----------  ------------------  -------  -------  -------  --------------------------
GRID1        T_GRID1_10MINDATA         1   489735   340111  2012-01-13 11:50:00
GRID1-count  T_GRID1_10MINCOUNT        1   532248   509083  2012-01-13 11:50:00
WEA01        T_WEA01_10MINDATA    450408   538134    78950  2020-05-01 01:10:00
WEA02        T_WEA02_10MINDATA    451000   537453    78672  2020-05-01 01:10:00
WEA03        T_WEA03_10MINDATA    446179   533799    78843  2020-05-01 01:10:00
tparkevent   TParkEvent                1  3233712  2782739  2011-12-15 17:20:16.023000

Last updated