JP4427899B2 - 電子制御装置及び記録媒体 - Google Patents
電子制御装置及び記録媒体 Download PDFInfo
- Publication number
- JP4427899B2 JP4427899B2 JP2000402421A JP2000402421A JP4427899B2 JP 4427899 B2 JP4427899 B2 JP 4427899B2 JP 2000402421 A JP2000402421 A JP 2000402421A JP 2000402421 A JP2000402421 A JP 2000402421A JP 4427899 B2 JP4427899 B2 JP 4427899B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- application program
- arbitration
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
電子制御装置等に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
従来より、メモリに記憶されたアプリケーションプログラムに従って、例えば所定時間毎に各種センサ等の状態を入力し、その入力データに応じて制御対象(出力装置)を制御するか否かを判定し、制御すると判定された場合にはその制御対象を制御するための出力を行う電子制御装置が知られている。
【0003】
このような電子制御装置のアプリケーションプログラムは、制御対象や制御目的などに応じて所定の処理単位毎に作成し、その作成したそれぞれのアプリケーションプログラムを連続的に実行するように構成すること、すなわち複数のアプリケーションプログラムを順次実行するスケジューリング方式(シンプルスケジューリング)で実行することで、複数の制御対象の制御または1の制御対象の複数の制御を1の電子制御装置で実現している。
【0004】
しかしながら、このような電子制御装置では、それぞれのアプリケーションプログラムで入力→判断→出力の処理を行っているため次のような問題があった。すなわち、同一の入力装置から複数のアプリケーションプログラムによって入力を行ったり、同一の出力装置に対して複数のアプリケーションプログラムによって出力を行う場合、最初に実行されたアプリケーションプログラムでの処理と後に実行されたアプリケーションプログラムでの処理において、入力装置から入力した情報が変化してしまい処理結果に矛盾が生じたり、最初に実行したアプリケーションプログラムによる処理と後に実行したアプリケーションプログラムによる処理で異なる情報を出力してしまい、出力装置が誤動作する可能性があった。そのため、各処理の結果に矛盾が起きないように各アプリケーションプログラムによる処理において調停を行う必要があり、その調停のために各アプリケーション間で情報をやりとりする必要があるため、各アプリケーション間に依存関係が生じてしまい、システムの複雑さが増すにつれアプリケーションプログラムの設計保守等が困難となるといった問題があった。またこのような電子制御装置では各アプリケーションプログラム毎の処理において入出力を行っていたため、同一の入出力装置に対して複数のアプリケーションプログラムによる処理で入出力を行っており、プログラムに無駄があるといった問題もあった。
【0005】
そこで本発明は、上述した問題点を解決し、入出力コードの重複を無くすことを可能にしてプログラムを格納するメモリ容量を削減することができ、アプリケーションプログラムのモジュール性(独立性)を高めアプリケーションの自由度を向上させることができ、信頼性を確保することができる電子制御装置等を提供することを目的とする。
【0006】
上述した問題点を解決するためになされた請求項1に記載の電子制御装置は、制御処理を、図1(a)に例示するように入力処理とアプリケーション処理と出力処理に分け順次実行して行う。このとき、入力処理では、複数の入力処理プログラムを順次実行する。一方、アプリケーション処理では、複数のアプリケーションプログラムのうち、入力処理で得られた入力データに応じて実行されるべきアプリケーションプログラムが実行される。そして、出力処理では出力処理プログラムを順次実行して行う。すなわち入出力処理は順次呼び出しを行うスケジューリング方式(シンプルスケジューリング)で構成し、アプリケーション処理はそのアプリケーション処理に必要な入力データが存在した時(外部イベント発生時)にその入力データ(イベント)に応じたアプリケーションプログラムを実行するという方式(イベントドリブン方式)で構成する。したがって、イベントに応じたアプリケーションプログラムのみ実行されるため、処理の不要なアプリケーションプログラムが実行されることがなくなる。
【0007】
また、アプリケーション処理では、入力装置からの入力、及び出力装置への出力は行われないようになっている。したがって、入出力の前後の依存関係を考慮することなくアプリケーションプログラムを作成することが可能となり、信頼性が向上する。また、アプリケーションプログラムを独立したプログラムとして扱うことができるようになり、例えば機能単位で、アプリケーションプログラムの追加や削除を容易に行うことができる。またこのように制御処理を、入力処理、アプリケーション処理、出力処理に分けることにより、従来のようにそれぞれのアプリケーション処理内で入出力を行う場合に比べ、プログラムのサイズを小さくすることが可能となり、ROM等のメモリ容量を削減することができる。
【0009】
そしてさらに、請求項1の電子制御装置は入力処理にて入力調停を行う。すなわち、入力データに応じて実行されるべきアプリケーションプログラムを表す情報である教示情報を生成する。例えば、入力データAと入力データBが共に1の場合に、入力調停結果としてイベントAを発生するといった処理を行う。そしてアプリケーション処理において、このイベントA発生時に実行すべきアプリケーションプログラムを実行する。このようにすることで、アプリケーションプログラムにおける処理に必要なレベルで各アプリケーションプログラムを実行させることができ、アプリケーションプログラム内で入力データに矛盾がないか等をいちいちチェックする必要もなくなる。したがって、アプリケーションプログラムの作成が容易になり、モジュール性も高くなって信頼性も向上する。
【0010】
同様に、出力処理において、データの出力開始前に出力調停を行う。このようにすれば、例えば、アプリケーション処理では出力ポートの詳細な構成を意識することなく、より高いレベルの出力データを出力するだけでよくなる。また、各アプリケーションプログラム同士が出力データの内容に矛盾がないかを判定する必要がなくなり、アプリケーションプログラムの作成が容易になり、モジュール性も高くなって信頼性も向上する。
【0011】
ここで、入力調停と出力調停とを行う5階層で構成されるプログラムの間の関係を図1(b)に例示する。このように入力調停と出力調停との双方を行うようにすれば、アプリケーションプログラムの独立性は極めて高くなる。
【0012】
そして、さらに、入力データの同期をとるようになっている。具体的には、ある周期の入力処理で得たデータは、次の周期の入力処理を実行するまでは変化させないようになっている。このようにすれば、データ入力完了後(入力処理完了後)の各処理において使用する入力データはすべて同じ状態となる。したがって、例えばアプリケーション処理中に入力データが変化してしまい、変化前の入力データと変化した入力データとの双方に基づいたアプリケーション処理を行ってしまうような矛盾は発生しなくなる。したがって信頼性(安全性)を容易に確保することができる。
【0013】
同様に、出力データの同期をとるようになっている。具体的には、ある周期のアプリケーション処理で確定した出力データは、次の周期のアプリケーション処理を実行するまでは変化させないようになっている。これによれば、アプリケーション処理完了後の各処理において使用する出力データはすべて同じ状態となる。したがって、例えば出力処理中に出力データが変化してしまい、変化前の出力データと変化した出力データとの双方に基づいた出力処理を行ってしまうような矛盾が発生しなくなる。したがって信頼性(安全性)を容易に確保することができる。
【0014】
また、入力調停結果の同期をとるようになっている。具体的には、ある周期の入力調停で確定した情報は、次の周期の入力調停を実行するまでは変化させないようになっている。これによれば、入力調停完了後の各処理において使用する入力調停結果は、すべて同じ状態となる。したがって、例えばアプリケーション処理中に入力調停結果が変化してしまい、変化前の入力調停結果と変化した入力調停結果との双方に基づいたアプリケーション処理を行ってしまうような矛盾が発生しなくなる。したがって信頼性(安全性)を容易に確保することができる。
【0015】
同様に、出力調停結果の同期をとるようになっている。具体的には、ある周期の出力調停で確定した情報は、次の周期の出力調停を実行するまでは変化させないようになっている。これによれば、出力調停完了後の各処理において使用する出力調停結果は、すべて同じ状態となる。したがって、例えばデータの出力中に出力調停結果が変化してしまい、変化前の出力調停結果と変化した出力調停結果に基づいたデータの出力を行ってしまうような矛盾が発生しなくなる。したがって信頼性(安全性)を容易に確保することができる。
【0016】
ここで、制御処理は繰り返し実行することとなるが、この場合請求項2に示すように構成することができる。請求項2に示すように所定期間毎に周期的に制御処理を実行し、その所定期間内に制御処理が完了することで、例えばリアルタイムOSのような複雑な処理を極力省いた低コストで信頼性の高い装置とすることができる。
またアプリケーションプログラム間で処理結果を利用する場合は、請求項3のようにして、直接アプリケーション間で処理結果(データ)の受け渡しをしないようにするとよい。例えば、アプリケーション間のデータの通信は、出力処理や入力処理を1度通して別のアプリケーションに通知することで、安全設計が可能な仕組みとなる。そして、アプリケーション・アプリケーション間の結合が切れて、機能の付け外しが可能な機構となる。よって、アプリケーションプログラム同士の独立性が高くなり、アプリケーションプログラムの開発が容易になる。また、入出力信号の信頼性(安全性)を容易に確保することができる。
【0017】
ところで、アプリケーションプログラムは上述したイベントドリブンで実行されるため、例えば、あるアプリケーションプログラムに対応するイベントが発生せずにそのアプリケーションプログラムが起動しない状態が長時間継続する場合が考えられる。このような場合に、外部のノイズ等によってそのアプリケーションプログラムによる処理の処理結果や出力データを格納したRAMのデータが変化してしまうと、その変化したデータに基づいた出力処理により、制御対象の誤動作が発生する。そこで請求項4のようにするとよい。請求項4のように、プログラムの未実行の期間が、制御対象の誤動作(換言すると、電子制御装置による制御異常)を回避するために予め定められる期間が経過したアプリケーションプログラムを実行し、その処理結果を格納したRAMの内容をリフレッシュする。すなわち、例えばイベントによって起動されるアプリケーションプログラムは、定期的なイベントの発生によっても起動される仕組みを持たせ、通常の処理よりも長い間隔で、かつ、内部のデータのRAM化け等による不都合が起こってもシステムに支障をきたさない間隔でのデータリフレッシュを保証するようにする。こうすることで、誤動作の影響を最小限に抑えることができる。
【0018】
以上のような構成とすることで、入出力信号の信頼性の確保、アプリケーションの自由度向上、プログラムを格納するROM容量を節約することができる。
【0019】
なお、請求項5に示すような、コンピュータを請求項1〜4の何れかに記載の電子制御装置として動作させるための制御プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、コンピュータを請求項1〜4の何れかに記載の電子制御装置として動作させることができる。そのような制御プログラムは、例えば、フロッピーディスク(登録商標)、光磁気ディスク、CD−ROM、ハードディスク、ROM等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。
【0020】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態を採りうることは言うまでもない。
【0021】
図2は、実施例としての電子制御装置であるボデーECU10を備えたボデー系システム100を示す図である。ボデー系システム100は、特許請求の範囲におけるネットワークに相当する車内LAN50に接続されたボデーECU10と、ボデーECU10と車内LAN50を介して通信可能な通信対象ECU20を備える。ボデーECU10及び通信対象ECU20は、CPU、ROM、RAM、I/O等を備えたコンピュータシステムであり、I/Oには入力装置30や出力装置40や車内LAN50が接続されている。
【0022】
通信対象ECU20は、入力装置30の状態を読み取ってパケットを生成し車内LAN50を介してボデーECU10へ送信する。また、車内LAN50を介して入力されるボデーECU10からのパケットの制御情報に基づいて出力装置40を制御する。通信対象ECU20は、例えば、D席ドアECU20aやP席ドアECU20bやインパネECU20c等である。D席ドアECU20aはドライバ側のドアに設置されたECUであり、入力装置30としてD席ドアコントロールスイッチ30aなどが接続されており、出力装置40としてD席ドアロックモータ40aやD席パワーウインドウモータなどが接続されている。P席ドアECU20bは補助席側のドアに設置されたECUであり、入力装置30としてP席ドアコントロールスイッチ30b等が接続され、出力装置40としてP席ドアロックモータ40bやP席パワーウインドウモータなどが接続されている。また、インパネECUは、インパネに設置されたECUであり、例えば、出力装置40としてブザー40cやランプ40d等が接続されている。
【0023】
ボデーECU10は、通信対象ECU20から車内LAN50に送信されるパケットを所定時間毎に受信して、I/Oを介して取り込み、取り込んだパケットの内容に応じたアプリケーションを起動して、出力装置40の制御が必要な場合には、制御対象の通信対象ECU20への制御指示を含むパケットを生成して送信する制御処理を行う。
【0024】
このようなボデーECU10の処理について図3を参照して説明する。図3に示すように、ボデーECU10は、電源が投入されると、S1で、各I/OポートやRAM等のシステムの初期化を行う初期化処理を行う。続くS2で、アイドルタスクを管理するアイドルタスクマネージャを実行する。そして、S3でアイドル時に実行するユーザ定義処理を実行し、CPUの状態を監視するCPU監視マネージャを実行する。そして再びS2に戻りアイドルタスクマネージャを実行する。このようにS2〜S4をループして実行する。
【0025】
そしてCPUには、図示しないタイマから5ms毎にタイマ割込みがかかる。このタイマ割込みによって、S5のシステムマネージャへ処理が移行し、S6の入力処理、S7の入力調停処理、S8のアプリケーション処理、S9の出力調停処理、S10の出力処理、S11のスリープマネージャを順次実行して、タイマ割込みから復帰し、元のS2〜S4で構成されるアイドルループに戻る。なお、このタイマ割込みによるメイン処理は、タイマ割込みの間隔である5msよりも短時間で終了するように構成されている。
【0026】
このうち、S6の入力処理からS10の出力処理に至る各ステップの処理をさらに詳細に説明する。
S6では、I/Oから入力処理を行う入力処理プログラムを順次実行する。すなわち、入力処理プログラム1、入力処理プログラム2、入力処理プログラム3、入力処理プログラム4、…、入力処理プログラムi、のように順次実行する。すべての入力処理プログラムの実行が終了すると、S7の入力調停処理へ移行する。
【0027】
S7の入力調停処理は、S6の入力処理によってI/Oから入力したデータを総合して調停を行う処理である。すなわち、S8のアプリケーションプログラムを起動させるためのイベントフラグを立てるか否かを、入力処理(S6)によって入力されたデータに基づいて判定する処理である。入力調停処理(S7)は、それぞれのイベントに応じた複数の入力調停プログラムで構成されており、入力調停プログラム1、入力調停プログラム2、…入力調停プログラムj、のように順次実行する。そして、すべての入力調停処理プログラムの実行が終了すると、S8のアプリケーション処理へ移行する。
【0028】
アプリケーション処理(S8)は、複数のアプリケーションプログラム1、アプリケーションプログラム2、…、アプリケーションプログラムkで構成されており、各アプリケーションプログラムは直接I/Oへの入出力処理を行わないように構成してある。すなわち入力は、メモリを媒介して、特許請求の範囲における入力処理に相当する入力層(S6の入力処理と、S7の入力調停処理に相当する)によって行い、出力は、メモリを媒介して、特許請求の範囲における出力処理に相当する出力層(S9の出力調停処理と、S10の出力処理に相当する)によって行うのである。
【0029】
また各アプリケーションプログラム間の情報のやりとりは、直接的には行わない。すなわち、図4に示すように、例えばアプリケーションプログラム1とアプリケーションプログラム4が実行される場合に、アプリケーションプログラム1を実行した結果(処理結果)のデータは、アプリケーションプログラム4では使用しないように構成する。つまり、アプリケーションプログラム1は、処理結果をRAM上のアプリ処理結果格納領域に記憶するが、そのデータはアプリケーションプログラム4の処理からは直接的には参照しない。アプリケーションプログラム4による処理にてアプリケーションプログラム1の処理結果を必要とする場合には、予めS7の入力調停処理で、アプリ処理結果格納領域に格納された処理結果を入力データ格納領域にコピーするようにする。そしてイベントフラグに応じてアプリケーションプログラム4が起動された際にその入力データ格納領域から処理結果のデータを参照する。したがって、例えアプリケーションプログラム1の直後にアプリケーションプログラム4を実行する場合であっても、アプリケーションプログラム4は出力結果格納領域ではなく、入力結果格納領域を参照して処理に利用するため、直前のアプリケーションプログラム1の処理結果ではなく、1周期前のタイマ割込み時のアプリケーションプログラム1の処理結果を利用して処理を行うのである。
【0030】
このように、入出力処理と入出力以外の処理を分け、データの受け渡しをアプリケーションプログラム間で直接的に行わないようにすることで、各アプリケーションの独立性が高まり、機能単位であるアプリケーションプログラムの追加削除が容易にできるようになる。
【0031】
また、いずれのアプリケーションプログラムを実行するかは、管理用のアプリケーションプログラムである簡易OS処理によって決定する。この決定処理は、予め各アプリケーションプログラムがどのイベントが発生した際(イベントフラグが立ったとき)に実行されるかを登録するイベントテーブルに基づいて行う。このイベントテーブルには、イベントフラグに対応したアプリケーションプログラムのアドレスが登録(記憶)されており、入力調停処理によってイベントフラグが立てられた場合(イベントが発生した場合)には、対応するアプリケーションプログラムのアドレスをコールして、処理をそのアプリケーションプログラムに移行する。なお、1のイベントに対して複数のアプリケーションがイベントテーブルで対応付けられている場合には、そのイベントに対応したアプリケーション同士は、順次実行するようにする。すなわち、イベントフラグ1に対応するアプリケーションプログラムが、アプリケーションプログラム1、アプリケーションプログラム2、アプリケーションプログラムxと複数ある場合には、アプリケーションプログラム1が終了したらアプリケーションプログラム2へ処理を移行し、アプリケーションプログラム2が終了したらアプリケーションプログラム3に処理を移行するのである。そして、すべてのイベントフラグに対応するアプリケーションプログラムの処理が終了した場合に、簡易OS処理を終了して、S9へ移行する。
【0032】
S9の出力調停処理は、S8のアプリケーション処理によってアプリ処理結果格納領域に記憶されたデータに基づきS10の出力処理で出力を行うか否かを調停する処理である。
すなわち、例えば、複数のアプリケーションプログラムが同一の出力対象に対する異なる出力指示を処理結果格納領域に格納した場合に、いずれの処理結果を反映させて出力するかを調停する処理を行うのである。例えば、出力調停処理(S9)は、複数の出力調停プログラムで構成されており、出力調停プログラム1、出力調停プログラム2、…出力調停プログラムl、のように順次実行する。そして、すべての出力結果調停プログラムの実行を完了すると、処理はS10の出力処理へ移行する。
【0033】
S10の出力処理では、I/Oへの出力処理を行う出力処理プログラムを順次実行する。すなわち、出力処理プログラム1、出力処理プログラム2、…、出力処理プログラムm、のように順次実行する。すべての出力処理プログラムの実行が終了すると、S11のスリープマネージャへ移行する。
【0034】
このようにして、従来ひとまとめで行っていた処理を、S6の入力処理、S7の入力調停処理、S8のアプリケーション処理、S9の出力調停処理、S10の出力処理の5つに分割し、各処理において、データの同期を取る。すなわち、図5に示すように、ある時間で確定したデータを次の処理部へ受け渡し、それ以後は変化させない。例えば、S6の入力処理でスイッチがONと確定した後は、次の周期の入力処理を実行するまでは、たとえ入力の状態がOFFになっていたとしてもスイッチの状態はONとして処理を行う。同様にS7の入力調停処理で確定した情報は次の周期の入力調停処理まで変化させない。またS8のアプリケーション処理で確定した情報は次のアプリケーション処理まで変化させない。そして、出力調停処理によって確定した情報は、次の出力調停処理まで変化させない。したがって、各処理部の処理完了時点でデータが確定(同期)する。そして、各処理部の処理中に前の処理部で生成したデータは変化しないので、例えば変化前のデータに基づく処理と変化後のデータに基づいて処理を行ってしまうような処理矛盾を避けることができ、安全設計も容易にできる。
【0035】
これまで説明したように入力層、出力層のプログラムは順次実行を行う。すなわちシンプルスケジューリングで実行する。一方、アプリケーション層では、どのアプリケーションプログラムが実行されるかは、イベントの有無を判断して、簡易OS処理で決定する。
【0036】
このような構成とすることで、イベントの発生しないアプリケーションプログラムは、イベントが発生しない間は実行されないことになる。したがって、実行されないアプリケーションプログラム用のアプリ処理結果格納領域は、その間更新されない。そのため外部のノイズ等によってアプリ処理結果格納領域のデータが書き換えられた場合(いわゆるRAM化け)には、S8の出力調停処理、S9の出力処理によって誤った出力がなされてしまう場合がある。このような状況は、アプリ処理結果記憶領域が長時間更新されなければされないほど発生する可能性が高くなる。特に、例えば制御の誤りによって人に対して悪影響を与える可能性のあるシステムを制御する場合には、このようなことが起こらないように、メモリの値を所定時間毎に更新することが望ましい。
【0037】
そこで、図6に示すように簡易OS処理において、一定時間以上起動されていないアプリケーションプログラムを順次起動して、そのアプリケーションプログラム用のアプリ処理結果記憶領域を更新する。この一定時間は、タイマ割込み間隔よりも長い間隔で、かつアプリ処理結果記憶領域のデータが外部のノイズ等によって変化してしまってもシステムの制御に支障をきたさない時間とする。すなわちボデー系システム100(図1参照)においては、RAM化けによって、例えば図示しないパワーウィンドウの閉制御のように本来閉じてはいけない状態で閉じる指示が出力される状況が想定される。このような異常な制御が続く時間が50ms程度であれば人に対して悪影響を及ぼさない。したがって、例えば40msの間、起動されていないアプリケーションプログラムから順次実行するようにする。例えば、図6に示すように、アプリ2とアプリ3とアプリ4が、40msの間実行されていなければ、アプリ2を実行し、アプリ3を実行し、アプリ4を実行する。そして、イベントに応じたアプリを実行する前述の処理を行う。このような構成を採ることで、RAM化けが起きても、信頼性や安全性を確保することができる。
【0038】
こうしたボデー系システム100によれば、例えば、D席ドアコントロールスイッチ30aと図示しない入力装置30としてのワイヤレス(電波等を使用し、ドアを施錠・解錠するシステム)の双方から異なる指示がほぼ同時に連続して入力された場合、すなわち例えば、D席ドアコントロールスイッチ30aの状態に基づきD席ドアECU20aが全席ドア施錠の指示を出し、ワイヤレスは全席ドア解錠の指示を車内LAN50を介してボデーECU10に出力した場合、ボデーECU10は、S6の入力処理によってI/Oからこれらの情報を取り込む。そして、S7の入力調停処理によって、いずれか1の指示を優先して利用する。例えば、D席ドアコントロールスイッチ30aの状態を優先するように調停する。そして、全席ドア施錠の指示が入力された旨のイベントフラグを立て処理をS8へ移行する。よって、簡易OS処理によって、このイベントフラグに対応するアプリケーションに実行が移される。例えば、アプリ1の処理によって、アプリ処理結果格納領域に全席ドア施錠の指示が書き込まれる。一方このとき、他の入力装置30の状態に基づくイベントによって例えばアプリ2が実行され、その処理結果として、D席ドア解錠の指示がアプリ処理結果格納領域に書き込まれていたとする。この場合、S9の出力調停処理によって、出力の調停を行い全席ドア施錠を優先して、S10の出力処理に渡し、S10の出力処理によって、出力装置40の接続された各ドアECUに対してドア施錠の指示を送信する。こうして、極めて短い時間にドアが解錠→施錠または施錠→解錠することを防止することができる。すなわち複数の矛盾する入力データや出力データを調停することができ、安全で信頼性の高い制御を実現することができる。
【0039】
このように、人間の操作する装置系に対する制御を行う場合には、人間と制御対象の機械の処理時間(認識時間)の差を上述した調停や同期によって、調整することができる。また車内LAN50による遅延等によるデータの到着のずれ等の影響もこれらの機構により抑えることができる。
【図面の簡単な説明】
【図1】 制御処理の階層化を説明する説明図である。
【図2】 ボデー系システムの構成を示すブロック図である。
【図3】 各処理の分割の状態と実行順を説明する説明図である。
【図4】 アプリケーションプログラム間のデータのやりとりの方法を示す説明図である。
【図5】 各処理におけるデータの同期を説明する説明図である。
【図6】 メモリ状態の再設定に関する説明図である。
【符号の説明】
10…ボデーECU
20…通信対象ECU
20a…D席ドアECU20a
20b…P席ドアECU20b
30…入力装置
30a…D席ドアコントロールスイッチ
30b…P席ドアコントロールスイッチ
40…出力装置
40a…D席ドアロックモータ
40b…P席ドアロックモータ
40c…ブザー
40d…ランプ
50…車内LAN
100…ボデー系システム
Claims (5)
- 複数の入力装置から入力される入力データに基づき出力装置を制御する電子制御装置であって、
前記複数の入力装置から前記入力データを取得するための入力処理プログラムであって前記複数の入力装置のそれぞれに応じた入力処理プログラムを順次実行してなる入力処理と、
前記入力処理の完了後に実行され、前記出力装置への出力データを前記入力処理で得られた入力データに基づき生成するためのアプリケーションプログラムを実行してなるアプリケーション処理と、
前記アプリケーション処理の完了後に実行され、そのアプリケーション処理で生成された出力データを前記出力装置に出力するための複数の出力処理プログラムを順次実行してなる出力処理と、からなる制御処理を繰り返し実行し、
前記入力処理において、前記入力処理プログラムの実行によって得られる入力データについて、その入力データをメモリ(以下、第1のメモリと言う)に記憶する第1の記憶処理と、その入力データに応じて実行されるべきアプリケーションプログラムを表す情報である教示情報を生成する入力調停と、を行い、
前記アプリケーション処理において、前記入力調停にて生成された前記教示情報が表すアプリケーションプログラムを実行するとともに該実行では前記第1のメモリに記憶された入力データを利用するようになっており、その実行で生成できた出力データをメモリ(以下、第2のメモリと言う)に記憶する第2の記憶処理を実行し、
前記出力処理において、前記第2のメモリに記憶された出力データについて前記出力装置への出力の可否を判断する出力調停を行い、その出力調停で出力可と判断した出力データを、前記出力処理プログラムを実行することによって前記出力装置に出力し、
前記制御処理における前記第1の記憶処理が完了すると、その第1の記憶処理にて前記第1のメモリに記憶した前記入力データを、少なくとも次回の制御処理における前記第1の記憶処理まで更新せず、
前記制御処理における前記入力調停が完了すると、その入力調停にて生成した前記教示情報を、少なくとも次回の制御処理における前記入力調停まで更新せず、
前記制御処理における前記第2の記憶処理が完了すると、前記第2のメモリに記憶した
前記出力データを、少なくとも次回の制御処理における前記第2の記憶処理まで更新せず、
前記制御処理における前記出力調停が完了すると、その出力調停での判断結果を、少なくとも次回の制御処理における前記出力調停まで更新しないようになっていること
を特徴とする電子制御装置。 - 請求項1に記載の電子制御装置において、
前記制御処理を所定期間毎に実行し、該制御処理をその所定期間内に完了すること
を特徴とする電子制御装置。 - 請求項1または2に記載の電子制御装置において、
前記アプリケーションプログラムの実行によって得られる出力データをそのアプリケーションプログラム(以下、前者アプリケーションプログラムと言う)とは異なる他のアプリケーションプログラム(以下、後者アプリケーションプログラムと言う)で利用する場合、その前者アプリケーションプログラムの実行によって得られる出力データであって前記第2のメモリに記憶される出力データを、次回の制御処理における前記入力処理にてその第2のメモリから読み出して前記第1のメモリにコピーすること
を特徴とする電子制御装置。 - 請求項1〜3のいずれかに記載の電子制御装置において、
プログラムの未実行の期間が、当該電子制御装置による制御異常を回避するために予め定められる期間に達したアプリケーションプログラム(以下、未実行アプリケーションプログラムと言う)がある場合には、前記アプリケーション処理において、その未実行アプリケーションプログラムも実行すること
を特徴とする電子制御装置。 - コンピュータを請求項1〜4のいずれかに記載の電子制御装置として動作させるための制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000402421A JP4427899B2 (ja) | 2000-12-28 | 2000-12-28 | 電子制御装置及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000402421A JP4427899B2 (ja) | 2000-12-28 | 2000-12-28 | 電子制御装置及び記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002202891A JP2002202891A (ja) | 2002-07-19 |
JP2002202891A5 JP2002202891A5 (ja) | 2007-04-12 |
JP4427899B2 true JP4427899B2 (ja) | 2010-03-10 |
Family
ID=18866721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000402421A Expired - Lifetime JP4427899B2 (ja) | 2000-12-28 | 2000-12-28 | 電子制御装置及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4427899B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006146789A (ja) * | 2004-11-24 | 2006-06-08 | Denso Corp | 電子制御装置およびその制御方法ならびにプログラム |
JP4760472B2 (ja) * | 2006-03-27 | 2011-08-31 | 株式会社日立製作所 | バッチプラントの運転支援装置 |
JP5831794B2 (ja) * | 2011-09-06 | 2015-12-09 | 株式会社デンソー | 電子制御装置およびその制御方法 |
JP6776987B2 (ja) * | 2017-04-06 | 2020-10-28 | 株式会社島津製作所 | タスク実行制御装置及び該装置用プログラム |
JP7139866B2 (ja) | 2018-10-18 | 2022-09-21 | トヨタ自動車株式会社 | 車両用調停システム |
CN112594078B (zh) * | 2020-12-07 | 2022-07-01 | 重庆潍柴发动机有限公司 | 一种船用发动机抢占式冗余电控系统及方法 |
WO2024029269A1 (ja) * | 2022-08-02 | 2024-02-08 | 株式会社デンソー | 車両制御装置、問い合わせ方法、プログラム、及び車両制御システム |
-
2000
- 2000-12-28 JP JP2000402421A patent/JP4427899B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002202891A (ja) | 2002-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190004880A1 (en) | System, method and computer program product for sharing information in a distributed framework | |
Kopetz et al. | Temporal firewalls in large distributed real-time systems | |
JPH0713813B2 (ja) | データアクセス方法及びデータ処理システム | |
JP2000040075A (ja) | マルチプロセッサ・コンピュ―タ・システムにおける決定論、ならびにそのためのモニタおよびプロセッサ | |
JP4427899B2 (ja) | 電子制御装置及び記録媒体 | |
JP2755437B2 (ja) | 通信制御プログラムの連続運転保証処理方法 | |
EP4120082A1 (en) | Automotive open system architecture, state management method, and device | |
JP4920567B2 (ja) | 設備機器ネットワークシステムおよびデータアクセス制御方法 | |
Beyer et al. | Towards the formal verification of lower system layers in automotive systems | |
EP2018615B1 (en) | Data communication unit, integrated circuit and method for buffering data | |
JP2006146789A (ja) | 電子制御装置およびその制御方法ならびにプログラム | |
JP3101825B2 (ja) | マルチタスク・システムの障害診断装置 | |
CN114633705A (zh) | 带有同步驱动程序的车辆控制装置 | |
JPH01300366A (ja) | 共有データ競合制御方式 | |
Chatain et al. | Natural specifications yield decidability for distributed synthesis of asynchronous systems | |
JP2021089531A (ja) | 電子制御装置 | |
JP2917368B2 (ja) | コンピュータシステムの開発支援装置 | |
JP2001265750A (ja) | メモリ制御装置 | |
JPS62214465A (ja) | 2重化コントロ−ラの制御方法 | |
JPH06149320A (ja) | プログラマブルコントローラのリモートi/oシステム | |
JPH02157957A (ja) | マイクロプロセッサ | |
JP2024538186A (ja) | データ処理用のデータ処理ネットワーク | |
JP3405513B2 (ja) | プログラマブルコントローラの二重化制御装置 | |
Guesmi et al. | TT-BIP: using correct-by-design BIP approach for modelling real-time system with time-triggered paradigm | |
JP5831794B2 (ja) | 電子制御装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090707 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091029 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4427899 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131225 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |