JP3801630B2 - 車両における内燃機関に対する燃料噴射制御方法 - Google Patents
車両における内燃機関に対する燃料噴射制御方法 Download PDFInfo
- Publication number
- JP3801630B2 JP3801630B2 JP50458696A JP50458696A JP3801630B2 JP 3801630 B2 JP3801630 B2 JP 3801630B2 JP 50458696 A JP50458696 A JP 50458696A JP 50458696 A JP50458696 A JP 50458696A JP 3801630 B2 JP3801630 B2 JP 3801630B2
- Authority
- JP
- Japan
- Prior art keywords
- task program
- program
- task
- priority
- pointer
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 66
- 238000002347 injection Methods 0.000 title claims description 25
- 239000007924 injection Substances 0.000 title claims description 25
- 239000000446 fuel Substances 0.000 title claims description 18
- 238000002485 combustion reaction Methods 0.000 title claims description 12
- 238000012545 processing Methods 0.000 claims description 50
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 10
- 238000002360 preparation method Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 229910052760 oxygen Inorganic materials 0.000 description 2
- 239000001301 oxygen Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010790 dilution Methods 0.000 description 1
- 239000012895 dilution Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T2260/00—Interaction of vehicle brake system with other systems
- B60T2260/08—Coordination of integrated systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、請求項1の上位概念に記載の方法から出発する。この形式の方法は既に、論文“Anforderungen an ein Echtzeit- Betriebssystem fuer eingebettete Systeme”(Bernd Ackermann著、Elektronik Nr.18,1992年,第120ないし128頁)から公知である。そこには、マイクロ計算機に対する実時間作動系の重要な特徴を含んでいる制御装置が説明されている。シーケンス制御に対して、プロセスマネージャーと称されているプログラムが用いられる。このプログラムは、CPUの課題を制御しかつ実行中のすべてのタスクプログラム(タスク)を対応付ける。プロセスマネージャーにより、複数のタスクプログラム(マルチタスク)のほぼ並列な処理が可能になる。このためにプロセスマネージャーは、それが、丁度処理中の(計算中の)プログラムをいつでも中断しかつ系全体に対してその処理が瞬時的に一層重要である(一層高い優先度)タスクプログラムをスタートすることができるように、構成されている。中断されたプログラムは、一層高い優先度のプログラムの処理が終了したとき、プロセスマネージャーによって、中断された個所において続けられる。この形式のシーケンス制御においては、丁度計算中のタスクプログラムをいつでも中断することができることが重要であると認められている。この手法は、“プリエンプティブスケジューリングまたはプリエンプティブマルチタスキング”とも称される。
上述のシーケンス制御は殊に、実時間系、即ち前以て決められた時間範囲内に所定の制御過程を行わなければならない制御系に対して重要である。というのはこれにより所定のイベントに対する迅速な応動が可能であるからである。
しかしタスクプログラムをその都度任意の個所で中断できるようにすることによって、大きな管理およびメモリコストが生じる。中断されたタスクプログラムは中断された個所において後に続行されるべきであるので、中断されたタスクプログラムに対して複数の処理状態を特徴付ける情報をスタックメモリに記憶しなければならない。これには、プログラム計数器状態、ステータスレジスタの内容、計算機レジスタの内容等がある。更に、スタックメモリに格納されている、中断されたタスクプログラムの一時的なデータを保持しなければならず、一方中断されたタスクプログラムの一時的なデータに対して、スタックメモリに付加的な場所を予約しなければならない。シーケンス制御においては多重に相互に入り組んでいる中断が発生する可能性があるので、この方法ではスタックメモリに対する所要メモリは相応に高い。
中断されたタスクプログラムと中断するタスクプログラムとの間の情報交換も困難である。2つのタスクプログラムがこの目的のために共通のメモリ領域にアクセスするとき、数多くの例において、中断個所の位置に応じてデータ消失またはデータ歪化を生じる可能性がある。このような例は実際には検出することが困難である場合が多く、その安全確保のためにはデータアクセスの同期化のための煩雑な方法が必要である。択一的に、別個のメモリ領域を使用することができる。この場合、同様に煩雑である通信メカニズムを用意しなければならない。
発明の利点
これに対して請求項1の特徴部分に記載の構成を有する本発明の方法は、タスクプログラムの中断に対する管理コストおよびメモリコストを著しく拡大することなく処理のフレキシビリティが高められるという利点を有している。タスクプログラムを、決められた優先度領域から、同じ優先度領域のタスクプログラムに対して中断不能である部分タスクプログラムに分割し、従ってタスクプログラムの相互の中断が部分タスクプログラムの間でしか行われないようにすることによって、この種の中断においてスタックメモリにはほんの僅かな情報しか格納する必要がない。このような情報に対する所要メモリは、部分タスクプログラムに使用される一時的なスタックメモリ変数の数および中断の錯綜深度には無関係であり、ひいては殊に、当該の優先度領域の優先度レベルの数には無関係である。従ってスタックメモリに対する所要メモリは、プリエンプティブなマルチタスキング法の場合より僅かである。
複数のタスクプログラムをほぼ並列に処理しかつその際より低い優先度のタスクプログラムの中断を、プログラムの作成の際のユーザによって確定された所定のプログラム個所においてのみより高い優先度のタスクプログラムによって許容するという方法はコオペラティブマルチタスキングと称される。実際には、数多くのタスクプログラムを全体の制御プログラムにおいてコオペラティブマルチタスキングにおいて記憶および計算時間を僅かしかかけないで処理することができ、一方より煩雑なプリエンプティブなマルチタスキングは僅かな高い優先度のタスクプログラムにのみ制限することができることが分かっている。
プリエンプティブなマルチタスキングにおいて生じる、共通のメモリ領域へのアクセスの際に生じ得るデータ消失の問題は回避されている。中断する側のタスクプログラムもアクセスしているデータヘのアクセスの中断は、コオペラティブマルチタスキングにおいてはもはや可能でない。というのは、アクセスは、中断不能な部分タスクプログラム内で完全に処理され、即ちその場合データアクセスは自動的に正確に同期されているからである。同じ理由から、タスクプログラムが、リソースが、中断された低優先度のタスクプログラムによって既に占有されているという理由で、相互排除の原理でしかアクセスできないリソースへのアクセスの際に阻止されるとき、プリエンプティブな系において生じる、防ぎようのない優先度反転の問題も生起しない。従ってタスクプログラム中断の作用はトランスペアレントでありかつ簡単に後付け可能である。このことは殊に、比較的高いプログラミング言語におけるタスクプログラムのプログラミングに対しても有利である。その理由は、高言語構築にとって一般に、それが中断不能な動作を表しているかまたはそうでないかを認めることができないからである。
更に、制御装置の開発フェーズに対する利点も生じる。殊に、複雑な制御プログラムを比較的簡単にシミュレートすることができる。プリエンプティブなマルチタスキングとは異なって、本発明の方法では、計算機の特性それ自体をシミュレートする必要なしに、プログラム処理の時間経過および中断の作用を殆どシミュレートすることができる。このために、それぞれの部分タスクプログラムに対して、機能の他に、更に遅延時間も特定しなければならない。
その他の請求項に記載の構成によって、請求項1に記載の方法の有利な実施例および改良例が可能である。即ち、タスクプログラムが、シーケンス観点に従ってまとめられている一連の部分タスクプログラムから成っていると有利であり、その際シーケンス観点として、タスクプログラム処理に対する要求のきっかけ(起動イベント)、これに関連した緊急性(優先度)並びに部分タスクプログラム間の同期化条件が考慮される。僅かなタスクプログラムに所属の優先度および処理のきっかけによって対応付けられる、処理シーケンスにおけるシーケンス観点に従った数多くの種々の部分タスクプログラムの構成はその上に、競合する部分タスクプログラムの処理を調整しなければならない作動系内部のシーケンス制御に対する所要実行時間を低減する。従ってシーケンス制御のための情報の重要な成分はプログラム作成の際に既に使用することができかつ実行時に計算時間をかけて求める必要はない。これに対して複雑な制御装置プログラムの、部分タスクプログラムへの分割は機能上の観点に従って行われる。このことは全体の見通し易さを高めかつプログラム作成およびプログラム管理を簡単にする。
更に、それぞれの部分タスクプログラムが、マイクロ計算機による部分タスクプログラムの処理に対する時間が前以て決められた限界値を上回らない程度の範囲でしか構成されていないことは有利である。この手段により、この方法は上述した時間限界値内で、厳しい実時間条件を考慮しなければならない制御過程に対しても使用可能であるようになる。その場合活性化された比較的高い優先度のタスクプログラムの呼び出しは最大で、部分タスクプログラムの最大の処理時間だけ増やされて、場合により中断する割り込みプログラムの処理時間だけ遅延される可能性がある。
請求項4に記載の手段によれば、、実行時に簡単な方法で、部分タスクプログラムの処理順序を変更することが可能になる。このために単に、テーブルポインタに、部分タスクプログラムポインタテーブルから部分タスクプログラムポインタのアドレスをロードしさえすればよく、これによりこれらの部分タスクプログラムポインタによって選択された部分タスクプログラムが次の部分タスクプログラム交代の際に呼び出される。タスクプログラム間の交代も、テーブルポインタに、タスクプログラムの所属の部分タスクプログラムポインタテーブルから第1の部分タスクプログラムポインタのアドレスをロードすることによって簡単に実施される。
請求項6に記載のタスクプログラムに対する既述のデータストラクチャ(タスクプログラム記述子)の導入は、タスクプログラムを記述するデータストラクチャのアドレスによって一義的に識別することができかつデータストラクチャはこのタスクプログラムおよびその処理状態(ステータス)に関するすべての重要な情報に対する簡単かつ迅速なアクセスを可能にするという利点を提供する。
その都度のタスクプログラムのステータスが次の3つの場合:“休止”,“計算準備”および“計算”の1つによってのみ特徴付けることができるようにすると、同様に有利である。殊に、タスクプログラムに対する状態“阻止されている”がないようにすることによって、公知の作動系の多岐にわたる問題が回避される。状態“阻止されている”はタスクプログラムによって、タスクプログラムが所定の条件の充足を待機するときに、とられる。これに対する例として、別のタスクプログラムの所定の計算結果に対する待機が挙げられる。計算結果がまだ存在していないとき、当該の作動系において、待機中のタスクプログラムに状態“阻止されている”が指定される。その場合このタスクプログラムの処理は最初停止されている。それは別のタスクプログラム、しかも場合によってはより低い優先度を有しているタスクプログラムの1つを処理しなければならない。所定の条件が充足されて、例えば別のタスクプログラムの処理によって、要求される計算結果を使用することができるようになってようやく、作動系、即ちオペレーティングシステムはこのタスクプログラムを続行することができる。しかしこれらの過程によって、シーケンス制御に対して高いコストが生じる。即ち、優先度段階に従った本来の処理順序が変更される。従って、タスクプログラム中断の際に保証すべき、中断されたタスクプログラムの一時的なデータを個々のスタックメモリにエントリすることはもはや可能ではない。この問題は、公知の作動系においては、例えば、それぞれのタスクプログラムに対して固有のスタックメモリを設けることによって解消される。しかしこのために付加的なメモリが相当量必要になり、このことは、大量生産制御装置に対して、殊に車両用制御装置に対しては受け入ることができるものではない。
請求項2および4に記載の、部分タスクプログラムポインタテーブルの形においてメモリに格納される前以て構成されている部分タスクプログラムシーケンスの使用および請求項8,9および10に記載の、シーケンス制御情報の管理は、シーケンス制御情報の評価を、タスクプログラム活性化およびタスクプログラム終了の場合に制限することができる、即ち殊に、それぞれの部分タスクプログラム処理の後新たに行う必要がないという利点を有している。
要求されるタスクプログラムまたは同じ優先度を有する別のタスクプログラムが既に処理される場合には、請求項11に記載の別の有利な手段が採用される。この手段によって、複数の同じ優先度のタスクプログラムが要求されている場合に対して、これらのうちの第1のものとして、最も長い待機時間を有するところのタスクプログラムが常に処理されるようになることが保証される。
請求項12および13に記載の、ユーザによって呼び出し可能な作動系サブプログラムの用意により、複雑な制御装置プログラムの、部分タスクプログラムの分割の際に、機能上の観点に従って1単位を形成する、処理時間が請求項3に記載の限界値を上回る部分タスクプログラムを、実時間要求における譲歩として2つまたは多くの部分タスクプログラムに分割する必要がないという利点が得られる。このために設けられている作動系サブプログラムの呼び出しによって付加的な中断個所を適当な個所に挿入することによって、実時間要求が充足され、その際コオペラティブなマルチタスキングの利点は維持されたままである。
非常に厳しい実時間条件を遵守することができるようにするために、シーケンス制御の組み合わせも許容すると有利である。請求項15に記載の方法は、より高い優先度のプリエンプティブなタスクプログラムの応答時間がより低いタスクプログラムの部分タスクプログラムの実行時間によって不都合な影響を受けないという特別な利点を有するこのような組み合わせの形式を表している。この方法によれば、僅かな数の最高の優先度を有するタスクプログラムを従来技術から公知のシーケンス制御原理(プリエンプティブなマルチタスキング)に従って管理しかつ厳しい実時間要求(非常に短い要求される応答時間)を満たすことができ、一方より低い優先度のタスクプログラムは、請求項1ないし13に記載の、シーケンス制御の原理に従って管理される。
請求項15に記載の方法は、一方において所定のタスクプログラムに対して非常に高い実時間要求が当てはまり、これに対して別のタスクプログラムに対して比較的低い実時間要求が当てはまるとき常に有利に使用することができる。即ちこの場合、比較的低い実時間要求しか該当しないタスクプログラムを1つの優先度群にまとめ、その中で、プロセッサ割り当ては専ら、コオペラティブなマルチタスキングの原理に従って行われる。厳格な実時間要求を有するその他のタスクプログラムに対して、比較的低い優先度のタスクプログラムの前以て決められた中断個所への制限は当てはまらず、即ちそれらはそれぞれの比較的低い優先度のタスクプログラムを任意の群からプリエンプティブに中断することができる。従って、その種々異なった実時間要求に相応した、シーケンス制御に関して或る用途のタスクプログラムの区別された処理が可能である。その場合これにより、2つの上述のシーケンス制御方法の最適に整合された組み合わせによる計算機リソースに対する要求も最小化することができ、その際前以て決められた実時間要求は常に遵守される。請求項1および請求項15に記載のタスクプログラムの特別簡単な細分化が請求項16に記載されている。2つの優先度領域へのこの細分化は、実時間クリチカルなタスクプログラムのごく一部(高い方の優先度領域)がプリエンプティブなシーケンス制御方法に従って処理されかつ中位から低い実時間要求を有するタスクプログラムの一般に比較的大きな部分(低い方の優先度領域)が、終了された部分タスクプログラム間でのみ中断することができる、請求項1記載のコオペラティブなシーケンス制御方法に従って処理される、よくある用途に非常に適っている。
図面
本発明の実施例は図面に示されておりかつ以下の説明において詳しく説明される。
その際第1図は、内燃機関に対する燃料噴射制御装置の大まかなブロック略図であり、第2図は、車両制御装置における可能なプログラムシーケンスに対する概略図であり、その際複数のタスクプログラムのシーケンス制御が、従来技術から公知であるような作動系によって行われ、第3図は、従来技術から公知であるように、作動系によって管理されるタスクプログラムに対する状態線図であり、第4図は、本発明の方法により管理されるタスクプログラムに対する状態線図であり、第5図は、内燃機関に対する燃料噴射系における生じ得るプログラムシーケンスの略図であり、その際シーケンス制御は本発明の方法において説明されたように、コオペラティブなマルチタスキングに相応して動作し、第6図および第7図は、本発明の方法によるポインタおよびテーブルを用いたシーケンス制御の略図でありかつ第8図は、タスクプログラムのステータス語の形式上の構成を示し、第9a図は、複雑な制御プログラムのタスクプログラムに対する優先度スケールを、プリエンプティブおよびコオペラティブなシーケンス制御方法の本発明による組み合わせを構成するために優先度群に分割するための略図であり、第9b図は、メインおよびサブ優先度を用いた同じ分割を表す等価な略図であり、第10図は、複雑な制御プログラムのタスクプログラムに対する優先度スケールを優先度群に分割するための第2の例を示す略図であり、第11a図は、より高い優先度のタスクプログラムによるタスクプログラムの中断に対する第1の例を示す略図であり、第11b図は、より高い優先度のタスクプログラムによるタスクプログラムの中断に対する第2の例を示す略図でありかつ第11c図は、より低い優先度を計算タスクプログラムとして有している、タスクプログラムの中断要求の例を示す略図である。
発明の説明
第1図において、内燃機関に対する燃料噴射制御装置が参照番号10で示されている。参照番号11は、燃料噴射制御装置のマイクロ計算機である。参照番号12は、制御装置10の書き込み/読み出しメモリ(RAM)を表している。参照番号13は、制御装置10の固定値メモリ(EPROM)を表しかつ参照番号22は不揮発性書き込み/読み出しメモリ(EEPROM)を表している。参照番号14によって、制御装置10の入出力ユニットが示されている。参照番号23は、制御装置の時間計数器を示している。この形式の制御装置の具体的な構成は従来技術から長年来周知であるので、以下にここでは詳しく説明しない。制御装置10に、機関温度センサ15,吸入空気センサ16,絞り弁ポテンショメータ17および酸素センサ18が接続されている。参照番号19によって信号入力側が示されており、そこから回転数およびクランク軸角度を計算することができる。この信号は、点火制御装置から噴射制御装置に送出される。別の入力側20は、点火錠に接続されている。更に、制御装置10は、電磁噴射弁21に接続されている。
燃料噴射制御装置の機能は次の通りである:燃料噴射制御装置は、加えられる入力信号を処理しかつそこから噴射すべき燃料量に対する尺度としての噴射時間を計算する。回転数およびクランク軸角度に依存して、制御装置10は予め計算された噴射時間を有する噴射パルスをトリガする。噴射制御装置の正確な機能は、文献Autoelektrik/Autoelektronik am Ottomotor,VDI-Veralag,1987年、第258ないし261頁からわかる。次にこの機能について更に正確に説明する。
この形式の燃料噴射制御装置を実現するために、複雑な制御プログラムが必要である。通例、複雑な制御プログラムは、一連の種々様々なタスクプログラムに細分化されている。その際、タスクプログラムへの細分化をシーケンス観点に従って行うと有利であることが認められている。即ち、固定の時間パターン内に処理しなければならないプログラム部分があり、その際しばしば複数の異なった時間パターンが使用される。更に、所定の作動状態内にしかないまたは例えばプログラムスタート、プログラム終了、全負荷作動、無負荷作動、暖気運転作動等のような外部または内部のイベントに対する応動として処理すべきであるプログラム部分がある。更に、所定のプログラム部分は、クランク軸角度に依存して固定の角度パターン内に処理すべきである。通例、同じ時間/角度パターン内に処理すべきである全部のプログラム部分は1つのタスクプログラムにまとめられる。その場合それぞれのタスクプログラムに対して付加的に、タスクプログラムの呼び出しを惹き起こす活性化イベントが特徴的である。例えば、時間計算機23はタスクプログラムの呼び出しを固定の時間パターン内に行うことができる。時間計算機は、ハードウェアによって周期的に、例えばミリ秒毎に生成される割り込みの割り込みサービスルーチンにおいてインクリメントされる。この割り込みサービスルーチンにおいて、時間計数器のその時点での計数器状態において新しいタスクプログラムを活性すべきであるか否かが検査される。タスクプログラム呼び出しの調整のために、個々のタスクプログラムに、タスクプログラムの処理の緊急性を指示する所定の優先度を割り当てると有利であることが認められている。個々のタスクプログラムの処理の管理のために、しばしば作動系が使用される。その場合これは、相応のプログラムに基づいて、所与の時点においてどのタスクプログラムがマイクロ計算機によって処理されるべきであるかを決定する。
1つの生じ得るプログラムシーケンスの一部が第2図に図示されている。そこには、例として4つの種々異なったタスクプログラムE,F,G,Hが挙げられている。タスクプログラムEは最低の優先度0を有しかつ固定の時間パターンに無関係に常に、緊急のタスクプログラムが処理される状態にないときに処理されるべきである。タスクプログラムFは、100ms毎に処理されるべきである。これには優先度1が割り当てられている。タスクプログラムGは、180°のクランク軸角度の固定の角度パターン内に処理されるべきである。これには優先度2が属する。更にタスクプログラムHは、10ms毎の固定の時間パターンにおいて処理されるべきである。これには最高の優先度3が属している。第2図に図示のプログラムシーケンスでは、より高い優先度のタスクプログラムの処理の要求に基づいてその都度任意の時点において中断することができる、シーケンス制御のための作動系が使用される。この形式のシーケンス制御は、プリエンプティブなマルチタスキングに相応する。時点t1において例えばタスクプログラムEが中断されかつタスクプログラムHの処理がスタートされる。時点t2において、タスクプログラムHの処理が終了する。引き続き、タスクプログラムEの処理が中断個所において続行される。個々のタスクプログラムの更なる中断個所は、第2図から読み取ることができる。全体のタスクプログラムは更に、発生した割り込み要求の割り込みサービスルーチンによって中断可能である。しかしこのことは、第2図においては一層分かり易くするために図示されていない。
個々のタスクプログラムは種々異なった状態をとることができる。第3図には、プリエンプティブなマルチタスキングを使用する作動系に対してしばしば当てはまる可能な状態が図示されている。4つの可能な状態が図示されている。状態50“休止している”において、プロセッサを占有しておらずかつまたその時点ではなにも計算する必要がないタスクプログラムがある。状態51“計算準備状態”におけるタスクプログラムは多少計算しなければならないが、プロセッサの占有下にはない。その理由は、プロセッサは別の同じ優先度またはより高い優先度のタスクプログラムによって占有されているからである。状態50“休止している”から、タスクプログラムは“タスクプログラムを活性化する”54によって状態51“計算準備状態”に達する。計算準備状態のタスクプログラムは、“タスクプログラムを停止する”55によって状態50“休止している”に再び戻すことができる。計算準備状態51から、タスクプログラムは“プロセッサを割り当てる”56によって状態52“計算する”に達し、そこではタスクプログラムはプロセッサを占有する。計算するタスクプログラムは、より高い優先度のタスクプログラムによって状態51“計算準備状態”に押し戻すことができるか57、またはこのタスクプログラムは“タスクプログラムを終了する”58によって終了しかつこれにより再び休止状態50に達する。
第3図に図示されているように、タスクプログラムに対する状態線図には更に、状態53“阻止されている”が設定されている。タスクプログラムは、それがその実行続行のためには所定の条件の到来までまず待機しなければならないときにこの状態に入る。この例は例えば、タスクプログラムがその実行の続行のために、別のタスクプログラムによって準備される所定の計算結果をアクセスするときに生じる。アクセス時点にデータがまだ存在しないとき、このタスクプログラムは状態53“阻止されている”に入る。その場合、阻止されたタスクプログラムを続行することができる前に、まず、データを計算するタスクプログラムを処理しなければならない。計算結果が存在していれば、このタスクプログラムは状態53“阻止されている”を離れかつ状態51“計算準備状態”に移行する。それ故に、状態53“阻止されている”から状態51“計算準備状態”への移行は、第3図では“条件が充足する”60によって示されている。状態52“計算する”から状態53“阻止されている”への移行は、“条件を待機している”59として表されている。
充足されていないときタスクプログラムを阻止されている状態に移行させることができる条件に対する別の例は、メモリ割り当ての際に生じる。例えばタスクプログラムが複雑な計算の実行のために付加的なメモリ領域を必要とするが、丁度このメモリ領域を使用することができないとき、同様に、条件は充足されておらず、これによりタスクプログラムのそれ以上の実行は阻止される。別のタスクプログラムによって再びメモリが解放されるとき漸く、このメモリはこの阻止されているタスクプログラムに割り当てることができ、このタスクプログラムはこれに基づいてその処理が続行される。
第4図には、本発明の方法による過程の制御の際に生じる可能性があるタスクプログラムの可能な状態が図示されている。同じく、タスクプログラムに対して3つの状態50,51,52“休止状態”,“計算準備状態”および“計算状態”が許容されている。しかし状態“阻止されている”は許容されていない。この状態は意図的に回避されるべきである。その理由は、この状態は高い管理コストを要求しかつ書き込み/読み出しメモリの所要容量を高める原因になるからである。しかしこのコストは、例えば車両における過程の制御の際に使用されるような、大量生産の制御装置においては受け入れられるものではない。更に、生じ得るすべての阻止状態は、そのBSがタスクプログラム阻止によって動作する複雑なSGプログラムにおいて検出するのが困難であるばかりでなく、首尾一貫性を見渡すのも困難である。従って、相互の依存性は例えば、“膠着状態”、即ちシーケンスのエラーを簡単に招来するおそれがある。第4図に図示の移行矢印は第3図に図示の矢印に対応しているので、繰り返し説明しない。
更に第5図には、内燃機関における燃料噴射制御に対する1つの生じ得るプログラムシーケンスが示されている。この図から、複雑な制御プログラムが例として4つの種々異なったタスクプログラムに分割されているのが分かる。タスクプログラムAは、時間的に分散して200msの周期で処理されるべきである、複雑な制御プログラムのすべての指示を含んでいる。タスクプログラムAには、優先度1が割り当てられている。タスクプログラムAは、本発明によれば3つの部分タスクプログラムA1,A2,A3に細分化されている。部分タスクプログラムA1において機関温度が検出される。その際機関温度センサ15の信号が評価されかつ機関温度に換算される。部分タスクプログラムA2において、混合気濃縮化係数が機関温度に依存して計算される。この混合気濃縮化係数は、内燃機関の寒冷時スタートの後、内燃機関の暖気運転フェーズに対して必要とされる。部分タスクプログラムA3において吸入空気温度が検出される。このために吸入空気温度センサ16の信号が評価される。機関温度並びに吸入空気温度も緩慢にしか変化しないので、これらの量を200ms毎に新たに検出するだけで十分である。この理由から、部分タスクプログラムA1,A2およびA3は、200msの時間間隔をおいてのみ処理すればよい部分タスクプログラムAに属している。
これに対して部分タスクプログラムBは著しく頻繁に処理されるべきである。それは時間的に分散されて10ms毎に呼び出されるべきである。これには優先度3が割り当てられている。これは3つの部分タスクプログラムB1,B2およびB3に細分化されている。部分タスクプログラムB1においてλ制御が実施される。その際制御装置によって別の部分タスクプログラムにおいて予め計算された噴射時間は場合によっては、空燃比が理想値(λ=1)からほんの僅かしか異なっていないように補正される。部分タスクプログラムB2において適応混合気補正が計算される。酸素センサ18の信号評価に基づいている適応アルゴリズムは、内燃機関の所定の作動点における所要燃料量に対して基本特性マップから求められた値に対する補正値を計算しかつこの値を補正特性マップにエントリする。このようにして内燃機関および噴射アッセンブリの老化現象並びに製造公差を補償することができる。
部分タスクプログラムB3において機関回転数が計算される。その際、入力側19に加えられる回転数信号が評価される。
タスクプログラムCはクランク軸の基準点に関連した180°クランク軸角度毎にクランク軸適正に処理される。このことは4シリンダ内燃機関に対して当てはまる。タスクプログラムCに優先度4が割り当てられている。部分タスクプログラムC1において機関負荷が計算される。このことは、その時点の機関回転数および絞り弁ポテンショメータ17を用いて検出される絞り弁の位置、並びにその時点の吸入空気温度から得られる。
部分タスクプログラムC2において、内燃機関のその時点の作動点に対して所要燃料量が計算される。基本所要燃料量は、機関パラメータ機関回転数および機関負荷によって形成される基本特性マップから取り出される。
部分タスクプログラムC3において、特別な作動フェーズにおいて求められた濃縮係数ないし希薄化係数並びにλ制御の際に計算された補正量が基本所要燃料量において考慮される。引き続いて、所要燃料量の、電磁噴射弁に対する噴射時間への変換が行われる。それから噴射パルスのトリガが最終的に、計算された噴射時間に相応して調整設定されている計数器を含んでいる特別な回路を使用して行われる。このためにもはや別個の部分タスクプログラムは必要でない。
タスクプログラムDはイベント制御されて、点火の遮断の際にのみ活性化される。これには優先度5が割り当てられている。これは部分タスクプログラムD1,D2およびD3に細分化されている。部分タスクプログラムD1において、噴射弁および噴射ポンプが遮断される。部分タスクプログラムD2において、補正特性マップにエントリされている補正値が不揮発性メモリ22においてプログラミングされる。
部分タスクプログラムD3において、制御装置10の遮断が行われる。
すべての図示のタスクプログラムおよび部分タスクプログラムは、割り込み要求に対して特別な阻止がプログラミングされていない限りは、割り込みプログラムによって中断可能である。その場合タスクプログラムAおよびBの時間制御は、割り込み要求を用いても行われる。このために、ハードウェアによって周期的に、例えばミリ秒毎に生成される割り込みの割り込みサービスルーチンにおいてインクリメントされる、制御装置10における時間計数器23が利用される。この割り込みサービスルーチンにおいて、タスクプログラムAおよびBに対する活性化時点を備えたリストが検索される。このリストへのエントリが時間計数器23のその時点の計数器状態と一致するとき、相応のタスクプログラムが活性化される。ところで以下にこの点について一層正確に説明する。プログラムAおよびBに対する活性化時点のエントリを備えたリストは、連鎖状のリストとして実現されている。これにより通常の場合は、連鎖状のリストの第1のエレメントのみをその時点の計数器状態と比較しさえすればよい。第1のリストエレメントがその時点の計数器状態と一致している場合に対してのみ、後続のリストエレメントもリスト計数器状態と、一致がもはや存在しなくなるまでの間、比較しなければならない。
本発明の方法の実施のために、次に第5図ないし第7図に基づいて説明する所定の手段が必要である。個々のタスクプログラムA,B,C,Dの、複数の部分タスクプログラムへの細分化はソフトウェア開発者によって行われる。所属のプログラムコードはプログラムの作成後に、制御装置の固定値メモリ13にエントリされる。それ故に制御装置の固定値メモリ13には、個々の部分タスクプログラムA1ないしD3が個別に格納されている。このことは第6図に示されている。この図は、部分タスクプログラムA1ないしD3がすべて同じ大きさに図示されている点で簡単化されている。しかしこれらは異なった大きさを有していることもできる。それぞれのタスクプログラムに対して部分タスクプログラムポインタテーブル31ないし34が設けられている。これらのテーブルも固定値メモリ13に固定的に記憶されている。それぞれの部分タスクプログラムポインタテーブルにおいて、それぞれのタスクプログラムのそれぞれの部分タスクプログラムに対して、それぞれの部分タスクプログラムのプログラムコードの始めを指示するポインタがエントリされている。例として、タスクプログラムCに対するテーブル33を用いる。このテーブルにおいて、部分タスクプログラムC1に対するプログラムコードの始めを指示する部分タスクプログラムポインタZC1が設けられている。更に、部分タスクプログラムC2の始めを指示する部分タスクプログラムポインタZC2が設けられている。更になお、部分タスクプログラムC3の始めを指示する部分タスクプログラムポインタZC3が設けられている。
それぞれの部分タスクプログラムポインタテーブル31ないし34の終わりに更に、シーケンス制御にとって重要である部分タスクプログラムAEに対するポインタZAEが設けられている。その機能については後で一層詳しく説明する。
更に、固定値メモリ13には、記述するデータ構造35ないし38(タスクプログラム記述子)が設けられている。そこには、それぞれのタスクプログラムに対して、それぞれのタスクプログラムの優先度P1ないしP5に関する情報、即ち所属の部分タスクプログラムポインタテーブル31ないし34の第1の部分タスクプログラムポインタZA1ないしZD1に対するポインタZZA1ないしZZD1および所属のタスクプログラムのステータス語に対するポインタZSWAないしZSWDが設けられている。タスクプログラムの個々のステータス語SWAないしSWDは制御装置10の書き込み/読み出しメモリ12に記憶されている。それ故にタスクプログラムのステータス語は制御装置10の書き込み/読み出しメモリ12に記憶されている。その理由は、それらがプログラムシーケンスの期間に変化するプログラムエントリを受けるからである。タスクプログラム記述子35ないし38へのエントリに対する例として、この場合もタスクプログラムCを参照する。ポインタZZC1はテーブル33における第1のエントリを、即ち部分タスクプログラムポインタZC1を指示する。ポインタZSWCはタスクプログラムSWCのステータス語を指示する。更に、タスクプログラムCに対するタスクプログラム記述子37に、タスクプログラムに優先度4が属していることがエントリされる。タスクプログラム記述子35,36および38におけるエントリは第6図から説明しなくとも読み取ることができる。
更に、書き込み/読み出しメモリ12には、シーケンス制御テーブル40が設けられている。そこには優先度段階に従って整理されて、それぞれの活性化された、即ち状態“計算準備状態”または“計算状態”にあるタスクプログラムに対して、所属のタスクプログラム記述子の始めを指示するポインタZDAないしZDDおよび更に、部分タスクプログラム間の中断後に計算準備状態にあるタスクプログラムを続行すべきである部分タスクプログラムA1ないしD3のポインタZA1ないしZD3を指示するポインタがエントリされる。即ち、タスクプログラムが中断されたとき、シーケンス制御テーブル40には、中断後の次の部分タスクプログラムを表している部分タスクプログラムポインタを指示するポインタがエントリされている。タスクプログラムが状態“休止状態”から状態“計算準備状態”に移行したとき、シーケンス制御テーブル40はこのタスクプログラムに対して、相応の部分タスクプログラムポインタテーブル31ないし34の第1の部分タスクプログラムポインタZA1ないしZD1を指示するポインタを含んでいる。このシーケンス制御テーブルはプログラム初期化において零ポインタによって初期化される。
更に、制御装置10の書き込み/読み出しメモリ12にはなおテーブルポインタ39が設けられている。このテーブルポインタ39は常に、それが次の処理すべき部分タスクプログラムの部分タスクプログラムポインタを指示するようにセットされる。図示の例において、テーブルポインタ39は部分タスクプログラムポインタZB3を指示する。即ち、部分タスクプログラムB3は次に処理されるべきものである。テーブルポインタ39は部分タスクプログラムのその都度の処理後インクリメントされる。部分タスクプログラムの処理のその都度の終了後に実行される“ディスパッチャー”と称されるプログラム部分において、次に処理すべき部分タスクプログラムとして、インクリメントの前にテーブルポインタが指示していたところの部分タスクプログラムが選択される。次にこの手法をもう一度第5図のプログラムシーケンスに基づいて詳細に説明する。
時点t1においてマイクロ計算機11は部分タスクプログラムA1の処理を始める。この時点でテーブルポインタ39にはエントリZZA2が存在している。従って次に処理すべき部分タスクプログラムは部分タスクプログラムA2である。時点t2において部分タスクプログラムA1は終了する。それに続くデスパッチャー実行において、テーブルポインタ39がインクリメントされ、その結果テーブルポインタはエントリZZA3を得かつ時点t3において、テーブルポインタ39がそのインクリメントの前にポインタ連鎖(ZZA2→ZA2→A2)によって選択した部分タスクプログラムが呼び出される。これは部分タスクプログラムA2である。時点t4において時間計数器23の割り込みサービスルーチンが、この時点においてタスクプログラムBが活性化されるべきであることを確定する。この目的のために、割り込みサービスルーチンは、タスクプログラム活性化に権限のある作動系サービスを呼び出し、この作動系サービスがポインタZDBをタスクプログラム記述子36にかつポインタZZB1を部分タスクプログラムポインタZB1に優先度段階3に基づいてシーケンス制御テーブル40においてエントリする。そこでタスクプログラムBは系における最高優先度の準備されたタスクプログラムであるので、テーブルポインタ39に値ZZB1をロードすることによって、このタスクプログラムとの交代が実行中の部分タスクプログラムA2の終了時に用意される。タスクプログラムAはその処理の期間中に中断されるので、このタスクプログラムAが後に部分タスクプログラムA3によって続行することができるように、優先度段階1においてポインタZZA3がエントリされる。その他の優先度段階に対するエントリは変化せずに留まり、即ちそこには零ポインタがエントリされる。シーケンス制御テーブル40におけるエントリは第7図に図示されている。
本発明によれば、部分タスクプログラムA2はその後漸く完全に処理される。時点t5において、部分タスクプログラムA2の処理は終了する。それらから引き続いて再び、テーブルポインタ39をインクリメントするディスパッチャーが実行される。従ってインクリメント後、テーブルポインタ39は値ZZB2を指示する。従ってタスクプログラムAは状態“計算する”から状態“計算準備”に移行する。それから時点t6において部分タスクプログラムB1の処理が始まる。
時点t7において、加えられる回転数信号に基づいてマイクロ計算機11において割り込み要求が出される。この割り込み信号は、180°のクランク軸角度の角度間隔が終了したことを指示する。所属の割り込みサービスルーチンにおいて、タスクプログラムCを活性化しかつシーケンス制御テーブル40を相応に更新する作動系サービスが呼び出される。優先度段階4に対して、ポインタZDCがタスクプログラム記述子37の始めにエントリされかつポインタZZC1が、タスクプログラムCの部分タスクプログラムポインタZC1にエントリされる。これによりタスクプログラムCが活性化されることになる。タスクプログラムBは部分タスクプログラムB2の処理後中断されるので、優先度段階3においてポインタZZB3がエントリされる。これらのエントリは第7図から分かるようになっている。更に、テーブルポインタ39はシーケンス制御テーブル40における最大のエントリに相応して値ZZC1にセットされる。部分タスクプログラムB2の処理の終了後、相応に部分タスクプログラムC1が次のものとして処理される。これらの部分タスクプログラム間の交代は、部分タスクプログラムA2とB2との間の交代の際に説明したのと同じ手法で行われる。時点t8で部分タスクプログラムC1の処理が行われる。タスクプログラムCは、中間時間において別のタスクプログラムの処理が要求されることなく、完全に終わりまで実行される。
時点t9におけるタスクプログラムCの終了後、再びデスパッチャーが実行され、それはテーブルポインタ39をインクリメントしかつテーブルポインタ39の値によってそのインクリメントの前に選択される次に処理すべき部分タスクプログラムを呼び出す。それは、タスクプログラムの終了のためにその都度呼び出される部分タスクプログラムAEである。ここにおいてシーケンス制御テーブル40は更新される。タスクプログラムCは終了したので、シーケンス制御テーブル40において優先度段階4の元に零ポインタがエントリされる。引き続いて、シーケンス制御テーブル40からポインタZZB3が取り出されかつテーブルポインタ39にエントリされる。即ち、タスクプログラムBがこの時点において、状態“計算準備”にあるすべてのタスクプログラムのうち最高の優先度のものを呼び出す。引き続いて時点t10において、部分タスクプログラムB3が処理される。その処理後、再び、部分タスクプログラムAEが呼び出される。ここにおいて優先度段階3の元で、零ポインタがシーケンス制御テーブル40にエントリされる。テーブルポインタ39においてポインタZZA3が部分タスクプログラムポインタZA3にエントリされる。
時点t11において、制御装置10のマイクロ計算機11に、点火キーの、位置“オフ”への回転によって入力側20を介して、点火が遮断されかつ制御プログラムが終了されるべきであることが信号報知される。その場合所属の割り込みサービスルーチンにおいて再び、タスクプログラム活性化にとって権限のある作動系サービスが呼び出され、それは、シーケンス制御テーブル40において優先度段階5に対して、ポインタZDDをタスクプログラム記述子38の始めにエントリしかつポインタZDD1を第1の部分タスクプログラムポインタZD1にエントリする。このことは、タスクプログラムBおよびCの活性化に対して上述したのと同じように行われる。
テーブルポインタ39に、部分タスクプログラムポインタZD1のアドレスZZD1をロードすることによって、その時最高の優先度の、準備状態のタスクプログラムDとの交代が準備される。この交代は、まだ処理中の部分タスクプログラムA3の終了後に行われる。
引き続いてタスクプログラムD1,D2およびD3が、既述したように順次処理される。タスクプログラム交代はもはや行われない。シーケンス制御テーブル40ももはや更新されない。時点t12においてプログラムシーケンスは完全に終了する。燃料噴射制御装置は遮断されている。
第8図には、タスクプログラムに対するステータス語の一般的な構成が図示されている。メモリ個所45に1がエントリされているとき、このことは、所属のタスクプログラムが状態“休止”にあることを表している。メモリ個所46に“1”がエントリされているとき、このことは、所属のタスクプログラムが状態“計算準備”にあることを表している。メモリ個所47に“1”がエントリされているとき、このことは、所属のタスクプログラムが状態“計算”にあることを表している。メモリ個所48に“1”がエントリされているとき、このことは、所属のタスクプログラムが中断されたことを表している。メモリ個所49は待機リストインデックスエントリのために設けられている。即ち、タスクプログラムの処理が新たに要求されるとき、活性化のために権限のある作動系サービスにおいて、同じ優先度を有しているタスクプログラムが既に活性化されている(シーケンス制御テーブルにおける相応のエントリは零に等しくない)ことが検出されることが起こり得る。この場合、新たに活性化されたタスクプログラムは待機ループ内に編入されかつそのステータス語に、このタスクプログラムがこの優先度に該当する待機ループ内にどの位置をとっているかを指示する情報がエントリされる。それから同じ優先度を有する複数のプログラムが活性化されている場合に、最高の優先度を有するタスクプログラムに対する後の検索の際に、待機ループ内のそれぞれのタスクプログラムの位置も考慮される。このような場合常に、最も長い待機時間を有するタスクプログラムが次のものとして呼び出される。その場合相応に、シーケンス制御テーブル40も拡張されなければならず、その結果それぞれの優先度段階に対して、待機時間後に整理された、タスクプログラムに対する待機ループの始めおよび終わりに対するポインタをエントリすることができる。零ポインタは、まさにその時待機しているタスクプログラムがこの優先度段階にないことを指示するものである。
次に更に、請求項1に記載の本発明のシーケンス制御原理(中断は終了された部分タスクプログラム間でのみ行われる)に従って必ずしもすべてのタスクプログラムが処理されない実施例について説明する。請求項15に記載の組み合わされたシーケンス制御方法に対するこの実施例では、2,3のタスクプログラムがより低い優先度を有する別のタスクプログラムをその都度任意の個所で中断できることが許容されており、即ち、プリエンプティブなスケジューリングと称されるシーケンス制御原理に従って管理される。即ち、この本発明による組み合わされたシーケンス制御方法では、別のより低いタスクプログラムをそれぞれ任意の個所において中断することが許されるタスクプログラムおよび更に、別のより低いタスクプログラムを終了された部分タスクプログラム間でのみ中断することが許されるタスクプログラムがある。第9a図には、この関係が示されている。そこには、優先度スケール上に、それぞれの優先度を有するタスクプログラムが線分によって図示されている。その際タスクプログラムは優先度群G1〜G5に細分化されている。優先度群G1は、すべて同じ優先度段階1を有するタスクプログラムから成っている。優先度群G2は、優先度段階2〜6の1つが割り当てられているタスクプログラムから成っている。優先度群G3は、優先度段階7が割り当てられているタスクプログラムから成っている。優先度群G4は、優先度段階8が割り当てられているタスクプログラムから成っている。優先度群G5は、優先度段階9〜11の1つが割り当てられているすべてのタスクプログラムに関する。その場合タスクプログラムのこの細分化の際のシーケンス制御に対して次のことが当てはまる:優先度群G2のタスクプログラムは、同じ優先度群G2の低い優先度のタスクプログラムを、2つの終了された部分タスクプログラム問でのみ中断することができる。即ち、優先度群G2からのタスクプログラムの処理の期間に、同じ優先度群G2から1つのタスクプログラムの要求が現れるとき、その時丁度計算しているタスクプログラムはただちには中断されず、計算中の部分タスクプログラムの処理が終了した後漸く中断される。これに対して優先度群G1のタスクプログラムがその時状態“計算”にあり、かつ優先度群G2から1つのタスクプログラムの要求が生じるとき、その時丁度計算中のタスクプログラムはこの場合はただちに中断される。優先度群G5から比較的高い優先度のタスクプログラムはこの場合も、同じ優先度群G5からの比較的低い優先度のタスクプログラムをただちには中断せずに、完了した部分タスクプログラムの間でのみ中断する。
第9b図には、第9a図と等価の例が図示されている。ここではタスクプログラムに優先度段階が割り当てられているのみならず、場合により更にサブ優先度段階も割り当てられている。メイン優先度段階1,3,4にはサブ優先度段階がそれ以上設定されていない。この特別な例は、1つのエレメントしか有していない“変質された”優先度群G1,G3,G4に相応する。
第10図には、典型的な複雑な制御プログラムのタスクプログラムの、優先度群への非常に実際に適った分割が図示されている。優先度群G6は、優先度段階1〜7の全部のタスクプログラムから成っている。即ち、優先度群G6には、中位ないし低い実時間要求が設定されるタスクプログラムすべてがまとめられている。この理由からこれらタスクプログラムはまた最低の優先度を有している。その際非常に厳しい実時間要求およびこれに相応して高い優先度を有するすべてのタスクプログラムは、それぞれ1つの優先度段階しか有していない変質された優先度群G7およびG8にまとめられている。この構成では、その優先度が優先度しきい値と等しいかまたはそれより高いすべてのタスクプログラムが別のより低い優先度のタスクプログラムをその都度任意の個所で(プリエンプティブに)中断することができるようにする優先度しきい値が存在している。僅かなタスクプログラムしか、別のタスクプログラムをその都度任意の個所で(プリエンプティブに)中断することを許されていないようにしたことで、スタックメモリに対する所要RAMおよびタスクプログラム同期化およびデータ安定性の保証に対するコストがほどほどに維持される。
第11図には、第10図のタスクプログラムの分割と関連した中断要求の3つの可能な例が示されている。第11a図において、優先度群G6からのタスクプログラムが処理される。このタスクプログラムは部分タスクプログラムに細分化されている。時点tUにおいて、優先度6を有するタスクプログラムの処理が要求される。しかしこのタスクプログラムはその時丁度計算中のタスクプログラムをただちに中断することはできず、その結果優先度6を有するタスクプログラムが処理される前に、まず、計算中のタスクプログラムの部分タスクプログラムが終了される。
第11b図には、丁度その時優先度6のタスクプログラムが処理される例が示されている。時点tUにおいて、優先度段階8からのタスクプログラムの処理に対する要求が出される。このタスクプログラムは丁度その時計算中のタスクプログラムをただちに中断しかつ即刻処理を行う。中断された部分タスクプログラムは引き続いて続行される。
第11c図では、優先度段階8のタスクプログラムが処理される例が考察される。時点tUにおいて、優先度段階5を有するタスクプログラムの処理のための要求が出される。この場合計算中のタスクプログラムの中断は行われない。計算中のタスクプログラムがまず完全に処理されかつその後優先度G6からのタスク、プログラムが処理されるようになる。
複雑な制御プログラムの、複数のタスクプログラムへの細分化およびタスクプログラムの少なくとも一部の、部分タスクプログラムへの細分化は、それぞれの用途に依存しておりかつ形式および数とも著しく変えることができる。
データオブジェクトに対する参照としてのポインタの使用は、本発明の方法の実施のためには必ずしも必要でない。それに代わって、データオブジェクトはテーブルに格納することができ、その結果参照として、データオブジェクトのテーブルインデックスを用いることができる。
Claims (16)
- 制御プログラムを制御装置のマイクロ計算機によって処理し、該制御プログラムは複数のタスクプログラムに細分化されており、タスクプログラムに優先度および活性化イベントを割り当て、かつ
タスクプログラムの処理は、より高い優先度のタスクプログラムに対する処理要求が後から生じると中断されかつ該中断されたタスクプログラムの処理は該より高い優先度のタスクプログラムの処理の終了後に続行され、かつ
少なくとも1つのタスクプログラム(A,B,CまたはD)を、一連の部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3)に細分化し、かつ要求されたより高い優先度のタスクプログラム(A,B,C,D)の処理に対する要求が出されている間に処理されている前記部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3)の処理が完全に終わりまで実施されたときに漸く始める
車両における内燃機関に対する燃料噴射制御方法において、
次に処理すべき部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3)についての情報を含んでいるテーブルポインタ(39)を設け、
より高い優先度のタスクプログラム(A,B,C,D)を処理するという要求の到来の際に、前記テーブルポインタ(39)に、該より高い優先度のタスクプログラム(A,B,C,D)の第1の部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3)に関する情報をエントリし、
かつ前記部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3)の終了後、前記テーブルポインタ(39)に情報がエントリされている部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3)によって制御プログラムの処理を続行し、その際
前記テーブルポインタ(39)は部分タスクプログラム(A1ないしD3)の処理後、前以て決められた値だけインクリメントされ、その結果テーブルポインタも、この時点において次に処理すべき部分タスクプログラムとして該当する部分タスクプログラム(A1ないしD3)の部分タスクプログラムポインタ(ZA1ないしZD3)を指示しかつその部分タスクプログラムポインタ(ZA1ないしZD3)を前記テーブルポインタ(39)がインクリメントの前に指示していたところの部分タスクプログラム(A1ないしD3)が処理される
ことを特徴とする方法。 - 前記少なくとも1つのタスクプログラム(AないしD)の一連の部分タスクプログラム(A1ないしD3)をシーケンス観点に従ってまとめ、かつシーケンス観点として、プログラムスタート、プログラム終了、時間周期のシーケンス、角度周期のシーケンス、または外部または内部のイベントの到来のような、タスクプログラム処理に対する要求のきっかけ、これらに関連した緊急性並びに前記部分タスクプログラム(A1ないしA3)間の同期化条件を考慮する
請求項1記載の方法。 - それぞれの部分タスクプログラム(A1ないしD3)を、マイクロ計算機(11)によるその処理の時間が前以て決められた限界値を上回らない程度の範囲でのみ構成する
請求項1または2記載の方法。 - 少なくとも1つのタスクプログラム(AないしD)に対して、少なくとも1つの部分タスクプログラムポインタテーブル(31ないし34)を設け、該部分タスクプログラムポインタテーブルにおいてそれぞれの部分タスクプログラム(A1ないしD3)に対して部分タスクプログラムポインタ(ZA1ないしZD3)を設け、該部分タスクプログラムポインタはそれに属する部分タスクプログラム(A1ないしD3)の始めを指示し、
前記テーブルポインタ(39)は前記部分タスクプログラムポインタテーブル(31ないし34)においてそれぞれ前記部分タスクプログラムポインタ(ZA1ないしZD3)を指示し、該部分タスクプログラムポインタの方は、この時点において次に処理すべき部分タスクプログラムとして該当する部分タスクプログラム(A1ないしD3)を指示する
請求項1から3までのいずれか1項記載の方法。 - 部分タスクプログラムポインタテーブル(31ないし34)のそれぞれ最後の部分タスクプログラムポインタ(ZAE)を、それが所定の部分タスクプログラム(AE)を指示するように配向し、該所定の部分タスクプログラムの処理の期間に、前記テーブルポインタ(39)を再び正しく、有効な部分タスクプログラムポインタ(ZA1ないしZD3)に配向する
請求項4記載の方法。 - 少なくとも1つのタスクプログラム(AないしD)に、タスクプログラム(AないしD)の優先度と、所属の部分タスクプログラムポインタテーブル(31ないし34)の始めに対するポインタ(ZZA1ないしZZD1)と、タスクプログラム(AないしD)の処理ステータスに関する情報とを含んでいる、記述用データストラクチャ(35ないし38)を割り当てかつそのアドレスを、所属のタスクプログラム(AないしD)に対する参照および識別子として用いる
請求項1から5までのいずれか1項記載の方法。 - タスクプログラム(AないしD)に対して、3つの状態“休止状態”(50),“計算準備状態”(51)および“計算状態”(52)のみを設定する請求項1から6までのいずれか1項記載の方法。
- 処理するよう要求されたタスクプログラム(AないしD)を管理するためのシーケンステーブル(40)を設け、該シーケンステーブルは優先度に応じて整理されておりかつ処理中または処理するよう要求されたタスクプログラム(AないしD)に関する情報を含んでおり、かつ前記シーケンステーブル(40)においてそれぞれの優先度に対して、この優先度段階において処理するよう要求されたタスクプログラム(AないしD)の記述用データストラクチャ(35ないし38)に対するポインタ(ZDAないしZDD)および前記部分タスクプログラムポインタテーブル(31ないし34)のポインタ(ZA1ないしZD3)に対するポインタ(ZZA1ないしZZD3)を記憶し、該ポインタは、この優先度段階の処理するよう要求されたタスクプログラム(AないしD)に対して部分タスクプログラム(A1ないしD3)を特徴付け、該部分タスクプログラムによって、処理するよう要求されたタスクプログラム(AないしD)が後のタスクプログラム交代の際にスタートされるべきであるかまたは行われた中断の後に続行されるべきでありかつ更に、相応の優先度段階においてタスクプログラム(AないしD)が処理されるよう要求されていないとき、前記シーケンス制御テーブル(40)に零ポインタをエントリする
請求項1から7までのいずれか1項記載の方法。 - その優先度がこの時点において処理するよう要求された最高の優先度のタスクプログラム(AないしD)の優先度より小さいタスクプログラム(AないしD)を処理するという要求の都度、このタスクプログラム(AないしD)に属する記述用データストラクチャ(35ないし38)に対するポインタ(ZDAないしZDD)並びに所属の部分タスクプログラムポインタテーブル(31ないし34)の始めに対するポインタ(ZZA1ないしZZD1)を前記シーケンス制御テーブル(40)において所属の優先度段階の元に記憶し、かつその優先度がこの時点(t4)において処理するよう要求された最高の優先度のタスクプログラム(A)の優先度より大きいタスクプログラム(B)を処理するという要求の都度、前記テーブルポインタ(39)のその時点の値を前記シーケンス制御テーブル(40)において相応する優先度段階の元に記憶しかつ所属の記述用データストラクチャ(36)に対するポインタ(ZDB)および処理するよう要求されたタスクプログラム(B)の所属の部分タスクプログラムポインタテーブル(32)の始めに対するポインタ(ZZB1)を相応する優先度段階の元に記憶し、かつ前記テーブルポインタ(39)を、処理するよう要求されたタスクプログラム(B)の部分タスクプログラムポインタテーブル(32)の第1のポインタ(ZB1)に配向し、これにより丁度その時計算中の部分タスクプログラム(A2)の処理後のタスクプログラム交代を準備する
請求項8記載の方法。 - タスクプログラム(C,B)の終了の都度、前記シーケンス制御テーブル(40)における当該の優先度段階での所属のエントリを消去しかつ前記シーケンス制御テーブル(40)を下降する優先度の方向においてその時最高の優先度のタスクプログラム(B,A)を検索しかつ前記テーブルポインタ(39)に、前記シーケンス制御テーブル(40)に新たな優先度段階においてエントリされた値をロードしかつこれにより該テーブルポインタ(39)がその時の最高の優先度のタスクプログラム(B,A)の部分タスクプログラムポインタテーブル(32,33)の部分タスクプログラムポインタ(ZB3,ZA3)に配向されるようにし、これにより当該タスクプログラムが次の部分タスクプログラム交代の際に、計算する状態(52)に移行される
請求項9記載の方法。 - 前記シーケンス制御テーブル(40)をそれぞれの優先度段階に対して1つのファースト・イン・ファースト・アウトメモリだけ拡張し、該メモリは、同じ優先度段階のタスクプログラム(AないしD)が既に処理するように要求されているとき、次のようにして或る優先度段階の更に別のタスクプログラム(AないしD)を要求することができることを可能にし、即ちこの優先度段階におけるタスクプログラム(AないしD)の処理のための別の要求の際に、所属の記述用データストラクチャ(35ないし38)に対するポインタ(ZDAないしZDD)を前記ファースト・イン・ファースト・アウトメモリにエントリし、かつこの優先度段階におけるタスクプログラム(AないしD)の終了の際に、最も長い待機時間を有する前記タスクプログラム(AないしD)の記述用データストラクチャ(35ないし38)に対するポインタを前記ファースト・イン・ファースト・アウトメモリから取り出し、そこを消去し、かつ前記シーケンス制御テーブル(40)にエントリし、かつ前記所属のタスクプログラム(AないしD)を、この間により高い優先度のタスクプログラムを処理するという要求が出ていない限り、前記テーブルポインタ(39)をこのタスクプログラム(AないしD)に属する部分タスクプログラムポインタテーブル(31ないし34)の第1のポインタ(ZA1ないしZD1)に配向することによって、次の部分タスクプログラム交代の際に計算状態に移行する
請求項8から10までのいずれか1項記載の方法。 - あるタスクプログラム(AないしD)において、そうでない場合にはその他のタスクプログラム(AないしD)によって中断不能である部分タスクプログラム(A1ないしD3)内においても、その他のタスクプログラム(AないしD)による中断個所を次のようにして形成し、即ちこの個所において、この目的に対して設定された作動系サブプログラムを呼び出し、該サブプログラムがより高い優先度の要求されたタスクプログラムの処理を惹き起こしかつ引き続いて再び中断された部分タスクプログラムに再び戻り、その際前記中断された部分タスクプログラム(A1ないしD3)の一時的なデータをスタックメモリに記憶されたままにしておく
請求項1から11までのいずれか1項記載の方法。 - 前記中断個所を、前記作動系サブプログラムによって分離された、部分タスクプログラム(A1ないしD3)の一部の処理に対する時間が前以て決められた限界値を上回らない程度に設定する
請求項12記載の方法。 - より低い優先度の別のタスクプログラム(AないしD)を終了した部分タスクプログラム(A1ないしD3)の間でのみまたはその他のタスクプログラム(AないしD)による中断個所において中断することができるタスクプログラム(AないしD)の他に、所定数のタスクプログラム(EないしH)も、それらが別のより低い優先度のタスクプログラム(AないしG)を任意の個所において中断することができるように、管理する
請求項1から13までのいずれか1項記載の方法。 - タスクプログラムを、交差しない優先度群(G1〜G8)にまとめ、その際1つの優先度群(G1〜G8)は少なくとも、1つの個別タスクプログラムまたは隣接する優先度段階を有する複数のタスクプログラムから構成されかつシーケンス制御のために次の規則を遵守し:
a)優先度群(G2,G5,G6)のタスクプログラムは、同じ優先度群(G2,G5,G6)からのより低い優先度を有する別のタスクプログラムを、2つの部分タスクプログラムの間でのみおよび/または挿入されるその他のプログラム(AないしD)による中断個所において中断することができ、
b)優先度群(G2〜G8)のタスクプログラムは、別の優先度群(G1〜G7)からのより低い優先度を有する別のタスクプログラムを任意の個所で中断することができ、
c)優先度群(G1〜G8)のタスクプログラムは、より高いまたは同じ優先度を有する同じまたは別の優先度群(G1〜G8)からのタスクプログラムを中断することができない
請求項14記載の方法。 - タスクプログラムの、優先度群(G1〜G8)への分配を、その優先度が前以て決められた優先度しきい値(PS)を下回るすべてのタスクプログラムが1つの優先度群(G6)にまとめられかつすべてのその他のタスクプログラムがそれぞれ、同じ優先度段階の僅か1つまたは複数のタスクプログラムを有する別個の優先度群(G7,G8)を形成するように行う
請求項15記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4425431 | 1994-07-19 | ||
DE19500957A DE19500957A1 (de) | 1994-07-19 | 1995-01-14 | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
DE19500957.6 | 1995-01-14 | ||
DE4425431.8 | 1995-01-14 | ||
PCT/DE1995/000903 WO1996002883A1 (de) | 1994-07-19 | 1995-07-11 | Verfahren zur steuerung von technischen vorgängen oder prozessen |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10502751A JPH10502751A (ja) | 1998-03-10 |
JP3801630B2 true JP3801630B2 (ja) | 2006-07-26 |
Family
ID=25938470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50458696A Expired - Fee Related JP3801630B2 (ja) | 1994-07-19 | 1995-07-11 | 車両における内燃機関に対する燃料噴射制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6260058B1 (ja) |
EP (1) | EP0771444B1 (ja) |
JP (1) | JP3801630B2 (ja) |
DE (2) | DE19500957A1 (ja) |
WO (1) | WO1996002883A1 (ja) |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3832517B2 (ja) * | 1996-07-05 | 2006-10-11 | セイコーエプソン株式会社 | ロボット用コントローラ及びその制御方法 |
GB2315888A (en) | 1996-07-31 | 1998-02-11 | Ibm | Controlling the degree of parallelism when performing parallel processing on an inherently serial computer program |
US5957985A (en) * | 1996-12-16 | 1999-09-28 | Microsoft Corporation | Fault-resilient automobile control system |
US6637032B1 (en) | 1997-01-06 | 2003-10-21 | Microsoft Corporation | System and method for synchronizing enhancing content with a video program using closed captioning |
US6535878B1 (en) * | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
DE19731116A1 (de) | 1997-07-19 | 1999-01-28 | Bosch Gmbh Robert | Steuergerät für ein System und Verfahren zum Betrieb eines Steuergerätes |
DE19744230B4 (de) * | 1997-10-07 | 2007-10-25 | Robert Bosch Gmbh | Steuergeräte für ein System und Verfahren zum Betrieb eines Steuergeräts |
FR2779595B1 (fr) * | 1998-06-08 | 2000-07-21 | Thomson Multimedia Sa | Procede de gestion de priorites d'acces a des ressources dans un reseau domestique et appareil de mise en oeuvre |
US7370325B1 (en) * | 1999-02-19 | 2008-05-06 | Lucent Technologies Inc. | Eager evaluation of tasks in a workflow system |
DE19915850C1 (de) * | 1999-04-08 | 2000-06-21 | Siemens Ag | Verfahren zum Abarbeiten mehrerer Befehlslisten in einer Datenverarbeitungsanlage |
US6662364B1 (en) * | 1999-11-05 | 2003-12-09 | Hewlett-Packard Company, L.P. | System and method for reducing synchronization overhead in multithreaded code |
US7099855B1 (en) | 2000-01-13 | 2006-08-29 | International Business Machines Corporation | System and method for electronic communication management |
US20010034558A1 (en) * | 2000-02-08 | 2001-10-25 | Seagate Technology Llc | Dynamically adaptive scheduler |
US6408277B1 (en) | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US8290768B1 (en) | 2000-06-21 | 2012-10-16 | International Business Machines Corporation | System and method for determining a set of attributes based on content of communications |
US9699129B1 (en) | 2000-06-21 | 2017-07-04 | International Business Machines Corporation | System and method for increasing email productivity |
DE10044319A1 (de) | 2000-09-07 | 2002-03-21 | Bosch Gmbh Robert | Elektronisches System für ein Fahrzeug und Systemschicht für Betriebsfunktionen |
DE10061001B4 (de) | 2000-12-08 | 2005-05-04 | Robert Bosch Gmbh | Verfahren und Steuergerät zur Steuerung von technischen Vorgängen in einem Kraftfahrzeug, sowie Speicherelement und Steuerprogramm hierfür |
JP3578082B2 (ja) * | 2000-12-20 | 2004-10-20 | 株式会社デンソー | 処理実行装置及び記録媒体 |
US6941175B2 (en) * | 2000-12-27 | 2005-09-06 | Siemens Aktiengesellschaft | Method of operating an industrial controller |
DE10065419B4 (de) * | 2000-12-27 | 2011-01-20 | Siemens Ag | Industrielle Steuerung mit taktsynchronem Ablaufebenenmodell |
DE10065417B4 (de) * | 2000-12-27 | 2011-07-21 | Siemens AG, 80333 | Programmierung von zyklischen Maschinen |
DE10065498B4 (de) * | 2000-12-28 | 2005-07-07 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms |
US7644057B2 (en) | 2001-01-03 | 2010-01-05 | International Business Machines Corporation | System and method for electronic communication management |
EP1243987B1 (de) * | 2001-03-19 | 2011-10-05 | Siemens Enterprise Communications GmbH & Co. KG | Verfahren und Anordnung zur Steuerung der Ausführung von Teilaufgaben eines Prozesses |
KR100429551B1 (ko) * | 2002-01-03 | 2004-04-29 | 삼성전자주식회사 | 통신장비에서 계층 구조를 가지는 이벤트들을 처리하는 방법 |
DE10228064B4 (de) * | 2002-06-17 | 2005-08-11 | Robert Bosch Gmbh | Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms |
DE10229676B4 (de) * | 2002-06-27 | 2013-05-29 | Robert Bosch Gmbh | Verfahren zur Steuerung des Ablaufs eines multitaskingfähigen Computerprogramms |
DE10229686A1 (de) * | 2002-06-27 | 2004-01-22 | Robert Bosch Gmbh | Verfahren und Steuergerät zur Steuerung des Ablaufs eines multitaskingfähigen Computerprogramms |
DE10234050A1 (de) * | 2002-07-26 | 2004-02-05 | Abb Patent Gmbh | System und Verfahren zum Erzeugen eines Steuerprogramms |
US20040128700A1 (en) * | 2002-12-30 | 2004-07-01 | Ming-Da Pan | Viewing selection management system |
JP2004220326A (ja) * | 2003-01-15 | 2004-08-05 | Denso Corp | 制御ソフトウエア構造およびこの構造を用いた制御装置 |
FR2854263A1 (fr) * | 2003-04-24 | 2004-10-29 | St Microelectronics Sa | Procede d'execution de taches concurrentes par un sous-systeme gere par un processeur central |
US8495002B2 (en) | 2003-05-06 | 2013-07-23 | International Business Machines Corporation | Software tool for training and testing a knowledge base |
JP2005005909A (ja) * | 2003-06-10 | 2005-01-06 | Sony Ericsson Mobilecommunications Japan Inc | 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 |
WO2005013130A1 (ja) * | 2003-08-04 | 2005-02-10 | Hitachi, Ltd. | リアルタイム制御システム |
JP3816497B2 (ja) * | 2004-02-13 | 2006-08-30 | 株式会社東芝 | 情報処理装置 |
JP2005301812A (ja) * | 2004-04-14 | 2005-10-27 | Hitachi Ltd | デジタル制御装置およびこれを用いたエンジン制御装置 |
DE102004045189B4 (de) * | 2004-09-17 | 2007-04-12 | Siemens Ag | Verfahren und Anordnung zur Erzeugung motorsynchroner digitaler Signale |
KR100621091B1 (ko) * | 2004-09-24 | 2006-09-19 | 삼성전자주식회사 | 의존성 관리 장치 및 방법 |
DE102004051758A1 (de) * | 2004-10-23 | 2006-04-27 | Daimlerchrysler Ag | Planung von Prozessabläufen in Fahrsystemeinrichtungen |
US8214844B2 (en) * | 2005-04-29 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Systems and methods for adjusting service queue capacity |
FR2889329B1 (fr) * | 2005-07-29 | 2007-10-19 | Airbus France Sas | Procede de sequencement automatique des specifications d'un calculateur, notamment pour aeronef |
CN1940858B (zh) * | 2005-09-26 | 2011-06-15 | 深圳市朗科科技股份有限公司 | 媒体播放装置上实现多任务的方法 |
US20070226536A1 (en) * | 2006-02-06 | 2007-09-27 | Crawford Timothy J | Apparatus, system, and method for information validation in a heirarchical structure |
US8239869B2 (en) * | 2006-06-19 | 2012-08-07 | Condusiv Technologies Corporation | Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources |
CA2654423A1 (en) * | 2006-06-19 | 2007-12-27 | Diskeeper Corporation | Computer micro-jobs |
US8056083B2 (en) * | 2006-10-10 | 2011-11-08 | Diskeeper Corporation | Dividing a computer job into micro-jobs for execution |
US9588809B2 (en) * | 2006-10-10 | 2017-03-07 | Invistasking LLC | Resource-based scheduler |
EP1878783A1 (en) * | 2006-07-14 | 2008-01-16 | BIOeCON International Holding N.V. | Modified biomass comprising synthetically grown carbon fibers |
WO2008009368A1 (en) * | 2006-07-21 | 2008-01-24 | Sony Service Centre (Europe) N.V. | System and method of prioritising tasks |
US8212805B1 (en) | 2007-01-05 | 2012-07-03 | Kenneth Banschick | System and method for parametric display of modular aesthetic designs |
US7950014B2 (en) * | 2007-06-01 | 2011-05-24 | Microsoft Corporation | Detecting the ready state of a user interface element |
US20090165009A1 (en) * | 2007-12-19 | 2009-06-25 | Three Palm Software | Optimal scheduling for cad architecture |
EP2120143B1 (de) * | 2008-05-13 | 2011-08-31 | dspace digital signal processing and control engineering GmbH | Verfahren zur Ausführung von Tasks zur Berechnung eines zu simulierenden Signals in Echtzeit |
US9772887B2 (en) * | 2008-06-02 | 2017-09-26 | Microsoft Technology Learning, LLC | Composable and cancelable dataflow continuation passing |
JP5644949B2 (ja) * | 2011-09-12 | 2014-12-24 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
US10095526B2 (en) * | 2012-10-12 | 2018-10-09 | Nvidia Corporation | Technique for improving performance in multi-threaded processing units |
EA201301239A1 (ru) * | 2013-10-28 | 2015-04-30 | Общество С Ограниченной Ответственностью "Параллелз" | Способ размещения сетевого сайта с использованием виртуального хостинга |
JP6117120B2 (ja) * | 2014-01-17 | 2017-04-19 | 株式会社東芝 | イベント管理装置、イベント管理方法およびモータシステム |
US9348645B2 (en) * | 2014-05-30 | 2016-05-24 | Apple Inc. | Method and apparatus for inter process priority donation |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9413626B2 (en) | 2014-12-05 | 2016-08-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US10901415B1 (en) | 2015-05-26 | 2021-01-26 | Waymo Llc | Non-passenger requests for autonomous vehicles |
US9368026B1 (en) | 2015-05-26 | 2016-06-14 | Google Inc. | Fallback requests for autonomous vehicles |
DE102015212709B4 (de) * | 2015-07-07 | 2020-03-05 | Mtu Friedrichshafen Gmbh | Verfahren zum Betreiben einer Brennkraftmaschine, Steuereinrichtung für eine Brennkraftmaschine und Brennkraftmaschine |
KR102079499B1 (ko) | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
CN107491351B (zh) * | 2016-06-13 | 2021-07-27 | 阿里巴巴集团控股有限公司 | 一种基于优先级的资源分配方法、装置和设备 |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10725826B1 (en) * | 2017-06-21 | 2020-07-28 | Amazon Technologies, Inc. | Serializing duration-limited task executions in an on demand code execution system |
DE102018207175A1 (de) * | 2018-05-08 | 2019-11-14 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Aktivieren von Tasks in einem Betriebssystem |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
DE102018125090A1 (de) * | 2018-10-10 | 2020-04-16 | Beckhoff Automation Gmbh | Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11305810B2 (en) | 2020-04-24 | 2022-04-19 | Steering Solutions Ip Holding Corporation | Method and system to synchronize non-deterministic events |
CN112286097B (zh) * | 2020-10-28 | 2022-07-26 | 湖南汽车工程职业学院 | 智能驾驶单片机控制方法、系统及计算机存储介质 |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
EP4012516A1 (de) | 2020-12-10 | 2022-06-15 | Schneider Electric Industries SAS | Ausführungsumgebung für eine speicherprogrammierbare steuerung |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
JP7241989B1 (ja) * | 2022-06-07 | 2023-03-17 | 三菱電機株式会社 | プログラム作成装置、プログラム作成方法及びプログラム |
EP4293437A1 (de) * | 2022-06-15 | 2023-12-20 | Schneider Electric Industries SAS | Verfahren und vorrichtung zum steuern des ablaufs von programmteilen, programmierverfahren, programmiervorrichtung |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56105507A (en) * | 1980-01-25 | 1981-08-22 | Hitachi Ltd | Control method of engine |
US4736318A (en) * | 1985-03-01 | 1988-04-05 | Wang Laboratories, Inc. | Data processing system having tunable operating system means |
US4954948A (en) * | 1986-12-29 | 1990-09-04 | Motorola, Inc. | Microprocessor operating system for sequentially executing subtasks |
JPH0789350B2 (ja) * | 1987-02-23 | 1995-09-27 | 日本電気ホームエレクトロニクス株式会社 | 実時間多重処理方式 |
US5193189A (en) * | 1987-10-07 | 1993-03-09 | Allen-Bradley Company, Inc. | Programmable controller with multiple priority level task processing |
US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
JP2793993B2 (ja) * | 1990-04-05 | 1998-09-03 | 株式会社ゼクセル | マイクロコンピュータにおけるプログラム暴走検出方法 |
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
FR2696259A1 (fr) * | 1992-09-30 | 1994-04-01 | Apple Computer | Organisation en tâches et en modules d'une exécution dans un processeur. |
US5428779A (en) * | 1992-11-09 | 1995-06-27 | Seiko Epson Corporation | System and method for supporting context switching within a multiprocessor system having functional blocks that generate state programs with coded register load instructions |
JP2597283B2 (ja) * | 1992-12-18 | 1997-04-02 | エルグ株式会社 | 割込みにおけるスケジューリング方式 |
FR2705804B1 (fr) * | 1993-05-27 | 1995-08-11 | Sgs Thomson Microelectronics | Architecture de processeur multi-tâches. |
US5632032A (en) * | 1994-02-07 | 1997-05-20 | International Business Machines Corporation | Cross address space thread control in a multithreaded environment |
US5636124A (en) * | 1995-03-08 | 1997-06-03 | Allen-Bradley Company, Inc. | Multitasking industrial controller |
US5594905A (en) * | 1995-04-12 | 1997-01-14 | Microsoft Corporation | Exception handler and method for handling interrupts |
US5627745A (en) * | 1995-05-03 | 1997-05-06 | Allen-Bradley Company, Inc. | Parallel processing in a multitasking industrial controller |
-
1995
- 1995-01-14 DE DE19500957A patent/DE19500957A1/de not_active Withdrawn
- 1995-07-11 EP EP95924185A patent/EP0771444B1/de not_active Expired - Lifetime
- 1995-07-11 DE DE59505125T patent/DE59505125D1/de not_active Expired - Lifetime
- 1995-07-11 US US08/776,469 patent/US6260058B1/en not_active Expired - Lifetime
- 1995-07-11 WO PCT/DE1995/000903 patent/WO1996002883A1/de active IP Right Grant
- 1995-07-11 JP JP50458696A patent/JP3801630B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE19500957A1 (de) | 1996-01-25 |
EP0771444B1 (de) | 1999-02-17 |
WO1996002883A1 (de) | 1996-02-01 |
JPH10502751A (ja) | 1998-03-10 |
US6260058B1 (en) | 2001-07-10 |
DE59505125D1 (de) | 1999-03-25 |
EP0771444A1 (de) | 1997-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3801630B2 (ja) | 車両における内燃機関に対する燃料噴射制御方法 | |
JP3921447B2 (ja) | エラーを抑制して制御・コマンド型のマルチタスクアプリケーションを決定論的に実時間で実行するセキュリティ方法 | |
Stankovic et al. | Deadline scheduling for real-time systems: EDF and related algorithms | |
US6049817A (en) | Multi-processor system | |
Bril et al. | Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption | |
EP0090302B1 (en) | Programmable control apparatus and method | |
US4495562A (en) | Job execution multiplicity control method | |
US7650601B2 (en) | Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment | |
US20150039865A1 (en) | Control Device for Vehicle | |
US8195885B2 (en) | Electronic unit for saving state of task to be run in stack | |
KR970016979A (ko) | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 | |
Gustafsson et al. | Dynamic on-demand updating of data in real-time database systems | |
JP4241462B2 (ja) | 制御ユニットおよびマイクロコンピュータ | |
WO2022257435A1 (zh) | 一种批量任务处理方法、装置、计算设备及存储介质 | |
US7003610B2 (en) | System and method for handling shared resource writes arriving via non-maskable interrupts (NMI) in single thread non-mission critical systems with limited memory space | |
Major et al. | An Overview of the NetWare Operating System. | |
CN110162399B (zh) | 一种面向多核实时系统的时间确定性方法 | |
JP7204443B2 (ja) | 車両制御装置およびプログラム実行方法 | |
US7191443B2 (en) | Digital device, task management method and program therefor | |
JP2020091540A (ja) | 情報処理装置 | |
US20220357986A1 (en) | Method and computer for the management of data exchanges between a plurality of tasks | |
Son et al. | A token-based synchronization scheme using epsilon-serializability and its performance for real-time distributed database systems | |
JP2571260B2 (ja) | 論理時計による動作環境選択処理方式 | |
JPS63636A (ja) | タスク制御方式 | |
Koren | Competitive on-line scheduling for overloaded real-time systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040720 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050819 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051122 |
|
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: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060426 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090512 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |