Bladed style controller

The bladed style controller is described in Bladed External Controller User Manual, version 4.9 (2018) DNV GL and in Appendix B of the Bladed User Manual, ver 4.9 (2018) DNV GL. The controller should be compiled to a 64-bit shared library (DLL).

Input to the controller (avrSwap) is limited to the following parameters:

  • Status (record #1)

  • Current time (record #2)

  • Current time step (record #3)

  • Blade 1 pitch angle (record #4)

  • Measured shaft power (record #14). 1

  • Measured electrical power output (record #15). 2

  • Measured generator speed (record #20)

  • Measured rotor speed (record #21)

  • Measured generator torque (record #23) 3

  • Measured yaw misalignment, yaw error (record #24)

  • Hub wind speed (record #27)

  • Blade 1-3 root out of plane bending moments (#30-32)

  • Blade 2 pitch angle (record #33)

  • Blade 3 pitch angle (record #34)

  • Tower top fore-aft acceleration (record #53)

  • Tower top side-to-side acceleration (record #54)

  • Rotor azimuth angle (record #60)

  • Number of blades (record #61)

  • Yaw bearing My (record #77) 4

  • Nacelle nodding acceleration (record #83)

The parameters returned from the controller read by SIMA are the following:

  • Blade 1 pitch reference (record #42)

  • Blade 2 pitch reference (record #43)

  • Blade 3 pitch reference (record #44)

  • Demanded generator torque (record #47)

  • Demanded nacelle yaw rate (record #48)

1 Calcalated as: measured generator torque (record #23) * measured generator speed (record #20) / gear ratio defined in in SIMA model

2 Calcalated as: measured shaft power (record #14) * generator efficiency defined in SIMA model

3 Calcalated as: demanded generator torque (record #47) in previous time step

4 The element used for the Yaw Bearing My is set by the user. The shaft in modelled configuration is used to define the coordinate system for the signal.

For a detailed description of the avrSwap records, please refer to the Bladed documentation mentioned above.

Please note that SIMA will not copy any input files to the simulation working directory so hardcoded or relative file paths in the controller may not work as intended.

1. Multi-Turbine Models

If multiple turbines refers to the same controller shared library note that any global memory allocated by one controller will be shared with other controllers using the same shared library. This behavior is controlled by the operating system and can be used to implement communication between multiple turbine controllers.

Some controllers might use global memory in a way that does not allow it to be used on multiple turbines in the same simulation. A workaround in these situations is to make a copy of the controller shared library file for each turbine.

2. ROSCO Controller Compatibility

The NREL Rosco controller is frequency used as an open-source wind turbine controller, with different versions having different levels of compatibility with SIMA. The compatibility and required settings are highlighted below:

ROSCO Controller version Known issues SIMA v4.6 and earlier Required settings in SIMA v4.6 and earlier Known issues SIMA v4.8 Required settings in SIMA v4.8

2.6, 2.7

Wind speed estimate does not initiate properly for EKF (WE_Mode = 2)

Use low pass filter on wind speed (WE_Mode = 0), ROSCO v. 2.9 or SIMA v4.8

No known issues

n/a

2.8

Incompatible avrSWAP definition

Use different controller version

Incompatible avrSWAP definition

Use different controller version

2.9

No support for non-standard avrSWAP entries

Set Ext_Interface = 0 in ROSCO input file

No support for non-standard avrSWAP entries

Set Ext_Interface = 0 in ROSCO input file