小林 弘一氏, 株式会社ケーヒン 第6開発部第3課
SRSエアバッグECU、および、歩行者保護ポップアップフードECUの開発における機能テストを自動化すること
システム構成 ・計測用PC ・CAN通信アダプタUSB-8473s (ナショナルインスツルメンツ) ・SPI通信 USB-8451(ナショナルインスツルメンツ) ・シリアル通信-K-Line変換アダプタ×2 Ser2K (Vector) ・電源装置 PWR-400L ×2(菊水電子工業) ・電源コントローラ PIA4850(菊水電子工業) ・計測ボード(絶縁型アナログ出力12ch、アナログ入力32ch、デジタル入出力) (CONTEC) ・I/F Box (擬似センサ回路、点火スクイブ擬似負荷回路、リレー128ch)(方南製作所 製作) 開発環境 ・LabVIEW 8.6 ・NI TestStand 4.2.1
近年、エアバッグECUでは、車両の衝突安全性能向上に伴い、バス接続された多数のGセンサ、乗員検知センサ、および、サイドエアバッグ、カーテンアバッグ等を展開する多数の点火デバイスから構成され、製品も車種に応じた様々なバリエーションや応用製品が存在しております。システムが複雑化するに伴い、開発におけるテストの効率化とさらなる品質向上が求められています。弊社では、従来、Gセンサ信号生成、点火信号計測、CAN、K-Line通信等を様々な計測器や試験ツールを接続してテストを実施しておりましたが、これらを使った場合に、一連のテスト手順を全て自動化することが困難でした。
SRSエアバッグECU、および、歩行者保護ポップアップフードECUの開発における機能テストを自動化すること
・計測用PC
・CAN通信アダプタUSB-8473s (ナショナルインスツルメンツ)
・SPI通信 USB-8451(ナショナルインスツルメンツ)
・シリアル通信-K-Line変換アダプタ×2 Ser2K (Vector)
・電源装置 PWR-400L ×2(菊水電子工業)
・電源コントローラ PIA4850(菊水電子工業)
・計測ボード(絶縁型アナログ出力12ch、アナログ入力32ch、デジタル入出力) (CONTEC)
・I/F Box (擬似センサ回路、点火スクイブ擬似負荷回路、リレー128ch)(方南製作所 製作)
・LabVIEW 8.6
・NI TestStand 4.2.1
NI製、および、サードパーティ製計測器を組み合わせた自動テストシステムを構築し、これらを全てGUIでコントロールするアプリケーションをLabVIEWで開発しました。さらに、このLabVIEWで作成したGUIアプリケーションを自動化するのにNI TestStandを用いました。(図1)
開発部門で使用する自動テストシスムを構築するにあたり、以下の点を考慮しました。
・ユーザによるテストパターンの作成が容易であること
・ユーザによるテスト項目の選択、機種の選択が可能なこと
・複数の製品のバリエーションに対し、テストパターンが再利用可能であること
テスト対象であるエアバッグECUは、衝突を検知するGセンサ信号入力、エアバッグを展開するための点火信号出力、CAN、K-LINE等の通信ラインから構成されています。また、弊社応用製品である歩行者保護用ポップアップフードECUは、同様のシステム構成で、バンパに取り付けられた歩行者の衝突を検知するGセンサ、歩行者の頭部衝撃を軽減するためにボンネットを持ち上げるアクチュエータへの点火信号出力から構成されています。
一般に車載系ECUのテストで使用されているHILシステムに相当するような、ECU入出力信号の模擬、故障診断系の欠陥生成を行っています。他のECUと通信を行うCAN通信にNI USB-8473s、エアバッグECUとバス通信で接続されるサテライトセンサの状態をコントロールするSPI通信にNI USB-8451を用いています。また、外部テスター、展開廃棄ツール等のK-Line通信にVector 製Ser2Kを利用しています。絶縁型アナログ出力ボードにより、衝突時波形を再現したGセンサのアナログ出力信号を生成し、アナログ入力ボードにより、点火信号の電圧監視、および衝突波形印加時におけるエアバッグ展開用スクイブに対する点火時間計測を行っています。
リレー回路は、サテライトセンサ、点火スクイブ、バックルスイッチ、イグニッションスイッチ等の制御および欠陥生成を行っています。
電源(菊水電子工業PWR-400L)の制御にUSB接続の電源コントローラ(菊水電子工業PIA4850)を用いています。
LabVIEWを用いて、多数の計測器制御をひとつのアプリケーションにまとめ、統合化しました。(図2)
LabVIEWは、NI製品以外にも、様々な計測器メーカーに対しオープンな開発システムであり、計測器メ―カー提供のVIライブラリを用いて、制御器、表示器のようなGUIの部品をグラフィカルなブロックと信号線で結ぶことで、一般の開発言語では複雑になりがちなアプリケーションソフトを効率よく開発することができました。
自動テスト機能を実現するのにNI TestStandを採用しました。
TestStandによる自動テストシーケンスを構築するにあたり、TestStand側でGUIアプリケーションをコントロールする手法を適用しました。TestStand側では計測器へアクセスする際、LabVIEWによるGUIアプリケーションに対し、「GUIから値を取得」、「GUIへの値設定」といったシンプルなAPIを介して行っています。(図3)
この方法では、以下のようなメリットがあります。
・ユーザー側でテストシ-ケンスを作成する際、GUIの操作手順を記述するため、直感的にわかりやすく、テストを実行したとき、実行過程を視覚的に確認できる。
・GUIアプリケーションと自動テスト機能を分離することで、アプリケーション部をシンプルに作成でき、自動テスト機能を後から容易に追加することができる。
・ハードウエア処理部を仮想化することで、実ハードウエアのない環境でもテストシーケンスを構築でき、テストシーケンスの外部委託による作成が行いやすい。
今回、TestStandによる自動テスト機能を構築するにあたり、外部委託を行い、仮想化したGUIアプリケーションを用いて実ハードウエアがない環境でテストシーケンスを作製していただき、弊社にて動作確認を行う形態をとることができました。
TestStandの標準設定では、主に製造部門でのテスト用途向けに、同一検査を繰り返し行うテストプロセスとなっていますが、開発部門で利用しやすいよう、シーケンスの選択実行と機種ごとの選択が行えるようなフロントエンドを作成し、簡易的なカスタマイズを行っています。(図4)
また、ユーザー側でシーケンスを作成しやすいよう、よく使う共通の手順をライブラリ化し、各シーケンスは簡潔なステップで記述できるようにしています。また、同じテスト項目であれば、様々な機種バリエーションに対しもパラメータの切り替えで対応できるよう、シーケンスを記述しています。
今回、初めてTestStandを使用しましたが、メリットとして、テストシーケンスを記述すると、特別なプログラムを作成しなくとも実行結果の詳細なレポートが自動生成される点が挙げられます。
従来、人手による作業により、一回あたり1日程度を要していた以下のようなテスト項目について、作業の無人化と試験時間の短縮が図れました。
・ROMデータ出荷テスト(製品バリエーションが正しく実装されているかを確認するテスト)
・衝突波形信号テスト(様々な衝突モードで規定の時間内で点火するかを確認するテスト)
今後は、要求仕様とリンクしたテスト項目の多くをTestStandによる自動テストシーケンスで、製品の仕様変更時などに再テストが容易で、人手による検証作業の少ない、効率的で安定した開発プロセスの実現を図っていきたいと考えております。
最後に、今回、自動テストシステムの構築にあたり、リレー回路、擬似負荷、擬似センサを含む特注のI/F Box製作に(株)方南製作所様のご協力を頂きました。また、TestStandを導入するにあたり、itkエンジニアリング(株)様のご支援をいただきました。ここに御礼申し上げます。
開発部門でのTestStandを用いた自動テストシステムの事例として、本レポートがご参考になれば幸いです。
小林 弘一氏
株式会社ケーヒン 第6開発部第3課