CANoe J1939 を用いたシミュレーションの有用性

CANoe J1939 を用いたシミュレーションの有用性
Version 1.3
2010/03/17
Application Note AN-JON-1-3400
Restrictions
Abstract
None
このアプリケーションノートは、CANoe J1939 を用いたネットワークのモデリングとシミュレーションの有用
性を解説しています。
目次
1.0
概要 .................................................................................................................................................................................. 2
2.0
システムモデリングの基本コンセプト ................................................................................................................................... 3
3.0
システム シミュレーションの利点 ......................................................................................................................................... 6
3.1
システムのモデリング......................................................................................................................................................... 6
3.2
通信チャンネルの評価 ....................................................................................................................................................... 6
3.3
バス負荷 ........................................................................................................................................................................... 7
3.4
デバイスのパフォーマンス .................................................................................................................................................. 7
3.5
複数サプライヤーによる分散開発工程................................................................................................................................ 7
4.0
リファレンスアプリケーション ............................................................................................................................................... 7
4.1
車載ネットワーク ................................................................................................................................................................ 7
4.2
農業機械エレクトロニクス ................................................................................................................................................... 8
4.3
公衆衛生車 ....................................................................................................................................................................... 9
4.4
5.0
5.1
教育 ................................................................................................................................................................................ 10
Q&A................................................................................................................................................................................ 10
数値演算シミュレータとの連携は可能ですか?................................................................................................................... 10
5.2
CANoe は自社開発デバイスのデバッグに利用できますか? .............................................................................................. 10
5.3
データのオンライン評価が出来ますか?............................................................................................................................. 11
5.4
高速なトラフィックの問題を監視/解析するにはどうしたら良いですか?................................................................................. 11
5.5
自分のデバイス (または任意のデバイス) と通信するにはどうしたら良いですか? ................................................................ 11
5.6
CANoe で再現性のあるシミュレーションが可能ですか?..................................................................................................... 11
5.7
バックグラウンドのバス負荷を参照できますか?................................................................................................................. 11
5.8
プロトコルのテストは可能ですか? ..................................................................................................................................... 11
6.0
お問い合わせ .................................................................................................................................................................. 12
Copyright © 2010 - Vector Japen Co., Ltd
1
CANoe J1939 を用いたシミュレーションの有用性
1.0
概要
長年、世界中の乗用車の制御ネットワーク開発において、ベクター社の CANoe (キャヌー) は強力な統合型ツールとしてシ
ミュレーションや解析に利用されています。CANoe は、乗用車メーカー様や部品メーカー様のリクエストに基づいて機能や
操作性を向上しながら様々なノウハウを蓄積し、今もなおバージョンアップを続けています。
その CANoe に、J1939 用プロトコルオプションを追加することにより、トラック・バスや建機に利用されている J1939 ネット
ワークの開発にも活用する事ができます。
CANoe J1939 は、J1939 システム用の広範なシミュレーション・開発環境を提供します。J1939 システム設計の早期段階
では、実ネットワークを用いずにネットワーク上の通信およびデバイスのシミュレーション、バス負荷の確認、開発中のハー
ドウェアに必要な性能の特定などを行うことができます。CANoe J1939 は、ネットワークを構成する ECU の仮想シミュレー
ション ノードを簡単に生成することができます。CANoe J1939 は、J1939 固有の多彩なサービスをサポートしているため、
J1939 プロジェクト全体を通して、設計や開発に要する時間やコストを大幅に削減することができます。
CANoe J1939 には、J1939 ネットワークコンフィギュレーションツール CANerator J1939 (キャネレータ J1939) が同梱さ
れています。CANerator J1939 は、シミュレーションする J1939 システム用のプロジェクトを作成する際、最初に使用する
ツールです。CANerator は、シミュレーションする各デバイスに関する CANoe 用データベースとデバイスモデルを生成しま
す。通信に必要なオブジェクト情報がすべて与えられるので、このデバイスモデルは車両や装置のバス通信全体をシミュ
レーションすることができます。
つまり、アドレスクレームやパラメーターグループの周期送信など、J1939 の ECU に必要な基本的な通信機能を持った
CAPL コードが自動生成されるので、ユーザーは通信に関係する部分を記述する必要がありません。ユーザーは、各パラ
メーターグループのシグナルに適切なデータを与える記述を追加するだけでシミュレーションノードを作成できます。
また、環境変数とコールバック関数のインターフェイスが柔軟なため、ユーザーはアプリケーション部分のプログラミングに
専念することができます。I/O 値、温度、エンコーダー値などの外部からの影響は、CANoe 上の操作パネルを使用してシ
ミュレーションし、グラフィカルに表示できます。作成したネットワーク上の各モデルは、実 J1939 デバイスが開発される毎
に置き換えることができます。そして、各実デバイスがシミュレーション通りに動作するかを、CANoe 上でリアルタイムにシ
ミュレーションすることができます。
つまり、全てのデバイス (ECU) が揃っていなくても、仮想デバイスと実デバイスを混在させたシミュレーションが可能になり
ます。
これが、CANoe を使ったバスシミュレーションの開発手法です。開発の最終段階で必要なデバイスがすべて物理的に使用
可能になると、CANoe J1939 は J1939 システムの実バスに対して総合的な解析や試験を行うことができます。
Copyright © 2010 - Vector Japen Co., Ltd
2
CANoe J1939 を用いたシミュレーションの有用性
図 1:CANoe J1939
2.0
システムモデリングの基本コンセプト
CANoe は、CAN バスシステム用の総合的な開発、テスト、分析環境です。このツールは、開発プロセスのあらゆる段階に
携わるすべてのプロジェクトスタッフが利用できるように開発されています。システム作成スタッフは、機能の分散、機能の
チェック、システム全体の統合の面でサポートが得られます。一方、各デバイスのサプライヤーは、自社デバイス以外の
ネットワーク環境 (他の ECU や外部環境値) をシミュレーションできる理想的なテスト環境を得ることができます。
開発プロセスは、3 つの開発ステージに分かれたフェーズモデルに基づいています (図 2 を参照)。
フェーズ 1:要件分析とネットワークシステムの設計
まず、設計部門がシステムの機能をいくつかのネットワークノードに分散させ、ネットワークノードレベルで設
計を進めます。この段階で、使用するパラメーターグループの定義や送受信関係を検証します。最終的に、
送信周期やより複雑なプロトコル対応に応じて、各ノードの動作を指定する必要があります。次に、この情報
をシミュレーションツールを使って評価し、所定のボーレート (J1939 の場合は 250kbps) でのバス負荷と送
信待ち時間の予想値を求めます。ここで指定した設定は、次のフェーズの試験でも利用します。
評価をより正確に行うために、システム全体のダイナミック機能モデルを作成します。この作業では、入出力
変数や送受信メッセージに対するネットワークノードの動作を指定します。この場合、ノードの動作手順を記
述するイベント駆動型モデルを使用すると便利です。イベント駆動型モデルを使用すると、たとえば、メッ
セージを受信した (イベント) 場合に、受信したデータをどのように処理するか (手順)、また結果を制御変数
としてどのように出力するか指定することができます。
Application Note AN-JON-1-3400
3
CANoe J1939 を用いたシミュレーションの有用性
また、ネットワークノードの時間的動作とメッセージの蓄積をシミュレーションできるように、シミュレーション
ツールに渡すための入力変数を指定する必要もあります。シミュレーションの結果は、設計の妥当性を裏付
けるデータとなり、また実装後も参照用データとして利用できます。
フェーズ 2:バスの残りのシミュレーションによるコンポーネントの実装
通常、フェーズ 1 が完了したら、それぞれのネットワークノードの設計と開発は、それぞれの担当者 (もしく
は部品サプライヤー) が個別に並行して進めます。このとき、フェイズ 1 で作成したネットワークノードのモデ
ルを使ってバスの残りをシミュレーションし、開発したネットワークノードのテストを行うことができます。バス
の残りをシミュレーションするには、実際のバスに対するインターフェイスが必要です。また、シミュレーション
をリアルタイムで実行できる環境が必要になります。
フェーズ 3:システム全体の統合
この最後の開発フェーズでは、ステップ形式の手順に従って、最終的には全ての実ネットワークノードがバ
スに接続された状態になります。この作業を行うために、バスの残りをシミュレーションして、モデルを 1 つず
つ段階的に「分離する」必要があります。このとき、CANoe はインテリジェント分析ツールとして機能し、バス
に接続された実際のネットワークノード間のメッセージ トラフィックを監視して、監視結果を設定要件と比較
することができます。
Application Note AN-JON-1-3400
4
CANoe J1939 を用いたシミュレーションの有用性
図 2:開発プロセスのフェーズモデル
入出力シグナルに対するネットワークノードの動作は、CANoe の環境変数を使って表します。CANoe では、離散変数と連
続変数を使い分けることができます。スイッチ位置は離散環境変数によって表すことができます。連続環境変数では、温度
やエンジンの回転数などの変化を表すことができます。
コントロールパネルは、環境変数にアクセスするための使いやすいインターフェイスとなります。ユーザーは、パネルエディ
ターを使用して簡単にパネルを作成することができます。シミュレーション中は、環境変数の値をランプやカウンタに表示し
たり、スイッチやスライダーやポテンショメーターを使って値をインタラクティブに変更することができます。
図 3 の例で CANoe が CAN バスシステムのシミュレーションや試験用に提供する機能を説明します。
左側のコントロールパネルの押しボタンをクリックすると、「Pushbutton」という離散環境変数の値が「1」に設定され、左側
のバスノードが CAN バスにメッセージを送信します。中央のバスノードはこのメッセージを受け取り、「Light」という離散環
境変数の値を「1」に設定します。その結果、中央のコントロールパネルのスモールランプが点灯します。
Application Note AN-JON-1-3400
5
CANoe J1939 を用いたシミュレーションの有用性
図 3:シミュレーション システムのコンポーネント
同じように、連続環境変数の「Potentiometer」の値を変更して、中央のコントロールパネルのポテンショメーターを調整しま
す。その結果、中央のネットワークノードから新しいデータを含むメッセージがバスに送信されます。このメッセージを右側の
ネットワークノードが受け取り、シグナルコンテンツから環境変数の「Engine RPM」の新しい値が求められます。最終的に、
右側のコントロールパネルでエンジン速度の表示が更新されます。
上記のような動作は、CAPL で提供されている関数を使用すれば非常に簡単に記述できます。関数を使用することで、複
雑なシステムのシミュレーションを比較的容易に実施することができます。
3.0
システム シミュレーションの利点
3.1
システムのモデリング
完全な通信システムを構築するには、すべてのデバイス間の通信関係を入念に設計する必要があります。従来、この設計
は電子的な手法を用いず、紙上のみで行われることがありました。また、このプロセスを複数のデータベースを使用して行
うシステム設計者がたくさんいますが、その場合、CAN 固有のノウハウを活かすことはできません。CAN 固有のシミュレー
ションツールを使用すると、通信セマンティクスを定義して記述することができます。
通信マトリクス (CANdb データベース) を記述する場合の業界のデファクトスタンダードが既に J1939 仕様で定義されてい
るため、ネットワークの記述は適切なパラメーターグループを GUI 上で選択するだけで行うことができます。
その後、デバイス間の通信関係や PG の送信周期などを定義します。
3.2
通信チャンネルの評価
複数デバイス間の複雑な通信の定義は、エラーが発生しやすい困難な作業です。シミュレーションツールを使用すると、す
ぐに通信チャンネルをテストすることができます。
実 ECU 接続試験や車両試験など、プロジェクトの最終段階で通信関係のエラーが検出されると、解析や仕様変更に多く
の時間が費やされるトラブルの原因となります。このような場合、システムプロバイダだけではなく、サプライヤーにも影響
が及び、製品のリリース予定やコストに甚大な被害が出ます。CANoe J1939 では、サプライヤーを巻き込む前、および具
体的な実現が開始される前に通信関係のエラーを検出することが出来るため、その様な事態を回避します。
Application Note AN-JON-1-3400
6
CANoe J1939 を用いたシミュレーションの有用性
3.3
バス負荷
通信システムをシミュレーションすることにより、プロジェクトの設計段階でバス負荷に関するステートメントを得ることができ
ます。これにより、統合フェーズでの予期しない不具合を避けることができます。
3.4
デバイスのパフォーマンス
CANoe によるシミュレーションで、通常負荷または過負荷の状態を検証することができます。一般的なバス負荷に加え、こ
の状態はデバイスのマイクロコントローラのパフォーマンスに影響します。デバイスの実装条件によっては、負荷がかかり
過ぎただけで問題が生じる場合があります。
最終的に統合されたシステム (車両搭載状態など) でこのような問題を発見する作業は、特殊な状況を再現する事が難し
いため、非常に時間がかります。発見した場合、デバイスの実装に関する問題を解決するには、関連部署や部品サプライ
ヤーを巻き込んで設計しなおしすことになりかねません。
以前、ある大手トラックメーカーで、コンポーネントにいくつかの突発的な問題が検出されましたが、再現可能なバックグラ
ウンドのバス負荷を生成することにより (5.7 章を参照)、このような問題をパフォーマンスの問題として特定することができ
ました。
3.5
複数サプライヤーによる分散開発工程
通常のシステム開発 (ユニット開発) は、サプライヤー間でインターフェイスを指定して行われるので、サプライヤーがデバ
イスの開発から、単体テスト、OEM への納品までを行います。ユニットメーカーや OEM がこれらのデバイスを統合しても
動作しない場合、問題の特定は困難で時間がかかるうえ、デバイスの役割を固有に識別するのはほとんど不可能です。
各サプライヤーに CANoe のシステムモデルが提供されれば、サプライヤーは完全なシステム環境でデバイスを開発する
ことができます。リアルタイムで実バスを含むシミュレーションを行うと、実際のシステムに非常に近い環境で動作をテスト
することができます。
世界の大手自動車メーカーや複数の農業機械メーカーがこのコンセプトを採用しています。CANoe により、設計・開発部
門間や OEM・サプライヤー間における各開発工程の効率が飛躍的に向上しました。もはや、CANoe なしで CAN システム
を稼動させることなど考えられません。
4.0
リファレンスアプリケーション
4.1
車載ネットワーク
CANoe は当初、ダイムラー・クライスラー社他による研究部門および先行開発部門で開発されました。それらの部門の経
験はベクターにフィードバックされ、CANoe が汎用統合開発環境として製品化されました。その後、ヨーロッパを中心とした
世界各国で CANoe のコンセプトが認められ、車載エレクトロニクスのセットワーク設計現場で有用性が実証されました。
Application Note AN-JON-1-3400
7
CANoe J1939 を用いたシミュレーションの有用性
図 4:自動車の例
4.2
農業機械エレクトロニクス
農業市場は、トラクターやコンバインを提供する多くのメーカーと、設備機器 (器具) を提供する多くのメーカーによって構成
されています。これらの業者が直面している問題は、農家が異なるメーカーの農機具をトラクターに接続しようと試みること
です。機械的および電気的なインターフェイスのほとんどの問題が解決されると、次の問題はより高度に制御するための電
子的なインターフェイスでした。1980 年代後半に CAN および LBS プロトコルの搭載が始まり、ISO11783 または略称
ISOBUS と呼ばれる (J1939 をベースとした) 非常に洗練された CAN ベースのバスシステムが誕生しました。
2001 年春、農業機械用ネットワーク仕様は ISO の基で、ある程度安定した状態に達しました。あるメーカーでは、2001 年
秋の展示会で最初の製品を発表することを目標に、CANoe を使用したシステム開発が行われました。そして実際に複数
の複雑な製品開発に成功し、「もし CANoe を使用しなかったなら、このような短期間で厳しい目標を達成することはできな
かっただろう」と公式に発表しました。
Application Note AN-JON-1-3400
8
CANoe J1939 を用いたシミュレーションの有用性
図 5:農作業機 とトラクター側 ECU を使用した通信 (ISO11783) のシミュレーション
4.3
公衆衛生車
自治体のゴミ収集車、道路清掃車やそ
の他多くの作業用機械の市場は、比較
的少数単位ですが幅広い応用範囲が
あります。それら特殊車両の装置・機器
メーカーは、ベース車両となるすべての
トラックメーカーのインターフェイスを提
供する必要があります。その結果、バス
通信に関して熱心な取り組みが行われ
ています。メーカーグループは標準化さ
れたインターフェイスを確立させることを
必要としており、欧州で装置・機器の制
御に広く使われている CANopen 仕様
に、J1939 のゲートウェイ規格が制定さ
れました。
図 6:消防車の制御シミュレーションモデル
Application Note AN-JON-1-3400
9
CANoe J1939 を用いたシミュレーションの有用性
ダイムラー・クライスラー社のウニモグなどは、普及している J1939 スタンダードファミリーを採用しています。開発には、
CANoe J1939/ISOBUS が使用されています。
4.4
教育
いくつかの大学では、CAN および上位層プロトコルを教える目的で CANoe を使用しています。シミュレーションは柔軟な
手段なので、複雑なハードウェア設定を行わずに CAN の様々な用途について説明したり演習することができます。
5.0
Q&A
本章では、CANoe J1939 の使用に関してよくある質問にいくつかお答えします。
5.1
数値演算シミュレータとの連携は可能ですか?
アプリケーション処理の数値演算や論理演算は、専用シミュレータの利用が非常に効果的です。しかしそれらのツールは
CAN 通信に関する機能は持ち合わせていません。そこで、CAN ベースの通信システムに関して 10 年以上の経験をもつ
CANoe とそれらの専用シミュレータと組み合わせる事が効果的です。
CANoe には MATLAB/Simulink などのシステムに対するオープンインターフェイスが用意されており、CANoe 保守契約
者は無料で使用することができます。
一例を挙げると、ミュンヘン大学の “Process security of
agricultural electronic devices” というプロジェクトで、耕運機と
ドリルマシンを備えたトラクターのモデルが生成され、特に安全
基準に関する評価が綿密にシミュレーションされました。このモ
デルは CANoe と MATLAB/Simulink が非常に密接にリンクし
てシミュレーションされています。
5.2
CANoe は自社開発デバイスのデバッグに利用できますか?
ユーザー自身がデバイスを開発している場合、まずそのデバイスから送信されるメッセージをモニターしたり、そのデバイス
にメッセージを送信したりする作業が必要になります。その作業が無事に終了したら、さらにそのデバイスに実装されてい
る機能に応じたテストが続きます。
J1939 デバイスの電源を入れると、デバイスで「Address Claiming Procedure」が開始されます。CANoe のトレース
Window でそのメッセージを確認する事が出来ます。ネットワーク上の各デバイスのアドレスクレーム完了結果は、スキャ
ナーWindow に表示されます。
インタラクティブジェネレータブロックは、シミュレーション段階から実験段階まで幅広く使用されます。インタラクティブジェネ
レータブロックを使えば、タイミングやオーバーヘッドなど複雑な設定をせずに、任意のメッセージを個別に送信する事が出
来ます。
Application Note AN-JON-1-3400
10
CANoe J1939 を用いたシミュレーションの有用性
5.3
データのオンライン評価が出来ますか?
CANoe のデータ Window に、各メッセージに含まれる任意のシグナル値をリアルタイムで様々な形式で表示出
来ます (生値、物理値、バーグラフ、文字など) 。また時系列データとして評価したい場合は、グラフィック
Window を使って折れ線グラフ表示などが可能です。
5.4
高速なトラフィックの問題を監視/解析するにはどうしたら良いですか?
CANoe はトラフィック情報をファイルに保存して、後からリプレイすることが可能です。リプレイの際に、フィルターやトリガー
機能を利用する事が出来ます。それらの機能を利用すれば、“temperature > 80℃” の様なアプリケーションレベルの条件
設定やビットレベルの条件設定で、任意のメッセージやデータを検索する事が出来ます。
また、手軽にメッセージを評価する方法として、ファイルへ保存していなくても、トレース Window をスクロールし
て計測したメッセージを見ることが出来ます。その際、メッセージフィルターやアドレスフィルターを利用すれば、
特定のデバイスから送信される特定のメッセージだけを任意に表示させることも出来ます。更に、対象となるプ
ロトコルごとにトレース Window を拡張可能できるので、より包括的な情報を得ることが出来ます。
5.5
自分のデバイス (または任意のデバイス) と通信するにはどうしたら良いですか?
CANoe には、バストラフィックを解析するプロトコル別のオプションを用意しており、それぞれの任意のメッセー
ジやサービスを生成する事が出来ます。ベクター社の CAN インターフェイス (CANcardXL など) を介してデバ
イスと通信が可能です。また、ベクター社の CAN インターフェイスは 1 個につき CAN の物理コネクタを 2 チャ
ンネル持っていますので、2 つのバスを同時に監視・試験する事が出来ます。マルチカード機能を使えば、CAN
インターフェイスを増やす毎に 4 チャンネル、6 チャンネル...と増やすことが出来ます。
インタラクティブジェネレータブロックは、プロセスデータや制御データなど様々なパラメーターグループに任意の
値を与えながら送信する際に最適です。
5.6
CANoe で再現性のあるシミュレーションが可能ですか?
ジェネレータブロックは、頻繁に起こる連続処理に有効です。たとえば、キーボード操作やタイマー、メッセージ
の受信やエラーフレームの検出で送信される一連のメッセージリストを、ジェネレータブロックに入力しておくこと
が出来ます。
また、リプレイブロックも再現性の高いシミュレーションに有効です。リプレイブロックは、シミュレーション用に特
化したメッセージを含んだログファイル等を再生することが出来ます。たとえばロギングツール (CANoe、
CANalyzer、CANlog4 など) を使ってメッセージトラフィックを記録しておき、必要に応じてそれを編集してリプレ
イブロックで再生します。たとえば、テストコース試験や市街地走行試験の車両で実際の走行データを記録して
おけば、CANoe 上で実走行試験を模擬する事も出来ます。ASCII 形式でログを記録しておけば、テキストエ
ディターなどで手動編集する事も可能です。
5.7
バックグラウンドのバス負荷を参照できますか?
あらゆる状況下におけるテストにおいて、バス負荷の設定・再現が要求されます。ASCII 定義ファイルを書き込
んだり、既存のトラフィックを記録することができます。リプレイで再生することも出来ます。
5.8
プロトコルのテストは可能ですか?
Application Note AN-JON-1-3400
11
CANoe J1939 を用いたシミュレーションの有用性
CANoe はメッセージトラフィックを表示しながら、バックグラウンドでプロトコルを監視しており、実装機能の標準
的なエラーをチェックしています。それらのエラーを検出した場合、CANoe 上にエラーに応じたテキスト情報を
表示する事が可能です。
6.0
お問い合わせ
ベクター・ジャパン株式会社
(東京本社)
〒140-0002 東京都品川区東品川 2-2-20 天王洲郵船ビル 16F
(名古屋支社)
〒460-0008 愛知県名古屋市中区栄 4-5-3 KDX 名古屋栄ビル 9F
URL: http://www.vector-japan.co.jp
■ 営業部
(東京) TEL: 03-5769-6980
(名古屋) TEL: 052-238-5020
E-mail: [email protected]
FAX: 03-5769-6975
FAX: 052-238-5077
■オープンネットワーク部
(東京) TEL: 03-5769-6974
E-mail: [email protected]
Application Note AN-JON-1-3400
12