I’m using Servodyn within FAST version 8.16. I am using a controller dll through the Bladed interface which has a supervisory trip which uses the “Measured Electrical Power” signal (Record 15). This controller records the measured electrical power as zero even when the output electrical power from FAST is non-zero. I have used the controller dll with Bladed and the behaviour is not the same. I’ve had a look at the source for ServoDyn but can’t seem to find out exactly why the value is not updated. Perhaps something to do with checking if the generator is on?
CASE ( ControlMode_DLL ) ! User-defined variable-speed control from Bladed-style DLL
! bjj: I believe this is how the old logic worked, but perhaps now we can be more clever about checking if the generator is off
IF ( m%dll_data%GenState /= 0_IntKi ) THEN ! generator is on
GenTrq = m%dll_data%GenTrq
ElecPwr = CalculateElecPwr( GenTrq, u, p )
Bonnie Jonkman of Envision Energy recently reported to me that she found a minor bug in the FAST driver/glue code that resulted in incorrect values of the generator torque and electrical power being sent from ServoDyn to Bladed-style DLLs. While she is implementing a more thorough clean-up, she told me that a simple fix is to change one line in FAST_Solver.f90/SolveOption2 i.e. change the line:
and recompile FAST. Does that resolve your problem?