JPH10502751A - 技術過程またはプロセスの制御方法 - Google Patents

技術過程またはプロセスの制御方法

Info

Publication number
JPH10502751A
JPH10502751A JP8504586A JP50458696A JPH10502751A JP H10502751 A JPH10502751 A JP H10502751A JP 8504586 A JP8504586 A JP 8504586A JP 50458696 A JP50458696 A JP 50458696A JP H10502751 A JPH10502751 A JP H10502751A
Authority
JP
Japan
Prior art keywords
task program
task
program
priority
partial
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.)
Granted
Application number
JP8504586A
Other languages
English (en)
Other versions
JP3801630B2 (ja
Inventor
ヘニンガー ハーラルト
モッケン トーマス
シーマン ユルゲン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JPH10502751A publication Critical patent/JPH10502751A/ja
Application granted granted Critical
Publication of JP3801630B2 publication Critical patent/JP3801630B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE 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/00Interaction of vehicle brake system with other systems
    • B60T2260/08Coordination 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)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 技術過程またはプロセスの制御方法が提案される。この方法では、複雑な制御プログラムが制御装置(10)のマイクロ計算機(11)によって実時間条件下で処理される。その際複雑な制御プログラムはタスクプログラム(AないしD)に分割されている。それぞれのタスクプログラム(AないしD)に優先度および活性化イベントが割り当てられている。その都度最高の優先度を有する活性化されたタスクプログラム(AないしD)が処理のために選択される。タスクプログラム(AないしD)の処理は、より高い優先度のタスクプログラム(AないしD)の処理の後からの要求に基づいて中断可能である。より低い優先度のタスクプログラム(AないしD)の処理は、より高い優先度のタスクプログラム(AないしD)の処理の終了後、中断された個所において続行される。この方法は次の特徴を有している。即ち、タスクプログラム(AないしD)を複数の順次処理すべき部分タスクプログラム(A1ないしD3)に細分化することができかつ構成可能な、関連付けられかつ交差しない優先度領域内で、タスクプログラムはより低い優先度を有する別のタスクプログラムを2つの順次連続する部分タスクプログラムの間でのみまたはユーザによって明示的に挿入される中断個所において中断することができる。後から要求されたより高い優先度のタスクプログラム(AないしD)の処理を、部分タスクプログラム(A2)の処理が、より高い優先度のタスクプログラム(B)の処理に対する要求が出た間に、完全に終了されて漸く始める。

Description

【発明の詳細な説明】 技術過程またはプロセスの制御方法 従来の技術 本発明は、請求項1の上位概念に記載の方法から出発する。この形式の方法は 既に、論文“Anforderungen an ein Echtzeit- Betriebssystem fuer eingebett ete Systeme”(Bernd Ackermann著、Elektronik Nr.18,1992年,第12 0ないし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の入出力ユニットが示されている。参照番号2 3は、制御装置の時間計数器を示している。この形式の制御装置の具体的な構成 は従来技術から長年来周知であるので、以下にここでは詳しく説明しない。制御 装置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“計算準備状態”に押し戻すことができるか5 7、またはこのタスクプログラムは“タスクプログラムを終了する”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の始めを指示する部分タスクプログラムポインタZC 3が設けられている。 それぞれの部分タスクプログラムポインタテーブル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ないしZ DDおよび更に、部分タスクプログラム間の中断後に計算準備状態にあるタスク プログラムを続行すべきである部分タスクプログラム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がそのインクリメントの前にポインタ連鎖(Z ZA2→ZA2→A2)によって選択した部分タスクプログラムが呼び出される 。これは部分タスクプログラムA2である。時点t4において時間計数器23の 割り込みサービスルーチンが、この時点においてタスクプログラムBが活性化さ れるべきであることを確定する。この目的のために、割り込みサービスルーチン は、タスクプログラム活性化に権限のある作動系サービスを呼び出し、この作動 系サービスがポインタZDBをタスクプログラム記述子36にかつポインタZZ B1を部分タスクプログラムポインタZB1に優先度段階3に基づいてシーケン ス制御テーブル40においてエントリする。そこでタスクプログラムBは系にお ける最高優先度の準備されたタスクプログラムであるので、テーブルポインタ3 9に値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の処理の終了後、相応に部分タスクプログラムC 1が次のものとして処理される。これらの部分タスクプログラム間の交代は、部 分タスクプログラム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のアドレスZ ZD1をロードすることによって、その時最高の優先度の、準備状態のタスクプ ログラム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からのタスクプログラムの処理の期間に、同じ優先度群G 2から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からのタスク プログラムが処理されるようになる。 本発明は、ここに説明した実施例に制限されていない。それは殊に、車両の制 御装置における用途に制限されていない。本発明に相応して動作する作動系は例 えば、プロセス制御(例えば化学プロセス)のために計算装置においても、工業 制御装置(工作機、ロボッ ト等)または家庭用装置(洗濯機等)に対する制御装置においても使用すること ができる。その際本発明の方法の使用は殊に常に、過程またはプロセスが実時間 において制御/調整されるべきである時に有利である。 複雑な制御プログラムの、複数のタスクプログラムへの細分化およびタスクプ ログラムの少なくとも一部の、部分タスクプログラムへの細分化は、それぞれの 用途に依存しておりかつ形式および数とも著しく変えることができる。 データオブジェクトに対する基準としてのポインタの使用は、本発明の方法の 実施のためには必ずしも必要でない。それに代わって、データオブジェクトはテ ーブルに格納することのでき、その結果基準として、データオブジェクトのテー ブルインデックスを用いることができる。
【手続補正書】特許法第184条の8第1項 【提出日】1996年7月12日 【補正内容】 請求の範囲 1.制御プログラムを制御装置のマイクロ計算機によって処理し、かつ該制御 プログラムを複数のタスクプログラムに細分化し、かつタスクプログラムに優先 度および活性化イベントを割り当て、かつタスクプログラムの処理をより高い優 先度のタスクプログラムの処理の後からの要求に基づいて中断しかつ該中断され たタスクプログラムの処理を前記より高い優先度のタスクプログラムの処理の終 了後に続行し、かつ少なくとも1つのタスクプログラム(A,B,CまたはD) を、一連の部分タスクプログラム(A1,A2,A3;B1,B2,B3;C1 ,C2,C3;D1,D2,D3)に細分化し、かつ要求されたより高い優先度 のタスクプログラム(A,B,C,D)の処理を、前記部分タスクプログラム( A2,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)についての情報を含んでいるテーブルポ インタ(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,D 3)によって制御プログラムの処理を続行する ことを特徴とする技術過程またはプロセスの制御方法。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),JP,US (72)発明者 ユルゲン シーマン ドイツ連邦共和国 71706 マルクグレー ニンゲン アイヒェン ヴェーク 9

Claims (1)

  1. 【特許請求の範囲】 1.複雑な制御プログラムを制御装置のマイクロ計算機によって処理し、かつ 該複雑な制御プログラムを複数のタスクプログラムに細分化し、かつタスクプロ グラムに優先度および活性化イベントを割り当て、かつその都度最高の優先度を 有する要求されたタスクプログラムを処理のために選択し、かつタスクプログラ ムの処理をより高い優先度のタスクプログラムの処理の後からの要求に基づいて 中断しかつ該中断されたタスクプログラムの処理を前記より高い優先度のタスク プログラムの処理の終了後に続行する、殊に車両における技術過程またはプロセ スの制御方法において、少なくとも1つのタスクプログラム(A,B,Cまたは D)をそれぞれ、一連の部分タスクプログラム(A1,A2,A3;B1,B2 ,B3;C1,C2,C3;D1,D2,D3)に細分化し、かつ後から要求さ れたより高い優先度のタスクプログラム(D)の処理を、前記部分タスクプログ ラム(A2)の処理が、より高い優先度のタスクプログラム(B)の処理に対す る要求が出た間に、完全に終わりまで実施されたときに漸く始める ことを特徴とする技術過程またはプロセスの制御方法。 2.前記少なくとも1つのタスクプログラム(Aな いしD)の一連の部分タスクプログラム(A1ないしD3)をシーケンス観点に 従ってまとめ、かつシーケンス観点として、タスクプログラム処理に対する要求 のきっかけ、殊にプログラムスタート、プログラム終了、時間周期のシーケンス 、角度周期のシーケンス、または外部または内部のイベントの到来、これらに関 連した緊急性並びに前記部分タスクプログラム(A1ないしA3)間の同期化条 件を考慮する 請求項1記載の方法。 3.それぞれの部分タスクプログラム(A1ないしD3)を、マイクロ計算機 (11)の側からのその処理の時間が前以て決められた限界値を上回らない程度 の範囲でのみ構成する 請求項1または2記載の方法。 4.少なくとも1つのタスクプログラム(AないしD)に対して、少なくとも 1つの部分タスクプログラムポインタテーブル(31ないし34)を設け、該部 分タスクプログラムポインタテーブルにおいてそれぞれの部分タスクプログラム (A1ないしD3)に対して部分タスクプログラムポインタ(ZA1ないしZD 3)を設け、該部分タスクプログラムポインタはそれに属する部分タスクプログ ラム(A1ないしD3)の始めを指示し、かつ更にテーブルポインタ(39)を 設け、該テーブルポインタは前記部分タスクプログラムポインタテーブル(31 ないし34)においてそれ ぞれ前記部分タスクプログラムポインタ(ZA1ないしZD3)を指示し、該部 分タスクプログラムポインタの方は、この時点において次に処理すべき部分タス クプログラムとして該当する部分タスクプログラム(A1ないしD3)を指示し 、かつ前記テーブルポインタ(39)を部分タスクプログラム(A1ないしD3 )の処理後、前以て決められた値だけインクリメントし、その結果テーブルポイ ンタはこの場合も、この時点において次に処理すべき部分タスクプログラムとし て該当する部分タスクプログラム(A1ないしD3)の部分タスクプログラムポ インタ(ZA1ないしZD3)を指示し、かつその部分タスクプログラムポイン タ(ZA1ないしZD3)を前記テーブルポインタ(39)がインクリメントの 前に指示していたところの部分タスクプログラム(A1ないしD3)を処理する 請求項1から3までのいずれか1項記載の方法。 5.部分タスクプログラムポインタテーブル(31ないし34)のその都度最 後の部分タスクプログラムポインタ(ZAEないしZDE)を、それが所定の部 分タスクプログラム(AE)を指示するように配向し、該部分タスクプログラム の処理の期間に、前記テーブルポインタ(39)を再び正しく、有効な部分タス クプログラムポインタ(ZA1ないしZD2)に配向する 請求項4記載の方法。 6.少なくとも1つのタスクプログラム(AないしD)に、タスクプログラム (AないしD)の優先度、所属の部分タスクプログラムポインタテーブル(31 ないし34)の始めに対するポインタ(ZZA1ないしZZD1)およびタスク プログラム(AないしD)の処理ステータスに関する情報を含んでいる記述する データストラクチャ(35ないし38)を割り当てかつそのアドレスを、所属の タスクプログラム(AないしD)に対する基準および識別子として用いる 請求項1から5までのいずれか1項記載の方法。 7.タスクプログラム(AないしD)に対して、3つの状態“休止状態”(5 0),“計算準備状態”(51)および“計算状態”(52)のみを設定する請 求項1から6までのいずれか1項記載の方法。 8.処理するよう要求されたタスクプログラム(AないしD)を管理するため のシーケンステーブル(40)を設け、該シーケンステーブルは優先度に応じて 整理されておりかつ処理中または処理するよう要求されたタスクプログラム(A ないしD)に関する情報を含んでおり、かつ殊に前記シーケンステーブル(40 )においてそれぞれの優先度に対して、この優先度段階において処理するよう要 求されたタスクプログラム(AないしD)の記述するデータストラクチャ(35 ないし38)に対するポインタ(ZDAないしZDD)および前記部分タスクプ ログラムポインタテーブル (31ないし34)のポインタ(ZA1ないしZD3)に対するポインタ(ZZ A1ないしZZD3)を記憶し、該ポインタは、この優先度段階の処理するよう 要求されたタスクプログラム(AないしD)に対して部分タスクプログラム(A 1ないしD3)を特徴付け、該部分タスクプログラムによって、処理するよう要 求されたタスクプログラム(AないしD)が後のタスクプログラム交代の際にス タートされるべきであるかまたは行われた中断の後に続行されるべきでありかつ 更に、相応の優先度段階においてタスクプログラム(AないしD)が処理される よう要求されていないとき、前記シーケンステーブル(40)に零ポインタをエ ントリする 請求項1から7までのいずれか1項記載の方法。 9.その優先度がこの時点において処理するよう要求された最高の優先度のタ スクプログラム(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記載の方法。 10.タスクプログラム(C,B)の終了の都度、前記シーケンス制御テーブル (40)における当該の優先度段階での所属のエントリを消去しかつ前記シーケ ンス制御テーブル(40)を降べきの優先度の方向においてその時最高の優先度 のタスクプログラム(B,A)を検索しかつ前記テーブルポインタ(39)に、 前記シーケンス制御テーブル(40)において新たな優先度段階にエントリされ た値をロードしかつこれに よりその時の最高の優先度のタスクプログラム(B,A)の部分タスクプログラ ムポインタテーブル(32,33)の部分タスクプログラムポインタ(ZB3, ZA3)に配向し、これにより当該タスクプログラムが次の部分タスクプログラ ム交代の際に計算する状態(52)に移行される 請求項9記載の方法。 11.前記シーケンス制御テーブル(40)をそれぞれの優先度段階に対して1 つのファースト・イン・ファースト・アウトメモリだけ拡張し、該メモリは、同 じ優先度段階のタスクプログラム(AないしD)が既に処理するように要求され ているとき、次のようにして或る優先度段階の更に別のタスクプログラム(Aな いしD)を要求することができることを可能にし、即ちこの優先度段階における タスクプログラム(AないしD)の処理のための別の要求の際に、ポインタ(Z DAないしZDD)を前記ファースト・イン・ファースト・アウトメモリにおけ る所属の記述するデータストラクチャ(35ないし38)にエントリし、かつこ の優先度段階におけるタスクプログラム(AないしD)の終了の際に、最も長い 待機時間を有する前記タスクプログラム(AないしD)の記述するデータストラ クチャ(35ないし38)に対するポインタを前記ファースト・イン・ファース ト・アウトメモリから取り出し、そこを消去し、かつ前記シーケンス制御テーブ ル(40)にエントリし、かつ前記所属のタスクプログラム(AないしD)を、 一時的により高い優先度のタスクプログラムを処理するという要求が出ていない 限り、前記テーブルポインタ(39)をこのタスクプログラム(AないしD)に 属する部分タスクプログラムポインタテーブル(31ないし34)の第1のポイ ンタ(ZA1ないしZD1)に配向することによって、次の部分タスクプログラ ム交代の際に計算状態に移行する 請求項8から10までのいずれか1項記載の方法。 12.1つのタスクプログラム(AないしD)において、その他の場合にはその 他のタスクプログラム(AないしD)に対して中断不能である部分タスクプログ ラム(A1ないしD3)内においても、その他のタスクプログラム(AないしD )に対する中断個所を次のようにして形成し、即ちこの個所において、この目的 に対して設定された作動系サブプログラムを呼び出し、該サブプログラムがより 高い優先度の要求されたタスクプログラムの処理を惹き起こしかつ引き続いて再 び中断された部分タスクプログラムに再び戻り、その際前記中断された部分タス クプログラム(A1ないしD3)の一時的なデータをスタックメモリに記憶され たままにしておく 請求項1から11までのいずれか1項記載の方法。 13.前記中断個所を、前記作動系サブプログラムに よって分離された、部分タスクプログラム(A1ないしD3)の一部の処理の対 する時間が前以て決められた限界値を上回らない程度に設定する 請求項12記載の方法。 14.より低い優先度の別のタスクプログラム(AないしD)を終了した部分タ スクプログラム(A1ないしD3)の間でのみまたは請求項12に記載の中断個 所において中断することができるタスクプログラム(AないしD)の他に、所定 数のタスクプログラム(EないしH)も、それらが別のより低い優先度のタスク プログラム(AないしG)を任意の個所において中断することができるように、 管理する 請求項1から13までのいずれか1項記載の方法。 15.タスクプログラムを、交差しない優先度群(G1〜G8)にまとめ、その 際1つの優先度群(G1〜G8)は少なくとも、1つの個別タスクプログラムま たは隣接する優先度段階を有する複数のタスクプログラムから構成されかつシー ケンス制御のために次の規則を遵守し: a)優先度群(G2,G5,G6)のタスクプログラムは、同じ優先度群(G2 ,G5,G6)からのより低い優先度を有する別のタスクプログラムを、2つの 部分タスクプログラムの間でのみおよび/または請求項12に記載のように挿入 される中断個所において中断することができ、 b)優先度群(G2〜G8)のタスクプログラムは、別の優先度群(G1〜G7 )からのより低い優先度有する別のタスクプログラムを任意の個所で中断するこ とができ、 c)優先度群(G1〜G8)のタスクプログラムは、より高いまたは同じ優先度 を有する同じまたは別の優先度群(G1〜G8)からのタスクプログラムを中断 することができない 請求項14記載の方法。 16.タスクプログラムの、優先度群(G1〜G8)への分配を、その優先度が 前以て決められた優先度しきい値(PS)を下回るすべてのタスクプログラムが 1つの優先度群(G6)にまとめられかつすべてのその他のタスクプログラムが それぞれ、同じ優先度段階の僅か1つまたは複数のタスクプログラムを有する別 個の優先度群(G7,G8)を形成するように行う請求項15記載の方法。
JP50458696A 1994-07-19 1995-07-11 車両における内燃機関に対する燃料噴射制御方法 Expired - Fee Related JP3801630B2 (ja)

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
DE4425431.8 1995-01-14
DE19500957.6 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 true JPH10502751A (ja) 1998-03-10
JP3801630B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7241989B1 (ja) * 2022-06-07 2023-03-17 三菱電機株式会社 プログラム作成装置、プログラム作成方法及びプログラム

Families Citing this family (101)

* Cited by examiner, † Cited by third party
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
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
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
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
DE10229686A1 (de) * 2002-06-27 2004-01-22 Robert Bosch Gmbh Verfahren und Steuergerät zur Steuerung des Ablaufs eines multitaskingfähigen Computerprogramms
DE10229676B4 (de) 2002-06-27 2013-05-29 Robert Bosch Gmbh Verfahren 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 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
EP1653354A4 (en) * 2003-08-04 2008-03-26 Hitachi Ltd REAL-TIME CONTROL SYSTEM
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
US8056083B2 (en) * 2006-10-10 2011-11-08 Diskeeper Corporation Dividing a computer job into micro-jobs for execution
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
EP2038747A1 (en) * 2006-06-19 2009-03-25 Diskeeper Corporation Computer micro-jobs
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
US8161276B2 (en) 2006-07-21 2012-04-17 Sony Service Centre (Europe) N.V. Demodulator device and method of operating the same
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
EP2302516B1 (de) * 2008-05-13 2012-07-18 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
US9719432B2 (en) * 2011-09-12 2017-08-01 Toyota Jidosha Kabushiki Kaisha Control apparatus for internal combustion engine
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 株式会社東芝 イベント管理装置、イベント管理方法およびモータシステム
US9619012B2 (en) * 2014-05-30 2017-04-11 Apple Inc. Power level control using power assertion requests
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9368026B1 (en) 2015-05-26 2016-06-14 Google Inc. Fallback requests for autonomous vehicles
US10901415B1 (en) * 2015-05-26 2021-01-26 Waymo Llc Non-passenger 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
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
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution 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
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
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
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 湖南汽车工程职业学院 智能驾驶单片机控制方法、系统及计算机存储介质
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
EP4293437A1 (de) * 2022-06-15 2023-12-20 Schneider Electric Industries SAS Verfahren und vorrichtung zum steuern des ablaufs von programmteilen, programmierverfahren, programmiervorrichtung

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56105507A (en) * 1980-01-25 1981-08-22 Hitachi Ltd Control method of engine
JPS63205755A (ja) * 1987-02-23 1988-08-25 Nec Home Electronics Ltd 実時間多重処理方式
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
JPH03288942A (ja) * 1990-04-05 1991-12-19 Zexel Corp マイクロコンピュータにおけるプログラム暴走検出方法
JPH06187171A (ja) * 1992-12-18 1994-07-08 Erugu Kk 割込みにおけるスケジューリング方式

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
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
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
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56105507A (en) * 1980-01-25 1981-08-22 Hitachi Ltd Control method of engine
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
JPS63205755A (ja) * 1987-02-23 1988-08-25 Nec Home Electronics Ltd 実時間多重処理方式
JPH03288942A (ja) * 1990-04-05 1991-12-19 Zexel Corp マイクロコンピュータにおけるプログラム暴走検出方法
JPH06187171A (ja) * 1992-12-18 1994-07-08 Erugu Kk 割込みにおけるスケジューリング方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7241989B1 (ja) * 2022-06-07 2023-03-17 三菱電機株式会社 プログラム作成装置、プログラム作成方法及びプログラム

Also Published As

Publication number Publication date
US6260058B1 (en) 2001-07-10
DE19500957A1 (de) 1996-01-25
EP0771444A1 (de) 1997-05-07
JP3801630B2 (ja) 2006-07-26
DE59505125D1 (de) 1999-03-25
EP0771444B1 (de) 1999-02-17
WO1996002883A1 (de) 1996-02-01

Similar Documents

Publication Publication Date Title
JPH10502751A (ja) 技術過程またはプロセスの制御方法
US6430593B1 (en) Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system
US5185861A (en) Cache affinity scheduler
Lampson A scheduling philosophy for multiprocessing systems
EP1538497B1 (en) Distributed real time operating system
CA2538503C (en) Process scheduler employing adaptive partitioning of process threads
US5469571A (en) Operating system architecture using multiple priority light weight kernel task based interrupt handling
US6360243B1 (en) Method, device and article of manufacture for implementing a real-time task scheduling accelerator
US9424093B2 (en) Process scheduler employing adaptive partitioning of process threads
US5261053A (en) Cache affinity scheduler
US6128672A (en) Data transfer using software interrupt service routine between host processor and external device with queue of host processor and hardware queue pointers on external device
JP3921447B2 (ja) エラーを抑制して制御・コマンド型のマルチタスクアプリケーションを決定論的に実時間で実行するセキュリティ方法
JP4241462B2 (ja) 制御ユニットおよびマイクロコンピュータ
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
Binns A robust high-performance time partitioning algorithm: the digital engine operating system (DEOS) approach
Zuberi et al. EMERALDS: A small-memory real-time microkernel
JP7204443B2 (ja) 車両制御装置およびプログラム実行方法
JP2020091540A (ja) 情報処理装置
Feld Response time analyses of adaptive variable-rate-tasks
CN110162399B (zh) 一种面向多核实时系统的时间确定性方法
CN114528793B (zh) 一种对Verilog HDL进行行为仿真的方法
Koren Competitive on-line scheduling for overloaded real-time systems
EP3923136A1 (en) Hardware-accelerated computing system
Gustafsson et al. Scheduling of updates of base and derived data items in real-time databases
CN117234678A (zh) 控制程序部分的流程的方法和装置、编程方法、编程装置

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