Embedded Coder 入門
このモデルでは、コード生成向けに設計されているロール軸自動操縦制御システムの実装を示します。
モデルについて
このモデルは、次の 2 つの動作モードのある基本的なロール軸自動操縦を表します。ロール姿勢保持および機首方向保持。これらのモード ロジックは、このモデルの外部で処理されます。モデル アーキテクチャは、Atomic サブシステムとしての機軸方位保持モードと基本的なロール姿勢制御関数を表しています。
ロール姿勢制御関数は、ロール姿勢とロール レートのフィードバックを使用して補助翼コマンドを生成するための PID コントローラーです。コントローラーへの入力は、望ましい機軸方位を追跡するための基本ロール角基準またはロール コマンドのいずれかです。モデルは次のようになります。
open_system('RollAxisAutopilot');
サブシステム RollAngleReference
基本ロール角基準計算はサブシステム RollAngleReference
として実装されています。Embedded Coder® は、この計算を RollAxisAutopilot
の main 関数に直接インライン化します。
open_system('RollAxisAutopilot/RollAngleReference');
サブシステム HeadingMode
サブシステム HeadingMode
によって望ましい機軸方位を追跡するためのロール コマンドが計算されます。
close_system('RollAxisAutopilot/RollAngleReference'); open_system('RollAxisAutopilot/HeadingMode');
サブシステム BasicRollMode
サブシステム BasicRollMode
によってロール姿勢制御関数 (PID) が計算されます。
close_system('RollAxisAutopilot/HeadingMode'); open_system('RollAxisAutopilot/BasicRollMode');
モデルのコード生成
このモデルは Embedded Coder を使用してコードを生成するようあらかじめ構成されています。Simulink® Coder™ のみを使用してコードを生成するには、モデルを構成し直すか、コマンド プロンプトで「cs = getActiveConfigSet('RollAxisAutopilot'); switchTarget(cs,'grt.tlc',[]);」と入力します。
コードを生成します。
slbuild('RollAxisAutopilot');
### Starting build procedure for: RollAxisAutopilot ### Successful completion of build procedure for: RollAxisAutopilot Build Summary Top model targets built: Model Action Rebuild Reason =================================================================================================== RollAxisAutopilot Code generated and compiled. Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 13.526s
生成されたコード全体を、モデルとコード間の双方向トレーサビリティを備えた詳細な HTML レポートに表示することができます。
currentDir = pwd; web(fullfile(currentDir,'RollAxisAutopilot_ert_rtw','html','index.html'))
Embedded Coder 入門チュートリアル
Embedded Coder でのコード生成の詳細については、「Embedded Coder 入門」ドキュメンテーションのSimulink モデルからの C コードの生成を参照してください。