• 検索結果がありません。

Microsoft PowerPoint - 量産ソフト開発に向けてのモデルベースデザイン環境_final.pptx

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - 量産ソフト開発に向けてのモデルベースデザイン環境_final.pptx"

Copied!
73
0
0

読み込み中.... (全文を見る)

全文

(1)

量産ソフト開発向け

量産ソフト開発向け

量産ソフト開発向け

量産ソフト開発向けの

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

MathWorks Japan アプリケーションエンジニアリング部 アプリケーションエンジニアリング部アプリケーションエンジニアリング部 アプリケーションエンジニアリング部 アプリケーションエンジニア アプリケーションエンジニアアプリケーションエンジニア アプリケーションエンジニア 加藤 加藤加藤 加藤 久久久久浩浩浩浩

(2)

アジェンダ

アジェンダ

アジェンダ

アジェンダ

1.

はじめに

はじめに

はじめに

はじめに

2.

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

3.

(例)ドアロック制

(例)ドアロック制御システム開発

(例)ドアロック制

(例)ドアロック制

御システム開発

御システム開発

御システム開発

4.

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

5.

まとめ

まとめ

まとめ

まとめ

(3)

モデルからコード生成、仕様変更をすぐに反映!

モデルからコード生成、仕様変更をすぐに反映!

モデルからコード生成、仕様変更をすぐに反映!

モデルからコード生成、仕様変更をすぐに反映!

生成コードの検証結果を利用可能!

生成コードの検証結果を利用可能!

生成コードの検証結果を利用可能!

生成コードの検証結果を利用可能!

モデルベースデザイン(

モデルベースデザイン(

モデルベースデザイン(

モデルベースデザイン(MBD)の理想的な姿

)の理想的な姿

)の理想的な姿

)の理想的な姿

システム開発

システム開発

システム開発

システム開発

(シミュレーション環境)

(シミュレーション環境)

(シミュレーション環境)

(シミュレーション環境)

ソフト開発

ソフト開発

ソフト開発

ソフト開発

(実装

(実装

(実装

(実装環境

環境

環境

環境)

MATLAB®ファイルファイルファイルファイル/ Simulink®モデルモデルモデルモデル 組み込みターゲット( 組み込みターゲット(組み込みターゲット( 組み込みターゲット(Cコード)コード)コード)コード) 仕様書 仕様書仕様書 仕様書 検証データ検証データ検証データ検証データ MATLAB®ファイルファイルファイルファイル/ Simulink®モデルモデルモデルモデル 仕様書& 仕様書& 仕様書& 仕様書& 検証データ 検証データ 検証データ 検証データ + + + +モデルモデルモデルモデル 検証結果 検証結果 検証結果 検証結果 + + + +

(4)

システム開発

システム開発

システム開発

システム開発

(シミュレーション環境)

(シミュレーション環境)

(シミュレーション環境)

(シミュレーション環境)

ソフト開発

ソフト開発

ソフト開発

ソフト開発

(実装

(実装

(実装

(実装環境

環境

環境

環境)

MATLABファイルファイルファイル/ファイル Simulinkモデルモデルモデルモデル

機能

機能

機能

機能モデルと実装モデル

モデルと実装モデル

モデルと実装モデル

モデルと実装モデルが

がシームレスにつながらない!

シームレスにつながらない!

シームレスにつながらない!

シームレスにつながらない!

生成コードのサイズや構造が

生成コードのサイズや構造が

生成コードのサイズや構造が

生成コードのサイズや構造がC言語の開発環境に合わない!

言語の開発環境に合わない!

言語の開発環境に合わない!

言語の開発環境に合わない!

組み込みターゲット( 組み込みターゲット( 組み込みターゲット( 組み込みターゲット(Cコード)コード)コード)コード)

MBDに取り組んだユーザー様の声

に取り組んだユーザー様の声

に取り組んだユーザー様の声

に取り組んだユーザー様の声

仕様書 仕様書仕様書 仕様書 検証データ検証データ検証データ検証データ MATLABファイルファイルファイルファイル/ Simulinkモデルモデルモデルモデル 仕様書& 仕様書& 仕様書& 仕様書& 検証データ 検証データ 検証データ 検証データ + + + +モデルモデルモデルモデル 検証結果 検証結果 検証結果 検証結果 + + + + 生成コード 生成コード 生成コード 生成コード

(5)

本講演では

本講演では

本講演では

本講演では..

実装を想定した

実装を想定した

実装を想定した

実装を想定した

モデリングのテクニック

モデリングのテクニック

モデリングのテクニック

モデリングのテクニック

開発環境の構築方法

開発環境の構築方法

開発環境の構築方法

開発環境の構築方法

についてご紹介します

についてご紹介します

についてご紹介します

についてご紹介します

システム

システム

システム

システム開発

開発

開発

開発

(機能

機能

機能

機能モデル

モデル

モデル

モデル)

ソフト開発

ソフト開発

ソフト開発

ソフト開発

(実装モデル)

(実装モデル)

(実装モデル)

(実装モデル)

共通の認識

共通の認識

共通の認識

共通の認識

(6)

なぜモデルにギャップが出てしまうのか?

なぜモデルにギャップが出てしまうのか?

なぜモデルにギャップが出てしまうのか?

なぜモデルにギャップが出てしまうのか?

ドメインに違いがあることを認識する

ドメインに違いがあることを認識する

ドメインに違いがあることを認識する

ドメインに違いがあることを認識する

システム開発

ソフト開発

全体

全体

全体

全体を

を見渡した

見渡した

見渡した

見渡した

最適な

最適な

最適な

最適な

制御方法

制御方法

制御方法

制御方法

流用性、効率性

流用性、効率性

流用性、効率性

流用性、効率性

を考慮した

を考慮した

を考慮した

を考慮した

実装方法

実装方法

実装方法

実装方法

(7)

アプリケーション アプリケーション アプリケーション アプリケーション ミドルウェア ミドルウェアミドルウェア ミドルウェア デバイスドライバ デバイスドライバ デバイスドライバ デバイスドライバ スケジューラ スケジューラスケジューラ スケジューラ ハードウェア ハードウェアハードウェア ハードウェア ハードウェア ハードウェア ハードウェア ハードウェア アプリケーション アプリケーションアプリケーション アプリケーション デバイスドライバ デバイスドライバ デバイスドライバ デバイスドライバ

なぜ生成コード

なぜ生成コード

なぜ生成コード

なぜ生成コードの

の実装に苦労するか?

実装に苦労するか?

実装に苦労するか?

実装に苦労するか?

コード生成に適したソフトウェアの階層構造を選択する

コード生成に適したソフトウェアの階層構造を選択する

コード生成に適したソフトウェアの階層構造を選択する

コード生成に適したソフトウェアの階層構造を選択する

階層間の結合度が低い構造

階層間の結合度が高い構造

右側のような整理されたソフトウェアの階層構造が

右側のような整理されたソフトウェアの階層構造が

右側のような整理されたソフトウェアの階層構造が

右側のような整理されたソフトウェアの階層構造が

(8)

実装を想定したモデリングにするには?

実装を想定したモデリングにするには?

実装を想定したモデリングにするには?

実装を想定したモデリングにするには?

信号 信号 信号 信号 信号 信号 信号 信号 パラ パラ パラ パラメータメータメータメータ 四則演算子 四則演算子四則演算子 四則演算子 比較 比較比較 比較演算子演算子演算子演算子 論理演算子 論理演算子 論理演算子 論理演算子 モデリング モデリング モデリング モデリング以外に以外に以外にコンフィギュレーションと以外にコンフィギュレーションとコンフィギュレーションとコンフィギュレーションと信号・信号・信号・信号・パラメータが影響パラメータが影響パラメータが影響パラメータが影響しますしますしますします このモデルからどんなコードが生成 このモデルからどんなコードが生成 このモデルからどんなコードが生成 このモデルからどんなコードが生成 されるかイメージしてみてください されるかイメージしてみてください されるかイメージしてみてください されるかイメージしてみてください

(9)

コンフィギュレーションの違い

コンフィギュレーションの違い

コンフィギュレーションの違い

コンフィギュレーションの違い

信号 信号信号 信号とパラメーターとパラメーターとパラメーターとパラメーター – コード生成コード生成コード生成コード生成 チェックなし チェックあり

(10)

データ設定

データ設定

データ設定

データ設定の

の違い

違い

違い

違い

信号とパラメーター 信号とパラメーター信号とパラメーター 信号とパラメーター – ベースワークスペースベースワークスペースベースワークスペースベースワークスペース カスタム オート

(11)

メッセージ

メッセージ

メッセージ

メッセージ

システム開発

システム開発

システム開発

システム開発

ソフト開発

ソフト開発

ソフト開発

ソフト開発

の間で

の間で

の間で

の間で

共通のモデリングルール

共通のモデリングルール

共通のモデリングルール

共通のモデリングルール

をもとに

をもとに

をもとに

をもとに

モデル

モデル

モデル

モデルをうまく育てて

をうまく育てて

をうまく育てていきましょう

をうまく育てて

いきましょう

いきましょう

いきましょう

システム開発

システム開発

システム開発

システム開発

ソフト開発

ソフト開発

ソフト開発

ソフト開発

C/C++

実装環境にも 実装環境にも 実装環境にも 実装環境にも 配慮した設計 配慮した設計 配慮した設計 配慮した設計 実装環境における 実装環境における 実装環境における 実装環境における 制約条件のフィードバック 制約条件のフィードバック制約条件のフィードバック 制約条件のフィードバック

共通ルール

共通ルール

共通ルール

共通ルール

(12)

アジェンダ

アジェンダ

アジェンダ

アジェンダ

1.

はじめに

はじめに

はじめに

はじめに

2.

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

3.

(例)ドアロック制

(例)ドアロック制御システム開発

(例)ドアロック制

(例)ドアロック制

御システム開発

御システム開発

御システム開発

4.

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

5.

まとめ

まとめ

まとめ

まとめ

(13)

新しい機能

新しい機能

新しい機能

新しい機能

新しいツール

新しいツール

新しいツール

新しいツール

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャと

とは?

は?

は?

は?

モデルアーキテクチャ

化化化化

のののの

ポイント

ポイント

ポイント

ポイント

どこまで想定してモデルをつくるか

どこまで想定してモデルをつくるか

どこまで想定してモデルをつくるか

どこまで想定してモデルをつくるか

大規模システムをモデリングする

大規模システムをモデリングする

大規模システムをモデリングする

大規模システムをモデリングする際の重要な開発タスク

際の重要な開発タスク

際の重要な開発タスク

際の重要な開発タスク

(14)

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

化化化化

のののの

Step1:階層化

:階層化

:階層化

:階層化

(15)

MAAB(JMAAB) Modeling Style Guide : jc_0301 周期・イベントで 周期・イベントで 周期・イベントで 周期・イベントで 分割してから 分割してから 分割してから 分割してから 機能を配置する 機能を配置する 機能を配置する 機能を配置する ソフト開発向き ソフト開発向き ソフト開発向き ソフト開発向き 機能 機能 機能 機能で分割してで分割してで分割してで分割して から周期・イベント から周期・イベント から周期・イベント から周期・イベント を配置する を配置する を配置する を配置する システム システム システム システム開発向き開発向き開発向き開発向き

Simulinkモデルの

モデルの

モデルの階層化

モデルの

階層化

階層化

階層化

JMAAB(

(※

)のスタイルガイドを活用しよう

)のスタイルガイドを活用しよう

)のスタイルガイドを活用しよう

)のスタイルガイドを活用しよう

(16)

ソフトウェア

ソフトウェア

ソフトウェア

ソフトウェアの

の階層化

階層化

階層化

階層化

コード生成の対象を明確にしよう

コード生成の対象を明確にしよう

コード生成の対象を明確にしよう

コード生成の対象を明確にしよう

ターゲット依存型

ターゲット依存型

ターゲット依存型

ターゲット依存型

モデル化・コード生成対象として モデル化・コード生成対象として モデル化・コード生成対象として モデル化・コード生成対象として I / Oや周辺や周辺や周辺ソフト呼び出しもや周辺ソフト呼び出しもソフト呼び出しも含むソフト呼び出しも含む含む含む

ターゲット非依存型

ターゲット非依存型

ターゲット非依存型

ターゲット非依存型

モデル化・コード生成対象は モデル化・コード生成対象は モデル化・コード生成対象は モデル化・コード生成対象は アプリケーション アプリケーション アプリケーション アプリケーションのみのみのみのみ

Embedded Coder™

Simulink®モデルから組み込みに適したコードを生成するオプション製品 アプリケーション アプリケーションアプリケーション アプリケーション ミドルウェア ミドルウェア ミドルウェア ミドルウェア デバイスドライバ デバイスドライバ デバイスドライバ デバイスドライバ スケジューラ スケジューラ スケジューラ スケジューラ ハードウェア ハードウェア ハードウェア ハードウェア

2つの方法があります

(17)

ターゲット依存

ターゲット依存

ターゲット依存

ターゲット依存 / 非依存型の比較

非依存型の比較

非依存型の比較

非依存型の比較

Embedded Coder™

ターゲット非依存型

ターゲット非依存型

ターゲット非依存型

ターゲット非依存型

ターゲット依存型

ターゲット依存型

ターゲット依存型

ターゲット依存型

I / O グローバル変数 / 引数 専用ブロックを提供 他ソースとの結合 手動 自動 ビルド 手動 自動 特徴 量産用コード開発向き (ターゲット非依存アプリ) MCUを用いた制御実験向き (On Target RCP) 注意点 手動の手間がかかる 対応ターゲットが限定される

基本はこちら

基本はこちら

基本はこちら

基本はこちら

対応ターゲットリスト: http://www.mathworks.co.jp/hardware-support/index.html

カスタマイズや工夫で

カスタマイズや工夫で

カスタマイズや工夫で

カスタマイズや工夫で

ギャップの解消が可能

ギャップの解消が可能

ギャップの解消が可能

ギャップの解消が可能

(18)

ターゲットに合わせたコード生成製品を提供

ターゲットに合わせたコード生成製品を提供

ターゲットに合わせたコード生成製品を提供

ターゲットに合わせたコード生成製品を提供

Simulink Coder

RCP/HILS

C

Embedded Coder

MCU/DSP

C/C++

HDL Coder

FPGA/ASIC

HDL

Simulink

PLC Coder

PLC

ST

MATLAB Coder

MATLAB

MEX

C

Simulink/Stateflowモデル MATLABファイル

(19)

組み込み

組み込み

組み込み

組み込み・量産

・量産

・量産C/C++コードを生成

・量産

コードを生成

コードを生成

コードを生成

Embedded Coder™

生成コード検証

生成コード検証

生成コード検証

生成コード検証

各種ターゲット

各種ターゲット

各種ターゲット

各種ターゲット/

評価ボードへのビルド

評価ボードへのビルド

評価ボードへのビルド

評価ボードへのビルド

On Target RCP

Software In the Loop Simulation

.c .c++

効率的なコードを生成

効率的なコードを生成

効率的なコードを生成

効率的なコードを生成

Processor In the Loop Simulation MATLABファイル  ANSI-C/ISO-C/GNU-C準拠準拠準拠準拠  整数・浮動小数点・整数・浮動小数点・整数・浮動小数点・整数・浮動小数点・ 固定小数点演算対応 固定小数点演算対応固定小数点演算対応 固定小数点演算対応 ( (( (Fixed-Point Designer™が必要)が必要)が必要)が必要)  定数定数/変数(定数定数 変数(変数(変数(ROM/RAM)設定)設定)設定)設定 Simulink/Stateflowモデル

(20)

Simulinkと

とStateflow のコンテンツプレビュー

のコンテンツプレビュー

のコンテンツプレビュー

のコンテンツプレビュー

 サブシステム・リファレンスモデル・ Stateflowチャートおよびサブチャート の内部を視覚的に判別  各システムに対して個別に有効化が 可能  デフォルトではコンテンツプレビューは 無効 階層システム内部を表示 階層システム内部を表示階層システム内部を表示 階層システム内部を表示 見やすく 見やすく見やすく 見やすくなったなったなったなったSimulinkモデルモデルモデルモデル

(21)

Step2:コンポーネント化

2:コンポーネント化

2:コンポーネント化

2:コンポーネント化

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

化化化化

のののの

(22)

コンポーネント化する時の考慮点

コンポーネント化する時の考慮点

コンポーネント化する時の考慮点

コンポーネント化する時の考慮点

6つの

つの

つの観点から検討しよう

つの

観点から検討しよう

観点から検討しよう

観点から検討しよう

効率性

効率性

効率性

効率性

シミュレーション速度、資源の使用率

移植性

移植性

移植性

移植性

流用の度合い、別環境との組み合わせ

使用性

使用性

使用性

使用性

理解しやすさ、習得しやすさ

保守性

保守性

保守性

保守性

複数人による作業、変更に必要な労力

信頼性

信頼性

信頼性

信頼性

テストのしやすさ、網羅的なテストデータ 0 2 4 6 8 0 0.2 0.4 0.6 0.8 1 Step Response Time (seconds) A m p litu d e 2 2.5 3 0 0.2 0.4 0.6 0.8 1

機能性

機能性

機能性

機能性

機能の実装度合い、トレーサビリティー

C

(23)

Simulinkにおけるコンポーネント化の例

におけるコンポーネント化の例

におけるコンポーネント化の例

におけるコンポーネント化の例

各ブロックの特性

各ブロックの特性

各ブロックの特性

各ブロックの特性を理解し

を理解し

を理解し使い分けしよう

を理解し

使い分けしよう

使い分けしよう

使い分けしよう



Virtualサブシステムブロック

– 視覚的な階層単位視覚的な階層単位視覚的な階層単位視覚的な階層単位 – シミュレーション実行時には、階層を維持しない 

Atomicサブシステムブロック

– 内部に含まれるブロック群を、 一つ 一つ一つ 一つの単位との単位との単位として実行の単位として実行して実行して実行 

Modelブロック

– 別別モデルファイルを参照別別モデルファイルを参照モデルファイルを参照モデルファイルを参照 – 実行時にはDLL化(アクセラレータモード時) – モデルのビルド時、変更がある参照ファイル のみビルド可能

(24)

モデルの一括切り替え

モデルの一括切り替え

モデルの一括切り替え

モデルの一括切り替え



システムの一部を設計対象ごとに切り替えたい

– Variant機能でモデルまたはサブシステムの切り替え可能 – 大きなモデルの場合には切り替えミスを防止

(25)

コンポーネント化

コンポーネント化

コンポーネント化

コンポーネント化のまとめ

のまとめ

のまとめ

のまとめ

Virtual

サブシステム

サブシステム

サブシステム

サブシステム

ブロック

ブロック

ブロック

ブロック

視覚的な階層

視覚的な階層

視覚的な階層

視覚的な階層

Atomic

サブシステム

サブシステム

サブシステム

サブシステム

ブロック

ブロック

ブロック

ブロック

トレーサビリティ、生成されるコードの

トレーサビリティ、生成されるコードの

トレーサビリティ、生成されるコードの

トレーサビリティ、生成されるコードの

モジュール化、予測可能な実行

モジュール化、予測可能な実行

モジュール化、予測可能な実行

モジュール化、予測可能な実行

Model

ブロック

ブロック

ブロック

ブロック

並行開発、単体テスト、

並行開発、単体テスト、

並行開発、単体テスト、

並行開発、単体テスト、

複数レベルの階層、拡張性、流用性

複数レベルの階層、拡張性、流用性

複数レベルの階層、拡張性、流用性

複数レベルの階層、拡張性、流用性

(26)

Step3

3:インターフェース

:インターフェース

:インターフェース

:インターフェース

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

化化化化

のののの

(27)

Simulinkにおけるインターフェース例

におけるインターフェース例

におけるインターフェース例

におけるインターフェース例

Cコードで例えると変数や定数のようなもの

コードで例えると変数や定数のようなもの

コードで例えると変数や定数のようなもの

コードで例えると変数や定数のようなもの

Numerical Data Events Global Data Parameters

(28)

データディクショナリによるインターフェース定義

データディクショナリによるインターフェース定義

データディクショナリによるインターフェース定義

データディクショナリによるインターフェース定義

モデルファイルとデータファイルを分割

モデルファイルとデータファイルを分割

モデルファイルとデータファイルを分割

モデルファイルとデータファイルを分割しよう

しよう

しよう

しよう

• Simulink.Signal – Simulink信号を定義

• Simulink.Parameter – Simulinkパラメーターを定義

モデル (アルゴリズム、システム ダイナミクスなど) .mdl,.slx 名前 説明 値 ストレージ クラス データ型 .m,.mat

(29)

信号の定義方法

信号の定義方法

信号の定義方法

信号の定義方法

グローバルデータの記述方法を検討

グローバルデータの記述方法を検討

グローバルデータの記述方法を検討

グローバルデータの記述方法を検討しよう

しよう

しよう

しよう

データストアメモリ

データストアメモリ

データストアメモリ

データストアメモリ

信号線

信号線

信号線

信号線

モデル例 読書き順序 優先度指定 Simulinkが決める順序 利点 結線 / スルー処理の省力化 同一変数の読み書きが得意 データフローの明確化 注意点 多用するとデータフローが 不明瞭 結線 / スルー処理が大変 (特に大規模モデル)

データフロー層はブロック線図(信号線)

ストラクチャ層は信号線 or データストアメモリ

(30)

コード

コード

コード

コード生成用

生成用

生成用モデルの作成

生成用

モデルの作成

モデルの作成

モデルの作成 / リファクタリング

リファクタリング

リファクタリング

リファクタリング

コード生成をサポートしているブロックに限定しよう

コード生成をサポートしているブロックに限定しよう

コード生成をサポートしているブロックに限定しよう

コード生成をサポートしているブロックに限定しよう

基本的なチェックポイント

基本的なチェックポイント

基本的なチェックポイント

基本的なチェックポイント

 シミュレーション時にエラーが無いか?  離散時間で動作するか?  コード生成に対応した ブロックか?  適切なデータ型を 設定しているか?  代数ループが無いか?  効率的なコードが 生成されるか?  etc. ブロックサポートテーブルで確認可能 (Xが対応していることを示します)

(31)

Step4:実行の制御

4:実行の制御

4:実行の制御

4:実行の制御

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

化化化化

のののの

(32)

サブシステムの呼び出しタイミング

サブシステムの呼び出しタイミング

サブシステムの呼び出しタイミング

サブシステムの呼び出しタイミング

Cコードで例えると関数呼び出しのようなもの

コードで例えると関数呼び出しのようなもの

コードで例えると関数呼び出しのようなもの

コードで例えると関数呼び出しのようなもの

void task_init(void) { ... // 初期化初期化初期化初期化 (t=0のみのみのみ)のみ } void task_diag(void) { ... // 診断診断診断診断制御制御制御制御(2ms) } void task_logic(void) { ... // ロック制御ロック制御ロック制御ロック制御 (4ms) } tasks.c

(33)

実行

実行

実行

実行順序

順序

順序

順序の定義方法

の定義方法

の定義方法

の定義方法

呼び出し方法の

呼び出し方法の

呼び出し方法の

呼び出し方法の特性を

特性を

特性を

特性を理解し使い分けしよう

理解し使い分けしよう

理解し使い分けしよう

理解し使い分けしよう

ファンクションコール

ファンクションコール

ファンクションコール

ファンクションコール

トリガー

トリガー

トリガー

トリガー

モデル例 読書き順序 スケジューラが決める順序 Simulinkが決める順序 利点 スケジューラの実行順序通りに 呼び出し モデルに処理の順番が定義される 注意点 スケジューラの実行順序が支配的 Simulinkの実行順序が支配的

トリガ層はファンクションコール or トリガー

ストラクチャ層は信号線 or データストアメモリ

(34)

関数モデルのエクスポート

関数モデルのエクスポート

関数モデルのエクスポート

関数モデルのエクスポート

 モデルはシミュレーションもしくは コード生成用のためのリファレンス モデルとして使用可能  生成コードには各関数呼び出し 入力ポート用メソッドとモデルの 初期化メソッドが含まれる  生成コードの手動編集の必要無く ラピットプロトタイピングとコード 生成が可能 void trigger_1ms(void) { … } いままで参照モデル(子モデル) いままで参照モデル(子モデル)いままで参照モデル(子モデル) いままで参照モデル(子モデル) の中にあったスケジューラーを の中にあったスケジューラーをの中にあったスケジューラーを の中にあったスケジューラーを 外に出せるようになった 外に出せるようになった 外に出せるようになった 外に出せるようになった 外部アプリケーション 外部アプリケーション 外部アプリケーション 外部アプリケーションへエクスポートするへエクスポートするへエクスポートするへエクスポートする ため ため ため

ためFunction Call Subsystemからからからから コード生成

コード生成 コード生成 コード生成

(35)

Step5

5:コンフィギュレーション

:コンフィギュレーション

:コンフィギュレーション

:コンフィギュレーション

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

化化化化

のののの

(36)

コード

コード

コード

コード生成用のコンフィギュレーション

生成用のコンフィギュレーション

生成用のコンフィギュレーション

生成用のコンフィギュレーション

コード

コード

コード

コード生成

生成

生成

生成アドバイザーで設定をチェックしよう

アドバイザーで設定をチェックしよう

アドバイザーで設定をチェックしよう

アドバイザーで設定をチェックしよう

①通常ert.tlcに設定 ④設定が組み込みコード生成に 向いているか一括チェック ③目的の設定 ②コード生成 アドバイザー起動

(37)

Simulink コンフィギュレーションセット

コンフィギュレーションセット

コンフィギュレーションセット

コンフィギュレーションセット

目的

目的

目的

目的にあった

にあった

にあった

にあったコンフィギュレーションを選択しデータで管理しよう

コンフィギュレーションを選択しデータで管理しよう

コンフィギュレーションを選択しデータで管理しよう

コンフィギュレーションを選択しデータで管理しよう

Simulink.ConfigSet

シミュレーション用

シミュレーション用

シミュレーション用

シミュレーション用

の設定

の設定

の設定

の設定

(連続系)

(連続系)

(連続系)

(連続系)

コード

コード

コード

コード生成用

生成用

生成用

生成用

の設定

の設定

の設定

の設定

(離散系)

(離散系)

(離散系)

(離散系)

(38)

データディクショナリ

データディクショナリ

データディクショナリ

データディクショナリにコンフィギュレーションを定義

にコンフィギュレーションを定義

にコンフィギュレーションを定義

にコンフィギュレーションを定義

参照コンフィギュレーションで参照モデルへ伝播しよう

参照コンフィギュレーションで参照モデルへ伝播しよう

参照コンフィギュレーションで参照モデルへ伝播しよう

参照コンフィギュレーションで参照モデルへ伝播しよう

①参照コンフィギュレーションに設定 ④一括で伝播 ③伝播をクリック ②参照モデルへ伝播

(39)

モデルアーキテクチャのまとめ

モデルアーキテクチャのまとめ

モデルアーキテクチャのまとめ

モデルアーキテクチャのまとめ

モデリング

モデリング

モデリング

モデリングする

する

する際の重要

する

際の重要

際の重要な開発

際の重要

な開発

な開発

な開発タスクです!

タスクです!

タスクです!

タスクです!



Step1

1:階層化

階層化

階層化

階層化

 構造の指針を明確にする構造の指針を明確にする構造の指針を明確にする構造の指針を明確にする 

Step2:コンポーネント化

2:コンポーネント化

2:コンポーネント化

2:コンポーネント化

 流用、派生に強い部品にする流用、派生に強い部品にする流用、派生に強い部品にする流用、派生に強い部品にする 

Step3:インターフェース

3:インターフェース

3:インターフェース

3:インターフェース

 モデルとデータの影響度を低くするモデルとデータの影響度を低くするモデルとデータの影響度を低くするモデルとデータの影響度を低くする 

Step4:実行の制御

4:実行の制御

4:実行の制御

4:実行の制御

 処理の処理のタイミング処理の処理のタイミングタイミングタイミングを明確するを明確するを明確するを明確する 

Step5

5:コンフィギュレーション

:コンフィギュレーション

:コンフィギュレーション

:コンフィギュレーション

 コード生成コード生成用コード生成コード生成用用の設定を統一する用の設定を統一するの設定を統一するの設定を統一する

(40)

アジェンダ

アジェンダ

アジェンダ

アジェンダ

1.

はじめに

はじめに

はじめに

はじめに

2.

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

3.

(例)ドアロック制

(例)ドアロック制御システム開発

(例)ドアロック制

(例)ドアロック制

御システム開発

御システム開発

御システム開発

4.

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

5.

まとめ

まとめ

まとめ

まとめ

(41)

(例)ドアロック制御システム開発

(例)ドアロック制御システム開発

(例)ドアロック制御システム開発

(例)ドアロック制御システム開発

250 CAN messages with 2500 individual signals

ドアロック制御要求

ドアロック制御要求

ドアロック制御要求

ドアロック制御要求

車両走行時に自動ロックする車両走行時に自動ロックする車両走行時に自動ロックする車両走行時に自動ロックする 緊急時に自動ロック解除する緊急時に自動ロック解除する緊急時に自動ロック解除する緊急時に自動ロック解除する

(42)

ドアロック制御システムの構成

ドアロック制御システムの構成

ドアロック制御システムの構成

ドアロック制御システムの構成

ドアロック位置情報 ドアロック位置情報 ドアロック位置情報 ドアロック位置情報 s1 s2 s3 車速情報 車速情報車速情報 車速情報 エンジン情報 エンジン情報 エンジン情報 エンジン情報 エアバック情報 エアバック情報 エアバック情報 エアバック情報 ドアロック ドアロック ドアロック ドアロック

ドアロック

ドアロック

ドアロック

ドアロック機能

機能

機能

機能

車両情報とドアロック位置情報により 車両情報とドアロック位置情報により車両情報とドアロック位置情報により 車両情報とドアロック位置情報により走行中と判断した場合走行中と判断した場合走行中と判断した場合走行中と判断した場合はははは 自動ロック 自動ロック自動ロック 自動ロックする。する。する。する。停車中と判断した場合停車中と判断した場合停車中と判断した場合停車中と判断した場合はははは自動アンロック自動アンロック自動アンロック自動アンロックする。する。する。する。

診断

診断

診断

診断機能

機能

機能

機能

車両情報とドアロック位置情報により、 車両情報とドアロック位置情報により、 車両情報とドアロック位置情報により、 車両情報とドアロック位置情報により、緊急時と判断した場合緊急時と判断した場合緊急時と判断した場合緊急時と判断した場合はははは 自動アンロック 自動アンロック 自動アンロック 自動アンロックする。する。する。する。 制御 制御制御 制御 指令値 指令値 指令値 指令値

(43)

システム システム システム システムアーキテクチャアーキテクチャアーキテクチャアーキテクチャ ソフトアーキテクチャ ソフトアーキテクチャ ソフトアーキテクチャ ソフトアーキテクチャ Special Device Drivers Input Drivers Output Drivers Comm Drivers

Application

Door Lock Component Diagnosis Component Scheduler/Operating System

アーキテクチャへのマッピング

アーキテクチャへのマッピング

アーキテクチャへのマッピング

アーキテクチャへのマッピング

段階的に詳細化する

段階的に詳細化する

段階的に詳細化する

段階的に詳細化する

コード生成対象モデル コード生成対象モデル コード生成対象モデル コード生成対象モデル

(44)

ドアロック制御

ドアロック制御

ドアロック制御

(45)

モデルアーキテクチャを導入したコントローラモデル

モデルアーキテクチャを導入したコントローラモデル

モデルアーキテクチャを導入したコントローラモデル

モデルアーキテクチャを導入したコントローラモデル

インターフェース インターフェース インターフェース インターフェース 実行の実行実行実行の制御のの制御制御制御 コンポーネント化コンポーネント化コンポーネント化コンポーネント化 インターフェースインターフェースインターフェースインターフェース

コード実装を想定したモデリングをシステム開発段階から

コード実装を想定したモデリングをシステム開発段階から

コード実装を想定したモデリングをシステム開発段階から

コード実装を想定したモデリングをシステム開発段階から検討

検討

検討

検討

(46)

制御モデル階層:

御モデル階層:

御モデル階層:Type A(トップ層、トリガ層)

御モデル階層:

(トップ層、トリガ層)

(トップ層、トリガ層)

(トップ層、トリガ層)

ト ッ プ ト ッ プ ト ッ プ ト ッ プ 層層層層 ト リ ガ ト リ ガ ト リ ガ ト リ ガ 層層層層 スケジューラ タスクサブシステム 入出力はデータストアメモリ (グローバル変数) 初期化 (t=0のみ) ロック制御 (2ms) 診断制御 (4ms)

(47)

ス ト ラ ク チ ャ ス ト ラ ク チ ャ ス ト ラ ク チ ャ ス ト ラ ク チ ャ 層層層層

制御モデル階層:

御モデル階層:

御モデル階層:

御モデル階層:Type A(ストラクチャ層、データフロー層)

(ストラクチャ層、データフロー層)

(ストラクチャ層、データフロー層)

(ストラクチャ層、データフロー層)

入出力はデータストアメモリ (グローバル変数) モデル参照 デ ー タ フ ロ ー デ ー タ フ ロ ー デ ー タ フ ロ ー デ ー タ フ ロ ー モ デ ル モ デ ル モ デ ル モ デ ル 参 照 参 照 参 照 参 照 ス ト ラ ク チ ャ ス ト ラ ク チ ャ ス ト ラ ク チ ャ ス ト ラ ク チ ャ 層層層層 診断モード制御 データ判定 処理ロジック

(48)

ドアロック制

ドアロック制

ドアロック制

ドアロック制御システム例題のまとめ

御システム例題のまとめ

御システム例題のまとめ

御システム例題のまとめ

コード実装を想定したモデリングルールを整備しよう

コード実装を想定したモデリングルールを整備しよう

コード実装を想定したモデリングルールを整備しよう

コード実装を想定したモデリングルールを整備しよう



共通ルールによるモデリングの品質向上



仕様摺合せの前倒しによる手戻り削減



実装制約のフィードバックによる開発の効率化

システム開発段階からコード実装

システム開発段階からコード実装

システム開発段階からコード実装

システム開発段階からコード実装を想定

を想定

を想定

を想定し

モデリングすることのメリット

モデリングすることのメリット

モデリングすることのメリット

モデリングすることのメリット

(49)

その他の階層化例

その他の階層化例

その他の階層化例

その他の階層化例

AUTOSARのソフトウェアレイヤーと高い親和性

のソフトウェアレイヤーと高い親和性

のソフトウェアレイヤーと高い親和性

のソフトウェアレイヤーと高い親和性

Com-plex Drivers Microcontroller

Microcontroller Abstraction Layer Services Layer

Application Layer

Runtime Environment(((RTE)(

ECU Abstraction Layer

A p p li c a ti o n S W C o m p o n e n ts B a s ic S o ft w a re E C U R e s o u rc e s

Simulinkモデル

モデル

モデル

モデル⇒

コード生成

コード生成

コード生成

コード生成

(50)

MathWorks の

サポート

サポート

サポート

サポート

AUTOSAR Target Production Package(ATPP)

 AUTOSAR プレミアムメンバー

 ワーキンググループへ積極的に参加  AUTOSARコード生成は、

Embedded Coder (EC)で対応

 追加ライセンスコスト不要  他の AUTOSARツールベンダー とツールの 相互利用性をメンテナンスする関係を構築  サポートAUTOSAR バージョン: MATLAB Release AUTOSAR Release R2013b 2.1, 3.0, 3.1, 3.2, 4.0 R2013a 2.1, 3.0, 3.1, 3.2, 4.0 R2012b 2.1, 3.0, 3.1, 3.2, 4.0 R2012a 2.1, 3.0, 3.1, 3.2, 4.0 R2011b 2.0, 2.1, 3.0, 3.1, 3.2 R2011a 2.0, 2.1, 3.0, 3.1 R2010b 2.0, 2.1, 3.0, 3.1 R2010a 2.0, 2.1, 3.0. 3.11) R2009b 2.0, 2.1, 3.0 R2009a 2.0, 2.1, 3.0 R2008b 2.0, 2.1 R2008a 2.0, 2.1 R2006b - 07b:

AUTOSAR Demonstrator Kit 1)via AUTOSAR PSP

(51)

アジェンダ

アジェンダ

アジェンダ

アジェンダ

1.

はじめに

はじめに

はじめに

はじめに

2.

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

3.

(例)ドアロック制

(例)ドアロック制御システム開発

(例)ドアロック制

(例)ドアロック制

御システム開発

御システム開発

御システム開発

4.

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

5.

まとめ

まとめ

まとめ

まとめ

(52)

フォルダの整理

フォルダの整理

フォルダの整理

フォルダの整理

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャに

に沿って

沿って

沿ってファイル

沿って

ファイル

ファイルを整理しよう

ファイル

を整理しよう

を整理しよう

を整理しよう

作業ディレクトリの 派生ファイル データ データ データ データ ドキュメントドキュメントドキュメントドキュメント ライブラリライブラリライブラリライブラリ モデル モデル モデル モデル プロジェクト プロジェクトプロジェクト プロジェクト

(53)

構成管理

構成管理

構成管理

構成管理

Simulink

®

プロジェクト(

プロジェクト(

プロジェクト(

プロジェクト(Simulinkの標準機能

の標準機能

の標準機能 2011b以降)

の標準機能

以降)

以降)

以降)

モデルに関わる成果物をプロジェクトとして一括管理

モデルに関わる成果物をプロジェクトとして一括管理

モデルに関わる成果物をプロジェクトとして一括管理

モデルに関わる成果物をプロジェクトとして一括管理



Simulink モデルに関連するファイル

作成物

 Simulinkモデル(.mdl), データファイル(.mat)、パラメータ設定ファイル など(.m), S-Functionソースファイル

成果物

 シミュレーション結果、生成コード、ログファイル、レポート、仕様書

プロジェクトに関連して定義したアクションセット

 セットアップコード、モデルのオープン、シミュレーション、ビルド、 シャットダウン

(54)

変更管理

変更管理

変更管理

変更管理

Simulink Report Generator™

etcCh5.mdl /Rev3 (変更済み

変更済み

変更済み)

変更済み

startup.m /Rev2

etcCh5.mdl /Rev1 startup.m /Rev1 etcCh5.mdl /Rev1 startup.m /Rev2 etcCh5.mdl /Rev3 startup.m /Rev2 etcCh5.mdl /Rev4 startup.m /Rev2

リビジョン 1

リビジョン 2

リビジョン 3

リビジョン 4

何が変更されましたか?

リポジトリ

(55)

リビジョンの比較

リビジョンの比較

リビジョンの比較

リビジョンの比較 – XML ファイル

ファイル

ファイル

ファイル

変化点が一目瞭然

変化点が一目瞭然

変化点が一目瞭然

変化点が一目瞭然

機能上の変更 機能外の変更 変更前 変更前 変更前 変更前 変更後変更後変更後変更後

(56)

プロジェクトにおける依存解析グラフの強化

プロジェクトにおける依存解析グラフの強化

プロジェクトにおける依存解析グラフの強化

プロジェクトにおける依存解析グラフの強化

 改善されたファイル依存解析グラフ  ハイライトできる項目: – 依存関係 – ファイル型 – 参照型 – ラベル  例: – レビューすべきラベルを持つ全てのファイルを ハイライト – 全てのSimulinkモデルのハイライト ファイル依存・関連付け ファイル依存・関連付けファイル依存・関連付け ファイル依存・関連付け・・・・消失の消失の消失の消失の 可視化 可視化可視化 可視化

(57)

モデルベースデザイン環境

モデルベースデザイン環境

モデルベースデザイン環境

モデルベースデザイン環境構築のために

構築のために

構築のために

構築のために

Simulink APIを使って効率化しよう

を使って効率化しよう

を使って効率化しよう

を使って効率化しよう



Simulink APIとは?

– Simulink環境をコマンド・関数を用いて操作するためのプログラミング インターフェースのこと ←Simulinkの標準機能 ユーザ ユーザユーザ ユーザの手数の手数の手数をの手数ををを 最小限に 最小限に 最小限に 最小限に抑えたい抑えたい抑えたい抑えたい ユーザに不必要な ユーザに不必要な ユーザに不必要な ユーザに不必要な 設定項目の利用を 設定項目の利用を 設定項目の利用を 設定項目の利用を 制限したい 制限したい制限したい 制限したい 統一したルールの 統一したルールの 統一したルールの 統一したルールの もとでのモデリング もとでのモデリング もとでのモデリング もとでのモデリング 環境を 環境を環境を 環境を構築したい構築したい構築したい構築したい

(58)

Simulink APIの代表例

の代表例

の代表例

の代表例

 find_system – モデル上のブロック・信号線などを探索  get_param – ブロック/モデルの設定値を取得  set_param – ブロック/モデルの設定値を更新  add_line – ブロック間を結線  add_block – モデル中にブロックを配置  sim – シミュレーションを実行 MATLAB/Simulinkヘルプ

(59)

アジェンダ

アジェンダ

アジェンダ

アジェンダ

1.

はじめに

はじめに

はじめに

はじめに

2.

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

モデルアーキテクチャ

3.

(例)ドアロック制

(例)ドアロック制御システム開発

(例)ドアロック制

(例)ドアロック制

御システム開発

御システム開発

御システム開発

4.

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

モデルベースデザイン環境構築

5.

まとめ

まとめ

まとめ

まとめ

(60)

②人材育成

人材育成

人材育成

人材育成

• 必要機能の整理、モデリングルール

• ツールチェーンの選定と構築

• 自動化、構成管理、変更管理

• MBD啓蒙活動

• トレーニングの体系化(ユーザ/Mgr.)

• 技術スキルマップ、ノウハウ共有

①環境構築

環境構築

環境構築

環境構築

モデルベースデザイン(

モデルベースデザイン(

モデルベースデザイン(

モデルベースデザイン(MBD)成功のポイント

)成功のポイント

)成功のポイント

)成功のポイント

3つの

つの

つのキーファクター

つの

キーファクター

キーファクター

キーファクター

③業務への適用

業務への適用

業務への適用

業務への適用

• パイロットプロジェクトの選定

• MBDプロセスの策定

• 部門責任者の承認

参照

関連したドキュメント

・厚⽣労働⼤⾂が定める分析調査者講習を受講し、修了考査に合格した者

う東京電力自らPDCAを回して業 務を継続的に改善することは望まし

4G LTE サービス向け完全仮想化 NW を発展させ、 5G 以降のサービス向けに Rakuten Communications Platform を自社開発。. モデル 3 モデル

印刷物をみた。右側を開けるのか,左側を開け

事業所や事業者の氏名・所在地等に変更があった場合、変更があった日から 30 日以内に書面での

7 ) Henri Focillon, ‘L’Eau-forte de reproduction en France au XIXe siècle’, Revue de l’art ancien et moderne, 28/ 1910,

By the method I, emotional recognition rate is 60% for close data, and 50% for open data(8 sentence speech of another speaker).The method II improves drastically the recognition

2 次元 FEM 解析モデルを添図 2-1 に示す。なお,2 次元 FEM 解析モデルには,地震 観測時点の建屋の質量状態を反映させる。.