(57)【要約】【課題】複数の動作要求が出力された場合の優先度の判定の複雑化を抑制し、設計、開発及びテスト等を容易化することができる制御装置、制御システム及びコンピュータプログラムを提供する。【解決手段】車載機器の動作モードに応じてアプリケーション層１０３にて実行するプログラム（ドアロック故障診断判定処理プログラム１３１、セキュリティ判定処理プログラム１３２、ドアロック判定処理プログラム１３３及びキーレスエントリ判定処理プログラム１３４等）をシステム管理層１０４が切り替える。各動作モードでのプログラムの優先度を予め記憶しておき、動作モードに応じて優先度判定処理プログラムが動作要求の優先度を判定する。これにより、各層における多数のプログラムの複雑な依存関係が動作モード毎に分類され、各プログラムが出力する動作要求の優先度判定に係る複雑化が抑制される。【選択図】図２
2010030506.tif 000002
【特許請求の範囲】
【請求項１】
機器に対する動作要求をそれぞれ決定して出力する複数のプログラムを実行する実行手段を備え、前記プログラムの実行により前記機器に前記動作要求に係る動作を行わせる制御装置において、
前記機器の動作状態に応じて、前記複数のプログラムから実行する一又は複数のプログラムを決定する決定手段と、
前記実行手段にて実行するプログラムを、前記決定手段が決定した一又は複数のプログラムに切り替える切替手段と、
前記動作状態に対応付けて、前記複数のプログラムの優先度を記憶した記憶手段と、
実行された複数の前記プログラムが出力する複数の動作要求が競合する場合に、前記記憶手段が記憶した優先度に基づいて、前記複数の動作要求の優先度を判定する優先度判定手段と
を備え、
優先度が高いと判定された動作要求に係る動作を前記機器に行わせるようにしてあること
を特徴とする制御装置。
【請求項２】
それぞれが複数のプログラムを実行する複数の実行手段を備え、
各実行手段が、前記記憶手段及び優先度判定手段を有すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
請求項１又は請求項２に記載の制御装置を複数備え、複数の前記制御装置が通信可能に接続された制御システムであって、
一の制御装置は、
前記機器の動作状態を判定する動作状態判定手段と、
該動作状態判定手段が判定した動作状態を他の制御装置へ送信する送信手段と
を有し、
前記動作状態判定手段が判定した動作状態に応じて、前記決定手段が決定を行うようにしてあり、
他の制御装置は、
前記一の制御装置から送信される動作状態を受信する受信手段を有し、
前記受信手段が受信した動作状態に応じて、前記決定手段が決定を行うようにしてあること
を特徴とする制御システム。
【請求項４】
前記他の制御装置は、
前記一の制御装置の動作状態判定手段による判定に必要な情報を取得する取得手段と、
該取得手段が取得した情報を前記一の制御装置へ送信する送信手段と
を有し、
前記一の制御装置は、
前記他の制御装置から送信された情報を受信する受信手段を有し、
該受信手段が受信した情報を基に前記動作状態判定手段が判定を行うようにしてあること
を特徴とする請求項３に記載の制御システム。
【請求項５】
前記一の制御装置の送信手段は、通信可能な他の制御装置へ前記動作状態を一括して送信するようにしてあること
を特徴とする請求項３又は請求項４に記載の制御システム。
【請求項６】
機器に対する動作要求をそれぞれ決定する複数のプログラム部品を有し、コンピュータに前記プログラム部品を実行させることにより前記機器に前記動作要求に係る動作を行わせるコンピュータプログラムにおいて、
コンピュータに、
前記機器の動作状態に応じて、前記複数のプログラム部品から実行する一又は複数のプログラム部品を決定させる決定ステップと、
実行するプログラム部品を、決定した一又は複数のプログラム部品に切り替えさせる切替ステップと、
実行した複数の前記プログラム部品が決定した複数の動作要求が競合する場合に、前記動作状態に対応付けて記憶された前記プログラム部品の優先度に基づいて、前記複数の動作要求の優先度を判定させる判定ステップと、
優先度が高いと判定した動作要求に係る動作を前記機器に行わせる制御ステップと
を有することを特徴とするコンピュータプログラム。
【請求項７】
それぞれが複数のプログラム部品を含む複数のプログラム群を有し、
各プログラム群にて、コンピュータに前記判定ステップを行わせるようにしてあること
を特徴とする請求項６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車輌に搭載された機器など多数の機器の制御を行うことができ、開発及びテスト等を容易に行うことができる制御装置、制御システム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、車輌には多種多様な電子機器（以下、車載機器という）が搭載され、車輌の高機能化が進んでいる。車輌の高機能化が進むほど車載機器の搭載数は増加するため、多数の車載機器を制御するためのＥＣＵ（Electronic Control Unit）などの制御装置及びこの制御装置上で実行されるコンピュータプログラムは巨大化及び複雑化し、制御装置及びコンピュータの開発の困難化、開発期間の増大及び開発コストの増大等が生じるという問題があった。
【０００３】
図８は、車載機器を制御する従来のコンピュータプログラムの処理を説明するための模式図であり、車輌のドアロックを行うコンピュータプログラムの例である。車輌にはドアのロックを制御する車載機器が搭載されており、ユーザがドアに設けられたスイッチにロック操作を行った場合、ユーザが遠隔操作器（所謂、キーレスエントリ）にてロック操作を行った場合、セキュリティ機能により自動的にロックされる場合、及びディーラーなどでの故障診断装置によるロック試験を行う場合等にドアのロックが行われる。
【０００４】
例えば図示のコンピュータプログラムは、故障診断装置によるドアロック試験を行う指示が与えられたか否かを判定するドアロック故障診断判定処理プログラム２０１、セキュリティ機能によるロック判定を行うセキュリティ判定処理プログラム２０２、ドアのスイッチに対するロック操作の有無を判定するドアロック判定処理プログラム２０３、及び遠隔操作器によるロック操作の有無を判定するキーレスエントリ判定処理プログラム２０４等を有している。これらのプログラムは、上記の条件が成立した場合に、ドアロックの動作要求を出力する。いずれかのプログラムにて動作要求が出力された場合にドアのロックを行えばよいが、同時的に複数のプログラムから動作要求が出力された場合、いずれの動作要求に従ってドアのロックを行うべきかを判断する必要がある。
【０００５】
そこで図示のコンピュータプログラムは、ドアロック故障診断判定処理プログラム２０１、セキュリティ判定処理プログラム２０２、ドアロック判定処理プログラム２０３及びキーレスエントリ判定処理プログラム２０４からの動作要求を優先度判定処理プログラム２０５へ与え、同時的に出力された動作要求の優先度を判定している。優先度判定処理プログラム２０５では、同時的に出力された複数の動作要求から最も優先度の高い動作要求のみをドアロック出力処理プログラム２０６へ与える。ドアロック出力処理プログラム２０６は、与えられた動作要求に応じて車輌のドアをロックするためのアクチュエータを動作させるなどの制御処理を行う。これにより、最も優先度の高い条件に応じたドアロックが行われる。
【０００６】
また特許文献１においては、既存のアプリケーションへの影響を最小限に抑えながら、新たな機能を実現するためのアプリケーションの追加を可能とした制御システムが提案されている。この制御システムは、クライアントアプリケーション及びサーバーアプリケーションが実装された電子制御装置に、これらアプリケーション間に介在して、フォーマットの変換及び調停等を行いながら必要な情報の受け渡しを行うサービスアプリケーションをソフトウェアによって構成し実装してある。サービスアプリケーションは、複数のアプリケーションから実行要求が競合したときに、いずれの実行要求を優先すべきかを判断することができる。
【特許文献１】特開２００８−７４１２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、近年では車輌の高機能化に伴う制御装置及びコンピュータプログラムの複雑化によって、ドアロック故障診断判定処理プログラム２０１及びセキュリティ判定処理プログラム２０２等のように動作要求を出力するプログラムの数が増大し、コンピュータプログラムの開発者が各動作要求の優先度を設定することが困難化している。これにより、コンピュータプログラムの開発期間及び開発コスト等が増大するという問題がある。また、優先度の設定が複雑化することに伴って、優先度判定に係るコンピュータプログラムのテストパターンが増大し、テスト期間が増大するという問題もある。特許文献１に記載の制御システムもこれらの問題を解決し得るものではない。
【０００８】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数の動作要求が出力された場合の優先度の判定の複雑化を抑制し、設計、開発及びテスト等を容易化することができる制御装置、制御システム及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る制御装置は、機器に対する動作要求をそれぞれ決定して出力する複数のプログラムを実行する実行手段を備え、前記プログラムの実行により前記機器に前記動作要求に係る動作を行わせる制御装置において、前記機器の動作状態に応じて、前記複数のプログラムから実行する一又は複数のプログラムを決定する決定手段と、前記実行手段にて実行するプログラムを、前記決定手段が決定した一又は複数のプログラムに切り替える切替手段と、前記動作状態に対応付けて、前記複数のプログラムの優先度を記憶した記憶手段と、実行された複数の前記プログラムが出力する複数の動作要求が競合する場合に、前記記憶手段が記憶した優先度に基づいて、前記複数の動作要求の優先度を判定する優先度判定手段とを備え、優先度が高いと判定された動作要求に係る動作を前記機器に行わせるようにしてあることを特徴とする。
【００１０】
また、本発明に係る制御装置は、それぞれが複数のプログラムを実行する複数の実行手段を備え、各実行手段が、前記記憶手段及び優先度判定手段を有することを特徴とする。
【００１１】
また、本発明に係る制御システムは、上述の制御装置を複数備え、複数の前記制御装置が通信可能に接続された制御システムであって、一の制御装置は、前記機器の動作状態を判定する動作状態判定手段と、該動作状態判定手段が判定した動作状態を他の制御装置へ送信する送信手段とを有し、前記動作状態判定手段が判定した動作状態に応じて、前記決定手段が決定を行うようにしてあり、他の制御装置は、前記一の制御装置から送信される動作状態を受信する受信手段を有し、前記受信手段が受信した動作状態に応じて、前記決定手段が決定を行うようにしてあることを特徴とする。
【００１２】
また、本発明に係る制御システムは、前記他の制御装置が、前記一の制御装置の動作状態判定手段による判定に必要な情報を取得する取得手段と、該取得手段が取得した情報を前記一の制御装置へ送信する送信手段とを有し、前記一の制御装置は、前記他の制御装置から送信された情報を受信する受信手段を有し、該受信手段が受信した情報を基に前記動作状態判定手段が判定を行うようにしてあることを特徴とする。
【００１３】
また、本発明に係る制御システムは、前記一の制御装置の送信手段が、通信可能な他の制御装置へ前記動作状態を一括して送信するようにしてあることを特徴とする。
【００１４】
また、本発明に係るコンピュータプログラムは、機器に対する動作要求をそれぞれ決定する複数のプログラム部品を有し、コンピュータに前記プログラム部品を実行させることにより前記機器に前記動作要求に係る動作を行わせるコンピュータプログラムにおいて、コンピュータに、前記機器の動作状態に応じて、前記複数のプログラム部品から実行する一又は複数のプログラム部品を決定させる決定ステップと、実行するプログラム部品を、決定した一又は複数のプログラム部品に切り替えさせる切替ステップと、実行した複数の前記プログラム部品が決定した複数の動作要求が競合する場合に、前記動作状態に対応付けて記憶された前記プログラム部品の優先度に基づいて、前記複数の動作要求の優先度を判定させる判定ステップと、優先度が高いと判定した動作要求に係る動作を前記機器に行わせる制御ステップとを有することを特徴とする。
【００１５】
また、本発明に係るコンピュータプログラムは、それぞれが複数のプログラム部品を含む複数のプログラム群を有し、各プログラム群にて、コンピュータに前記判定ステップを行わせるようにしてあることを特徴とする。
【００１６】
本発明においては、動作要求を出力する複数のプログラム又はプログラム群（以下、単にプログラムという）のうち、実行するプログラムを機器の動作状態（動作モード）に応じて制限する。機器の動作モードとは、例えば図８に示したコンピュータプログラムであれば、運転者によるロック操作によりドアロックを行う運転者モード、自動的にドアロックを行うセキュリティモード、及び故障検査などを行うメンテナンスモードのように予め決定しておくことができる。動作モード毎に動作させるプログラムを予め定めておき、動作モードの変化に応じて動作させるプログラムを切り替えればよい。
また、動作モードと、この動作モードで実行するプログラムの優先度とを予め定めて記憶しておく。動作モードに応じて切り替えて実行された複数のプログラムが同時的に動作要求を出力し、動作要求の競合が発生した場合には、記憶した各プログラムの優先度に基づいて、競合する動作要求の優先度を判定する。よって、各動作モードで実行されるプログラムの数が制限されているため、優先度の判定に係る複雑化が抑制され、優先度の判定に係るプログラムの設計、開発及びテスト等が容易化される。また、このコンピュータプログラムを搭載して動作する制御装置の設計、開発及びテスト等が容易化される。
【００１７】
また本発明においては、例えば複数のドライバプログラムを含むプラットフォーム層及び複数のアプリケーションプログラムを含むアプリケーション層のように、コンピュータプログラムを複数のプログラム群（実行手段）で構成する。この構成の場合には、各プログラム群にて動作モードに応じた動作要求の優先度判定及び機器の制御処理等を行う。これにより、開発者はプログラム群毎にプログラムの開発を行うことができ、プログラム群毎に優先度の判定に係るプログラムの開発を行うことができる。
【００１８】
また本発明においては、上述のコンピュータプログラムを搭載した制御装置をネットワークなどを介して通信可能に複数接続して制御システムを構成する。この構成の場合、一の制御装置にて動作モードの判定を行って他の制御装置へ送信し、他の制御装置は受信した動作モードに応じて切替処理などを行えばよい。これにより、複数の制御装置が共通の動作モードで制御処理を行うことができる。なお、一の制御装置から複数の他の制御装置へ動作モードの送信を行う場合には、一括送信（所謂、ブロードキャスト）にて行うことが効率的である。
【００１９】
また本発明においては、他の制御装置が動作モードの判定に必要な情報を取得して一の制御装置へ送信し、この情報を受信した一の制御装置が動作モードの判定を行う。これにより一の制御装置は、自らが直接的に取得できない情報を他の制御装置から間接的に取得し、動作モードの判定を行うことができる。
【発明の効果】
【００２０】
本発明による場合は、機器の動作モードに応じて実行するプログラムを切り替えて制限する構成とすることにより、多数のプログラムによる複雑な依存関係が動作モード毎に分類されるため、各プログラムが出力する動作要求の優先度判定に係る複雑化を抑制することができる。各動作モードで実行するプログラムの優先度を記憶しておき、動作モードに応じて実行するプログラムを切り替えると共に、実行された複数のプログラムからの動作要求の優先度を判定することによって、優先度の高い動作要求に係る制御処理を行うことができる。よって、動作要求の競合が発生した場合の優先度判定に係るコンピュータプログラムの設計及び開発等を容易化することができ、このコンピュータプログラムを搭載する制御装置の設計及び開発等を容易化することができる。また、優先度判定に係るコンピュータプログラムのテストパターンの増大を抑制することができるため、テスト期間を短縮することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、本発明に係る制御システムの構成を示すブロック図である。図において１は、車輌に搭載された各種のセンサ５、アクチュエータ６及びその他の車載機器７の制御を行うＥＣＵであり、本発明に係る制御装置に相当するものである。ＥＣＵ１は、センサ５、アクチュエータ６及びその他の車載機器７にケーブルを介して接続される入出力Ｉ／Ｆ(インタフェース）部１１を備えており、入出力Ｉ／Ｆ部１１がセンサ５、アクチュエータ６及び車載機器７との間で信号の授受を行って、センサ５から各種の検知結果を取得し、アクチュエータ６へ動作指示を与え、車載機器７とデータの授受を行うことができる。
【００２２】
またＥＣＵ１は、各種の演算処理及びＥＣＵ１内の各部の制御処理等を行うＣＰＵ（Central Processing Unit）１２を備えている。入出力Ｉ／Ｆ部１１は、センサ５の検知結果及びその他の車載機器７からのデータ等をＣＰＵ１２へ与えると共に、ＣＰＵ１２からのデータをアクチュエータ６及びその他の車載機器７へ与える。ＣＰＵ１２は、ＲＯＭ（Read Only Memory）１４に予め記憶された車載機器制御プログラム（コンピュータプログラム）１００を読み出して実行することにより、演算処理及び制御処理等を行い、処理過程にて発生した一時的なデータをＲＡＭ（Random Access Memory）１３に記憶しながら処理を進める。
【００２３】
ＲＯＭ１４は、例えばマスクＲＯＭ又はＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等の不揮発性のメモリ素子で構成され、車載機器制御プログラム１００及びこのプログラムの実行に必要なデータ（図示は省略する）等が予め記憶されている。ＲＡＭ１３は、ＳＲＡＭ（Static RAM）又はＤＲＡＭ（Dynamic RAM）等のメモリ素子で構成されている。
【００２４】
また、ＥＣＵ１は、車輌に搭載されたその他の複数のＥＣＵ１にＣＡＮ（Controller Area Network）などのネットワークを介して接続されており、ネットワークを介してその他のＥＣＵ１とデータの送受信を行うための通信部１５を備えている。ＥＣＵ１は、通信部１５にて他のＥＣＵ１との間でデータの送受信を行うことによって、他のＥＣＵ１に接続された車載機器からのデータを取得することができると共に、他のＥＣＵ１に接続された車載機器の動作を制御することができる。なお、図１においては１つのＥＣＵ１のみ詳細な構成を図示し、他のＥＣＵ１の構成は同様であるため詳細な構成の図示を省略する。
【００２５】
図２は、本発明に係る車載機器制御プログラム１００のソフトウェア構成を示す模式図である。車載機器制御プログラム１００は、プラットフォーム層１０１、中間層１０２及びアプリケーション層１０３と、システム管理層１０４との４つの階層（プログラム群）を備えるコンピュータプログラムである。
【００２６】
プラットフォーム層１０１は、複数のプログラム（図示は省略する）を有している。プラットフォーム層１０１のプログラムは、ＥＣＵ１の入出力Ｉ／Ｆ部１１に接続されたセンサ５、アクチュエータ６及びその他の車載機器７を制御するプログラム、並びに通信部１５による他のＥＣＵ１とのデータの送受信をＣＡＮなどの規格に従って行うプログラム等である。プラットフォーム層１０１のプログラムは、センサ５及びその他の車載機器７等から取得したデータを中間層１０２へ与えると共に、中間層１０２から与えられる動作指示に従ってアクチュエータ６及びその他の車載機器７等の動作を制御する。
【００２７】
中間層１０２は、プラットフォーム層１０１及びアプリケーション層１０３の間に設けられ、プラットフォーム層１０１から与えられたデータを適切なデータ形式に変換してアプリケーション層１０３へ与えると共に、アプリケーション層１０３から与えられたデータを適切なデータ形式に変換してプラットフォーム層１０１へ与える処理を行う。中間層１０２は複数のプログラムを有しており、各プログラムが上記のデータ形式の変換を行う。
【００２８】
アプリケーション層１０３は、複数のプログラム（図２においてＡＰ１、２…と記す）を有している。アプリケーション層１０３のプログラムＡＰ１、２…は、予め定められた要求仕様などに従って、センサ５及びその他の車載機器７等からプラットフォーム層１０１及び中間層１０２を介して与えられたデータに基づき、アクチュエータ６及びその他の車載機器７等の動作を決定する処理を行う。プログラムＡＰ１、２…は、アクチュエータ６及びその他の車載機器７等に対する動作指示を出力データとして中間層１０２へ与える。
【００２９】
即ち、車輌に搭載されたセンサ５及び車載機器７等の出力は、ＥＣＵ１にて実行される車載機器制御プログラム１００のプラットフォーム層１０１のプログラムにてデータ化されて中間層１０２へ与えられる。中間層１０２のプログラムは、プラットフォーム層１０１から与えられたデータを、アプリケーション層１０３に適したデータに変換して、アプリケーション層１０３へ与える。アプリケーション層１０３のプログラムＡＰ１、２…は、中間層１０２から与えられたデータを基に種々の演算処理を行ってアクチュエータ６及び車載機器７等の動作を決定する。
【００３０】
アプリケーション層１０３のプログラムＡＰ１、２…は、アクチュエータ６及び車載機器７等に決定した動作を行わせるための動作指示を出力データとして中間層１０２へ与える。中間層１０２のプログラムは、アプリケーション層１０３から与えられたデータを、プラットフォーム層１０１に適したデータに変換して、プラットフォーム層１０１へ与える。プラットフォーム層１０１のプログラムは、中間層１０２から与えられたデータに基づいてアクチュエータ６及び車載機器７等の制御を行う。
【００３１】
このように車載機器制御プログラム１００は、センサ５及び車載機器７等から取得したデータを３つの層の間で授受し、各層にてデータに対する処理を行うことによって、アクチュエータ６及び車載機器７等の動作を制御することができる。各層のプログラムの開発者は、他の層が内部で行うデータ処理について知る必要はなく、各層が入出力するデータについてのみ知ればよい。また、各層には複数のプログラムが含まれているが、例えば制御対象の機器毎、実行する処理毎又は扱うデータの種類毎等によりプログラムを適切に細分化することができる。また、各層内の複数のプログラムは、他のプログラムとのデータの授受を行って処理を進めることができる。
【００３２】
また、本発明に係る車載機器制御プログラム１００は、車輌の走行状態又はユーザの操作等に基づいて制御対象の車載機器の動作モードを決定すると共に、この動作モードに関連するプログラムのみを各層で実行することによって、この動作モードで車載機器を動作させる。図２に示したアプリケーション層１０３は第１モード〜第３モードの３つの動作モードに応じて実行するプログラムの組み合わせを変更する構成であり、図示は省略してあるがプラットフォーム層１０１及び中間層１０２についても同様に３つの動作モードに応じてプログラムの組み合わせを変更する。
【００３３】
車載機器の動作モードの決定及び各層にて実行するプログラムの切り替え等の処理は、システム管理層１０４のプログラムが行う。システム管理層１０４は、プラットフォーム層１０１、中間層１０２及びアプリケーション層１０３による階層構造から独立した層であり、各層のプログラムの動作を制御している。またシステム管理層１０４のプログラムは、ネットワークを介して他のＥＣＵ１にて実行されている車載機器制御プログラム１００のシステム管理層１０４のプログラムとデータの送受信を行うことができる。
【００３４】
複数の動作モードの決定は必ずしも１つのＥＣＵ１の車載機器制御プログラム１００にて行わなくてもよく、例えば動作モードを第１モードに変更する決定を第１のＥＣＵ１が行い、動作モードを第２モード又は第３モードに変更する決定を第２のＥＣＵ１が行うなど、動作モード毎に異なるＥＣＵ１の車載機器制御プログラム１００が動作モードの決定を行ってもよい。この場合、各車載機器制御プログラム１００のシステム管理層１０４は、制御対象の車載機器から得られた情報で、他のＥＣＵ１にて実行される車載機器制御プログラム１００の動作モードの決定に必要な情報を、ネットワークを介して情報を必要とする車載機器制御プログラム１００へ送信する。
【００３５】
各車載機器制御プログラム１００は、他のＥＣＵ１の車載機器制御プログラムから送信された情報を受信し、受信した情報と、自らの制御対象の車載機器から取得した情報とを基に、車載機器を動作させる動作モードを決定する。また、各車載機器制御プログラム１００は、動作モードを変更すべきときには、ネットワークを介して全てのＥＣＵ１へ決定した動作モードを一括送信（ブロードキャスト）する。これにより、車輌に搭載されてネットワークで相互に接続された複数のＥＣＵ１及び車載機器制御プログラム１００が共通の動作モードで車載機器の制御を行うことができる。
【００３６】
決定した動作モードを一括送信した後、車載機器制御プログラム１００のシステム管理層１０４は、プラットフォーム層１０１、中間層１０２及びアプリケーション層１０３にて実行するプログラムを、予め動作モードに対して決定された組み合わせのプログラムに切り替える処理を行う。これにより、各層では動作モードに応じて必要なプログラムのみが動作する。また、一括送信された動作モードを受信した他のＥＣＵ１の車載機器制御プログラム１００についても同様に、受信した動作モードに応じたプログラムへの切り替えがシステム管理層１０４により行われる。
【００３７】
図３は、動作モードに対して実行するプログラムの一例を示す模式図である。なお、図３においては、車載機器制御プログラム１００のアプリケーション層１０３の例を示し、プラットフォーム層１０１及び中間層１０２については同様であるため図示及び説明を省略する。また、図３に示すアプリケーション層１０３は、車輌のドアロックを行うコンピュータプログラムの例であり、図８に示したコンピュータプログラムと同等の機能を有する構成としてある。また、車輌のドアロックに係る車載機器は、メンテナンスモード、セキュリティモード又は運転者モードの３つの動作モードで動作するものとする。
【００３８】
メンテナンスモードは車輌の製造工程での出荷検査又はディーラーなどでの故障検査等を行う際の動作モードであり、検査装置がいずれかの車載機器又はネットワークに接続されたことが検知された場合に、システム管理層１０４は動作モードをメンテナンスモードに決定する。セキュリティモードは車輌が駐車されている場合の動作モードであり、エンジンの動作状態、イグニッションスイッチの状態、及び座席に運転者が着座しているか否かを検知するセンサの検知結果等の情報を基に、システム管理層１０４は動作モードをセキュリティモードに決定する。また、運転者モードは車輌が走行可能状態の場合の動作モードであり、エンジンの動作状態、イグニッションスイッチの状態、シフトレバーの状態及び車速センサの検知結果等の情報を基に、システム管理層１０４は動作モードを運転者モードに決定する。
【００３９】
例えばシステム管理層１０４のプログラムは、動作モードをメンテナンスモードと決定した場合、アプリケーション層１０３のドアロック故障診断判定処理プログラム１３１及びドアロック出力処理プログラム１３６を起動してドアロックの制御処理を実行させる（図３（ａ）参照）。ドアロック故障診断判定処理プログラム１３１は、故障診断装置によるドアロック試験を行う際にドアロックの動作要求をドアロック出力処理プログラム１３６へ与える。この場合、ドアロック出力処理プログラム１３６へ動作要求を与えるプログラムはドアロック故障診断判定処理プログラム１３１のみであるため、優先度の判定は必要ない。ドアロック出力処理プログラム１３６は、与えられた動作要求に応じて、ドアロックに係る車載機器を動作させる動作指示を中間層１０２へ出力することによってドアロックに係る車載機器の動作を制御し、動作要求に応じた動作を車載機器に行わせる。
【００４０】
システム管理層１０４のプログラムは、動作モードをセキュリティモードと決定した場合、アプリケーション層１０３のセキュリティ判定処理プログラム１３２及びドアロック出力処理プログラム１３６を起動してドアロックの制御処理を実行させる（図３（ｂ）参照）。セキュリティ判定処理プログラム１３２は、車輌のドアの自動ロックを行うか否かを判定するプログラムであり、自動ロックを行う場合にはドアロック出力処理プログラム１３６へドアロックの動作要求を与える。この場合、ドアロック出力処理プログラム１３６へ動作要求を与えるプログラムはセキュリティ判定処理プログラム１３２のみであるため、優先度の判定は必要ない。
【００４１】
またシステム管理層１０４のプログラムは、動作モードを運転者モードと決定した場合、アプリケーション層１０３のドアロック判定処理プログラム１３３、キーレスエントリ判定処理プログラム１３４、優先度判定処理プログラム１３５及びドアロック処理プログラム１３６を起動してドアロックの制御処理を実行させる（図３（ｃ）参照）。ドアロック判定処理プログラム１３３はドアに設けられたスイッチに対するユーザのロック操作の有無を判定するプログラムであり、ロック操作がなされた場合にドアロックの動作要求を出力する。キーレスエントリ判定処理プログラム１３４は、遠隔操作器によるロック操作の有無を判定するプログラムであり、遠隔操作器にてロック操作がなされた場合にドアロックの動作要求を出力する。
【００４２】
ドアロック判定処理プログラム１３３及びキーレスエントリ判定処理プログラム１３４から出力された動作要求は、優先度判定処理プログラム１３５へ与えられる。優先度判定処理プログラム１３５は、ドアロック判定処理プログラム１３３及びキーレスエントリ判定処理プログラム１３４から同時的に動作要求が与えられた場合、これらの動作要求の優先度を判定し、優先度が高い動作要求をドアロック出力処理１３６へ与える。優先度判定処理プログラム１３５は、予め各プログラムの優先度が定められた優先度判定テーブルを記憶しており、この優先度判定テーブルに従って優先度の判定を行う。
【００４３】
図４は、優先度判定テーブルの一例を示す模式図である。優先度判定テーブルには、メンテナンスモード、セキュリティモード及び運転者モードの動作モードと、各動作モードにて動作するプログラムと、各プログラムに対して付された優先度とが対応付けて記憶してある。優先度判定処理プログラム１３５は、優先度判定テーブルに記憶された各プログラムの優先度を参照し、与えられた動作要求の優先度とする。これにより、優先度判定処理プログラム１３５は、同時的に与えられた動作要求の優先度を判定し、優先度の高い動作要求を出力することができる。
【００４４】
次に、本発明に係る車載機器制御プログラム１００の動作をフローチャートを用いて説明する。図５は、システム管理層１０４が行うプログラムの切替処理の手順を示すフローチャートであり、動作モードの決定を自らが行う場合の処理を示してある。まず、システム管理層１０４のプログラムは、制御対象の車載機器から動作に係る情報を取得し（ステップＳ１）、取得した動作情報に基づいて動作モードを変更する必要があるか否かを判定する（ステップＳ２）。
【００４５】
動作モードを変更する必要がない場合（Ｓ２：ＮＯ）、システム管理層１０４のプログラムは、取得した動作情報が他のＥＣＵ１にて動作モード判定のために必要な情報であるか否かを判定する（ステップＳ３）。動作情報が他のＥＣＵ１にて必要な場合（Ｓ３：ＹＥＳ）、システム管理層１０４のプログラムは、動作情報を必要とするＥＣＵ１へ送信する（ステップＳ４）。動作情報を送信した後、又は、動作情報を必要とする他のＥＣＵがない場合（Ｓ３：ＮＯ）、システム管理層１０４のプログラムは、ステップＳ１へ戻り、動作情報の取得を繰り返し行う。
【００４６】
動作モードを変更する必要がある場合（Ｓ２：ＹＥＳ）、システム管理層１０４のプログラムは、取得した車載機器の動作情報を基に変更すべき動作モードを決定し（ステップＳ５）、決定した動作モードをネットワークを介して他のＥＣＵ１へ一斉送信する（ステップＳ６）。次いで、システム管理層１０４のプログラムは、決定した動作モードに応じて、新たに実行するプログラムを決定し（ステップＳ７）、実行するプログラムを、決定したプログラムに切り替えて（ステップＳ８）、処理を終了する。
【００４７】
図６は、システム管理層１０４が行うプログラムの切替処理の手順を示すフローチャートであり、他のＥＣＵ１にて決定された動作モードを受信した場合の処理を示してある。システム管理層１０４のプログラムは、ネットワークを介して一斉送信された動作モードを受信したか否かを判定し（ステップＳ１１）、動作モードを受信していない場合は（Ｓ１１：ＮＯ）、動作モードを受信するまで待機する。動作モードを受信した場合（Ｓ１１：ＹＥＳ）、システム管理層１０４のプログラムは、受信した動作モードに応じて、新たに実行するプログラムを決定し（ステップＳ１２）、実行するプログラムを、決定したプログラムに切り替えて（ステップＳ１３）、処理を終了する。
【００４８】
図７は、優先度判定処理プログラム１３５が行う処理の手順を示すフローチャートであり、車載機器制御プログラム１００の各層でそれぞれ行われる処理である。優先度判定処理プログラム１３５は、まず、同じ層内の他のプログラムから動作要求が与えられたか否かを判定し（ステップＳ２１）、動作要求が与えられていない場合には（Ｓ２１：ＮＯ）、動作要求が与えられるまで待機する。
【００４９】
動作要求が与えられた場合（Ｓ２１：ＹＥＳ）、優先度判定処理プログラム１３５は、与えられた動作要求が複数同時的に与えられたものであるか否かを判定する（ステップＳ２２）。複数の動作要求が同時的に与えられた場合（Ｓ２２：ＹＥＳ）、優先度判定処理プログラム１３５は、予め記憶された優先度判定テーブルを読み出し（ステップＳ２３）、これに基づいて複数の動作要求の優先度を判定し（ステップＳ２４）、最も優先度が高い一の動作要求を出力して（ステップＳ２５）、処理を終了する。複数の動作要求が与えられていない場合（Ｓ２２：ＮＯ）、優先度判定処理プログラム１３５は、与えられた動作要求を出力して（ステップＳ２６）、処理を終了する。
【００５０】
以上の構成の車載機器制御プログラム１００においては、車載機器の動作モードに応じて各層にて実行するプログラムをシステム管理層１０４が切り替える構成とすることにより、各層における多数のプログラムの複雑な依存関係が動作モード毎に分類され、各プログラムが出力する動作要求の優先度判定に係る複雑化を抑制することができる。また、優先度判定テーブルに各動作モードでのプログラムの優先度を予め記憶しておき、動作モードに応じて優先度判定処理プログラム１３５が優先度判定テーブルに基づいて動作要求の優先度を判定することにより、動作モード毎に最適な優先度判定を行うことができる。これらにより、優先度判定に係る車載機器制御プログラム１００の設計、開発及びテスト等を容易化することができる。また、この車載機器制御プログラム１００を搭載するＥＣＵ１の設計、開発及びテスト等を容易化することができ、このＥＣＵ１をネットワーク接続した制御システムの設計、開発及びテスト等を容易化することができる。
【００５１】
また、車載機器制御プログラム１００をプラットフォーム層１０１、中間層１０２及びアプリケーション層１０３のように階層化し、動作要求の優先度判定及び優先度が高い動作要求に応じた車載機器の制御を各層にて行う構成とすることにより、開発者は層毎にプログラムの開発を行うことができ、層毎に優先度判定に係るプログラム開発を行うことができるため、車載機器制御プログラム１００の設計、開発及びテスト等をより容易化することができる。
【００５２】
また、車載機器制御プログラム１００をそれぞれ搭載した複数のＥＣＵ１をネットワークを介して接続し、一のＥＣＵ１にて動作モードを決定して他のＥＣＵ１へ送信し、他のＥＣＵ１が受信した動作モードに応じて実行するプログラムの切り替えを行う構成とすることにより、複数のＥＣＵ１で構成された制御システム全体で共通の動作モードで車載機器の制御を行うことができる。また、一のＥＣＵ１から他のＥＣＵ１への動作モードの送信は、一括送信で行う構成とすることによって、簡単且つ確実に全てのＥＣＵ１へ動作モードを送信することができる。また、各ＥＣＵ１にて制御対象の車載機器から動作情報を取得し、取得した情報を動作モードの決定を行う他のＥＣＵ１へ送信する構成とすることにより、動作モードの決定を行うＥＣＵ１では直接的に取得できない情報をも考慮して車載機器制御プログラム１００が動作モードの決定を行うことができる。
【００５３】
なお、本実施の形態においては、車載機器制御プログラム１００は、プラットフォーム層１０１、中間層１０２及びアプリケーション層１０３の３層構造としたが、これに限るものではなく、２層又は４層以上の構造であってもよい。また、実行するプログラムの切り替えをシステム管理層１０４として独立した層のプログラムが行う構成としたが、これに限るものではなく、プログラムの切り替えをプラットフォーム層１０１、中間層１０２又はアプリケーション層１０３に含まれるいずれかのプログラムが行う構成としてもよい。また、機器を制御するコンピュータプログラムとして車載機器制御プログラム１００を例に説明を行ったが、これに限るものではなく、その他の機器を制御するコンピュータプログラムに同様の構成を適用することができる。また、図３に示したアプリケーション層１０３の構成は一例であってこれに限るものではない。
【図面の簡単な説明】
【００５４】
【図１】本発明に係る制御システムの構成を示すブロック図である。
【図２】本発明に係る車載機器制御プログラムのソフトウェア構成を示す模式図である。
【図３】動作モードに対して実行するプログラムの一例を示す模式図である。
【図４】優先度判定テーブルの一例を示す模式図である。
【図５】システム管理層が行うプログラムの切替処理の手順を示すフローチャートである。
【図６】システム管理層が行うプログラムの切替処理の手順を示すフローチャートである。
【図７】優先度判定処理プログラムが行う処理の手順を示すフローチャートである。
【図８】車載機器を制御する従来のコンピュータプログラムの処理を説明するための模式図である。
【符号の説明】
【００５５】
１  ＥＣＵ（制御装置）
５  センサ
６  アクチュエータ
７  車載機器
１１  入出力Ｉ／Ｆ部
１２  ＣＰＵ
１３  ＲＡＭ
１４  ＲＯＭ
１５  通信部
１００  車載機器制御プログラム
１０１  プラットフォーム層（実行手段）
１０２  中間層（実行手段）
１０３  アプリケーション層（実行手段）
１０４  システム管理層（決定手段、切替手段、動作状態判定手段、送信手段、受信手段、取得手段）
１３１  ドアロック故障診断判定処理プログラム（プログラム部品）
１３２  セキュリティ判定処理プログラム（プログラム部品）
１３３  ドアロック判定処理プログラム（プログラム部品）
１３４  キーレスエントリ判定処理プログラム（プログラム部品）
１３５  優先度判定処理プログラム（記憶手段、優先度判定手段）
１３６  ドアロック出力処理プログラム
【図１】
2010030506.tif 000003
【図２】
2010030506.tif 000004
【図３】
2010030506.tif 000005
【図４】
2010030506.tif 000006
【図５】
2010030506.tif 000007
【図６】
2010030506.tif 000008
【図７】
2010030506.tif 000009
【図８】
2010030506.tif 000010
【手続補正書】
【提出日】平成21年11月5日(2009.11.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機器に対する動作要求をそれぞれ決定して出力する複数のプログラムを実行する実行手段を備え、前記プログラムの実行により前記機器に前記動作要求に係る動作を行わせる制御装置において、
それぞれが複数のプログラムを実行する複数の前記実行手段を備え、
前記機器の動作状態に応じて、前記複数のプログラムから実行する一又は複数のプログラムを決定する決定手段と、
前記実行手段にて実行するプログラムを、前記決定手段が決定した一又は複数のプログラムに切り替える切替手段と
を備え、
複数の前記実行手段は、階層的に情報の授受を行ってプログラムの実行を行うようにしてあり、
各実行手段が、
前記動作状態に対応付けて、前記複数のプログラムの優先度を記憶した記憶手段と、
実行された複数の前記プログラムが出力する複数の動作要求が競合する場合に、前記記憶手段が記憶した優先度に基づいて、前記複数の動作要求の優先度を判定する優先度判定手段と
をそれぞれ有し、
優先度が高いと判定された動作要求に係る動作を前記機器に行わせるようにしてあること
を特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置を複数備え、複数の前記制御装置が通信可能に接続された制御システムであって、
一の制御装置は、
前記機器の動作状態を判定する動作状態判定手段と、
該動作状態判定手段が判定した動作状態を他の制御装置へ送信する送信手段と
を有し、
前記動作状態判定手段が判定した動作状態に応じて、前記決定手段が決定を行うようにしてあり、
他の制御装置は、
前記一の制御装置から送信される動作状態を受信する受信手段を有し、
前記受信手段が受信した動作状態に応じて、前記決定手段が決定を行うようにしてあること
を特徴とする制御システム。
【請求項３】
前記他の制御装置は、
前記一の制御装置の動作状態判定手段による判定に必要な情報を取得する取得手段と、
該取得手段が取得した情報を前記一の制御装置へ送信する送信手段と
を有し、
前記一の制御装置は、
前記他の制御装置から送信された情報を受信する受信手段を有し、
該受信手段が受信した情報を基に前記動作状態判定手段が判定を行うようにしてあること
を特徴とする請求項２に記載の制御システム。
【請求項４】
前記一の制御装置の送信手段は、通信可能な他の制御装置へ前記動作状態を一括して送信するようにしてあること
を特徴とする請求項２又は請求項３に記載の制御システム。
【請求項５】
機器に対する動作要求をそれぞれ決定する複数のプログラム部品を有し、コンピュータに前記プログラム部品を実行させることにより前記機器に前記動作要求に係る動作を行わせるコンピュータプログラムにおいて、
それぞれが複数のプログラム部品を含む複数のプログラム群を有し、
コンピュータに、前記機器の動作状態に応じて、前記複数のプログラム部品から実行する一又は複数のプログラム部品を決定させる決定ステップと、
コンピュータに、実行するプログラム部品を、決定した一又は複数のプログラム部品に切り替えさせる切替ステップと
を有し、
複数の前記プログラム群は、階層的に情報の授受を行って、コンピュータに前記プログラム部品を実行させるようにしてあり、
各プログラム群が、
コンピュータに、実行した複数の前記プログラム部品が決定した複数の動作要求が競合する場合に、前記動作状態に対応付けて記憶された前記プログラム部品の優先度に基づいて、前記複数の動作要求の優先度を判定させる判定ステップと、
コンピュータに、優先度が高いと判定した動作要求に係る動作を前記機器に行わせる制御ステップと
をそれぞれ実行させること
を特徴とするコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明に係る制御装置は、機器に対する動作要求をそれぞれ決定して出力する複数のプログラムを実行する実行手段を備え、前記プログラムの実行により前記機器に前記動作要求に係る動作を行わせる制御装置において、それぞれが複数のプログラムを実行する複数の前記実行手段を備え、前記機器の動作状態に応じて、前記複数のプログラムから実行する一又は複数のプログラムを決定する決定手段と、前記実行手段にて実行するプログラムを、前記決定手段が決定した一又は複数のプログラムに切り替える切替手段とを備え、複数の前記実行手段は、階層的に情報の授受を行ってプログラムの実行を行うようにしてあり、各実行手段が、前記動作状態に対応付けて、前記複数のプログラムの優先度を記憶した記憶手段と、実行された複数の前記プログラムが出力する複数の動作要求が競合する場合に、前記記憶手段が記憶した優先度に基づいて、前記複数の動作要求の優先度を判定する優先度判定手段とをそれぞれ有し、優先度が高いと判定された動作要求に係る動作を前記機器に行わせるようにしてあることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
また、本発明に係るコンピュータプログラムは、機器に対する動作要求をそれぞれ決定する複数のプログラム部品を有し、コンピュータに前記プログラム部品を実行させることにより前記機器に前記動作要求に係る動作を行わせるコンピュータプログラムにおいて、それぞれが複数のプログラム部品を含む複数のプログラム群を有し、コンピュータに、前記機器の動作状態に応じて、前記複数のプログラム部品から実行する一又は複数のプログラム部品を決定させる決定ステップと、コンピュータに、実行するプログラム部品を、決定した一又は複数のプログラム部品に切り替えさせる切替ステップとを有し、複数の前記プログラム群は、階層的に情報の授受を行って、コンピュータに前記プログラム部品を実行させるようにしてあり、各プログラム群が、コンピュータに、実行した複数の前記プログラム部品が決定した複数の動作要求が競合する場合に、前記動作状態に対応付けて記憶された前記プログラム部品の優先度に基づいて、前記複数の動作要求の優先度を判定させる判定ステップと、コンピュータに、優先度が高いと判定した動作要求に係る動作を前記機器に行わせる制御ステップとをそれぞれ実行させることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本発明においては、動作要求を出力する複数のプログラム又はプログラム群（以下、単にプログラムという）のうち、実行するプログラムを機器の動作状態（動作モード）に応じて制限する。機器の動作モードとは、例えば図８に示したコンピュータプログラムであれば、運転者によるロック操作によりドアロックを行う運転者モード、自動的にドアロックを行うセキュリティモード、及び故障検査などを行うメンテナンスモードのように予め決定しておくことができる。動作モード毎に動作させるプログラムを予め定めておき、動作モードの変化に応じて動作させるプログラムを切り替えればよい。
また、動作モードと、この動作モードで実行するプログラムの優先度とを予め定めて記憶しておく。動作モードに応じて切り替えて実行された複数のプログラムが同時的に動作要求を出力し、動作要求の競合が発生した場合には、記憶した各プログラムの優先度に基づいて、競合する動作要求の優先度を判定する。よって、各動作モードで実行されるプログラムの数が制限されているため、優先度の判定に係る複雑化が抑制され、優先度の判定に係るプログラムの設計、開発及びテスト等が容易化される。また、このコンピュータプログラムを搭載して動作する制御装置の設計、開発及びテスト等が容易化される。
また、例えば複数のドライバプログラムを含むプラットフォーム層及び複数のアプリケーションプログラムを含むアプリケーション層のように、コンピュータプログラムを複数のプログラム群（実行手段）で構成する。この構成の場合には、各プログラム群にて動作モードに応じた動作要求の優先度判定及び機器の制御処理等を行う。これにより、開発者はプログラム群毎にプログラムの開発を行うことができ、プログラム群毎に優先度の判定に係るプログラムの開発を行うことができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】