Gamesa Windnet OPCUA

Siemens Gamesa Turbines

The purpose of this plugin is to read data from Siemens Gamesa Windnet databases via OPCUA. For this plugin, the following fields should have these values:

Suffix: /WindnetPro
Application URI: urn:example.org:FreeOpcUa:python-opcua
Security String: Basic256Sha256,SignAndEncrypt
Private Key: See OPCUA plugin doco for how to generate and authorize
Public Key: See OPCUA plugin doco for how to generate and authorize

Usage

This plugin relies on the OPCUA plugin. Make sure you have been granted access to the OPCUA plugin. You can run a discover without a configuration file. In this case, all the variables in the Siemens Gamesa OPCUA namespace are displayed in a hierarchical tree format. If the debug is run from the command line with a debug value of -v, the actual values for all the namespace nodes will also be displayed. The returned tree will look something like this:

        Name: Objects.Ardexa.SensorField_15 namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15
            Name: Objects.Ardexa.SensorField_15.WGF34 namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34
                Name: Objects.Ardexa.SensorField_15.WGF34.Ard125 namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34/Ard125
                    Name: Objects.Ardexa.SensorField_15.WGF34.Ard125.Ard125.Addr namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34/Ard125.Addr
                    Name: Objects.Ardexa.SensorField_15.WGF34.Ard125.Ard125.Rotation_Value namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34/Ard125.Rotation_Value
                    Name: Objects.Ardexa.SensorField_15.WGF34.Ard125.Ard125.Power namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34/Ard125.Power
                    Name: Objects.Ardexa.SensorField_15.WGF34.Ard125.Ard125.Alarm namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34/Ard125.Alarm
                    Name: Objects.Ardexa.SensorField_15.WGF34.Ard125.Ard125.Last_10_Temps namespace_index: 2. NodeID: ns=2;s=Ardexa/SensorField_15/WGF34/Ard125.Last_10_Temps
    username: {whatever}
    password: {whatever}

The Siemens Gamesa OPCUA connection string usually has a a suffix associated with it. For example, the connection string may be something like: "opc.tcp://192.168.1.10:4601/WindnetPro, where 4601 is the TCP port. The /WindnetPro at the end is a suffix.

The Siemens Gamesa OPCUA server also requires a security string similar to: Basic256Sha256,SignAndEncrypt,/opt/ardexa/config/opcua-ardexa/my_cert.pem,/opt/ardexa/config/opcua-ardexa/my_private_key.pem, where the first two arguments are security policies (which may be different from site to site), and the last two are certification and private key files, which are uploaded through the plugin.

Arguments

  • IP Address .. something like: 192.168.1.4

  • configuration File full path ... this is the config file discussed above.

  • --port This is an optional entry denoting the TCP Port of the Siemens Gamesa Windnet OPCUA server. It is defaulted to 4840

  • --namespace_index. This is an optional entry only available when using discover. It is the namespace for which to discover variables. It is defaulted to 0

  • --auth_file ... this is the authentication file discussed above.

  • --suffix. This is the suffix, which is set to a default of urn:example.org:FreeOpcUa:python-opcua

  • --app_uri. This is the application URI, which is set to a default of /WindnetPro

  • --security_str. This is the security string, which is set to a default of Basic256Sha256,SignAndEncrypt,/opt/ardexa/config/opcua-ardexa/my_cert.pem,/opt/ardexa/config/opcua-ardexa/my_private_key.pem

Last updated