JP2010149537A - 制御装置、制御方法及びコンピュータプログラム - Google Patents
制御装置、制御方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2010149537A JP2010149537A JP2008326720A JP2008326720A JP2010149537A JP 2010149537 A JP2010149537 A JP 2010149537A JP 2008326720 A JP2008326720 A JP 2008326720A JP 2008326720 A JP2008326720 A JP 2008326720A JP 2010149537 A JP2010149537 A JP 2010149537A
- Authority
- JP
- Japan
- Prior art keywords
- load
- function
- control
- request
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23219—Different tasks in different memory, called as function of priority of tasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23389—Modular program, each process has corresponding program module
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2637—Vehicle, car, auto, wheelchair
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
【課題】組み込み系のコンピュータプログラムにオブジェクト指向型の概念を適用し、メモリを節約して装置の簡素化を実現させ、開発効率を向上させることができる制御装置、制御方法及びコンピュータプログラムを提供する。
【解決手段】マイコンはアプリケーション層101における1つの選択部105の機能により、複数のアプリ(103,104)夫々からの動作要求を受け付け、動作要求に対応する制御対象の負荷と、該負荷に行なわせる動作パターンを選択し、選択した負荷及び動作パターンを示す情報を出力ドライバ部106の機能へ与える。マイコンは、1つの出力ドライバ部106の機能により与えられた情報が示す負荷へ、動作パターンに対応する制御信号を生成し、プラットフォーム層102における物理的な信号の入出力を実現する入出力ドライバ107から信号を出力させる。
【選択図】図3
【解決手段】マイコンはアプリケーション層101における1つの選択部105の機能により、複数のアプリ(103,104)夫々からの動作要求を受け付け、動作要求に対応する制御対象の負荷と、該負荷に行なわせる動作パターンを選択し、選択した負荷及び動作パターンを示す情報を出力ドライバ部106の機能へ与える。マイコンは、1つの出力ドライバ部106の機能により与えられた情報が示す負荷へ、動作パターンに対応する制御信号を生成し、プラットフォーム層102における物理的な信号の入出力を実現する入出力ドライバ107から信号を出力させる。
【選択図】図3
Description
本発明は、コンピュータプログラムに基づき各種負荷の動作制御を行なう制御装置に関する。特に、コンピュータプログラムの構成を、メモリを節約させることを可能とする構成として装置の簡素化を実現させ、且つ各負荷用の多様な機能の増減に柔軟に対応させることができ、開発効率を向上させることができる制御装置、制御方法及びコンピュータプログラムに関する。
マイクロコンピュータ(以下、マイコンという)を利用し、マイコン内臓ROMに書き込まれたコンピュータプログラムに基づいて制御を行なう制御装置の場合、コンピュータプログラムは所謂組み込み系の言語で記述される。組み込み系の言語で記述するコンピュータプログラムは、装置の簡素化のためにメモリなどリソースを節約し、必要最低限の処理を制御対象毎に且つ機能毎に実装する構成が基本的である。
図11は、従来のマイコンにおけるコンピュータプログラムの構成の概略を示す概略図である。図11に示すコンピュータプログラムの構成は特に、制御対象(負荷A及びB)の動作を制御する制御装置にてマイコンにより実行されるコンピュータプログラムの例を示している。図11は、コンピュータプログラムにより実現される機能をブロックにて示している。図11の例のコンピュータプログラムによって負荷Aと負荷Bとを制御する機能が実現される場合、図11に示すように、当該コンピュータプログラムは例えば入力信号に対する判定処理、入力信号に基づく負荷に対する動作条件の判定処理、各負荷への信号出力の調停、動作毎の負荷への信号出力などの機能が、アプリケーションプログラムにより実現したい機能(ア)及び機能(イ)夫々に対応して、更に負荷A及びB毎に実現される。
コンピュータプログラムの実装上も、夫々の機能に応じたプログラムコード(実行ファイル)が作成され、いずれのプログラムコードもメモリ上に予め記憶されており、CPUにより読み出される。したがって、図11に示したブロック夫々に応じてメモリが占有される。このとき、負荷に対する調停処理の内容は負荷A及びBによらず同じであって、且つ負荷A及び負荷Bにおける調停処理は同期的に行なう必要がない。それにも拘わらず、調停処理を実現する機能は負荷A及びBとで夫々存在する。また、マイコンでの処理では機能(ア)のアプリケーションにおける処理と、機能(イ)のアプリケーションにおける処理とは同期的に動作する必要がないにも拘わらず、同一の動作を実行する負荷Aの調停部の処理、負荷Bの調停部の処理を実現するプログラムが夫々に含まれて重複している。また、負荷A及びBへの動作毎の信号出力部もほぼ処理の内容は同一で出力される信号の波形が異なる程度であるはずにも拘わらず、機能(ア)及び(イ)のアプリケーションに夫々含まれており、同時に使用される可能性がないにもかかわらず重複して夫々プログラムとして存在する。
このような構成では、同時に使用される可能性がないプログラムコードが多数重複して存在し、メモリを占有する量が多くなる。
また車両用の制御装置の分野では、近年では車両の機能の多様化、複雑化に伴なって、従来のように実現される機能と、機能に対応する制御対象とが1対1ではない。例えば、従来では、運転者が意図的に方向指示器ランプ(ウィンカー)を点滅させるなど、進行方向を指示する方向指示機能と、制御対象となる方向指示器ランプとがほぼ1対1で対応する構成であった。しかしながら、近年では、方向指示器ランプは、方向指示機能を実現させるための制御対象であると共に、車外にいるユーザへの情報通知機能を実現するための制御対象である場合がある。この場合、同一の方向指示器ランプの点滅制御であっても方向指示機能に基づく点滅制御と、情報通知機能に基づく点滅制御との夫々について1対1の対応で独立にプログラムコードが作成されて記憶される。図11の例では、負荷Aの動作a及び負荷Bの動作bは、機能(ア)のアプリケーションのみならず、機能(イ)のアプリケーションにも対応している。
このように、複数の機能に1の制御対象が対応し、機能毎且つ制御対象毎の制御処理単位にプログラムコードがメモリを占有するのでメモリの使用が非効率的である。
マイコンを用いて負荷の動作を制御する制御装置では、モータなどの制御対象のように回転数等の情報が必要な負荷以外の制御対象に対しては大抵、オン、オフの切り換えによって制御する。制御信号を生成する処理などは結果的に同じ内容の処理を行ない、単に制御対象が異なるのみであっても、図11の説明図に示したように、負荷夫々に対して信号出力機能を実現するプログラムコードがメモリに記憶される。更に、制御対象が同一であっても、各機能を実現するアプリケーションプログラムが複数実行可能である場合、各アプリケーションプログラムに応じて信号出力機能を実現するプログラムコードがメモリに記憶される。
しかもこの場合、各負荷を同時的に制御するのではなしに、シーケンシャルに各負荷へ制御信号を出力して各負荷で制御信号に応じた動作が行なわれ、各プログラムコードに占有されるメモリが同時的にアクセスされることもないにも拘わらず、マイコンに実行させるための各動作に対応するプログラムコードがいずれも、メモリを予め占有するので、メモリの使用効率が非効率的である。
これに対し、制御装置に求められる機能の多様化、複雑化が進むにつれ、オブジェクト指向型の言語によって記述されるプログラムをマイコンが読み出して実行する制御装置も提案されている(特許文献1など参照)。このように、処理が実行される都度にメモリが確保され、処理が終了した場合にはメモリが開放されて他に使用できるなど、メモリを効率的に利用することができる。しかしながらこの場合、プログラム実行中にメモリを動的に確保するなどの処理をマイコンに実現させる基本機能(ライブラリ)などが必要である。このようにオブジェクト指向に基づく設計では、基本機能を実現するためのライブラリプログラムコードがメモリを使用する上、動的なメモリ確保、動的なライブラリのリンクなどの処理が想定され、オブジェクト指向型のコンピュータプログラムの構成により各種機能が実現できるのはメモリの記憶容量に余裕があるからである。
特開2008−77220号公報
しかしながら、負荷制御を行なうマイコンを用いた制御装置では、メモリの容量に制限があるからこそ組み込み系の言語で記述されるコンピュータプログラムを利用するのであって、メモリの記憶容量に余裕を持たせてもよい特定の制御装置以外では、オブジェクト指向型のソフトウェア構成は適していない。一方で、従来のコンピュータプログラムの構成のように、共有できる処理であっても制御対象の負荷毎、及び機能毎にプログラムコードがメモリを占有する構成では、非効率的である。共通する同様な処理は共有化して再利用が可能な構成とし、共有化された処理はそれに対応するプログラムコードのみでメモリを占有することが望ましい。
本発明は斯かる事情に鑑みてなされたものであり、組み込み系のコンピュータプログラムにオブジェクト指向型の概念を適用し、メモリを節約して装置の簡素化を実現させ、開発効率を向上させることができる制御装置、制御方法及びコンピュータプログラムを提供することを目的とする。
第1発明に係る制御装置は、マイクロコンピュータを備え、該マイクロコンピュータが各機能に対応する複数のアプリケーションプログラムに基づく処理を行なうことにより複数の負荷の動作を制御する制御装置において、前記複数のアプリケーションプログラムに基づく処理からの動作要求を受け付け、該動作要求及び要求元のアプリケーションプログラムに対応する機能に応じて制御対象の負荷、及び該負荷に行なわせる動作を選択する選択手段、及び、該選択手段が選択した負荷、及び動作を示す情報が与えられた場合に、前記動作を実現させる制御信号を生成して前記負荷へ出力する出力手段を備えることを特徴とする。
第2発明に係る制御装置は、連続的オン、オフ、断続的オン、待機時間、又は断続的オンの場合の回数若しくはオン時間及びオフ時間を含む動作特定要素の内のいずれか一又は複数の組み合わせからなり、各々識別情報が付与された動作パターンのテーブルを記憶する手段を備え、前記選択手段は、前記テーブルから前記動作要求に対応する動作パターンを抽出し、抽出した動作パターンに付与されている識別情報を前記出力手段に与え、前記出力手段は、前記識別情報により動作を特定するようにしてあることを特徴とする。
第3発明に係る制御装置は、前記テーブルは制御対象の負荷毎に記憶されており、前記選択手段は、前記動作要求に応じて選択した負荷と、該負荷のテーブルから抽出した動作パターンに付与されている識別情報とを前記出力手段に与えるようにしてあることを特徴とする。
第4発明に係る制御装置は、前記テーブルは、前記動作特定要素毎に記憶されており、前記選択手段は、前記動作要求に応じて選択した負荷に行なわせる動作を、前記動作特定要素毎のテーブルから夫々動作パターンを読み出して組み合わせるようにしてあり、選択した負荷を示す情報と、組み合わせた動作パターン夫々に付与されている識別情報の組み合わせとを前記出力手段に与えるようにしてあることを特徴とする。
第5発明に係る制御装置は、前記選択手段は、前記動作要求に対応する動作パターンが前記テーブルに存在しない場合、前記動作パターンを前記テーブルに追加する手段を備えることを特徴とする。
第6発明に係る制御装置は、前記複数のアプリケーションプログラムには優先度が付与されており、前記選択手段は、複数のアプリケーションプログラムに基づく処理から夫々複数の動作要求を受け付けた場合、前記複数のアプリケーションプログラムの内の優先度が高いアプリケーションプログラムからの動作要求に応じた負荷及び動作を選択するようにしてあることを特徴とする。
第7発明に係る制御方法は、マイクロコンピュータを用い、該マイクロコンピュータに各機能に対応する複数のアプリケーションプログラムに基づく処理を行なわせることにより複数の負荷の動作を制御する方法において、前記マイクロコンピュータが前記複数のアプリケーションプログラムと異なるコンピュータプログラムに基づき、前記アプリケーションプログラムに基づく処理からの動作要求を受け付け、受け付けた動作要求及び要求元のアプリケーションプログラムに対応する機能に応じて制御対象の負荷、及び該負荷に行なわせる動作を選択し、選択した負荷及び動作を示す情報に基づき、前記動作を実現させる制御信号を生成して前記負荷へ出力することを特徴とする。
第8発明に係るコンピュータプログラムは、制御対象である複数の負荷が接続されているコンピュータに、アプリケーションプログラムに基づく処理を行なわせて前記複数の負荷の動作を制御させるコンピュータプログラムにおいて、コンピュータに、前記アプリケーションプログラムに基づく処理からの動作要求及び要求元のアプリケーションプログラムに対応する機能に応じて制御対象の負荷、及び該負荷に行なわせる動作を選択する選択手段、及び、該選択手段が選択した負荷、及び動作を示す情報が与えられた場合に、前記動作を実現させる制御信号を生成して前記負荷へ出力する出力手段として機能させることを特徴とする。
第1発明、第7発明及び第8発明では、マイコンはアプリケーションプログラムを実行するのみならず、アプリケーションプログラムに基づく処理によって発せられる動作要求を受け付け、受け付けた動作要求及び要求元のアプリケーションプログラムに対応する機能に基づいて対象となる負荷及び具体的な動作内容を選択する手段、及び、選択された負荷及び動作内容に基づいて、負荷に選択された動作を実行せしめる制御信号を生成して負荷へ出力する手段としても夫々機能する。当該機能は、アプリケーションプログラムと同様の、ドライバへの指示を具体的に実行する特定のアプリケーションとして実現される。
このとき選択手段としての機能では、動作要求元のアプリケーションを特定するが、出力手段としての機能では、動作要求元のアプリケーションを特定することなしに、選択された負荷へ選択された動作内容に応じた制御信号を生成して出力する。出力手段の機能は、いずれの負荷に対しても共通して利用することが可能である。
第2発明では、動作の内容を具体的に特定する動作パターンは、負荷毎にテーブル化されて記憶され、選択手段としての機能では、動作パターンテーブルからいずれかの動作パターンを選択して出力手段へ与えればよい。出力手段では、識別情報にて示される動作パターンを動作パターンテーブルから特定して当該動作パターンに対応させた制御信号を生成すればよく、選択手段にて動作を示す情報として具体的な動作特定要素を夫々与え、出力手段にて動作特定要素を夫々解釈する構成とするよりも、処理が単純化されて装置を簡素化させることができる。また、更に各機能で実現される具体的な動作を変更する場合は動作パターンテーブルの内容を更新すればよい点で、柔軟性に優れる。
第3発明では、負荷の動作の内容を具体的に特定する動作パターンは、負荷毎にテーブル化されて記憶されている。これにより、負荷毎に特定の動作を行なうべく設計されている場合、動作パターンとして負荷毎に最小限の動作パターンを記憶しておけばよく、動作パターンテーブルが占めるメモリの容量は少なくて済む。
第4発明では、負荷の動作の内容を具体的に特定する動作パターンは、負荷の違いによらずに連続的オン、オフ(停止)、断続的オン、待機時間、又は断続的オンの場合の回数、若しくはオン時間とオフ時間にて記述可能である。連続的オン、オフ、断続的オンなどの基本的な動作内容、待機時間、回数、又はオン時間若しくはオフ時間夫々について、パラメータをテーブル化し、夫々のテーブルから動作内容と、待機時間又はオン時間及びオフ時間とを組み合わせることにより、動作パターンテーブルとして記憶しておくべき内容は少なくてよく、テーブルが占有するメモリを節約することができる。出力手段としての機能は1つに共有化して再利用できる一方で、自由な組み合わせで多様な動作を実現させることができる。
第5発明では、第2発明において、選択手段がアプリケーションプログラムから受け付けた動作要求に対応する動作パターンを動作パターンテーブルから抽出できない場合、新たに動作パターンが動作パターンテーブルに追加される。これにより、アプリケーションプログラムにおける仕様変更に動的に動作パターンを対応させ、多様な動作を実現させることができる。
第6発明では、動作要求が複数のアプリケーションプログラムから受け付けられた場合、選択手段にて各アプリケーションプログラムに対応する機能の優先度に基づき、いずれの動作要求を優先的に受け付けるかが判断されるから、出力手段としての機能では、動作要求元のアプリケーションプログラムを認識することなしに、選択手段としての機能にて優先された動作のみ実行させるべく制御信号を生成して出力すればよい。出力手段としての機能は1つに共有化して再利用できる一方で、アプリケーションプログラムが対応する機能の内の優先度が高い機能を優先的に実現させるべく適宜選択して制御信号を生成して出力させることができる。
本発明による場合、組み込み系のコンピュータプログラムに基づき制御を行なう制御装置でも、各機能を実現させる動作の内容に対応する制御信号を生成して負荷へ出力する処理を各機能にとって共有化し、1つの出力手段の機能を各種の負荷の制御に利用する。これにより、制御信号を生成して出力する機能を実現させるプログラムコードが負荷毎に且つ機能毎に記憶されて実行される構成よりも、共通して利用できるプログラムコードを1つメモリに記憶して実行可能に構成しておくことにより各機能を実現可能であるからメモリの占有量は少なくて済む。メモリを節約できるので装置を簡素化させることができる。更に、実現したい機能毎に、実際の負荷制御の出力手段を夫々実装せずとも、共有化された出力手段の機能を再利用すればよいので、開発時に負荷への出力を意識せずに実現させたい機能に対応する動作内容を特定できる構成とする条件を守ればアプリケーションプログラムを開発のみで済み、開発効率を向上させることができる点、優れた効果を奏する。
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態では、車両に搭載されているヘッドライト、ドアなどのボディ系の各種制御対象を制御する車載ボディECUに本発明の制御装置を適用した車載制御システムを例に挙げて説明する。
(実施の形態1)
図1は、実施の形態1における車載制御システムの構成を示す構成図である。車載制御システムは、車両の前部左右に搭載されるヘッドライト10,10、方向指示器ランプ11,11及びスモールランプ12,12と、同様に車両の前部に搭載されるホーン2と、車室内に搭載されるブザー3と、車両のドア部に設置され、ドアの開閉を検知するドア開閉センサ4,4及びドアロックを検知するドアロックセンサ5,5と、車室内のキーを探知するキーセンサ6と、夫々を制御するボディECU7とを含む。
図1は、実施の形態1における車載制御システムの構成を示す構成図である。車載制御システムは、車両の前部左右に搭載されるヘッドライト10,10、方向指示器ランプ11,11及びスモールランプ12,12と、同様に車両の前部に搭載されるホーン2と、車室内に搭載されるブザー3と、車両のドア部に設置され、ドアの開閉を検知するドア開閉センサ4,4及びドアロックを検知するドアロックセンサ5,5と、車室内のキーを探知するキーセンサ6と、夫々を制御するボディECU7とを含む。
ヘッドライト10,10、方向指示器ランプ11,11及びスモールランプ12,12は夫々ボディECU7に接続されており、ボディECU7により夫々の点灯、消灯が制御される。
ホーン2及びブザー3はボディECU7に接続されており、ボディECU7により吹鳴が制御される。
ドア開閉センサ4,4及びドアロックセンサ5,5はボディECU7に接続されており、夫々ドア開閉状態を知らしめる信号又はドアロックの開閉状態を知らしめる信号をボディECU7へ出力する。
キーセンサ6はボディECU7に接続されており、キーセンサ6にて検知したキーの有無を示す信号をECU7へ出力する。
ボディECU7は、ドア開閉センサ4,4、ドアロックセンサ5,5又はキーセンサ6から出力される信号に基づき、例えばエンジンが停止しており、車室内にキーが存在しない状態で外部からドアロックがされたことをドアロックセンサ5,5、キーセンサ6にて検知した場合、方向指示器ランプ11,11、又はスモールランプ12,12に複数回点滅させるべく制御信号を出力するなどしてキーレスアンサーバック機能を実現する。また、ボディECU7は、ドア開閉センサ4,4、ドアロックセンサ5,5又はキーセンサ6から出力される信号に基づき、ドアロックがされている状態で正規なキー以外でドアロックが解除されようとしていることをドアロックセンサ5,5で検知した場合、ホーン2及びブザー3を吹鳴させ、ヘッドライト10などを点灯させるべく制御信号を出力するなどしてセキュリティアンサーバック機能を実現する。
なお、実施の形態1では、キーレスアンサーバック機能、セキュリティアンサーバック機能に関する各構成部の処理のみ記載するが、ボディECU7が他の機能を実現するために他の制御対象となる負荷(アクチュエータ)を制御することが可能な構成でもよいことは勿論である。
このような各種機能をボディECU7にて実現するためのボディECU7内部の構成及び処理について説明する。ボディECU7は後述するように、マイコンを備えて、マイコン内臓のROM(Read Only Memory)に記憶されているコンピュータプログラムに基づく処理を実行することにより各種機能を実現する。
図2は、実施の形態1における車載制御システムに含まれるボディECU7の内部構成を示すブロック図である。ボディECU7は、CPU71、ROM72、RAM(Random Access Memory)73及びI/O74を含むマイコン70を備えて構成される。他に、ドア開閉センサ4,4、ドアロックセンサ5,5、キーセンサ6などのセンサと車載ネットワークを介して接続される場合は通信手段としてネットワークコントローラ、トランシーバをマイコン70内又は外に備える構成としてもよい。
CPU71は、ROM72に記憶されているコンピュータプログラムをRAM73に読み出して実行することにより、上述のようなキーレスアンサーバック機能又はセキュリティアンサーバック機能を実現する。
ROM72には、フラッシュメモリを利用する。ROM72には、CPU71が読み出して実行するコンピュータプログラムとして、アプリケーションプログラム75,75,…、アプリケーションドライバプログラム76、及びドライバプログラム78が記憶されている。またROM72には、CPU71が各制御対象の動作内容を特定するために参照する動作パターンテーブル77が記憶されている。なお、ROM72は基本的に、ボディECU7の稼働中は読み出し専用ではあるが、CPU71に実行させたいコンピュータプログラムの更新、又は動作パターンテーブル77の更新が必要な場合に書換が可能である。
RAM73には、DRAM(Dynamic RAM)、SRAM(Static RAM)等を利用する。RAM73にはCPU71が読み出すコンピュータプログラムがロードされる他、処理によって発生する各種情報が一時的に記憶される。
I/O74は、マイコン70と外部とのインタフェースである。マイコン71はI/O74により、ヘッドライト10,10、方向指示器ランプ11,11又はスモールランプ12,12、ホーン2若しくはブザー3へ制御信号を出力する。
次に、マイコン70のCPU71がROM72に記憶されているコンピュータプログラムを読み出して実現するマイコン70内の詳細な機能について説明する。図3は、実施の形態1におけるボディECU7のマイコン70のCPU71にて実現される機能を概念的に示す機能ブロック図である。
CPU71は、ROM72に記憶されているアプリケーションプログラム75,75、アプリケーションドライバプログラム76、及びドライバプログラム78を読み出して実行することにより、アプリケーション層101、プラットフォーム層102の階層に分けられたソフトウェア構造にて動作する。
CPU71がアプリケーションプログラム75,75,…の内、キーレスアンサーバック用のアプリケーションプログラム75に基づき、キーレスアンサーバック機能を実現するアプリケーション、即ちKAB(Keyless Answer Back)アプリ103として機能する。同様にCPU71は、セキュリティアンサーバック用のアプリケーションプログラム75に基づき、SAB(Security Answer Back)アプリ104として機能する。KABアプリ103及びSABアプリ104としての機能は構造的に、アプリケーション層101に位置する。
CPU71はアプリケーションドライバプログラム76に基づき、選択部105及び出力ドライバ部106としての機能を実現する。選択部105及び出力ドライバ部106としての機能は、ハードウェア群(制御対象群、即ちヘッドライト10、方向指示器ランプ11、スモールランプ12、ホーン2、ブザー3等)を直接的に制御すべく物理層の信号を扱う所謂ドライバの機能ではなく、KABアプリ103又はSABアプリ104などの各種アプリケーションの処理の内の信号生成処理などの共通部分を1つにしたモジュールであり、アプリケーション層101に位置する。
そしてCPU71はドライバプログラム78に基づき、入出力ドライバ107として機能する。入出力ドライバ107としての機能は所謂ドライバの機能を実現し、ハードウェア群を直接的に制御すべくI/O74へ実際に物理層の制御信号の入出力を行なう。入出力ドライバ107としての機能は構造的に、プラットフォーム層102に位置する。
CPU71の選択部105としての機能は、CPU71がKABアプリ103又はSABアプリ104としての機能により制御対象となるハードウェア、例えばヘッドライト10へ点灯要求などの動作要求を発した場合に、動作要求を受け付け、制御対象と、制御対象に行なわせる具体的な動作とを特定し、特定した制御対象及び動作の内容を示す情報を出力ドライバ部106へ与える。
CPU71の出力ドライバ部106としての機能は、選択部105から与えられる制御対象、及び制御対象に行なわせる具体的な動作の情報に基づき、動作を実現させるための制御信号を生成して、制御対象のハードウェアへ制御信号を出力させるべくプラットフォーム層102の入出力ドライバ107へ指示する。
このように、KABアプリ103及びSABアプリ104など各アプリケーション毎、制御対象毎に、制御信号を生成して入出力ドライバ107へ夫々出力する構成(図11参照)とするよりも、本実施の形態1のボディECU7では、各アプリケーションからの動作要求を選択部105にて一括して受け付け、制御信号の生成を行なう出力ドライバ部106の機能を共有化する構成とする。KABアプリ103及びSABアプリ104などのいずれのアプリケーションでも、制御がオン、オフのスイッチングにて実現する場合、動作要求に応じて制御信号を生成する処理は、動作の具体的内容が異なるのみで共通した処理であるから共有化が可能である。また、ボディECU7では、各制御対象のハードウェアの制御を同時に行なうことはなく、各アプリケーションの機能も順に実現されるから制御信号の生成処理が同時に行なえる構成とする必要はないので共有化が可能である。当該処理を1つにして各機能から再利用可能に共有化した構成とすることにより、ROM72及びRAM73におけるメモリ占有量を削減できる。
具体的には、CPU71にて各機能が実現される場合、図3の各ブロックにて示す各機能に対応する実行プログラムファイル(プログラムコード)が必要となる。制御対象の決定及び制御信号の生成処理の機能を1つの選択部105及び出力ドライバ部106に共有化して、各種機能から利用される構成とすることにより、複数のアプリケーションプログラム75,75,…夫々に対応させたアプリケーションドライバプログラムを複数実行する構成よりもROM72及びRAM73における記憶容量が少なくて済む。KABアプリ103及びSABアプリ104夫々のために出力ドライバ部106に対応するプログラムコードを用意する必要がないからである。また、実現したい各機能について実際に制御信号を生成する処理を実装せずとも、選択部105及び出力ドライバ部106の機能を再利用すればよいので、機能の開発は動作要求を発するアプリケーションプログラム75,75,…の開発のみで済み、開発効率を向上させることができる。
そして実施の形態1においてCPU71は選択部105の機能にて動作の内容を特定するに際し、ROM72に予め記憶させてある動作パターンテーブル77を参照して特定する。動作パターンテーブル77には、実施の形態1では制御対象となるハードウェア毎に想定される複数の動作パターンが記憶されており、選択部105は動作パターンテーブル77から動作パターンを特定する識別情報を出力ドライバ部106へ与え、出力ドライバ106では与えられた識別情報から特定される動作パターンに基づき当該動作パターンに対応する制御信号が入出力ドライバ107から出力されるように入出力ドライバ107へ指示する。
図4は、実施の形態1におけるボディECU7のROM72に記憶されている動作パターンテーブル77の内容例を示す説明図である。実施の形態1において動作パターンテーブル77は、制御対象毎に動作パターンが記憶されているが、図4に示す内容例では、制御対象としてスモールランプ12,12の動作パターンの例を挙げている。
動作パターンは、動作をオンとするまでの待機時間、連続的にオンとするか、断続的にオンとするか、又は1回のみオンとするかなどの動作方式、動作方式が断続的オンである場合のオンとする回数、断続的動作である場合のオン時間とオフ時間とを含む動作特定要素の組み合わせにて特定される。図4の内容例では、スモールランプ12,12の動作パターンは、オン即ち点灯させるまでの待機時間、連続的点灯か又は断続的点灯即ち点滅かの動作方式、動作方式が点滅の場合の点滅の回数、動作方式が点滅の場合の点灯時間と消灯時間とを含む。このような動作特定要素により、スモールランプ12,12に行なわせる動作を特定する。
そして、動作パターンテーブル77では、各動作パターンに識別情報として番号が付与されている。図4の内容例において、「1」の動作パターンは、スモールランプ12,12を、待機することなく「1000ms(ミリ秒)」の間、点灯させることで「1回」「点滅」させるパターンであり、「2」の動作パターンは、スモールランプ12,12を、待機することなく「750ms」点灯させ、「750ms」消灯させることを繰り返して「2回」「点滅」させるパターンである。「3」の動作パターンは、「10ms」待機した後、オフが指示されるまで連続的に「点灯」させるパターンである。
選択部105としての機能によりCPU71は、例えばKABアプリ103の機能から
「ロックしました」の通知に対応するスモールランプ12,12の1回点滅要求を受け付けた場合、スモールランプ12,12の動作パターンとして図4の内容例において動作パターン「1」を選択する。そして選択部105としての機能によりCPU71は、スモールランプ12,12を示す情報、例えば制御対象の番号と、選択した動作パターンの番号(「1」)とを出力ドライバ部106へ与える。このとき選択部105としての機能では、「ロックしました」の通知要求のみ受け付け、「ロックしました」の通知要求に対応する動作として「1」の動作パターンを特定して出力する構成としてもよい。
「ロックしました」の通知に対応するスモールランプ12,12の1回点滅要求を受け付けた場合、スモールランプ12,12の動作パターンとして図4の内容例において動作パターン「1」を選択する。そして選択部105としての機能によりCPU71は、スモールランプ12,12を示す情報、例えば制御対象の番号と、選択した動作パターンの番号(「1」)とを出力ドライバ部106へ与える。このとき選択部105としての機能では、「ロックしました」の通知要求のみ受け付け、「ロックしました」の通知要求に対応する動作として「1」の動作パターンを特定して出力する構成としてもよい。
そしてこの場合、出力ドライバ部106としての機能によりCPU71は、選択部105から与えられたスモールランプ12,12を示す情報と、動作パターンの識別情報、この場合「1」とから動作パターンテーブル77を参照し、スモールランプ12,12を待機することなく「1000ms(ミリ秒)」の間のみ点灯させて「1回」「点滅」させるパターンであることを特定し、当該パターンに対応する制御信号が入出力ドライバ107から出力されるように入出力ドライバ107へ指示する。
このように、選択部105及び出力ドライバ部106としての機能によりCPU71は、動作パターンテーブル77を参照して動作の内容を特定することにより、処理が単純化されて装置を簡素化させることができる。また具体的な動作を変更する場合は動作パターンテーブル77の内容を更新すればよく、多様な動作を柔軟に実現させることができる。
次に、出力ドライバ部106にて実現されるCPU71の処理の詳細を説明する。図5は、CPU71が出力ドライバ部106として機能する際の処理の具体例を概念的に示す説明図である。図5には、CPU71が出力ドライバ部106として機能している際にRAM73を占有する各種情報をブロックにて示している。
図5中の上段には、ボディECU7の制御対象であるヘッドライト10,10、方向指示器ランプ11,11、スモールランプ12,12、ホーン2、ブザー3夫々について、動作状態、動作回数、各動作の経過時間が制御対象毎の固有パラメータが記憶されている。なお、同一の制御対象であっても、該制御対象に動作を要求するアプリケーションプログラム毎に動作状態を記憶してもよい。動作状態の内容は、停止中、オン(点灯)、オフ(消灯)などのいずれかであり、回数とは断続的動作の場合の回数、例えば現在の点滅回数を示す。なお、斜線にて示す動作状態、動作回数及び経過時間の内容は随時書き換えられる。
図5中の下段には、動作パターンテーブル77が示されている。動作パターンテーブル77はROM72に記憶されている。図5に示すRAM73上の情報は、CPU71によって一時的に抽出された動作パターンテーブル77の一部である。
図5中の中段には、出力ドライバ部106に対応するプログラムコードがロードされていることが示されている。プログラムコードにおいて選択部105から与えられた制御対象を示す情報と動作パターンを特定する識別情報とにより、制御信号の出力先を特定し、当該出力先の固有パラメータの動作状態及び動作回数と、特定された動作パターンの動作特定要素を比較して、動作状態に応じた信号を生成し、動作状態及び動作回数を書き換えて処理を終了し、次の他の制御対象に対する動作要求に対応する処理を実行する。
このとき、複数の制御対象毎、又は複数のアプリケーションプログラム75,75毎に、複数の出力ドライバ部106のプログラムコードが展開されて夫々対応付けられる構成ではなく、1つのプログラムコードで複数の制御対象への制御信号生成処理が実現していることに注目すべきである。
図6は、オブジェクト指向型における各制御対象毎の制御処理用のプログラムの実現例を比較例として示す説明図である。図6中の左側に、出力ドライバ部106の処理に対応する共通の制御信号生成処理を持つ制御クラスの定義を示している。制御クラスは、動作状態、動作回数及び経過時間を固有パラメータとして有し、制御信号生成処理では、これらの固有パラメータを内部で可変情報として処理を実行する。当該制御クラスを、制御対象毎に実体(インスタンス)化することにより、右側に示すように各制御対象について処理を実際に実現するプログラムコードが生成される。図6の例では、ヘッドライト制御、スモールランプ制御、及びホーン制御について実体化されている。この場合、制御信号生成処理の内容はいずれも共通するものの、いずれも実体化されるから各インスタンスについてメモリが確保され、プログラムコード部分は図5に示した場合よりも約3倍のメモリを占有する。
このように、1つのプログラムコードで各制御対象毎の固有パラメータを動作の進行具合に応じて書き換え、各アプリケーションからの動作要求毎に順に実行することにより、オブジェクト指向型の概念において1つの共通する制御処理を持つクラスを各制御対象毎に実体化して、クラスが持つ共通処理を各制御対象の固有パラメータに対して実行する処理を、メモリ容量に制限がある組み込み系のコンピュータプログラムでも実現することができる。
図7は、CPU71が出力ドライバ部106として機能する際の処理手順の具体例を示すフローチャートである。CPU71は、動作要求を受け付けた選択部105から制御対象を示す情報と、制御対象に行なわせるべき動作の動作パターンの情報とを与えられた場合、図5に示したようにメモリに展開された1つのプログラムコードに基づき以下の処理を実行する。なお、CPU71は、以下に示すフローチャートの処理を終了した後、所定時間待った後に再度処理を開始して繰り返し、適宜その時点での動作状態及び経過時間等に基づいて処理を進める。なお、以下に示す処理手順では、制御対象としてスモールランプ12,12を例とする。
CPU71は、与えられた制御対象の情報、ここではスモールランプ12,12の情報に基づき、スモールランプ12,12の固有パラメータが記載されているメモリを参照し(ステップS1)、固有パラメータの内の動作状態を読み出す(ステップS2)。
CPU71は、ステップS2にて読み出した動作状態が、停止中、オン(点灯)状態、オフ(消灯)状態のいずれであるかを判別し(ステップS3)、動作状態が停止中状態である場合は処理をステップS4へ、動作状態がオン状態である場合は処理をステップS7へ、動作状態がオフ状態である場合は処理をステップS13へ進める。
ステップS3にて、CPU71は、スモールランプ12,12への現在の動作要求に対応する動作状態の内容が停止中状態であると判別された場合(S3:停止中)、連続的オン又は断続的オンが要求されているか否かを判断する(ステップS4)。CPU71は、連続的オン即ちここではスモールランプ12,12の点灯、又は、断続的オン、即ちここではスモールランプ12,12の点滅が要求されていると判断した場合(S4:YES)、制御対象の動作状態をオン状態、即ちスモールランプ12,12の動作状態をオン(点灯)状態とし(ステップS5)、実際にスモールランプ12,12へオン信号を出力すべく入出力ドライバ107へ指示し(ステップS6)、処理を終了する。
なお、ステップS4にてCPU71は、連続的オン及び断続的オンのいずれの動作も要求されていないと判断した場合(S4:NO)、停止中状態を維持するため処理をそのまま終了する。
ステップS3にて、CPU71は、スモールランプ12,12への現在の動作状態の内容がオン(点灯)であると判断した場合(S3:オン)、動作要求に対応する制御対象の固有パラメータの内の、現在のオンとなってからの経過時間、即ちここではスモールランプ12,12の点滅又は点灯要求に対応するオンとなってからの経過時間を参照し、経過時間が、与えられている動作パターンの動作特定要素の内のオン時間を経過しているか否かを判断する(ステップS7)。
CPU71はステップS7にて、オン時間が経過していると判断した場合(S7:YES)、与えられている動作パターンの動作特定要素の動作方式が断続的オンのときは動作回数、即ちここでは点滅回数を加算し(ステップS8)、実際にスモールランプ12,12へオフ信号を出力すべく入出力ドライバ107へ指示する(ステップS9)。
次にCPU71は、ステップS8で加算した後の動作回数は、即ちここでは点滅回数は、与えられている動作パターンの動作特定要素の内の動作回数を超えているか否かを判断する(ステップS10)。CPU71は、ステップS10にて動作回数を超えていないと判断した場合(S10:NO)、断続的オン、即ち点滅動作は継続するので制御対象の動作状態の内容をオフ状態、即ちここではスモールランプ12,12の動作状態を消灯状態へ遷移させ(ステップS11)、処理を終了する。CPU71は、ステップS10にて動作回数を超えていると判断した場合(S10:YES)、断続的オン、即ち点滅動作は終了するので動作状態の内容を停止状態へ遷移させ(ステップS12)、処理を終了する。
CPU71はステップS7にて、オン時間が経過していないと判断した場合(S7:NO)、オン状態即ち点灯状態を維持するため処理をそのまま終了する。
ステップS3にて、CPU71は、スモールランプ12,12への現在の動作状態の内容がオフ(消灯)であると判断した場合(S3:オフ)、動作要求に対応する制御対象の固有パラメータの内の、現在のオフとなってからの経過時間、即ちここではスモールランプ12,12の点滅又は点灯要求に対応するオフとなってからの経過時間を参照し、経過時間が、与えられている動作パターンの動作特定要素の内のオフ時間を経過しているか否かを判断する(ステップS13)。
CPU71はステップS13にて、オフ時間が経過していると判断した場合(S13:YES)、制御対象の動作状態をオン状態、即ちスモールランプ12,12の動作状態をオン(点灯)状態とし(ステップS14)、実際にスモールランプ12,12へオン信号を出力すべく入出力ドライバ107へ指示し(ステップS15)、処理を終了する。
なお、ステップS13にてCPU71は、オフ時間が経過していないと判断した場合(S13:NO)、オフ状態を維持するため処理をそのまま終了する。
上述のような処理により、各制御対象の固有パラメータの内の動作状態と、動作回数、及び経過時間の内容を変更することにより、各制御対象及び該制御対象夫々に対して動作要求を発するアプリケーションプログラム毎にオブジェクトが実体化されて処理が行なわれているようなオブジェクト指向的な処理が実現できる。なお、車載ECUなどでは、制御対象毎に巡回的に高速に処理を実行すればよい点が利用され、同一のプログラムコードを用いている。更に、上述のように1つのアプリケーションドライバプログラム76のプログラムコードを複数の制御対象及び複数の機能を実現するアプリケーションプログラム75,75,…に基づく制御に対応させて用いることにより、処理の実行中にRAM73に対しプログラムコードが占有する容量が少なくて済み、また、動的に容量が確保されることもなく煩雑なメモリ管理も要しないので、マイコンに基づくECUにおける処理に適している。
このようにROM72及びRAM73の記憶容量を節約できるのでボディECU7の内部構成を簡素化させることができる。更に、ボディECU7にて実現したい機能毎に、アプリケーションドライバプログラム76に対応するプログラムを実装せずとも、共有化されたアプリケーションドライバプログラム76の機能を共有化するから、開発時は選択部105としての機能に対するインタフェースを考慮すればアプリケーションプログラム75,75,…の開発のみで済み、開発効率を向上させることができる
(実施の形態2)
実施の形態1では、図4に示したように、動作パターンテーブル77の具体的内容は、制御対象毎の動作パターンを一覧にした構成とした。これに対し、実施の形態2における動作パターンテーブル77の内容は、動作パターンを特定する動作特定用素毎の内容を特定する形式であり、いずれの制御対象でも単一の動作パターンテーブル77を利用する構成とする。
実施の形態1では、図4に示したように、動作パターンテーブル77の具体的内容は、制御対象毎の動作パターンを一覧にした構成とした。これに対し、実施の形態2における動作パターンテーブル77の内容は、動作パターンを特定する動作特定用素毎の内容を特定する形式であり、いずれの制御対象でも単一の動作パターンテーブル77を利用する構成とする。
実施の形態2における車載制御システムの構成は、動作パターンテーブル77の内容以外は、実施の形態1における構成と共通である。したがって、以下の説明では、実施の形態1の構成と共通する構成について実施の形態1と同一の符号を用い、相違点である動作パターンテーブル77の具体的内容、及びそれを用いた動作パターンの特定の方法について説明する。
図8は、実施の形態2におけるボディECU7のROM72に記憶されている動作パターンテーブル77の内容例を示す説明図である。図8に示すように、実施の形態2における動作パターンテーブル77は、時間テーブル、動作方式テーブル及び回数テーブルのように動作特定要素毎にテーブル化されており、いずれからも番号で内容を選択して動作特定要素を特定することができる。
図8に示す例では、時間テーブルには、待機時間又はオン時間、オフ時間の内容を特定する候補として「0ms」、「5ms」などが含まれており、夫々識別情報として番号で選択が可能である。動作方式テーブルには動作方式として連続的オン、断続的オンを含み、番号で選択できる。なお、スモールランプ12,12に対して動作方式として連続的オンを選択した場合、具体的な動作は点灯であるし、断続的オンを選択した場合、具体的な動作は点滅である。更に、回数テーブルには回数を特定する候補として「0」、「1」、「2」などが含まれており、これも番号で選択が可能である。
例えば、図4の説明図に示した番号「1」の動作パターンは、図8に示した動作パターンテーブル77の内容を用いれば、待機時間は「1」、動作方式は「2」、回数は「2」オン時間及びオフ時間は「5」及び「1」として、(待機時間、動作方式、回数、オン時間、オフ時間)=(1,2,2,5,1)のようにパラメータとして動作パターンを特定して出力ドライバ部106へ与えることができる。
このような動作パターンテーブル77の内容とすることにより、ROM72を更に節約することができ、効果的である。また、実施の形態1のような負荷毎に動作パターンを予め記憶しておく場合には、新たなパターンが増えた場合には動作パターンテーブル77に追加しなければならないが、実施の形態2のような構成とすることにより、各制御対象について選択部105の機能により自由な動作パターンを選択することが可能となる。したがって、多様な動作を実現できる点でも効果的である。
(変形例)
上述のようなボディECU7において、マイコン70のCPU71は選択部105としての機能により、次のような処理を行なう構成としてもよい。つまり、KABアプリ103若しくはSABアプリ104、又は新たなアプリケーションプログラム75に基づくアプリにより、新たな動作要求がされた場合、選択部105は動作パターンテーブル77に対応する動作パターンが無いことを確認して新たに動作パターンを追加する。
上述のようなボディECU7において、マイコン70のCPU71は選択部105としての機能により、次のような処理を行なう構成としてもよい。つまり、KABアプリ103若しくはSABアプリ104、又は新たなアプリケーションプログラム75に基づくアプリにより、新たな動作要求がされた場合、選択部105は動作パターンテーブル77に対応する動作パターンが無いことを確認して新たに動作パターンを追加する。
図9は、選択部105としての機能によりCPU71が動作要求に対応する動作パターンを新たに動作パターンテーブル77に追加する処理手順の一例を示すフローチャートである。
CPU71は、選択部105としての機能により、KABアプリ103又はSABアプリ104を含む各アプリケーションプログラム75,75,…に基づく各アプリからの動作要求を受け付ける(ステップS21)。CPU71は、動作パターンテーブル77に、受け付けた動作要求に対応する動作パターンが有るか否かを判断する(ステップS22)。
CPU71は、動作要求に対応する動作パターンが有ると判断した場合(S22:YES)、対応する動作パターンを選択して(ステップS23)、出力ドライバ部106の機能へ動作パターンを特定する情報を与え(ステップS24)、処理を終了する。
CPU71は、ステップS22にて動作要求に対応する動作パターンが無いと判断した場合(S22:NO)、受け付けた動作要求に対応する動作パターンを特定する(ステップS25)。具体的には、例えば動作要求が「2回点滅要求」などを識別可能な命令「blink(回数パラメータ)」などのコマンドであれば、動作パターンテーブル77の内容が制御対象毎であるときには制御対象に対する「2」回「点滅」する動作パターンの有無を判断すればよい。また、動作パターンテーブル77の内容が、動作特定要素毎であって、例えば回数テーブルに「2」に対応する候補の有無で判断すればよい。
CPU71は、ステップS25で特定した動作パターンを新たに作成して追加し(ステップS26)、出力ドライバ部106の機能へ動作パターンを特定する情報を与え(S24)、処理を終了する。
ステップS26において、新たに動作パターンを追加する場合、動作パターンテーブル77が制御対象毎の動作パターンである場合は特定した動作パターンの動作特定要素を夫々設定して追加し新たな番号を付与する。動作パターンテーブル77が動作特定用素毎のテーブルである場合、新たな候補をいずれかの動作特定要素のテーブルに追加する。例えば動作要求が上述のように「2」回「点滅」である場合に、回数テーブルに「2」が存在しなかったときは、ステップS26にて回数テーブルに「2」を追加すればよい。
このように、動作パターンテーブル77の内容を更新することが可能とするように選択部105の機能を構成することにより、メモリを節約する構成で且つオブジェクト指向的な処理が可能であると共に、更に多様な動作を実現することができる。
更に、ボディECU7のマイコン70のCPU71は、選択部105としての機能により、次のような処理を行なう構成としてもよい。KABアプリ103若しくはSABアプリ104、又は新たなアプリケーションプログラム75に基づくアプリにより動作要求が同時的にされた場合、選択部105は優先度が高いアプリからの動作要求を優先して受け付ける。以下に示す例では、セキュリティに関するSABアプリ104が最も優先度が高いとする。なお、優先度の高低はROM72に記憶されており、マイコン70のCPU71が参照可能である。
図10は、動作要求の要求元のアプリケーションプログラムの優先度に応じて、CPU71が制御対象及び動作の内容を優先的に選択する処理手順の一例を示すフローチャートである。
CPU71は、選択部105としての機能により、KABアプリ103又はSABアプリ104を含む各アプリケーションプログラム75,75,…に基づくアプリからの動作要求を受け付ける(ステップS31)。
CPU71は、他のアプリから他に動作要求を受け付けているか否かを判断する(ステップS32)。CPU71は、他に動作要求を受け付けていると判断した場合(S32:YES)、受け付けている動作要求の要求元の各アプリのうちの最も優先度が高いアプリからの動作要求を優先させる(ステップS33)。他の動作要求については保持しておく。
CPU71は優先させた動作要求に対応する動作パターンを選択し(ステップ34)、処理を終了する。CPU71は以降、実施の形態1の図7のフローチャートに示した処理を実行する。
CPU71は、ステップS32にて他に動作要求を受け付けていないと判断した場合(S32:NO)、そのままステップS31で受け付けた動作要求に対応する動作パターンを選択し(S34)、処理を終了し、図7のフローチャートに示した処理を実行する。
このように、アプリケーション層101の選択部105及び出力ドライバ部106の機能は1つに共有化して再利用できる一方で、各アプリケーションプログラム75,75,…が対応する機能の内、優先度が高い機能を優先的に実現させるべく適宜選択することができる。なおこのとき、出力ドライバ部106では、いずれの負荷への信号出力が優先的かを判断する必要がない。優先度の設定は、各動作要求を一括して受け付ける選択部105で変更でき、当該ソフトウェア構成は柔軟性に優れる。
なお、開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
10 ヘッドライト(負荷)
11 方向指示器ランプ(負荷)
12 スモールランプ(負荷)
2 ホーン(負荷)
3 ブザー(負荷)
7 ボディECU(制御装置)
70 マイコン(マイクロコンピュータ)
72 ROM(記憶手段)
75 アプリケーションプログラム
76 アプリケーションドライバプログラム(コンピュータプログラム)
77 動作パターンテーブル
105 選択部(選択手段)
106 出力ドライバ部(出力手段)
11 方向指示器ランプ(負荷)
12 スモールランプ(負荷)
2 ホーン(負荷)
3 ブザー(負荷)
7 ボディECU(制御装置)
70 マイコン(マイクロコンピュータ)
72 ROM(記憶手段)
75 アプリケーションプログラム
76 アプリケーションドライバプログラム(コンピュータプログラム)
77 動作パターンテーブル
105 選択部(選択手段)
106 出力ドライバ部(出力手段)
Claims (8)
- マイクロコンピュータを備え、該マイクロコンピュータが各機能に対応する複数のアプリケーションプログラムに基づく処理を行なうことにより複数の負荷の動作を制御する制御装置において、
前記複数のアプリケーションプログラムに基づく処理からの動作要求を受け付け、該動作要求及び要求元のアプリケーションプログラムに対応する機能に応じて制御対象の負荷、及び該負荷に行なわせる動作を選択する選択手段、及び、
該選択手段が選択した負荷、及び動作を示す情報が与えられた場合に、前記動作を実現させる制御信号を生成して前記負荷へ出力する出力手段
を備えることを特徴とする制御装置。 - 連続的オン、オフ、断続的オン、待機時間、又は断続的オンの場合の回数若しくはオン時間及びオフ時間を含む動作特定要素の内のいずれか一又は複数の組み合わせからなり、各々識別情報が付与された動作パターンのテーブルを記憶する手段を備え、
前記選択手段は、前記テーブルから前記動作要求に対応する動作パターンを抽出し、抽出した動作パターンに付与されている識別情報を前記出力手段に与え、
前記出力手段は、前記識別情報により動作を特定するようにしてあること
を特徴とする請求項1に記載の制御装置。 - 前記テーブルは制御対象の負荷毎に記憶されており、
前記選択手段は、前記動作要求に応じて選択した負荷と、該負荷のテーブルから抽出した動作パターンに付与されている識別情報とを前記出力手段に与えるようにしてあること
を特徴とする請求項2に記載の制御装置。 - 前記テーブルは、前記動作特定要素毎に記憶されており、
前記選択手段は、前記動作要求に応じて選択した負荷に行なわせる動作を、前記動作特定要素毎のテーブルから夫々動作パターンを読み出して組み合わせるようにしてあり、
選択した負荷を示す情報と、組み合わせた動作パターン夫々に付与されている識別情報の組み合わせとを前記出力手段に与えるようにしてあること
を特徴とする請求項2に記載の制御装置。 - 前記選択手段は、前記動作要求に対応する動作パターンが前記テーブルに存在しない場合、前記動作パターンを前記テーブルに追加する手段を備えること
を特徴とする請求項2に記載の制御装置。 - 前記複数のアプリケーションプログラムには優先度が付与されており、
前記選択手段は、複数のアプリケーションプログラムに基づく処理から夫々複数の動作要求を受け付けた場合、前記複数のアプリケーションプログラムの内の優先度が高いアプリケーションプログラムからの動作要求に応じた負荷及び動作を選択するようにしてあること
を特徴とする請求項1乃至5に記載の制御装置。 - マイクロコンピュータを用い、該マイクロコンピュータに各機能に対応する複数のアプリケーションプログラムに基づく処理を行なわせることにより複数の負荷の動作を制御する方法において、
前記マイクロコンピュータが前記複数のアプリケーションプログラムと異なるコンピュータプログラムに基づき、
前記アプリケーションプログラムに基づく処理からの動作要求を受け付け、
受け付けた動作要求及び要求元のアプリケーションプログラムに対応する機能に応じて制御対象の負荷、及び該負荷に行なわせる動作を選択し、
選択した負荷及び動作を示す情報に基づき、前記動作を実現させる制御信号を生成して前記負荷へ出力する
ことを特徴とする制御方法。 - 制御対象である複数の負荷が接続されているコンピュータに、アプリケーションプログラムに基づく処理を行なわせて前記複数の負荷の動作を制御させるコンピュータプログラムにおいて、
コンピュータに、
前記アプリケーションプログラムに基づく処理からの動作要求及び要求元のアプリケーションプログラムに対応する機能に応じて制御対象の負荷、及び該負荷に行なわせる動作を選択する選択手段、及び、
該選択手段が選択した負荷、及び動作を示す情報が与えられた場合に、前記動作を実現させる制御信号を生成して前記負荷へ出力する出力手段
として機能させることを特徴とするコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008326720A JP2010149537A (ja) | 2008-12-23 | 2008-12-23 | 制御装置、制御方法及びコンピュータプログラム |
US12/654,060 US20100161083A1 (en) | 2008-12-23 | 2009-12-09 | Control system, control apparatus, control method and computer readable medium |
DE102009054887A DE102009054887A1 (de) | 2008-12-23 | 2009-12-17 | Steuersystem, Steuervorrichtung, Steuerverfahren und computerlesbares Medium |
CN2009102619392A CN101782749B (zh) | 2008-12-23 | 2009-12-23 | 控制系统、控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008326720A JP2010149537A (ja) | 2008-12-23 | 2008-12-23 | 制御装置、制御方法及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010149537A true JP2010149537A (ja) | 2010-07-08 |
Family
ID=42243748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008326720A Pending JP2010149537A (ja) | 2008-12-23 | 2008-12-23 | 制御装置、制御方法及びコンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100161083A1 (ja) |
JP (1) | JP2010149537A (ja) |
CN (1) | CN101782749B (ja) |
DE (1) | DE102009054887A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016147617A (ja) * | 2015-02-13 | 2016-08-18 | 矢崎総業株式会社 | 車両用照明制御装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103158642B (zh) * | 2011-12-19 | 2015-05-20 | 北汽福田汽车股份有限公司 | 车辆的点火开关状态的控制装置及方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60128031A (ja) * | 1983-12-14 | 1985-07-08 | Nissan Motor Co Ltd | パワ−トレ−ンの制御方法 |
JPH0648442B2 (ja) * | 1986-08-14 | 1994-06-22 | 三菱電機株式会社 | シ−ケンス制御装置 |
CN1113302C (zh) * | 1993-07-30 | 2003-07-02 | 佳能株式会社 | 通过通信线路控制设备的控制器和方法 |
JP3692820B2 (ja) * | 1999-03-10 | 2005-09-07 | 株式会社デンソー | 自動車用制御装置 |
JP2002052250A (ja) * | 2000-05-01 | 2002-02-19 | Sony Computer Entertainment Inc | 記録媒体、プログラム、エンタテインメントシステム及びエンタテインメント装置 |
DE10044319A1 (de) * | 2000-09-07 | 2002-03-21 | Bosch Gmbh Robert | Elektronisches System für ein Fahrzeug und Systemschicht für Betriebsfunktionen |
US6597284B2 (en) * | 2000-11-29 | 2003-07-22 | Trw Inc. | Vehicle communication for tire sensor initiation and vehicle keyless entry via a shared resource |
US20020129096A1 (en) * | 2001-02-14 | 2002-09-12 | Mansour Peter M. | Platform-independent distributed user interface client architecture |
JP3956693B2 (ja) * | 2001-12-27 | 2007-08-08 | トヨタ自動車株式会社 | 統合型車両運動制御装置 |
US7028311B2 (en) * | 2002-01-04 | 2006-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Communications node architecture and method for providing control functions in a telecommunications network |
US20060173601A1 (en) * | 2002-07-29 | 2006-08-03 | Dirk Bassiere | Computer system and method for controlling, particularly for executing the coordinated drive train control of a motor vehicle |
US20040045007A1 (en) * | 2002-08-30 | 2004-03-04 | Bae Systems Information Electronic Systems Integration, Inc. | Object oriented component and framework architecture for signal processing |
JP4217455B2 (ja) * | 2002-10-15 | 2009-02-04 | キヤノン株式会社 | 周辺装置、情報処理方法、および制御プログラム |
US20040225881A1 (en) * | 2002-12-02 | 2004-11-11 | Walmsley Simon Robert | Variant keys |
US7330768B2 (en) * | 2003-01-28 | 2008-02-12 | Fisher-Rosemount Systems, Inc. | Integrated configuration in a process plant having a process control system and a safety system |
JP2005092740A (ja) * | 2003-09-19 | 2005-04-07 | Sony Corp | 監視システム、情報処理装置および方法、記録媒体、並びにプログラム |
JP2005146529A (ja) * | 2003-11-11 | 2005-06-09 | Alps Electric Co Ltd | キーレスエントリ装置 |
US20050107911A1 (en) * | 2003-11-14 | 2005-05-19 | Siemens Technology-To-Business Center Llc | Systems and methods for controlling load motion actuators |
US7272458B2 (en) * | 2004-04-13 | 2007-09-18 | Omron Corporation | Control system setting device |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
EP2093681A3 (en) * | 2004-10-04 | 2010-01-20 | Clearpace Software Limited | Method and system for implementing an enhanced database |
JP2006142994A (ja) * | 2004-11-19 | 2006-06-08 | Denso Corp | 車両用ネットワークシステムおよび電子制御装置 |
JP4457347B2 (ja) * | 2005-02-02 | 2010-04-28 | 株式会社デンソー | 自動車用制御装置 |
ES2300967T3 (es) * | 2005-03-11 | 2008-06-16 | Orthofix S.R.L. | Dispositivo para la osteosintesis de fracturas proximales del humero. |
JP4728020B2 (ja) * | 2005-03-17 | 2011-07-20 | 日立オートモティブシステムズ株式会社 | 車両制御用ソフトウェア及び車両制御装置 |
US20090044137A1 (en) * | 2005-06-09 | 2009-02-12 | Whirlpool Corporation | Consumable holder with user interface data |
US7761437B2 (en) * | 2005-06-15 | 2010-07-20 | Panasonic Corporation | Named entity extracting apparatus, method, and program |
JP4973844B2 (ja) | 2006-09-19 | 2012-07-11 | 株式会社デンソー | オブジェクト指向型車両用制御装置 |
JP4853196B2 (ja) * | 2006-09-19 | 2012-01-11 | 株式会社デンソー | 制御システム |
IL187029A0 (en) * | 2007-10-30 | 2008-02-09 | Haim Brody | Speed deviation indicator |
JP2009126313A (ja) * | 2007-11-22 | 2009-06-11 | Aisin Seiki Co Ltd | 車両用モール |
DE112009000155T5 (de) * | 2008-01-24 | 2010-12-02 | Autonetworks Technologies, Ltd., Yokkaichi-shi | Einrichtungssteuervorrichtung und Einrichtungssteuerprogramm |
US8086547B2 (en) * | 2008-06-16 | 2011-12-27 | International Business Machines Corporation | Data pattern generation, modification and management utilizing a semantic network-based graphical interface |
JP4624448B2 (ja) * | 2008-07-30 | 2011-02-02 | 株式会社オートネットワーク技術研究所 | 制御装置、制御システム及びコンピュータプログラム |
JP2010033437A (ja) * | 2008-07-30 | 2010-02-12 | Autonetworks Technologies Ltd | 制御装置、制御方法及びコンピュータプログラム |
JP5540537B2 (ja) * | 2009-03-24 | 2014-07-02 | 株式会社オートネットワーク技術研究所 | 制御装置、制御方法及びコンピュータプログラム |
JP2011081671A (ja) * | 2009-10-08 | 2011-04-21 | Autonetworks Technologies Ltd | 制御装置、制御方法及びコンピュータプログラム |
-
2008
- 2008-12-23 JP JP2008326720A patent/JP2010149537A/ja active Pending
-
2009
- 2009-12-09 US US12/654,060 patent/US20100161083A1/en not_active Abandoned
- 2009-12-17 DE DE102009054887A patent/DE102009054887A1/de not_active Withdrawn
- 2009-12-23 CN CN2009102619392A patent/CN101782749B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016147617A (ja) * | 2015-02-13 | 2016-08-18 | 矢崎総業株式会社 | 車両用照明制御装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101782749B (zh) | 2012-10-31 |
CN101782749A (zh) | 2010-07-21 |
DE102009054887A1 (de) | 2010-07-15 |
US20100161083A1 (en) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5540537B2 (ja) | 制御装置、制御方法及びコンピュータプログラム | |
JP4809418B2 (ja) | ソフトウェア更新装置およびソフトウェア更新方法 | |
JP6838217B2 (ja) | 車両制御装置 | |
CN111891033B (zh) | 一种车灯控制方法、装置、电子设备及存储介质 | |
JP2016124455A (ja) | 車載中継装置及び中継方法 | |
JP2010149537A (ja) | 制御装置、制御方法及びコンピュータプログラム | |
CN110386051B (zh) | 语音控制车辆外部照明灯的方法、装置及系统 | |
CN106394398A (zh) | 用于智能背光的方法及系统 | |
JP6300752B2 (ja) | 点灯制御装置及び光源点灯装置 | |
JP4522799B2 (ja) | 半導体回路装置及び暴走検出方法 | |
US8036800B2 (en) | Method for operating a motor vehicle control unit | |
CN114454812A (zh) | 一种车辆危险警示灯控制方法、装置及车辆 | |
US10136494B2 (en) | Method of monitoring the operating status of a light emitting diode in a vehicle lamp array | |
CN111131896A (zh) | 一种控制机顶盒指示灯闪烁的方法及装置 | |
CN118790140A (zh) | 转向灯优先级控制方法、装置、车辆及存储介质 | |
JP6349767B2 (ja) | 情報処理装置 | |
JP2010023627A (ja) | 操作システム | |
JP2021060747A (ja) | マイクロコンピュータ | |
JP5557160B2 (ja) | 車載装置 | |
JP6447372B2 (ja) | 状態遷移装置、制御装置、状態遷移方法、制御方法、状態遷移プログラムおよび制御プログラム | |
CN107662554B (zh) | 用于提供车辆的至少一个特定车辆状态的方法 | |
JP2024018638A (ja) | 車載ネットワークシステム | |
KR100288209B1 (ko) | 전자 제어장치의 제어 로직 변경장치 및 방법 | |
CN116150036A (zh) | 基于面向服务架构的车灯测试方法、装置、设备及介质 | |
CN113335176A (zh) | 车灯的功能管理装置、方法、车辆及存储介质 |