Skip to content

Commit

Permalink
Shutdown: Use wrapping for filtering nacelle vane signal
Browse files Browse the repository at this point in the history
  • Loading branch information
abhineet-gupta committed Nov 24, 2024
1 parent 96f1f54 commit ca98eab
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
9 changes: 7 additions & 2 deletions rosco/controller/src/ControllerBlocks.f90
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,8 @@ SUBROUTINE Shutdown(LocalVar, CntrPar, objInst,ErrVar)

! Local Variables
CHARACTER(*), PARAMETER :: RoutineName = 'VariableSpeedControl'
REAL(DbKi) :: SD_NacVaneCosF ! Time-filtered x-component of NacVane (deg)
REAL(DbKi) :: SD_NacVaneSinF ! Time-filtered y-component of NacVane (deg)

!Initialize shutdown trigger variable
IF (LocalVar%iStatus == 0) THEN
Expand All @@ -533,10 +535,13 @@ SUBROUTINE Shutdown(LocalVar, CntrPar, objInst,ErrVar)

! Filter pitch signal
LocalVar%SD_BlPitchF = LPFilter(LocalVar%PC_PitComT, LocalVar%DT, CntrPar%SD_PitchCornerFreq, LocalVar%FP,LocalVar%iStatus, LocalVar%restart, objInst%instLPF)
! Filter yaw error signal (NacVane)
LocalVar%SD_NacVaneF = LPFilter(LocalVar%NacVane, LocalVar%DT, CntrPar%SD_YawErrorCornerFreq, LocalVar%FP,LocalVar%iStatus, LocalVar%restart, objInst%instLPF)
! Filter yaw generator speed
LocalVar%SD_GenSpeedF = LPFilter(LocalVar%Genspeed, LocalVar%DT, CntrPar%SD_GenSpdCornerFreq, LocalVar%FP,LocalVar%iStatus, LocalVar%restart, objInst%instLPF)

! Filter yaw error signal (NacVane)
SD_NacVaneCosF = LPFilter(cos(LocalVar%NacVane*D2R), LocalVar%DT, CntrPar%SD_YawErrorCornerFreq, LocalVar%FP,LocalVar%iStatus, LocalVar%restart, objInst%instLPF)
SD_NacVaneSinF = LPFilter(sin(LocalVar%NacVane*D2R), LocalVar%DT, CntrPar%SD_YawErrorCornerFreq, LocalVar%FP,LocalVar%iStatus, LocalVar%restart, objInst%instLPF)
LocalVar%SD_NacVaneF = wrap_180(atan2(SD_NacVaneSinF, SD_NacVaneCosF) * R2D) ! (in deg)

! See if we should shutdown
IF (LocalVar%SD_Trigger == 0) THEN
Expand Down
6 changes: 0 additions & 6 deletions rosco/toolbox/controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -362,12 +362,6 @@ def tune_controller(self, turbine):
self.vs_minspd = (turbine.TSR_operational * turbine.v_min / turbine.rotor_radius)
self.pc_minspd = self.vs_minspd

# max pitch angle for shutdown
# if self.sd_maxpit:
# self.sd_maxpit = self.sd_maxpit
# else:
# self.sd_maxpit = pitch_op[-1]

# Set IPC ramp inputs if not already defined
if max(self.IPC_Vramp) == 0.0:
self.IPC_Vramp = [turbine.v_rated*0.8, turbine.v_rated]
Expand Down

0 comments on commit ca98eab

Please sign in to comment.