Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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 22.1s

生成されたコード全体を、モデルとコード間の双方向トレーサビリティを備えた詳細な HTML レポートに表示することができます。

currentDir = pwd;
web(fullfile(currentDir,'RollAxisAutopilot_ert_rtw','html','index.html'))

Embedded Coder 入門チュートリアル

Embedded Coder でのコード生成の詳細については、「Embedded Coder 入門」ドキュメンテーションのSimulink モデルからの C コードの生成を参照してください。