自動車用ECU開発部門でTestStandを有効活用したテストベンチの開発

株式会社ペリテックが過去に開発した自動車用ECU開発部門でTestStandを有効活用したテストベンチの開発事例を紹介します。

背景

車の安全対策が要求されるなか、年々自動車用ECUも複雑化しています。それに伴い動作検証での組み合わせパターンも指数関数的に増えシステムの性能評価に費やす時間と担当者の負荷も増加しています。このような背景で今回汎用テストベンチの開発を株式会社デンソー様から依頼されました。

課題

1.「すぐ使え」かつ「改造できる」こと

インテグレータが用意したドライバーを使用して、ユーザーが評価メニューをプログラミングレスで作成しすぐ使えること。インテグレータが開発したドライバーソフトは簡単にユーザーで改造ができること。「すぐ使える」と「改造できる」この相反する要求を同時に満たすこと。

2.新機種への改造が容易

新機種に対応する為、構築されるハードは数多くのバリエーションが用意され、すぐに入手可能なこと。短期間で陳腐化しない高度な性能を持っていること。ハード、ソフトとも業界標準で多くのメーカーやインテグレータで使用されていること。

3.過酷な運転に耐える信頼性

過酷な連続運転となるため、構成されるハードソフトとも自動車業界で信頼性を保証されているか実績があること。また故障の場合、サポートや修理が保証されている製品であること。

ソリューション

1.「すぐ使え」かつ「改造できる」こと

直ぐ使えるはNI社のTestStandを採用することで解決しました。TestStandは試験モジュールが用意されていればエディターで登録や規格の変更などがプログラムレスで使え、評価メニューを簡単に作ることができます。また試験モジュールはペリテックが用意しますが、LabVIEWでシンプルに記述されている為LabVIEWを数日勉強することにより動作を理解することができます。これによりユーザーで改造も簡単にできます。

2.新機種への改造が容易

システムを構成するハードをNI社のPXIで選ぶことで解決しました。PXIは世界標準規格でNI社以外も生産しています。DAQボード、カウンターボード、IOボードなど豊富な製品が用意されていて、LabVIEWのドライバーレベルで互換性がありソフトを変更することなく別のボードを代えることも可能です。またRTSIバスなど高度な計測に必要な同期バスを備えているので新機種への対応で計測方式の変更にも安心できます。これにより新機種への変更が容易になると思われます。

3.過酷な運転に耐える信頼性

PXIは世界の自動車業界ですでに実績があり、色んなアプリケーションがこの上で稼動しています。またコネクターがDIN規格であるため振動に強くFANも装備していて過酷な環境で使うことを前提に設計されています。またCPUなど全てがモジュールになっていてトラブルなどが発生したとき、原因の切り分けがユーザーで容易にできます。サポート体制も完備されています。

概要

評価対象のECUの主な機能は以下の4種類に分類できます。

  1. リアル通信
    外部ツールを接続し、センサー情報・動作履歴・エラー情報の読み出しを行う
  2. 外部アクチュエーター測定
    外部アクチュエーターの抵抗値を測定し、システム故障の検出・ワーニング表示を行う
  3. 外部センサー入力
    複数の外部センサーからの信号を測定し、走行状況の判定を行う。
  4. 外部アクチュエーター出力
    3項のセンサー入力判定結果に対応した、外部アクチュエーターへの出力制御を行う

テストベンチのシステム構成

下記のリストがテストベンチのシステム構成です。
PXIシステム部が200万円、信号変換IFBOX部(オリジナル製作品)が200万円、ソフトウエア開発ツール(TestStandとLabVIEW)が80万円、プログラム開発費が400万円で、合計900万円弱で開発出来ました。

ハード

  • PXIシャーシ:PXI-1000B
  • PXIコントローラー:PXI-8176(WIN2000J、RAM256M)
  • 増設シリアルポート:PXI-8420/2
  • マルチIO:PXI-6071E
  • アナログ出力:PXI-6713
  • 高速DIO:PXI-6534
  • 低速DIO:PXI-6508
  • デジタルマルチメーター:PXI-4060
  • 信号変換部:IFBOX(ペリテック製作品)

ソフト

  • TestStand(テストスタンド)
  • LabVIEW(ラボビュー):開発システム

信号入出力速度の評価

今回のテストベンチでは多chの入出力を同時に行う必要がある為、要求スペックを満足するDAQボード選定の為に予備実験を行いました。NIのカタログにはボード単体の速度は明記されていますが、複数のDAQボードを同時に動かす場合は、バスを共用する為に複雑な要素が絡み合い単純計算では決定出来ない事が経験上判っていました。
NI社の営業部にお願いして、デモ機のPXIシステムを貸し出して頂き、実行速度の検証を行い、要求仕様の10KHzは問題無く実現できる事を確認し出来ました。

入出力信号の同期

DAQボード間の同期を取る為にRTSIバスが用意されている事は知っていましたが、詳しい和文ドキュメントが無い為に、従来は使用する事をためらっていました。今回のシステムを実現する為には複数のDAQボードの入出力を同時にスタートする事が必須である為に、NI社の技術サポートの協力を得て、使用しました。技術サポートの方からは、豊富なサンプルVIの中から目的に合った物を紹介して頂くと同時に丁寧な説明まで添付していただき、スムーズにRTSIバスのプログラムを作成できました。RTSIバスを使用すれば、通常の計測で必要な同期は全て実現できる事を体験できました。

プログラム構造

出力信号のバッテリー電圧の条件設定を例にプログラム構造を説明します。制御はDAQボードのD/A出力に電圧(0~10V)に比例して、市販の電源装置から0~35Vが出力されます。電源装置はGP-IB制御による電圧設定も可能ですが、他の信号との同期を取る為に、外部電圧制御モードに設定し、D/A出力で制御する方式としました。テストで使用するバッテリー電圧の制御は大きく2種類のモードが有ります。電圧は固定でテスト行う時と、電圧を変動させながらテストを行う2種類です。
電圧固定で行う場合はテストスタンドのローカル変数に任意の電圧値を設定し、ラボビューのVIを呼び出す事により、即時に電圧を変更できます。テストスタンドのメインシーケンスの記述例は以下のようになります。

図の様なパターンで電圧を変動させながら行う場合は、変動パターンを関数化してテキスト形式でファイルを作成します。

FILE_NAME:IG_test1.dat
#テスト用ファイル
step,V1,t1
ramp,V1,V2,t2
step.V2.t3
step,V1,t4

変動パターンは電圧、時間を変えながらテストを繰り返します。たとえばV1を8V~14.5Vの範囲で順次0.5Vづつ増加させてテストを繰り返す場合は下記のようにテストスタンドのパラメーター変数に設定します。先ほどの関数式を記述したファイル名もパラ-メーター変数に設定します。

実行する為にはメインシーケンスで以下の記述例の様にループを組みます。最初のV1_START行でループの初期値を決め、最後のV1_END行で繰り返し時の値の加算ループ終了判定を行います。信号入出力VIの中でテストスタンドの変数を参照してD/A出力A/D入力を行います。

まとめ

従来はTestStandを、製造部門(検査工程)で決められ試験項目を実行する為のツールとして導入していました。最初にデンソー様担当者より開発評価用のテストベンチにTestStandを採用する仕様を聞き、“メリットが有るだろうか?”と疑問を持ちました。詳細な仕様打合せを進めていく中で、今回のシステムを実現するヒントが見つかりました。
TestStandには検査システムを短期間で開発可能にする為に必要な、強力なシーケンスエディターの機能が用意されています。この機能と、開発評価用のテストベンチの要求である柔軟で容易に試験条件を設定し評価を行うシステムが同じ事に気付き、「すぐ使える」システム実現の目処が立ちました。またデンソー担当者からはNI製品のアーキテクチャーに合わせた要求仕様として頂き、素直なプログラムを作成する事ができ、「簡単に改造できる」システムにも対応できました。私たちはTestStandとLabVIEWを組み合わせる事により、「すぐ使え」かつ「改造できる」という開発評価システムに重要な目的を達成できた、テストベンチの開発を実現でき、NI製品のすばらしさを体験しました。