-
Notifications
You must be signed in to change notification settings - Fork 508
SrvD: updates to StC control from DLL #3158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Update comments and add warning for now StC channel requested
NOTE: DLL interface does not support moments, but one user added a pipe in this location for applying forces/moments. The addition of this logic makes moments from a pipe possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes a logic bug preventing DLL-prescribed forces from being applied to structural controls (StC), adds moment support to DLL-prescribed StC loads, and extends the Bladed DLL interface API to accommodate the additional moment channels.
Changes:
- Fixed logic bug in
DOFMode_ForceDLLmode where prescribed moments were incorrectly set to zero instead of usingM_extvalues - Added
CmdMoment,InitMoment,M_ext,PrevStCCmdMoment, andStCCmdMomentfields throughout the StC data structures and DLL interface - Increased
StCCtrl_ChanPerSetfrom 20 to 25 channels to accommodate X, Y, Z moment components plus reserved channels - Added validation warning when control mode 5 (active DLL control) is requested but no control channel is specified
- Corrected units in comments (changed "N/(m/s)" to "N" for brake and force signals)
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| modules/servodyn/src/StrucCtrl_Types.f90 | Auto-generated type definitions for new moment fields with copy/destroy/pack/unpack/interpolation support |
| modules/servodyn/src/StrucCtrl_Registry.txt | Registry entries for InitMoment, M_ext, and CmdMoment fields |
| modules/servodyn/src/StrucCtrl.f90 | Allocation and initialization of moment fields, logic bug fix for DOFMode_ForceDLL, function signature updates, validation warning |
| modules/servodyn/src/ServoDyn_Types.f90 | Auto-generated type definitions for DLL moment command fields with serialization support |
| modules/servodyn/src/ServoDyn_Registry.txt | Registry entries for PrevStCCmdMoment and StCCmdMoment with corrected units |
| modules/servodyn/src/ServoDyn.f90 | Integration of moment commands into StC control flow and DLL interface |
| modules/servodyn/src/BladedInterface_EX.f90 | Extended avrSWAP interface with 25 channels per set, moment data passing, and documentation updates |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Ready to merge.
Feature or improvement description
Related issue, if one exists
RE: Imposed force does not affect the motion of a turbine
Impacted areas of the software
External force applied through structural controls using a DLL.
Additional supporting information
This is a rarely used feature, so it was not thoroughly tested during development.
Test results, if applicable
None (we don't have a controller that can simulate this).