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

CANoe

N/A
N/A
Protected

Academic year: 2022

シェア "CANoe"

Copied!
57
0
0

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

全文

(1)

CANoe

プロダクトインフォメーション

(2)

目 次

1 CANoeの概要... 5

1.1 バスシステムおよびプロトコル ... 6

1.2 製品のコンセプトとグレード ... 6

1.3 製品とともに提供されるコンポーネント ... 6

1.4 システム要件 ... 7

1.5 その他の利用シナリオ ... 7

1.5.1 CANoe(EULAの場合) ... 7

1.5.2 CANoe(ELAの場合) ... 7

1.6 詳細情報 ... 7

2 機能 ... 8

2.1 特殊機能 ... 8

2.2 データベースのサポート ... 10

3 解析 ... 10

3.1 測定設定 ... 11

3.2 トレースWindow ... 12

3.3 グラフィックWindow ... 13

3.4 スコープWindow ... 14

3.5 データWindow ... 15

3.6 統計Window ... 15

3.7 ステートトラッカー ... 16

3.8 出力Window ... 17

3.9 ビデオWindow ... 18

3.10 マップWindow ... 19

3.11 トリガーおよびフィルター ... 19

3.12 ロギング/リプレイ ... 20

4 刺激入力/シミュレーション ... 20

4.1 変数およびシグナルジェネレーター ... 20

4.1.1 インタラクティブジェネレーター ... 20

4.1.2 シグナルジェネレーター ... 21

4.2 開始値の設定 ... 22

4.3 シンボルマッピング ... 23

4.4 インタラクションレイヤー、ネットワークマネージメント、トランスポートプロトコル ... 23

4.4.1 自動車メーカー固有の拡張機能... 23

4.4.2 インタラクションレイヤーの設定 ... 23

4.5 MATLAB/Simulink ... 24

4.5.1 CANoe MATLAB/Simulinkインテグレーションのその他の機能... 24

5 テスト ... 26

5.1 ECUおよびネットワークのテスト ... 26

5.2 CAN/CAN FDの妨害 ... 30

6 診断 ... 31

7 SOAおよびAUTOSAR Adaptive ... 34

7.1 Communication Concepts – 現在の開発状況 ... 34

7.2 CANoe通信モデル ... 35

(3)

8 プログラミング ... 36

8.1 CAPLインターフェイス ... 36

8.1.1 Cライクな構文 ... 36

8.1.2 イベント指向制御... 36

8.1.3 シンボリックアクセス ... 36

8.1.4 アプリケーション固有の言語拡張 ... 37

8.2 CAPLブラウザー ... 39

8.3 .NETプログラミング ... 39

8.4 デバッグ ... 40

8.5 ビジュアルシーケンサー... 42

9 パネル ... 42

10 ネットワークインターフェイス ... 43

11 その他のアプリケーションとのインターフェイス ... 43

11.1 COMインターフェイス ... 43

11.2 FDX ... 44

11.3 ASAM XIL API ... 44

11.4 FMI ... 44

12 リアルタイム実行 ... 44

12.1 独立したハードウェア上のリアルタイム領域 ... 44

12.2 Vector Tool Platform ... 46

13 オプションScope ... 46

13.1 適用分野 ... 46

13.2 主な特長... 47

13.3 サポートするプロトコル ... 47

13.4 対応するオシロスコープハードウェア ... 47

13.5 オシロスコープソフトウェア ... 48

13.5.1 設定機能 ... 48

13.5.2 トリガー機能 ... 48

13.5.3 解析機能 ... 49

13.5.4 オフライン機能 ... 49

14 オプションSensor ... 49

14.1 適用分野 ... 49

14.2 サポートするセンサープロトコル ... 50

14.3 サポートするシリアルプロトコル ... 50

14.4 主な特長... 51

15 オプションSmartCharging ... 51

16 オプションAMD/XCP ... 52

16.1 適用分野 ... 52

16.1.1 Calibration Protocol (XCP) / CAN Calibration Protocol (CCP) ... 52

16.1.2 AUTOSARのモニターおよびデバッグ(AMD:AUTOSAR Monitoring and Debugging) ... 52

16.2 ECUアクセス ... 53

16.2.1 サポートされているバスシステムとプロトコル ... 53

16.2.2 VX1000測定およびキャリブレーションインターフェイス ... 53

16.2.3 CSM測定モジュール ... 53

16.2.4 ハードウェアデバッガーサポート ... 53

(4)

16.3 主な特長... 54

16.4 機能 ... 54

16.5 CANoeとのインテグレーション ... 55

16.6 設定 ... 55

17 その他の機能拡張 ... 56

17.1 DiVa (Diagnostic Integration and Validation Assistant) ... 56

17.2 CFS (Connectivity Feature Set) ... 56

18 トレーニング ... 56

V6.3 06/2020

CANoeバージョン13.0以降を対象としています。

この資料では、解析、刺激入力/シミュレーション、テスト、診断といった CANoe の適用分野と、それぞれの機能について説明します。また、

CANoeでのプログラミング、追加オプションとプログラム、ハードウェアとソフトウェアのインターフェイスについても簡単に概説します。

CANoeFlexRay、LIN、MOST、CANopenオプションについては、別途「プロダクトインフォメーション」をご用意しております。

発行元: ベクター・ジャパン株式会社 www.vector.com/jp/ja/

(5)

1 CANoeの概要

CANoe は、ECU ネットワーク全体および単体 ECU の開発、テスト、解析に使用できる汎用的なツールです。分散システム全体または個々の ECU 開発の計画から始動までのプロセス全体にわたって、自動車メーカーおよびサプライヤーのネットワーク設計者、開発エンジニア、テストエン ジニアをサポートします。

開発プロセスの初期段階で、CANoeを使用してECUの動作のシミュレーションモデルを作成します。作成したモデルは、それ以降のECU開発 の全段階にわたって、バスシステムと ECU の解析、テスト、インテグレーションの基盤として使用可能です。こうすることで、問題を早期に発見し、

解決することができます。グラフィックおよびテキストベースの解析Windowで、結果を評価できます。

CANoeにはテスト機能セットが搭載されており、テストを簡単かつ自動的に実行できます。CANoeテスト機能を使用することで、作成したテストシ ーケンスを順番に実行し、テストレポートを自動生成することができます。また、CANoeにはECUとの診断通信用の診断機能セットも組み込まれ ています。

図 1: CANoeのユーザーインターフェイス

(6)

1.1 バスシステムおよびプロトコル

CANoeではさまざまなオプションが提供されており、さまざまなバスシステム、CANベースプロトコルと任意に組み合わせて使用できます。

CANoeがサポートするバスシステム:CAN、CAN FD、LIN、MOST、FlexRay、J1708、Ethernet、K-Line、A429、WLAN、AFDX®1 CANベースの上位プロトコル:J1939、ISO 11783、CANopen、GMLAN、CANaeroなど

これ以外のプロトコルについてはご相談ください。

オプションの詳細については、ベクターのWebサイトに掲載されています。

1.2 製品のコンセプトとグレード

CANoeには、自動車メーカーおよびサプライヤー固有の目的に応じて次のグレードがあります。

> CANoe full:全機能を装備

> CANoe run:Runtime (run) グレードでは、シミュレーション、すべての解析機能、ネットワークノードの単純な接続/接続解除が可能。コン

フィギュレーションの修正は不可。このグレードは、あらかじめ定義された残りのバスシミュレーションと、実際のECUとの相互関係をすばや く簡単にテストしたいユーザー向けです

> CANoe pex:Project Execution (pex) グレードでは、グラフィカルユーザーインターフェイス(GUI)のみ利用可能。ユーザーがメッセージ

の評価を実行することなく、テストケースと結果を容易に制御できます

CANoe-CANalyzer 互換モードを使用すると、プロジェクト内または組織内などで、統一されたコンフィギュレーションを両方のプログラムで使用 することができます。結果的に、それぞれの応用事例に応じて、適切なプログラムの最適なグレードを使用できます。たとえばECU 開発中の作業 にCANoe fullグレードを使用し、同一のコンフィギュレーションを用いて、システムインテグレーターやテストドライバーがCANalyzerでバス通信 をチェックできます。

1.3 製品とともに提供されるコンポーネント

提供される製品コンポーネントは、選択した製品グレードによって異なります。fullグレードには、CANoe自体のほかに次のコンポーネントが含ま れます。

> システム全体、すべてのインストール済みバスシステムオプション、およびテストや診断などの特定の応用事例のための多数のサンプルコン

フィギュレーション

> さまざまなデータベース形式、パネル、CAPLプログラミング向けのエディターおよび表示プログラム

> インストール説明書、マニュアル、およびヘルプ機能

> ISO/DIS 15765-2に基づくトランスポートプロトコル(TP)と、ベクターの仕様に基づくインタラクションレイヤー(IL)

その他のモジュール(自動車メーカー固有のTPまたはILなど)は、標準コンポーネントとしては付属しません。

(7)

1.4 システム要件

コンポーネント 推奨 最小要件

CPU

> インテルCore i7または互換CPU

> ≥ 3GHz

> ≥ 4コア

> インテル互換

> 2GHz

> 2コア

CANoeの性能はCPUのクロック周波数に大きな影響を受けます。

メモリー(RAM) ≥ 32GB 4GB

ハードディスク容量 ≥ 20GB SSD/NVMe 8GB HDD/SSD

(使用するオプションと、オペレーティングシステムコンポーネントにより異なる)

画面解像度 フルHD 1280×1024ピクセル

オペレーティングシステム*

>Windows 10 64bit(バージョン1803以上

> Windows 10 64bit(バージョン1803以上

> Windows 8.1 64bit

> Windows 7 64bit(SP1以上)

* 仮想OSを除く。仮想マシン上での実行は可能ですが、テストは行われておりません。仮想化に より、ベクター製ハードウェアの動作に遅延時間が大きくなるなどの影響が生じるおそれがありま す。

1.5 その他の利用シナリオ

1.5.1 CANoe(EULAの場合)

CANoeでは、「エンドユーザーライセンス条項」のセクション2.1 に加え、以下の使用シナリオが許可されています。すなわち、「CANoeによる自 動化またはCANoeへのリモートアクセスは、ベクター製ハードウェアを用いた実システム(VN、VT、VX)へのアクセスを目的としてCANoeが運 用されている場合(テストステーションやサーバー環境などの場合)であれば、デバイスライセンスによって許可されます。」

1.5.2 CANoe(ELAの場合)

CANoe では、「エンタープライズライセンス条項」のセクション 2.1 および 2.2 に加え、以下の使用シナリオが許可されています。すなわち、

「CANoeによる自動化またはCANoeへのリモートアクセスは、ベクター製ハードウェアを用いた実システム(VN、VT、VX)へのアクセスを目的と してCANoe が運用されている場合(テストステーションやサーバー環境などの場合)であれば、デバイスライセンスとネームドユーザーライセンス、

またはそのいずれかによって許可されます。」

1.6 詳細情報

> サポート/ダウンロード

> デモバージョン

CANoeの各種デモバージョンをベクターのWebサイトよりダウンロードできます。デモバージョンでは、各種適用分野のサンプルコンフィギ ュレーションおよびCANoeのすべての機能についてのヘルプをご利用いただけます。

> CANoeの機能マトリクス

CANoeのグレード、チャンネル、サポートされるバスシステムの詳細については、別途、データシート「CANoe/CANalyzerの機能マトリク ス」をご参照ください。

(8)

2 機能

CANoeの基本機能は、次のとおりです。

> ネットワーク情報を記述したデータベースの利用(例:DBC、FIBEX、LDF、NCF、AUTOSARシステムディスクリプション、MOSTファンク

ションカタログ)

> システム全体のシミュレーションと残りのバスシミュレーション

> バス通信の解析

> ネットワーク全体/単体ECUのテスト

> KWP2000およびUDS規格に基づく診断通信。本格的な診断テスターとして使用可能

> CAPLプログラミング言語を使用したユーザープログラミングにより、シミュレーション、解析、テストをサポート

> ユーザーがシミュレーションおよびテストの制御、解析データ表示のためのインターフェイスを設計可能

> 一般的な計測器、およびテスト専用ハードウェア(VTシステム)を統合

> 柔軟なドッキングコンセプトとユーザーフレンドリーなメニュー構造を採用した直観的なインターフェイス

> CANoeをサポートするベクター製の新ハードウェア:

> VN1610(2チャンネル – CAN)

> VN1611(2チャンネル – CANおよびLIN/K-Line)

> VN1630A(4チャンネル – CANおよびLIN/K-Line)

> VN1640A(4チャンネル – CANおよびLIN/K-Line)

2.1 特殊機能

CANoeの主な特長は、次のとおりです。

> リアルタイム性能が最重視されるシミュレーションでは、CANoeの動作を2台のPCに分散して実行することができます

> CAPL on Boardにより、CAPLノードをインターフェイスハードウェア上で直接実行できます

> 自動車メーカー固有のサービスとプロトコル(トランスポートプロトコル、ネットワークマネージメント、インタラクションレイヤーなど)に適応する

ため、多数の外部モジュールを利用可能です

> 診断機能:

> ODX 2.0.1/2.2.0、MDX 2.0/3.0、CDD形式の診断データベースファイルにより診断をパラメーター化

> ベーシックダイアグノスティックエディターを使用して簡単な診断サービスを定義

> フィジカルアドレッシングとファンクショナルアドレッシングをサポート

> 搭載されているOBD-IIテスターを使用して、オンボード診断を迅速かつ簡単に実行可能

> パラメーター化可能な診断データベースに基づくUDSおよびKWP2000用の診断オブザーバー

> ISO/DIS 15765-2用のトランスポートプロトコルオブザーバー

> DoIP (Diagnostics over IP) およびHSFZ (High-Speed-Fahrzeugzugang) のサポート

> ECUの診断機能シミュレーション、テスト用の特殊な診断CAPL関数

> ベクターのVTシステムにより、バスアクセスに加えてECUの入出力ラインにも対応した総合的なECUテストを実現可能です

> テストケースをTelelogic DOORSなどの一般的な要件ツールの要求項目と論理的に結び付けることができます

> CANoeは、MATLAB/Simulinkで開発されたモデルをサポートします

> AUTOSARのECUコードまたはOSEK-OSアプリケーションのランタイム環境としてCANoeを使用できます

> CAN、CAN FD、FlexRay、Ethernetバス上でXCP/CCP経由によるECU内部シグナルへのアクセスおよびプロトコル解析

> デジタルおよびアナログ入出力モジュール、測定ハードウェアの制御により、シミュレーションおよびテスト環境における実際のシグナル値の

処理が可能

(9)

> Microsoft COM、FDX(Fast Data Exchange:UDPベースのデータ転送プロトコル)、FMI (Functional Mock-up Interface)、ASAM XIL APIなどのオープンソフトウェアインターフェイスにより、既存のシステム環境へのインテグレーションが可能

> 接続されたシステムにIoTプロトコル経由で、またバックエンドにConnectivity Feature Service (CFS) 経由でアクセス

(10)

2.2 データベースのサポート

CANoeは、次の形式に基づくデータベースをサポートします:DBC (CAN)、LDF (LIN)、XML (MOST)、FIBEX (FlexRay)、AUTOSARシス テムディスクリプション(CAN/FlexRay/Ethernet)。

CANoe は、次の診断データベースファイルをサポートします:CDD (CANdelaStudio)、ODX 2.0.1/2.2.0(PDX ファイル)、および MDX 2.0/3.0。

CANoeでは、これらデータベースからの情報をシンボルとして表示し、CAPLなどで使用できます。

図 2: 解析フィルターと診断データベースファイルによる診断データが表示されたトレースWindow

3 解析

CANoeによる解析の基本は、データソースからその表示やロギングまでのデータフローです。たとえば、フィルターを統合して、解析時に考慮しな ければならないデータと、そうでないデータを定義するなどのデータ処理も可能です。

主な特長

> ドラッグ&ドロップによる容易な解析Window設定。メッセージやシグナルを、ある解析Windowから別の解析Windowへコピーまたは

移動することが可能

> 複数の機能を解析する場合、1つのタイプのWindow(グラフィックWindowなど)をデータフローに複数配置して、同時に解析が可能

> ステータスバーからロギングを直接、マウスクリックで簡単に開始および停止可能

CANoeには、以下のようなWindowおよびブロックがあります。

(11)

3.1 測定設定

測定設定では、データフローをグラフィック表示して設定します。

> データソースの定義(オンライン/オフライン)

オンラインデータソースとして、ハードウェア(CANcardXLなど)によって接続される実バスまたはシミュレーションバスを使用します。ログデ ータが保存されたファイルをオフラインデータソースとして使用します。

> 解析Window挿入

解析要件に応じて、データを個々のWindowに各種形式で表示できます。たとえば、シグナル波形をグラフィック表示したり、シグナル値を 表示したりできます。

> CAPLプログラムノードの挿入

データのフィルタリングや各種算術演算などのタスクに、CAPLプログラムノードを使用できます。

> フィルターの挿入

フィルターを使用することでデータをよりわかりやすく表示できます。フィルターで、どのデータを渡し、どのデータをブロックすべきかを定義し ます。フィルターは、測定中または測定後にアクティブにでき、個々のシグナルからバスシステム全体のチャンネルまで、幅広いオブジェクトを フィルターできます。

> トリガー条件の挿入

フィルターと同様に、トリガー条件を利用してデータ量を減らすこともできます。トリガーは、特にバスイベントに反応するように設定され、互い に組み合わせることができます。

> データの記録

測定後の解析のために、データをログファイルに記録できます。ログファイルは、後でオフラインデータソースとして再利用したり、リプレイした りできます。

図 3: オンラインデータソースを用いた測定設定

(12)

3.2 トレースWindow

トレースWindowには、メッセージやエラーフレームの送信などのバスアクティビティーがリスト表示されます。各メッセージの個々のシグナル値を 表示できます。下記のような機能を使用してデータを解析できます。

> フィルターの挿入

トレースWindowでは、各種フィルターを使用できます。フィルターを使用して、表示するデータ量を減らしたり、データをデータストリームか ら削除することもできます。

> 未変化データの非表示

より見やすくするために、変化のないデータについては色を徐々に薄くしたり、画面で非表示にすることができます。

> イベントのハイライト表示

重要なイベントとメッセージに色をつけて強調表示できます。

> マーカーの設定

マーカーを設定すると、イベントを識別して迅速に見つけることができます。マーカーは1つのイベントに割り当てられるため、そのタイムスタ ンプにも割り当てられます。設定したマーカーは、他の解析Windowに表示することもできます。

> 統計の表示

値を含むメッセージ/シグナルをさまざまな観点から各種ビューで詳細に表示します。タイムスタンプ間やシグナル値間の差異も計算されま す。

> データの記録

トレースWindowの内容の一部またはすべてをエクスポートできます。その後、エクスポート済みのファイルを別のフォーマットに変換し、同 じデータセットを別のプログラムでさらに処理することもできます。

図 4: ブロックフィルターがアクティブでマーカーが設定されているトレースWindow

(13)

3.3 グラフィックWindow

グラフィックWindowを使用して、シグナル、環境データ、診断パラメーターの値をカーブとしてグラフィック表示します。これらのカーブの測定と評 価に使用できる機能のいくつかを以下に示します。

> 測定マーカー/差異マーカーの表示

測定マーカーまたは差異マーカーを使用して、測定値の絶対的または相対的な解析を行うことができます。

測定マーカーは、トレースWindowの表示と同期させることができます。

> マーカーの設定

マーカーを設定すると、イベントを識別して迅速に見つけることができます。マーカーは1つのイベントに割り当てられるため、そのタイムスタ ンプにも割り当てられます。設定したマーカーは、他の解析Windowに表示することもできます。

> 測定カラムの表示

凡例部分に、各シグナルの全体または差異選択部分の最小値と最大値を表示したり、同じタイプのシグナル間のY軸の差異を表示できま す。

> 統計の表示

最小値、最大値、平均値、標準偏差などの統計データは、グラフィックWindowで選択されたシグナルまたはすべてのシグナルに適用でき ます。

> X/Yモード

シグナルリストを右クリックすると、選択したシグナルをX軸に設定することもできます。

> データの記録

グラフィックWindowのシグナルを測定時に自動または手動で記録できます。このとき、メッセージからシグナルを抽出して、バイナリー形式 でシグナルベースのMDFファイルに保存します。

グラフィックWindowのシグナル波形すべて、またはシグナル波形の表示セクションのみをファイルに保存できます。

図 5: マーカーが設定されたグラフィックWindow

(14)

3.4 スコープWindow

スコープWindowは、バスレベルの測定をグラフィック表示し、プロトコルエラーの解析に使用されます(第12 章の「オプションScope」もご参照く ださい)。

> トリガーの設定

スコープWindowでは、CAPLあるいはあらかじめ設定されている条件を用いて手動でトリガーを行うことができます。任意の数のトリガー 条件を作成でき、個々のトリガー条件は論理和関係で組み合わせることができます。

> 測定値の解析

ダイアグラムに測定値とそのデコード内容がグラフィック表示されます。

> シグナルの比較

さまざまなアプローチでデータを比較できます。たとえば、同じデータを異なる時間ベースで取得した場合のデータや、異なるデータを同じ時 間ベースで比較できます。

> データの記録

取得したデータをエクスポートして、後で解析用にインポートできます。

> テストモジュールでのCAPLの制御

CAPLテストモジュールからスコープWindowを制御できます。たとえば、CAPLでトリガーしたり、スコープイベントが発生するのを待機し たりできます。

> 測定カーソル

測定カーソルは時間や電圧などの物理的なデータだけでなく、それらの値を他のカーソル位置と比較し、その差を測定するのにも役立ちま す。カーソルのツールチップにはビットの論理値(例:ドミナント/レセッシブ)が表示されます。すべての物理値は独立した凡例リストに表示さ れます。

> グローバルマーカー

スコープWindowには、測定の重要ポイントをマークするためのマーカーを設定できます。それぞれのマーカーには名前と、正確なタイムス タンプが含まれます。

> アイダイアグラム

ビットの重畳または理想的なビットの表示など、拡張された解析が可能です。

図 6: アイダイアグラムが表示されたスコープWindow

(15)

3.5 データWindow

データWindowでは、シグナル値、システム変数、診断パラメーターをさまざまな形式で表示できます。

> 値の表示

データは生値またはシンボリック値で表示できます。ほかにも指数表現や、最小値/最大値を表示することもできます。

> データの記録

測定中にシグナルを記録してMDFバイナリー形式で保存します。

図 7: さまざまな表示タイプで取得値を表示するデータWindow

3.6 統計Window

統計Window には、測定中のバスアクティビティーに関する統計情報が表示されます(CAN、LIN、FlexRay)。ノードおよびフレーム単位のバス 負荷、バーストカウンター/期間、フレームおよびエラーのカウンター/レート、コントローラーの状態などが表示されます。

> 個々のチャンネルの統計データを表示

特定チャンネルの統計データのみの表示、あるいは使用可能なすべてのチャンネルの表示を選択できます。

> 更新間隔の設定

表示の更新間隔を変更します。

> 統計表示の一時停止

測定中に統計データの表示を一時停止できます。

(16)

図 8: 1チャンネル(CAN 2)の統計データを表示しているCAN統計Window

自動的に定義された統計用システム変数を使用して、個々のCAN/LIN/FlexRay統計データをグラフィックWindowなどの解析Windowやプ ログラムノードで評価できます。これらのシステム変数は、各ネットワークチャンネルごとに使用でき、統計Windowとは独立して更新されます。

3.7 ステートトラッカー

ステートトラッカーを使用して、状態、状態遷移、CAN/CAN FDフレーム、シグナル、診断パラメーターを解析し、時間的な依存関係を可視化する ことができます。ステートトラッカーは、特にデジタル入出力および端子の状態、ネットワークマネージメントステートなどのステータス情報を表示す るのに適しています。

> エラー検索

状態変化に対する応答、シグナルおよび状態遷移の解析に基づいて、エラーを検索し、機能をモニターすることができます。

> 情報の解析

ECU内部の通信状態、バスシグナル、ECU入出力などのさまざまな情報を同時に解析することができます。

> AUTOSARランナブルのモニタリング

XCPを通じて読み出されたランナブルの状態をモニタリング。

> トリガーの設定

測定を開始するトリガー条件を定義することができます。

> マーカーの設定

マーカーを設定して、測定時点を識別することができます。設定したマーカー間の時間を測定することができます。

(17)

図 9: ステートトラッカーWindowでのECUステートの解析

3.8 出力Window

出力Windowには、システムメッセージとCAPLによるユーザー指定の出力が表示されます。

> 出力の設定

出力Windowには各種ビューがあり、出力ソースに従ってシステムメッセージをフィルターします。

> 出力の記録

出力Windowの内容は、ファイルに保存したり、テキストとしてクリップボードにコピーしてそこから他のWindowsアプリケーションにコピー したりできます。

> ステータスの表示

出力Window内に、警告やエラーメッセージの情報を通知します。

図 10: システムメッセージとCAPLからの出力を表示する出力Window

(18)

3.9 ビデオWindow

ビデオWindowはビデオファイルの記録と、そのリプレイに使用できます。

ビデオWindowでは、現在のシステムコンフィギュレーションと、そのシステムにインストールされているDirectShowコンポーネントに応じて、一 般的に使用されているビデオ形式がサポートされます。たとえば、非圧縮AVI、圧縮AVI (対応するDivXなどのCodecがインストールされてい る場合)、MPG、MPEG、WMV、MP4などがサポートされます。

> オンラインでの測定および記録

ビデオWindowを使用して、設定されているビデオソース(カメラなど)からビデオファイルへの記録を行うことができます。測定が済むと、ビ デオWindowには記録されたビデオファイルが表示され、そのリプレイやナビゲーションが可能になります。

> ファイルのインポート

測定中を除き、ビデオファイルをビデオWindowにインポートすることが可能です。

> オフライン解析

ビデオWindowの設定では、ビデオファイルをオフラインソースに指定できます。これによって、そのビデオファイルがオフライン解析中に表 示されます。一般的には、オンライン測定で記録したビデオファイルをオフラインソースに指定します。

> Windowの同期

ビデオファイルは他の解析Windowと同期できます。

図 11: ビデオWindow

(19)

3.10 マップWindow

マップWindowを使用すると、CANoeにGNSS情報とマップを組み込むことができます。マップWindowはCANoeの基本機能セットの一部 です。オプション Car2xを使用することにより、Car2x情報を追加して表示できます。

> データの表示

GNSSデータとマップを解析Windowに表示できます。

> オフライン解析

GPSデータを記録し、後からリプレイして解析できます。

> Windowの同期

GNSSデータは他の解析Windowと同期できます。

> 地図の表示

マップWindowでは、自車の位置と対象ルートがマップ上に表示されます。これにより、記録された測定データを解析する際に、地理的な条 件を考慮することができます。

図 12: マップWindow

3.11 トリガーおよびフィルター

トリガーとフィルターは、特定のバスイベントに対して反応させることができます。これらを使用すると、表示したり記録したりするデータの量を減ら すことができます。トリガー条件の例として、エラー状態、メッセージ、シグナル、シグナルの変化(エッジ)があります。複雑なシステム状態をトリガ ーするには、グループを形成して、それらを論理演算子を使用して結合します。

> 測定設定でのフィルター

測定設定では、さまざまなフィルターを使用して、特定の解析Windowに送られるデータや、ブロックされるべきデータを定義できます。すべ てのフィルターはブロックフィルターとパスフィルターとして使用できます。

> 測定設定でのトリガー

測定設定では、さまざまなトリガー条件を使用して、ログファイルへのデータ記録を行うことができます。

> トレースWindowでのフィルター

トレースWindowでは、各種フィルターを使用して、測定中および測定後の解析データの量を減らすことができます。

たとえば、個々のシグナルおよびシグナル値をフィルターするためにフィルターを定義したり、さまざまなカラムフィルターを設定したりできま す。

> ハードウェアでのフィルター

CANコントローラーはアクセプタンスフィルターにより、どの受信メッセージがCANoeに送られるかを制御します。

© OpenStreetMap contributors

(20)

3.12 ロギング/リプレイ

CANoeでデータを記録して、後で解析用途にリプレイできます。

> リプレイ

リプレイブロックを使用して、ログファイルに記録した測定シーケンスをリプレイできます。ログファイルに記録されたメッセージはデータフロー に出力されます。

> ログ記録

ログブロックは、バストラフィックをBLFおよびASCII形式で記録できます。記録したデータは、オフラインモードでリプレイしたり、リプレイブ ロックを使用してリプレイできます。

4 刺激入力/シミュレーション

CANoe による分散通信システムの開発においては、残りのバスシミュレーションはデータベース情報に基づいて自動生成することができます。こ

れには、グラフィカルなユーザー制御および表示インターフェイスも含まれます。そのため、これらのシステムの通信動作を完全にシミュレーション し、解析することができます。その後の一連の開発プロセスでは、このシミュレーション内で個別のノードを実際の ECU と置き換えることができま す。残りのバスシミュレーションおよび環境シミュレーションは、サプライヤーに対し、システム全体と個々のECUおよびモジュールの両方の開発、

テスト環境を提供します。

Phase 1 Phase 2 Phase 3

図 13: CANoeによるネットワークシミュレーションから実システム全体までの開発プロセス

主な特長

> シミュレーションおよび刺激入力機能をステータスバーから簡単に開始/停止可能

4.1 変数およびシグナルジェネレーター

システム変数は、すべてのシミュレーションおよび解析ブロック、パネルで使用できます。また、I/O ハードウェアのインテグレーションにも使用でき ます。これらはシステム内でのコンフィギュレーションパラメーター、測定変数の交換、またはCOM インターフェイスを通じた外部プログラムとのリ ンクのために使用します。

シグナル、環境変数またはシステム変数は、残りのバスシミュレーションまたは接続されている入出力ハードウェアデバイスへの刺激入力を行うた めに、シグナルジェネレーター経由で直接リンクできます。これにより、傾斜やサイン波などのシグナルカーブをシステムに容易に送り込めるように なります。また、記録されたシグナル波形をログファイルから抽出してジェネレーターから生成することもできます。

4.1.1 インタラクティブジェネレーター

インタラクティブジェネレーターを使用すると、メッセージを送信するだけでなく、それに対応するシグナル値を設定できます。これにより、残りのバス シミュレーションを容易に作成することができます。

> メッセージの定義

メッセージは送信リストを用いて手動で、またはデータベースを使用して定義できます。メッセージの特性はカスタマイズ可能です。

> メッセージの送信

特定の画面ボタンやあらかじめ定義されたキーを押したときに、送信リストで設定したメッセージを一定期間ごとに送信することができます。

> シグナル値の変更

インタラクティブジェネレーターでは、個々のメッセージの生データをシグナルリストで変更できます。メッセージ内に設定されたシグナルにつ いては、統合されたシグナルジェネレーターでシグナル波形(シグナルカーブ)を定義することができます。生データやシグナル値を関連するメ ッセージで送信して、簡単にECUの反応を確認したりすることができます。

(21)

> レイヤー7プロトコル

インタラクティブジェネレーターは、バスシステムに応じて、単純なレイヤー7プロトコル(J1939、GMLANなど)と多重化メッセージの伝送を サポートします。

図 14: 設定されたメッセージとそのシグナルを表示するインタラクティブジェネレーター

4.1.2 シグナルジェネレーター

シグナルジェネレーターを使用して、シグナル波形や変数(サイン波、傾斜、パルス、値リストなど)を定義することができます。

> 値の送信

ここでは、定義された送信モデルにしたがって、シグナルに割り当てられたメッセージの送信が行われます。LINやFlexRayでは、スケジュ ールテーブルを使用してメッセージの送信が行われます。CANでは、関数ライブラリー(DLL)とともにインタラクションレイヤー(IL)を使用し てメッセージの送信が行われます。

シグナルジェネレーターは測定中でも起動、停止できます。

> 値および波形の定義

2つの方法でシグナルジェネレーターの定義をすることができます。波形は単一のシグナル/変数として定義することも、ログファイルから読 み込むこともできます。

> パネルにおけるサポート

パネルから長時間にわたって自動的にECUに対する刺激入力を行うために、シグナルジェネレーターをパネル上のシグナル/変数に割り 当てることができます。割り当てられたシグナルジェネレーターはパネルに表示され、エラーがあれば表示されます。

(22)

図 15: ユーザー定義シグナル波形を表示するシグナルジェネレーター

4.2 開始値の設定

開始値Windowでは、測定開始時にシステム変数、環境変数、シグナルに設定される値をあらかじめ割り当てることができます。

開始値のリストをファイルにエクスポートしたり、ファイルから読み込んだりできます。たとえばシミュレーションパラメーターなどを、多様な開始値の セットを使用して簡単に割り当てることができます。

図 16: 開始値Window

(23)

4.3 シンボルマッピング

マッピングダイアログを使用して、システム変数、環境変数、シグナルのマッピングを行うことができます。

測定中にソースの値が変わると、それに対応する変数の値も自動的に設定されます。線形変換公式を適用することもできます。

図 17: シンボルマッピングダイアログ

4.4 インタラクションレイヤー、ネットワークマネージメント、トランスポートプロトコル

CANoe には、残りのバスシミュレーションの生成で使用できる豊富なプロトコルライブラリーのセットが用意されています。このライブラリーによっ て、特定の自動車メーカーまたは AUTOSAR の規格に基づくネットワークマネージメントなどの機能が実装されます。また、標準化されたトランス ポートプロトコルを使用することで、シミュレーションまたはテストアプリケーションの構成が容易になります。これは、これらのサービスがすでに CANoeにインテグレーションされているためです。また、フォールトインジェクション機能を利用することでエラーケースを再現し、関連するECUス タックをテストすることができます。インタラクションレイヤーの利用により、シミュレーションノードの送信動作がシグナルレイヤーに抽象化されます。

こうして、すべてのアプリケーションでシグナルを容易に扱えるため、CANoe では自動車メーカー固有の送信ロジックを使用してこれらを確実にバ スに送信することができます。

CANoeが標準サポートしているプロトコル規格は、次のとおりです。

> 診断プロトコル:KWP2000およびUDS (ISO 14229)

> ネットワークマネージメント(NM):AUTOSAR、OSEK-NM

> トランスポートプロトコル(TP):ISO/DIS 15765-2、CMDT (J1939)、BAM (J1939)、MOST/LIN/FlexRay用のTP

> インタラクションレイヤー(IL):ベクターIL

4.4.1 自動車メーカー固有の拡張機能

また、CANoe は現在20 以上の自動車メーカー(BMW、Daimler、VAG、Audi、Ford、Toyota、Fiat、Porsche、Renault、その他)向けに固 有のTP、NM、IL拡張機能をサポートしています。

これらの拡張機能により、NM、TP を含む残りのバスシミュレーションすべてを容易に行うことができます。また、これによって送信モデルなどのコ ード記述を手動によって行う必要がなくなります。ここで基盤として使用するものは、正確にパラメーター化されたネットワーク記述ファイルです。こ の記述ファイルによってすべての送信動作が設定され、どのノードがNMに関与するかなどの情報も定義されます。モデル生成ウィザードにより、

この記述ファイルを使用してCANoeの残りのバスシミュレーションすべてを生成することができます。

詳細については、ベクター営業部までお問い合わせください。

4.4.2 インタラクションレイヤーの設定

インタラクションレイヤー(IL)の設定ダイアログでは、各メッセージの送信タイプをわかりやすく表示し、それらを編集できます。

このダイアログは、データベースから取得したインタラクションレイヤー(ベクターインタラクションレイヤーおよびOEM インタラクションレイヤー)の 送信タイプの情報を取得し、それを表示します。ここでは、自動車メーカー固有のバリアントが考慮されます。

(24)

図 18: インタラクションレイヤーの設定ダイアログ

4.5 MATLAB/Simulink

開発エンジニアはCANoe MATLAB/Simulinkインテグレーションを使用して、機能とアプリケーションのプロトタイプ作成、複雑なMATLAB モ デルのCANoeによるテストおよびシミュレーションへのインテグレーション、およびリアルタイムアプリケーションでの制御アルゴリズムの開発を行 うことができます。CANoeとSimulinkモデルは、シグナルおよびシステム変数を用いて直接データ交換を行います。

CANoe MATLAB/Simulinkインテグレーションには、3種類の実行モードがあります。

> HiLまたはオンラインモードでは、コードはSimulinkモデルから生成され、CANoeのシミュレーションノードにDLLとして組み込まれます。

モデルはCANoeを使用してリアルタイムで実行されます。また、自動的に生成されたシステム変数を使用して、再コンパイルなしで実行時 のモデルパラメーターを変更することができます。

> オフラインモードでは、2つのプログラムが連動します。Simulinkによってタイムベースが与えられ、CANoeはスレーブモードで動作しま

す。システム全体がシミュレーションモードで動作します。ここでは実ハードウェアにアクセスすることはできません。

> 同期モードはオフラインモードと同一動作です。しかし、同期モードでは接続されているハードウェアに基づくタイムベースがCANoeによって

与えられます。これにより、このモードでは実ハードウェアにアクセスすることができます。唯一の制約は、Simulinkモデルではリアルタイム よりも速く計算する必要があることです。このモードではSimulinkシミュレーションの実行速度を下げて、全体のシミュレーションをCANoe のシミュレーション時間に合わせているためです。

4.5.1 CANoe MATLAB/Simulinkインテグレーションのその他の機能

> モデルビューアーによって、統合されたSimulinkモデルおよびStateflow®ダイアグラムが表示されるため、MATLABなしでもモデル構造

がわかります。ユーザーはモデル構造を確認することができます。

(25)

図 19: モデルビューアー

> モデルパラメーターを変更するために、モデルがスタンドアローンモードで自律的に実行しているときにXCP on CANまたはXCP on

Ethernetを使用してモデルのキャリブレーションをすることができます。このとき、コード生成時にA2Lファイルを生成します。

図 20: キャリブレーションのワークフロー

> SimulinkモデルからのCAPL関数の呼出し

> CAPL関数を使用したSimulinkサブシステムのトリガー

> Simulinkの環境変数の変更に反応

> CANoeの解析ブランチにおけるSimulinkモデルの使用。Simulinkのデータ解析オプションを使用できます。

(26)

5 テスト

5.1 ECUおよびネットワークのテスト

CANoeの主なタスクの1つは、ECUおよびネットワークのテストです。たとえば個々の開発ステップの検証、プロトタイプのテスト、回帰テスト、コ ンフォーマンステストが実行されます。CANoe は、「SUT:試験対象システム」にすべてのインターフェイスを提供します。このため、テストのカバレ ッジを最大限に保証できます。

図 21: ECU全体へのアクセスによるテスト

(27)

テストを容易かつ柔軟に実行できるようにするため、テスト機能セットには次のコンポーネントが組み込まれています。

> CANoeを使用すると、テストシーケンスはテストユニットまたはテストモジュールとして実装されます。これはさらにテストグループおよびテス

トケースに分割されます。個々のユニット/モジュールは、測定中いつでも実行できます。

> テストユニットは、テストの実装(CAPL/C#ファイル、テストテーブル、テストダイアグラム、パラメーターファイルなど)を含む、データのコレ

クションで構成されています。テストユニットには、たとえば特定のECU機能を対象とするテストの実装がまとめられています。

テストユニットはテストコンフィギュレーション内で管理されます。テストコンフィギュレーションには複数のテストユニットを含めることができ、

それらは順番に、連続して実行されます。一方、CANoeシステムコンフィギュレーションにも任意の数の異なるテストコンフィギュレーション を含めることができますが、それらは並行して実行できます。実行可能なテストユニットは、vTESTstudioで開発します。vTESTstudioは 別製品で、テストの効率的な設計と編成を目的とした以下のコンセプトを備えています

> 表形式のTest Table Editor、プログラム(CAPL、C#など)、グラフィックス形式(Test Sequence Diagram Editor、State

Duagram Editor)といった、テスト実装のための多様な設計手法

> パラメーターおよびバリアント管理

> 効率的なテストデータ生成のためのClassification TreeEditor

> 再利用可能性を高めるプロジェクト内および外部ライブラリーの利用

> 外部要件およびテストケース仕様に対するトレーサビリティーと変更追跡

> テスト結果のアップロードも含め、外部テストデータ管理ツール(IBM Rational Quality Manager、PTC Integrity、Siemens

Polarionなど)と接続するためのアドオンツール

> テストモジュールはXML、CAPL、.NETのいずれかで実装できます。

XMLモジュールでは、テストは事前に定義されたテストパターンから組み立てられ、入力ベクターおよび出力ベクターによって容易にパラ メーター化できます。一方、CAPLおよび.NETテストモジュールはプログラミングされているため、非常に柔軟なテストフロー制御が可能で す。.NETテストモジュールはC#またはVB.NETで開発できるので便利です。要件に応じて、さまざまなプログラミング形式を組み合わせ ることができます。

テストモジュールはテスト環境で管理されます。これらのテスト環境には、テストモジュールの他に、テスト実行のためのその他の機能ブロッ クも含まれています。テスト環境はCANoeのシステムコンフィギュレーションとは別に保存されます。そのため、それらを別のプロジェクト でも容易に再利用することができます

注:テストモジュールは比較的小さいテストパッケージ用途、またはテスト対象の単一機能を簡単に調べる目的でのみ使用してください。そ の他のユースケースの場合はいずれも、テストを非常に効率的に設計および管理できる、vTESTstudioプロジェクトでの編成をお勧めし ます

> テストの実行と並行して、個々のメッセージに定義されているサイクル時間への適合性チェックなど、その他のシステムステートをチェックする

ことができます。これらの制約は、テストの評価として自動的に組み込まれます

> テストサービスライブラリーには、事前に準備されたテスト関数のコレクションが含まれているので、テストの構成が容易になります。これらは

テストモジュールで使用され、データベースを通じてパラメーター化されます。たとえば、メッセージのサイクル時間、メッセージの受信に対する ECUの反応時間のほか、応答メッセージの送出確認、シグナル値や診断パラメーターの有効性をモニターできます。テスト対象のECUの 品質を評価するため、テスト時間全体にわたってレポートされた仕様から逸脱した回数など、さまざまな統計値が出力されます

> テストモジュールやテストユニットの実行に際しては、豊富なテストレポートが生成されます。レポートには、実行されたテストケースの名前や

個別のテスト結果とともに、ユーザー定義の情報や、自動的に生成されたさまざまな解析Windowのスクリーンショットを含めることができま す。CANoeは結果をXMLファイルに書き込むので、その後も柔軟に処理することができます。固有のテストレポートの出力形式に適用す るためのXSLTスタイルシートも使用できます。テストレポートには以下の出力形式が使用できます

> VTESTREPORT(推奨)

CANoeはユーザーが迅速かつ包括的に解析を実行できる、非常に効率的なファイル形式で結果を書き出します。作成された

VTESTREPORTファイルは、後からCANoe Test Report Viewerで可視化および解析できます。このツールはCANoeのインストー ルに含まれているほか、ベクターダウンロードセンターから無償で入手し、使用することができます

> XML

CANoeは結果をXMLファイルに書き込むので、その後も柔軟に処理することができます。テストレポートの出力形式は、XSLTスタイル シートによって、可視化が容易なファイルに変換されます

> CANoeによるI/Oハードウェアの直接制御によって、バス通信に加えてアナログとデジタルのECUインターフェイスを使用することが可能

になります。標準の入出力コンポーネントのほか、ベクターVTシステムも自動車分野における総合的なECUテストのためのモジュールタイ プのハードウェアシステムとして利用できます

(28)

図 22: vTESTstudioを使用した集中ドアロックシステムのグラフィカルなテスト設計

(29)

図 23: 集中ドアロックシステムのテストシーケンスとテストレポート(HTML)

図 24: 新しいCANoe Test Report Viewerのグラフィカルユーザーインターフェイス

(30)

5.2 CAN/CAN FDの妨害

ハードウェアインターフェイスのVH6501を使用して、CAN/CAN FD バスを妨害できます。これは、欠陥のあるハードウェアとネットワークインタ ーフェイスの機能を1つのデバイスに組み込んだハードウェアです。

このインターフェイスには、CANおよびCAN FDの妨害をトリガーするために、以下のようなさまざまなトリガー方法が用意されています。

> I/Oトリガー

> フレームトリガー(SOF、フレーム、バスアイドル、エラーなど)

> 異なるIDで妨害するなど、フレームトリガーの組合せ(ワイルドカードも含め、最大32個の並行条件が利用可能)

コントローラーをバスオフ状態にする、サンプルポイントテストを実行するなど、きめ細かい妨害シーケンスを任意に生成できます。

レセッシブレベルによるドミナントレベルの妨害も可能です。

図 25: オプションScopeで記録されたCANフレームのACKスロットの妨害

VH6501はCANoeに組み込まれているCAPL APIを使用して設定できます。このAPIにより、さまざまなトリガーやシーケンスを設定できます。

妨害シーケンスのトリガー位置は、フレームトリガーで任意に設定できます。

図 26: ACKスロットフォールトのCAPLコード定義とアクティブ化

CAPL APIを使用すると、VH6501を自動テストに幅広く活用できるようになります。

たとえば、以下のようなさまざまなフォールト状態をCAN/CAN FDバス上で生成できます。

> ビットエラー

> 形状の欠陥

> ビットの延長または短縮

> CRCエラー

(31)

6 診断

CANoeはECUの診断機能開発にも使用できます。CANoeは、まずECUの診断機能の実装をサポートし、そしてテストするECUの診断イン ターフェイスへのアクセスを提供します。以下のようなコンセプトと機能を使用できます。

> KWP2000およびUDS (ISO 14229) 用の診断データベースフォーマットをサポート:

> ODX 2.0.1/2.2.0(PDXファイル)

> MDX 2.0/3.0/4.0

> CANdelaStudio (CDD)

> 診断/ISO-TP設定ダイアログで診断データベースファイルの主な診断通信パラメーター(トランスポートレイヤーおよび診断レイヤー)を変

更可能

> 診断データベースファイルを使用できない場合に、簡単な診断サービスを迅速に定義できるベーシックダイアグノスティックエディター(CAN、

LIN、FlexRay、Ethernet、K-Lineに対応)

> 診断コンソール、フォールトメモリーWindowにて、設定可能なセキュリティーDLLを使用したインタラクティブ診断テスター

> セキュリティーソースによって設定されたセキュリティーメカニズムを考慮してバリアントコーディングデータの読込み、書込み、比較を行う、イ

ンタラクティブなバリアントコーディングWindow

> 周期的または対話形式で診断リクエストを送信し、指定した診断レスポンス内のパラメーターを表示するための診断パラメーターWindow

> 複数のアドレッシング手法(Normal、Extended、Normal Fixed、Mixedなど)とアドレッシングタイプ(Functional/Physical)をサポート

> トレースWindow、データWindow、グラフィックWindowおよびステートトラッカーで、サービスとパラメーターレベルで診断通信を解析

(診断データベースファイルに基づくシンボリック表示)

> トレースWindowにプロトコルエラーを表示

> パネルを使用した診断パラメーターの表示および診断リクエストによるECUへの刺激入力

> ECUの診断機能のシミュレーション

> テスト機能セット(テストユニット、CAPLおよびXMLテストモジュール)ベース、またはCANoe.DiVaを使用した仕様/インテグレーション

/回帰テスト

> 正常/異常ケーステスト実行用として、診断通信の全レイヤー(CANメッセージ、トランスポートプロトコル、および診断サービス)にアクセス

> 自動車業界で利用されている主なネットワークタイプをサポート(CAN、LIN、FlexRay、Ethernet、K-Line)

> CAPLシミュレーションノードまたはCAPL DLLによって、その他のネットワーク(MOSTなど)へのゲートウェイが実装可能

> DoIP (Diagnostics over IP)、HSFZ (High-Speed-Fahrzeugzugang)、DoSoAd (Diagnostics over AUTOSAR Socket Adaptor)

のサポート

> マクロを利用した診断シーケンスの記録とリプレイ

(32)

図 27: 診断コンソールおよびフォールトメモリーWindow

図 28: 診断パラメーターWindow

(33)

図 29: ベーシックダイアグノスティックエディター

図 30: OBD-II Window

(34)

図 31: 診断/ISO-TP設定ダイアログ

図 32: トレースWindowでの診断通信の表示

7 SOAおよびAUTOSAR Adaptive 7.1 Communication Concepts – 現在の開発状況

従来のシグナルベースの通信はサービス指向通信のパターンを用いて補足されることが多くなりました。たとえば AUTOSAR Adaptive Platformでも一貫してサービス指向のアプローチが使用されています。サービス指向通信ではしばしばTCP/IPプロトコルスタックが基盤とされ、

SOME/IP などの通信ミドルウェアが使用されます。送信されるネットワークメッセージ(Ethernet フレームなど)と、実際のアプリケーションの全 体像は、CAN を介したシグナルベース通信の場合とは大きく異なります。さらに、サービスインターフェイスとそれに関連するデータ構造は、特定 のネットワーク送信やネットワークトポロジーとは切り離して定義されます。

(35)

7.2 CANoe通信モデル

CANoeはこの新しい設計パラダイムに対応しており、データベースがCANoe通信モデルにインポートされています。ユーザーは内蔵されたモデ ルエディターで通信オブジェクトを定義するほか、既存のオブジェクトを編集することができます。

図 33: CANoe通信モデルのインポートのオプション

CANoe では、サービスインターフェイスをモデリングの設計要素として直接使用できます。これらのサービスインターフェイスはメソッドとイベントを サポートします。また、オブジェクト検出などの領域で使用される複雑なデータタイプが直接サポートされます。サービスインターフェイスを提供また は使用するエンドポイント(プロバイダーおよびコンシューマー)のシミュレーションもCANoeで直接実行できます。

図 34: サービスインターフェイスへのアクセスとトレースWindowでの表示

(36)

8 プログラミング

8.1 CAPLインターフェイス

CAPL (Communication Access Programming Language) プログラミング言語は、CANoeの機能範囲を大幅に拡張します。CAPLには以 下のような特長があります。

> Cプログラミング言語をベースとするため習熟が容易

> CANoeがユーザーに代わり、オペレーション内で完全にイベント制御

> メッセージやシグナルなどの、すべてのデータ情報へのシンボリックアクセスをサポート。シグナル値を物理形式で使用可能

> 特殊な関数により言語を拡張し、さまざまな使用シナリオで素早く問題を解決(シミュレーション、テスト、診断およびバスシステムの解析)

> 外部ライブラリーによる柔軟な拡張

8.1.1 Cライクな構文

通常のスカラーデータタイプと配列を利用できます(1、2、4、8 バイト長のタイプおよび 8 バイト長の浮動小数点タイプ)。割り当て、算術演算子、

ループフロー制御はC構文に準拠します。

myFunction { int counter;

for ( counter = 0; counter < 8; counter++ ) { doSomethingWithCounter ( counter );

} }

8.1.2 イベント指向制御

CAPL は、イベント制御プログラミング言語です。C と比べ、CAPL では特別にあらかじめ定義されたイベントハンドラー(イベントプロシージャー)

を使用でき、これらは特定のイベントが発生すると必ず実行されます(タイマー制御の場合には、ハードウェアまたは CANoe 内部のタイマーによ りトリガーが発生します)。

以下に、これらのイベントハンドラーの例をいくつか紹介します。

イベントハンドラー イベント

On timer seconds cycle タイマー制御

On message ESPStatus メッセージの入出力

On signal update シグナル値の更新

On sysvar システム変数の変更

On diagRequest 診断リクエスト

On FRError FlexRayバスエラーの検出

8.1.3 シンボリックアクセス

シグナル値は、メッセージ全体としてのデータ内容に関係なく、通常は物理値としてアクセスされます。これはデータベースで設定されています。

> シグナル値への物理アクセス:

// Definition of the representation in the database

$EnergyMgmt::BatteryVoltage = 14.1;

> シグナルの生値へのアクセス:

// 8 to 18 Volt with 12bit resolution, without range check

$EnergyMgmt::BatteryVoltage.raw = (14.1 - 8) / (18 - 8) * 4096;

> メッセージベースでのアクセス:

(37)

// Most significant bytes Motorola, of 12 bits only the lower 4 bits are used

msg.byte(0) = (msg.byte(0) & 0xF0) | (byte)((14.1 - 8) / (18 - 8) * 4096 / 256) & 0xF;

// Least significant byte

msg.byte(1) = (byte)((14.1 - 8) / (18 - 8) * 4096) & 0xFF;

output(msg);

8.1.4 アプリケーション固有の言語拡張

CANoeは、日々の開発業務における問題に特化したさまざまな機能を備えています。

> シミュレーション

CAPLを使用して完全な残りのバスシミュレーションを作成することができます。これによって開発者のルーチンワークが軽減されます。シグ ナル、メッセージおよびバスのタイミングがデータベース(例:DBC、LDF、FIBEXファイル)に記述されます。これらのファイルは一元的に管 理されており、頻繁にメンテナンス、更新されています。CANoeの拡張機能(ノードレイヤーDLL)を使用して、データベースの情報を使用す ることにより、1行のコードも書かずに作成することも可能です。送信、たとえば一定期間ごとの送信、特定のイベント発生時だけの送信など はすべて、CANoeがデータベースの定義内容に応じて行います。そのため、開発者は実質的な機能(シグナルの内容)に集中することがで きます。

> テスト

CAPLには、テストの実行と評価の両方をサポートする自動テストプログラミング用の便利な機能があります。数行のコードを書くだけで、テ ストフローと自動レポート機能を使用する基本的な構造を作成できます。数行のプログラムで、CAPLテストノードにより標準レポートでテスト フローのサマリーを仕上げることができます。

testcase MyTestCase() {

TestCaseTitle("myTC", "My Test Case");

TestCaseDescription("A test of mine");

TestCaseComment("first take a short break ");

TestWaitForTimeout(200);

If ( MyTestExecution () > 0 ) TestStepPass("myTC successful");

else

TestStepFail("myTC failed");

}

long MyTestExecution () {

/* Own code */

return 1;

}

MyTest() { MyTestCase();

TestSetVerdictModule(TestGetVerdictLastTestCase());

}

図 8:  1 チャンネル(CAN 2)の統計データを表示している CAN 統計 Window
図 9:  ステートトラッカーWindow での ECU ステートの解析  3.8 出力 Window  出力 Window には、システムメッセージと CAPL によるユーザー指定の出力が表示されます。  &gt; 出力の設定  出力 Window には各種ビューがあり、出力ソースに従ってシステムメッセージをフィルターします。  &gt; 出力の記録  出力 Window の内容は、ファイルに保存したり、テキストとしてクリップボードにコピーしてそこから他の Windows アプリケーションにコピー したり
図 13: CANoe によるネットワークシミュレーションから実システム全体までの開発プロセス  主な特長  &gt;  シミュレーションおよび刺激入力機能をステータスバーから簡単に開始/停止可能  4.1 変数およびシグナルジェネレーター  システム変数は、すべてのシミュレーションおよび解析ブロック、パネルで使用できます。また、I/O ハードウェアのインテグレーションにも使用でき ます。これらはシステム内でのコンフィギュレーションパラメーター、測定変数の交換、または COM インターフェイスを通じた外部プ
図 15: ユーザー定義シグナル波形を表示するシグナルジェネレーター  4.2 開始値の設定  開始値 Window では、測定開始時にシステム変数、環境変数、シグナルに設定される値をあらかじめ割り当てることができます。  開始値のリストをファイルにエクスポートしたり、ファイルから読み込んだりできます。たとえばシミュレーションパラメーターなどを、多様な開始値の セットを使用して簡単に割り当てることができます。  図 16: 開始値 Window
+7

参照

関連したドキュメント

性別・子供の有無別の年代別週当たり勤務時間

With hysteresis not enabled (see ALS_CONFIG register), the ALS_TH registers set the upper and lower interrupt thresholds of the ambient light detection window. Interrupt

With hysteresis not enabled (see ALS_CONFIG register), the ALS_TH registers set the upper and lower interrupt thresholds of the ambient light detection window. Interrupt

・niconico Live window(L) 約 135 万人 860万円. パックメニュー 詳細

1人暮らし 高齢者世帯 子世帯と同居 独身の子と同居 長期入所施設 一時施設 入院中 その他

• Mirrors, window lift, doors switches, door lock, HVAC motors, control panel, engine sensors, engine cooling fan, seat positioning motors, seat switches, wiper control,

The parameters set in trapezoidal operation can be used to start tuning sinusoidal mode. Begin with 6 window sinusoidal mode and then try to reduce the window

このような環境要素は一っの土地の構成要素になるが︑同時に他の上地をも流動し︑又は他の上地にあるそれらと