Generator Power

Hello everyone, I’m working with the NREL 5MW WT with FAST/Simulink. I’m aplying a control systhem for Pitch and Torque but I have truble, at the time I extract the generated power from the FAST funtion the values tend to 0, I’ve check the multiplication of torque and generator speed and it goes fine. Could someone give advice on how to get a diferent value?
In the graphics, the orange is what I should be getting (obtained from torque and wg) and the purple is the generator output.


Dear @Jared.Sanchez,

Which FAST output are you plotting? Is this output GenPwr from ServoDyn? If you are using VSContrl = 4 to receive torque and power from Simulink, ServoDyn output GenPwr simply returns the value passed to the S-Function from Simulink.

Best regards,

Yes, I’m using the VSContrl = 4, the situation is that my inputs (Power and torque) have real values and the product of those is quite similar to my power comand. The problem is that after entering to the FAST function, the value returs as near 0. I’ve already tried changing the order of inputs and checed the script but couldn’t got a good output.


This is the script.


And this is what I’m sending as Power and Roque input.

Dear @Jared.Sanchez,

I would expect that with VSContrl = 4, that the GenPwr output from ServoDyn would match what you set the generator power input to the S-Function to be in Simulink. Are you plotting the GenPwr output from ServoDyn?

Best regards,

Yes, I’m polting GenPwr from the ServoDyn

Is the generator torque you are inputting to the S-Function from Simulink what you are seeing in the GenTq output from ServoDyn?

As GenTq output I’m getting this: the value seems to be fixed at 27

In addition, the angular speed obteined from RotSpeed is this (the yellow line):

Dear @Jared.Sanchez,

It sounds to me like OpenFAST is not receiving the inputs from Simulink. Are you sure you’ve set VSContrl = 4? Do you have GenTiStr = GenTiStp = TRUE with TimGenOn = 0 s and TimGenOf > TMax?

Best regards,

I have it as this:

Both conditions are GenTiStr GenTiStp are set as true and TimGenOn = 0 . I’m silulating 200 seconds so the time is fine as 200 is smaller than 9999.9.

Another possible error is that you are plotting the incorrect column of output data from the OpenFAST output (.out or .outb) file.

It’s a scope with the extract funtion, do you know how can I verify if I’m using the correct column?
In this way I’m getting something around 3,000 W but the turbine should be generating 100 times that.

Oh, I thought you were saying that the problem was that the OpenFAST outputs (GenTq and GenPwr from ServoDyn) were not matching what you are inputting to the S-Function from Simulink. Now, it sounds like the problem is within your own Simulink model. I can’t really help with that.

Best regards,

Indeed thats the problem, the outputs don’t match the inputs. And don’t know why that keeps happening.