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 electrical power output (record #15)

  • Measured generator speed (record #20)

  • Measured rotor speed (record #21)

  • 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) 1

  • 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 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.