全文预览

如何用C语言实现Bladed中的外部控制器

上传者:梦&殇 |  格式:doc  |  页数:6 |  大小:33KB

文档介绍
OldTime = GetSwapValue(2); Р } // 按 8 rpm/s 增加发电机转速给定Р } Р if ( iStep == 3 ) { Р Temp = PIController( rGeneratorSpeed, RPMSetpoint); Р rPitchDemand = rPitchDemand + Temp; Р } Р if( rPitchDemand > 3.1415926 / 2) Р rPitchDemand = 3.1415926F / 2.0F; Р if( rPitchDemand < 0 ) rPitchDemand = 0.0F; Р //Logging output Р strcpy(avcOutname,"Generator Demand Speed:A/T;"); Р SetSwapValue(NINT(GetSwapValue(63)),RPMSetpoint*2. 0F*3.1415926F/60.0F); Р SetSwapValue(65,Р1.0F); Р } Р return; Р } Р #ifdef _MANAGED Р #pragma managed(pop) Р #endif 将程序编译后得到程序 caiLib.DLL. Р 将此程序在Bladed中的控制部分进行定义如图: Р Р 在其中定义程序的路径 d:\proland\vbpro\cailib\debug\cailib.dll Р 在External Controller Data中定义了2个参数,分别为Kp = 0.005和Ki = 0.002 Р 点击OK。Р 在主计算中选择Start Р Р 点击Run Now 运行期间可以查看结果如下: Р Р 模拟运行结果如下: Р Р 上面是发电机转速给定值及发电机转速测量值和桨叶角度变化的实时图。

收藏

分享

举报
下载此文档