JP4283890B2 - 技術的プロセスの制御方法 - Google Patents
技術的プロセスの制御方法 Download PDFInfo
- Publication number
- JP4283890B2 JP4283890B2 JP51940996A JP51940995A JP4283890B2 JP 4283890 B2 JP4283890 B2 JP 4283890B2 JP 51940996 A JP51940996 A JP 51940996A JP 51940995 A JP51940995 A JP 51940995A JP 4283890 B2 JP4283890 B2 JP 4283890B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- task
- task program
- msgx
- interrupted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000008569 process Effects 0.000 title claims description 22
- 238000012545 processing Methods 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 239000002131 composite material Substances 0.000 claims 2
- 230000009471 action Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- CZMRCDWAGMRECN-UGDNZRGBSA-N Sucrose Chemical compound O[C@H]1[C@H](O)[C@@H](CO)O[C@@]1(CO)O[C@@H]1[C@H](O)[C@@H](O)[C@H](O)[C@@H](CO)O1 CZMRCDWAGMRECN-UGDNZRGBSA-N 0.000 description 4
- 229930006000 Sucrose Natural products 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000005720 sucrose Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001311 chemical methods and process Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2241—Real time database, each processor stores in local memory used variables
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25347—Multitasking machine control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25411—Priority interrupt
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
従来技術
本発明はメインクレームの上位概念による方法を基礎とする。最新の制御装置において、使用されているマイクロコンピュータは、屡々著しく能率的であり、複数のタスクを並列処理することができる。上記の能率性は、殊に、個々のコンピュータが複数の制御タスク及び調整タスクを同時に果たすように構成されたプロセス制御装置において活用される。殊に、車両分野部門では、著しく複雑な制御タスクを果たすべき制御装置が屡々使用される。それの例としては、機関制御装置、ギヤ制御装置等が挙げられる。1つのコンピュータ上にて準同時処理を達成するため、個々のタスク間で切換をする方法が使用される。このために、典型的には相応の制御装置にてオペレーションシステムが使用される。
上位概念による方法は、下記論文から既に公知である:Elektronik No.18,1992,第120〜128頁中のBernd Ackermann著述論文“eingebettete Systeme”(インフィックス形ないし埋め込み形システム)に対する実時間オペレーションシステムへの要求に関する論文。上記論文中では、マイクロコンピュータを有する制御装置に対する実時間オペレーションシステムの重要な特性的事項が記載されている。シーケンス制御に対して、換言すれば個々のタスクプログラムの相互整合性に対して、プロセスマネージャと称されるプログラムが責任を有する。上記プログラムによってCPUの配分が制御され、すべての経過するタスクプログラム(Tasks)が整合される。プロセスマネージャにより複数のタスクプログラムの準同時的並列的実行が可能になり、このことは、マルチタスキングと称される。リポート中に記載されているプロセスマネージャは次のように設計されている、即ち、目下実行されているプログラムをいつでも中断して、システム全体の動作にとってこの時点でより重要な(より高い優先度を有する)タスクプログラムをスタートし得るように設計されている。より高い優先度を有するプログラムが終了すると、中断されたプログラムは、当該の中断された個所から継続される。目下実行されているタスクプログラムをいつでも中断することができる手法は、強制排除スケジューリング又は強制排除マルチタスキングとも称される。
その他に、文献中には、共同的スケジューリング又は共同的マルチタスキングも公知技術として示されている。その種のシーケンス制御の場合、先立って、プログラム中にて設定された切換点においてのみ、種々のタスクプログラム間での切換が可能である。要するに、タスクプログラムは、いつでも中断され得るという訳ではない。
同時に進行するプログラム間では、一般的にデータ交換が必要である。例えば、測定された入力量又は制御偏差は、他のタスクプログラムに通報される。通常、個々のタスクプログラム間のデータ交換は、共通のメモリ領域(大域変数とも称される)を介して行われる。タスクプログラム間での切換のためプリエンプト切換ストラテジィが選ばれる場合、共通のメモリ領域を介したデータ交換の際、次の問題が生起する。
タスクプログラムが複数の個所にて、大域変数にアクセスする場合、大域変数は、次のようなときに種々のアクセス個所にて種々の値をとり得る。即ち、相対的に高い優先度を有するタスクプログラムが第1プログラムに割り込み、その実行中に大域変数の値を変えるときに種々の値をとり得る。その結果、或1つのプログラムの入力量が、それの実行中に変化し得る。それにより、誤ったプログラムシーケンスが惹起され得る。その問題は、データ矛盾性と称される。これに反して、全処理持続時間中にタスクプログラムに対する入力量が変化しない場合にデータ一貫性が存在するのである。
発明の利点
メインクレームの特徴事項を有する本発明により、これに対して次の利点が得られる。すなわち、複数のプログラムを相互に中断させ得る1つの複合的な制御プログラムにてデータ一貫性が簡単に確保されるという利点が得られる。データ一貫性の確保により、該プログラムは、順次実行されるものであるかのような振る舞いをする。従って、プログラムはタスクプログラム間での切換に対する優先使用形又は共同的切換ストラテジィが選定されるかに無関係に開発される。このことにより、制御プログラムの開発の際、殊に、種々のシステム間での制御プログラムの移植の際、利点が得られる。プログラム作成の際、プログラムが優先使用形又は共同的切換ストラテジィを有するシステムに対して開発されたか否か、又は、プログラムが、インタラプトルーチンとして設けられているのか、又は通常処理のため設けられているのかを考慮する必要はない。更に、本発明の方法を使用する際に、開発されたプログラムのテストも著しく簡単化される。即ち、プログラムにて各命令限界にて入力量の可能な変化を考慮することは、もはや必要でない。寧ろ実行の始めにて1度入力量を選定すれば十分である。
ソフトウエア開発に際しての準並列タスクプログラムの機能シミュレーションの情報量も本発明の方法により著しく高められる。機能シミュレーションは、常に順次行われるので、タスクプログラム間での中断切換(殊にプリエンプト切換ストラテジィ)を伴うシステムに対しては僅かな情報量しか得られない。即ち、シミュレーションプログラムは、そのインプリメンテーションにおいて最終プログラムと相違するので、中断切換時には最終プログラムと相違する特性を呈する。本発明の方法を使用することより、プログラムは、中断切換にも拘わらず、恰もシーケンシャルに進行するように動作をする。それにより、シミュレーションと現実との一致する特性を達成できる。
サブクレーム中に規定された手段によって、メインクレーム中に規定された方法の有利な発展形態及び改良が可能である。1つの変数の大域的(グローバル)コピーから1つの変数の局所的(ローカル)コピー内へのエントリの転送が、中断不可能な個々のマイクロコンピュータ命令により、又はマイクロコンピュータ命令の中断不可能なシーケンスにより行われる。それにより、データ一貫性が次のような場合にも確保される。即ち、よりによって、タスクプログラムによって大域変数のローカルコピーが更新されるまさにそのときに、他のタスクプログラムによって割り込みが行われる場合にも確保される。該他のタスクプログラムは、それらの実行中に大域的コピーでのエントリを変化させる。
請求の範囲3の手段により、次のような場合にもデータ一貫性が確保される。即ち、1つのタスクプログラムにより、大域変数が新たに求められ、ないし、計算され、次いで大域変数の更新が行われる場合にも確保される。
図面
本発明の1実施例が図示されており、以降の説明において詳述する。図1は、制御装置の概略的ブロック接続図である。図2は、データ一貫性の与えられていない際のプログラムシーケンスの第1例を示す。図3は、データ一貫性の与えられていない際のプログラムシーケンスの第2例を示す。図4は、第1例によるプログラムシーケンスを示し、ここで、本事例にてデータ一貫性が確保される。図5は、第2例によるプログラムシーケンスを示し、ここで、本事例にてデータ一貫性が確保される。図6は、図4の本発明のプログラムシーケンスの概略図である。図7は本発明の2つのタスクプログラム間のデータ交換の様子を示す概略図である。
発明の説明
図1中参照番号10は技術的工程又はプロセスの制御のための任意の電子的制御装置を示す。本発明は、専ら、自動車制御装置の分野にて使用されるべきものである。即ち、機関制御装置、ギヤ変速機制御装置、ブレーキ制御装置、空調制御装置等の分野で使用されるものである。但し、本発明は、当該の使用分野に限られておらず、寧ろ、任意の電子的制御装置において複合的な制御過程、化学的プロセス、工作機械制御部、洗濯機制御部等の制御のため使用され得る。参照番号11は、制御装置10のマイクロコンピュータである。参照番号12は、制御装置10の記憶装置を示す。記憶装置12は、例えば書込/読み取りメモリ(RAM)及び固定値メモリ(EPROM)から成る。参照番号13は、制御装置10の入力/出力ユニットを示す。その中には、測定値検出のため、及び所定の出力側の制御のためのすべての回路が設けられている。入力/出力ユニット中には、殊に、A/D変換器及び割込ロジックを設け得る。制御装置10にはセンサ14及びアクチュエータ15が接続されている。その種の制御装置10の具体的構成は、当業者にとって、従来技術から十分に公知であるので、以下詳述しない。以下、図2及び図3を用いて複数のタスクプログラム(それらはプリエンプトに中断され得る)の実行の際のデータ矛盾の問題性を示す。
図2には、制御装置10のプログラムシーケンスの1セクションが示されている。参照番号Aは、第1タスクプログラムを示す。参照番号Bは、第2タスクプログラムを示す。参照番号Cは、第3タスクプログラムを示す。タスクプログラムA,B,Cはオペレーションシステムによる制御下で実行される。ここで実行の順序は、いつも同じとは限らない。タスクプログラムAは、例えば、1つの所定の時間パターンで呼び出され得る。タスクプログラムAは例えば、タスクプログラムBとは別の時間パターンで呼び出され得る。タスクプログラムCは、割り込みプログラムとして構成され得、割り込み要求に従ってのみ実行され得る。タスクプログラムの実行の順序を図2中矢印で示す。先ず、タスクプログラムAが実行される。特に際立ったプログラムステップとしては、プログラムA中に変数Xが(Max−Min)/2にセットされるというインストラクションが示されている。ここで、変数Xは大域変数であり、該変数に対して、タスクプログラムBおよびCもアクセスし得る。大域変数は、例えば、任意の測定量、例えば、機関回転数、機関温度、絞り弁角度、吸い込み空気量等であり得る。しかし、計算量、例えば動作不安定性、回転むらであってもよい。タスクプログラムAが実行された後、タスクプログラムBが次のプログラムとして実行される。その場合、場合により複数の先行のインストラクションの後、次のようなインストラクションが実施される。すなわち、変数Xの実際の値が所定の最大値Maxより大である場合に、aktion_zu_gross();“アクション_過度に_大()“なるインストラクションが実施される。また、その代わりに、変数Xの実際の値が所定の最小値Minより小である場合には、aktion_zu_klein();“アクション_最小値_小()”なるインストラクションが実施される。大域変数が先以てタスクプログラムAにて、値(Max−Min)/2にセットされたので、前述の条件のいずれも充足されず、そして、次に、Bearbeite(x);“アクション:(X)を処理せよ”なるインストラクションが実行されるべき筈のものである。ところが上記インストラクションは実行されない。それというのは先立って、タスクプログラムCによりタスクプログラムBの実行が中断されるからである。タスクプログラムCでは、同様に大域変数Xが変化される。大域変数は値Max+5にセットされる。タスクプログラムCが終了した後、タスクプログラムBは、中断された個所にて継続され、Bearbeite(x);“(x)を処理せよ”なるインストラクションが実行される。従って、タスクプログラムBがそれの継続の際、非有効の入力値Xを有する処理関数を受け取る場合が起こる。そういうことが起こると、不所望の制御−/調整特性経過が惹起される。殊に自動車技術において、例えば機関制御(個々では最適の排ガス値及びできるだけ低い燃費が問題とされる)においてこの種の誤調整は特に有害である。
図3中には、発生しているデータ矛盾性の更なる1例が示してある。この場合タスクプログラムAにて大域変数Xを0にセットするようにとのインストラクションが与えられる。次いで以降実行されるタスクプログラムBにて、場合分けが行われる。即ち変数Xが0より小の値を有するか、又は正の値として生じているかの場合分けがなされる。次いで、極性に応じて、種々の処理ステップが実施される。先行のタスクプログラムAにて変数Xは値0にセットされているので、if−then−else−インストラクションの正の極性に対して実行分岐を実施しなければならなくなる。但し、else分岐の直接的実行はなされない。それというのは、タスクプログラムCによりタスクプログラムBが中断されるからである。しかしタスクプログラムCで変数Xは値−1にセットされる。その後、タスクプログラムBのelse分岐の後続の実行の際、Xの正の極性に対する分岐が実施される(X値が、その間に負になった極性を有するようになっても)。要するに、ここでもタスクプログラムBに対するデータ矛盾性が生じている。
データ矛盾性の状態発生に対する第3の例として、個別の読出/書込オペレーションが終了されていない入力量に対する読出/書込オペレーションが挙げられる。例えば、16ビット幅のメモリ語しか処理できないマイクロコンピュータの場合、32ビット幅語に対するアクセスは、2つの読出/書込オペレーションによって実施されなければならない。それらの2つのオペレーション間でプログラムが中断され、32ビットの語が新たに書き込まれる場合、比較的高位の16ビット部分及び比較的低位の16ビット部分はそれぞれ異なる値に属する。生起する32ビット幅入力量は矛盾性があり、従って、誤りがある。
データ矛盾性の問題は、次のようにして困難化される。即ち、複合的な制御プログラムの場合、多数の潜在的に可能な実行(処理)シーケンス及び割込個所が存在することにより困難化される。それというのはプログラムは潜在可能的に各々の個々のインストラクション後に中断され得るからである。そのような制御プログラムをテストする場合に、実行シーケンス及び中断個所のすべての可能な組合せを実行し、その都度、プログラムがすべての条件下で適正に動作するのを確保することはほぼ不可能である。
本発明の目的は、適切な手法により、この種の複合的な制御プログラムにおいてデータ一貫性を確保することである。
本発明によれば次のようなすべての大域変数に対して、局所的コピーがセッティングされる。即ち、1つ又は複数のタスクププログラムに対する入力量であり、亦、プログラムシーケンス中に他のタスクプログラムにより変化され得るすべての大域変数に対して局所的コピーがセッティングされる。次いで、相応のタスクプログラムは、更なるシーケンスにてその都度、大域変数の局所的コピーへアクセスする。ここでは、唯一のタスクプログラムが、それの固有の局所的コピーにアクセスし得ることが前提とされている。当該の条件下では、その都度のタスクプログラムに対するデータ一貫性が確保される。要するに、1つの入力量の大域的コピー、又は大域変数のほかに付加的に、所定のタスクプログラムに対する局所的コピーがセッティングされる。1つのタスクプログラムにより入力量が利用される場合、入力量の値は、始めにて、又は他の所望の時点にて、中断不可能の書込オペレーションにおいて、大域的コピーから読取られ、それぞれのタスクプログラムの対応する局所的コピー内にコピーし直される。或1つのタスクプログラム(これは入力量に対して読取アクセスするのみならず、入力量自体を求める、又は他の量から計算する)は大域変数、すなわち大域的コピーに書き込みアクセスをすることができる。この書込オペレーションも亦、何等かの他のタスクプログラムによっては中断され得ないブロックにて行われるべきである。このことは、例えば、次のようにして達成される、即ち、上述の書込オペレーション前に、すべての割り込み要求が阻止され、それにより、割り込みが中断を実施し得ないようにするのである。次いで、この書込オペレーションの後に割り込み要求が再びイネーブルにされる。当該プロセスを図4及び図5を用いて詳述する。
図4は、図2と同じプログラムシーケンス例を示す。但し、プログラムAの実施の際、相応の個所にて、先ず、局所的コピーmsgx(A)が、値(Max−Min)/2へセットされる。しかる後始めて、唯一の中断不可能な書込オペレーションにおいて、エントリが、局所的コピーmsgx(A)から大域的コピーmsgxへ転送される。上記の書込オペレーションは、結局、もはや、中断され得ない唯一のマイクロコンピュータ命令から成る。従って、書込オペレーション前に、割り込み要求を阻止する必要はない。タスクプログラムBの後続のシーケンスの際、誤りの起こり易いif−then−elseインストラクションの前に、大域的コピーmsgxにおけるエントリが、大域変数Xに対するタスクプログラムBの局所的コピーmsgx(B)内へ転送され得る。当該の書込オペレーションも中断不可能な書込オペレーションである。次に、タスクプログラムBでは、たんに局所的コピーmsgx(B)でのみ動作を行う。それにより、データ矛盾性が全く生じ得ない。そして、タスクプログラムCがそれの実行中、大域的コピーmsgxを新たに記述する場合にもデータ矛盾性が全く生じ得ない。即ち、局所的コピーmsgx(B)に対しては、タスクプログラムCは、アクセス権を有しない。
図5に示すように、タスクプログラムAは、それの実行中、値零を有する局所的コピーmsgx(A)を記述する。それに引き続いて、同じように、大域的コピーmsgx内への局所的コピーmsgx(A)の値の書込過程が行われる。書込過程は、図4の説明の際に言及した如く同じく中断不可能である。タスクプログラムBが実行されると、再び、クリティカルなif−then−インストラクション前に、大域的コピーmsgxにおける当該値は、局所的コピーmsgx(B)内へ転送される。次いで、タスクプログラムBの更なる実行中、局所的コピーmsgx(B)でのみ動作する。また、それの実行の際に大域変数msgxが新たに記述されるタスクプログラムCによる中断によっても、データ矛盾性を来さない。
図6には、図4のプログラムシーケンスが別の形態で示されてる。時点t1にてタスクプログラムAの実行が開始される。時点t2にて、局所的コピーmsgx(A)及びmsgxの双方の中に値(Max−Min)/2がエントリされている。タスクプログラムBに対する局所的コピーmsgx(B)中には、1つの任意の値がエントリされ得、このことは、ハッチングで示されている。時点t3にてタスクプログラムAが終了する。それに引き続いて直ちに、タスクプログラムBの実行が開始される。時点t4にて、タスクプログラムBも大域的コピーmsgxの値をそれの局所的コピーmsgx(B)内に転送している。時点t5では、タスクプログラムCは、タスクプログラムBの実行を中断する。タスクプログラムCはここで考察した例では座標系の所定座標において明らかなように、最高の優先度を有する。タスクプログラムC自体は、もはや中断され得ず、従って、タスクプログラムCに対して、変数Xに対する局所コピーは設けられない。時点t6にて、タスクプログラムCは、大域的コピーの値を新たな値Max+5で書き変える。時点t7にてタスクプログラムCの実行が終了される。それに引き続いて、中断されたタスクプログラムBは、中断個所にて継続される。時点t8ではタスクプログラムBの実行も終了される。時点t6とt8の間では変数xに対する大域的コピー及び局所的コピー内へのエントリはもはや変化されない。
図7に示すように、参照番号Aは1つのタスクプログラムを表し、それの実行中に入力量Xが新たに求められる。新たに求められた入力量はタスクプログラムAにより、はじめに、自身の局所的コピーmsgx(A)内にファイルされる。それにひき続いて、当該値は大域的コピーmsgx内にもコピーされる。当該コピー過程は、送信過程とも称される。タスクプログラムBの後続の処理の際、このタスクプログラムは、大域的コピーmsgxにおけるエントリを自身の局所的コピーmsgx(B)内へ転送する。このコピー過程は、受信過程とも称される。
幾つのタスクプログラムが或1つの複合的な制御プログラム中に含まれているかに応じて、又、どの入力量がそれぞれのタスクプログラムにより処理されるかに応じて、そして、どのタスクプログラムが他のタスクプログラムを中断し得るかに応じて、又、どれがそれ以上中断され得ないかに応じて、或1つの複合的制御プログラムの所要メモリ及び走行伝搬遅延の最適化のための種々の手法が存在する。ここにおいて、殊に下記の基準に留意すべきである:次のような場合のみ、局所的コピーをセッティングしさえすればよい。即ち、プログラムAが他の1つのプログラムBを中断し得、そして、両プログラムが同じ変数に対してアクセスする場合のみ、局所的コピーをセッティングしさえすればよい。他のすべての場合(例えば他のプログラム間の共同的切換の場合)局所的コピーは必要でない。それというのは、変数へのアクセスが大域変数へのアクセスと同じように行われるからである。
プログラムAがプログラムBを中断し、プログラムAが大域的コピーからのデータの受信器であり、かつプログラムBが大域的コピーにおけるデータの送信器であり、かつ付加的に、送信−及び受信過程が中断不可能なオペレーションで実施される場合、同様に局所的コピーをセッティングする必要はない。送信器は受信器を中断できないので、データ一貫性が確保される。
プログラムAがプログラムBを中断し、プログラムAが新たに求められたデータの送信器であり、プログラムBが新たに求められたデータの受信器であり、送信−及び受信過程が中断不可能なオペレーションで実施される場合、プログラムAは局所的コピーを必要としない。プログラムAの書込オペレーションは中断不可能に順次連続する。従ってタスクプログラムBは、常に一貫したデータにアクセスし得る。
タスクプログラムA〜NがタスクプログラムSにより中断され、ここで、タスクプログラムA〜Nは相互に中断し得ず、タスクプログラムSが図7に記載されたデータの送信器であり、タスクプログラムA〜Nが送信器又は受信器である場合、タスクプログラムA〜Nは、同じ局所的コピーを使用できる。タスクプログラムA〜Nは順次実行処理されるので、局所的コピーに対して同じメモリロケーションを使用できる。
すべての上述の最適化手法において、データ一貫性が確保される。従って、2つのタスクプログラム間でのデータ交換のためのこのメカニズムを、1つのオペレーティングシステムOS内に統合するのは有利である。該オペレーティングシステムOSは、条件に依存して送信過程及び受信信過程に対してその都度、伝搬時間及びメモリ特性上最適のインプリメンテーションを選ぶ。その際オペレーティングシステムOSは送信−又は受信呼出により局所的コピー内へのコピーアクションが生ぜしめられるか否か、又は、コピーアクションを実施しなくても良いか否かを決定できる。同様に、オペレーティングシステムOSは、変数に対するアクセスが直接的に大域的コピーを介して行われ得るか否か、又は、アクセスがタスクプログラムの局所的コピーを介して行われなければならないか否かを決定できる。
上述の例では、タスクプログラムA,B,Cに固定的優先度が対応付けられている。但し、タスクプログラムの実行における緊急性は、タスクプログラムの起動後、その都度オペレーティングシステムOSによっても新たに計算され得る。このために、例えば各タスクプログラムに、或1つの時間を対応付け得る、即ち、その中で、タスクプログラムを実行しなければならない時間を対応付け得る。その後、タスクプログラムの起動の際、次のようなことが起こり得る。即ち、オペレーティングシステムOSが、既に開始されたタスクプログラムの実行を継続し、又は、開始されたタスクプログラムを中断し、新たに起動されたタスクプログラムを処理することが起こり得る。起動されたタスクプログラムのどれがより一層早く実行されるべきかに応じて、オペレーティングシステムOSにより選択がなされる。要するに、それらの場合において、タスクプログラムの緊急性は、当該のタスクプログラムがそれの実行を待機する時間と共に増大する。
本発明はメインクレームの上位概念による方法を基礎とする。最新の制御装置において、使用されているマイクロコンピュータは、屡々著しく能率的であり、複数のタスクを並列処理することができる。上記の能率性は、殊に、個々のコンピュータが複数の制御タスク及び調整タスクを同時に果たすように構成されたプロセス制御装置において活用される。殊に、車両分野部門では、著しく複雑な制御タスクを果たすべき制御装置が屡々使用される。それの例としては、機関制御装置、ギヤ制御装置等が挙げられる。1つのコンピュータ上にて準同時処理を達成するため、個々のタスク間で切換をする方法が使用される。このために、典型的には相応の制御装置にてオペレーションシステムが使用される。
上位概念による方法は、下記論文から既に公知である:Elektronik No.18,1992,第120〜128頁中のBernd Ackermann著述論文“eingebettete Systeme”(インフィックス形ないし埋め込み形システム)に対する実時間オペレーションシステムへの要求に関する論文。上記論文中では、マイクロコンピュータを有する制御装置に対する実時間オペレーションシステムの重要な特性的事項が記載されている。シーケンス制御に対して、換言すれば個々のタスクプログラムの相互整合性に対して、プロセスマネージャと称されるプログラムが責任を有する。上記プログラムによってCPUの配分が制御され、すべての経過するタスクプログラム(Tasks)が整合される。プロセスマネージャにより複数のタスクプログラムの準同時的並列的実行が可能になり、このことは、マルチタスキングと称される。リポート中に記載されているプロセスマネージャは次のように設計されている、即ち、目下実行されているプログラムをいつでも中断して、システム全体の動作にとってこの時点でより重要な(より高い優先度を有する)タスクプログラムをスタートし得るように設計されている。より高い優先度を有するプログラムが終了すると、中断されたプログラムは、当該の中断された個所から継続される。目下実行されているタスクプログラムをいつでも中断することができる手法は、強制排除スケジューリング又は強制排除マルチタスキングとも称される。
その他に、文献中には、共同的スケジューリング又は共同的マルチタスキングも公知技術として示されている。その種のシーケンス制御の場合、先立って、プログラム中にて設定された切換点においてのみ、種々のタスクプログラム間での切換が可能である。要するに、タスクプログラムは、いつでも中断され得るという訳ではない。
同時に進行するプログラム間では、一般的にデータ交換が必要である。例えば、測定された入力量又は制御偏差は、他のタスクプログラムに通報される。通常、個々のタスクプログラム間のデータ交換は、共通のメモリ領域(大域変数とも称される)を介して行われる。タスクプログラム間での切換のためプリエンプト切換ストラテジィが選ばれる場合、共通のメモリ領域を介したデータ交換の際、次の問題が生起する。
タスクプログラムが複数の個所にて、大域変数にアクセスする場合、大域変数は、次のようなときに種々のアクセス個所にて種々の値をとり得る。即ち、相対的に高い優先度を有するタスクプログラムが第1プログラムに割り込み、その実行中に大域変数の値を変えるときに種々の値をとり得る。その結果、或1つのプログラムの入力量が、それの実行中に変化し得る。それにより、誤ったプログラムシーケンスが惹起され得る。その問題は、データ矛盾性と称される。これに反して、全処理持続時間中にタスクプログラムに対する入力量が変化しない場合にデータ一貫性が存在するのである。
発明の利点
メインクレームの特徴事項を有する本発明により、これに対して次の利点が得られる。すなわち、複数のプログラムを相互に中断させ得る1つの複合的な制御プログラムにてデータ一貫性が簡単に確保されるという利点が得られる。データ一貫性の確保により、該プログラムは、順次実行されるものであるかのような振る舞いをする。従って、プログラムはタスクプログラム間での切換に対する優先使用形又は共同的切換ストラテジィが選定されるかに無関係に開発される。このことにより、制御プログラムの開発の際、殊に、種々のシステム間での制御プログラムの移植の際、利点が得られる。プログラム作成の際、プログラムが優先使用形又は共同的切換ストラテジィを有するシステムに対して開発されたか否か、又は、プログラムが、インタラプトルーチンとして設けられているのか、又は通常処理のため設けられているのかを考慮する必要はない。更に、本発明の方法を使用する際に、開発されたプログラムのテストも著しく簡単化される。即ち、プログラムにて各命令限界にて入力量の可能な変化を考慮することは、もはや必要でない。寧ろ実行の始めにて1度入力量を選定すれば十分である。
ソフトウエア開発に際しての準並列タスクプログラムの機能シミュレーションの情報量も本発明の方法により著しく高められる。機能シミュレーションは、常に順次行われるので、タスクプログラム間での中断切換(殊にプリエンプト切換ストラテジィ)を伴うシステムに対しては僅かな情報量しか得られない。即ち、シミュレーションプログラムは、そのインプリメンテーションにおいて最終プログラムと相違するので、中断切換時には最終プログラムと相違する特性を呈する。本発明の方法を使用することより、プログラムは、中断切換にも拘わらず、恰もシーケンシャルに進行するように動作をする。それにより、シミュレーションと現実との一致する特性を達成できる。
サブクレーム中に規定された手段によって、メインクレーム中に規定された方法の有利な発展形態及び改良が可能である。1つの変数の大域的(グローバル)コピーから1つの変数の局所的(ローカル)コピー内へのエントリの転送が、中断不可能な個々のマイクロコンピュータ命令により、又はマイクロコンピュータ命令の中断不可能なシーケンスにより行われる。それにより、データ一貫性が次のような場合にも確保される。即ち、よりによって、タスクプログラムによって大域変数のローカルコピーが更新されるまさにそのときに、他のタスクプログラムによって割り込みが行われる場合にも確保される。該他のタスクプログラムは、それらの実行中に大域的コピーでのエントリを変化させる。
請求の範囲3の手段により、次のような場合にもデータ一貫性が確保される。即ち、1つのタスクプログラムにより、大域変数が新たに求められ、ないし、計算され、次いで大域変数の更新が行われる場合にも確保される。
図面
本発明の1実施例が図示されており、以降の説明において詳述する。図1は、制御装置の概略的ブロック接続図である。図2は、データ一貫性の与えられていない際のプログラムシーケンスの第1例を示す。図3は、データ一貫性の与えられていない際のプログラムシーケンスの第2例を示す。図4は、第1例によるプログラムシーケンスを示し、ここで、本事例にてデータ一貫性が確保される。図5は、第2例によるプログラムシーケンスを示し、ここで、本事例にてデータ一貫性が確保される。図6は、図4の本発明のプログラムシーケンスの概略図である。図7は本発明の2つのタスクプログラム間のデータ交換の様子を示す概略図である。
発明の説明
図1中参照番号10は技術的工程又はプロセスの制御のための任意の電子的制御装置を示す。本発明は、専ら、自動車制御装置の分野にて使用されるべきものである。即ち、機関制御装置、ギヤ変速機制御装置、ブレーキ制御装置、空調制御装置等の分野で使用されるものである。但し、本発明は、当該の使用分野に限られておらず、寧ろ、任意の電子的制御装置において複合的な制御過程、化学的プロセス、工作機械制御部、洗濯機制御部等の制御のため使用され得る。参照番号11は、制御装置10のマイクロコンピュータである。参照番号12は、制御装置10の記憶装置を示す。記憶装置12は、例えば書込/読み取りメモリ(RAM)及び固定値メモリ(EPROM)から成る。参照番号13は、制御装置10の入力/出力ユニットを示す。その中には、測定値検出のため、及び所定の出力側の制御のためのすべての回路が設けられている。入力/出力ユニット中には、殊に、A/D変換器及び割込ロジックを設け得る。制御装置10にはセンサ14及びアクチュエータ15が接続されている。その種の制御装置10の具体的構成は、当業者にとって、従来技術から十分に公知であるので、以下詳述しない。以下、図2及び図3を用いて複数のタスクプログラム(それらはプリエンプトに中断され得る)の実行の際のデータ矛盾の問題性を示す。
図2には、制御装置10のプログラムシーケンスの1セクションが示されている。参照番号Aは、第1タスクプログラムを示す。参照番号Bは、第2タスクプログラムを示す。参照番号Cは、第3タスクプログラムを示す。タスクプログラムA,B,Cはオペレーションシステムによる制御下で実行される。ここで実行の順序は、いつも同じとは限らない。タスクプログラムAは、例えば、1つの所定の時間パターンで呼び出され得る。タスクプログラムAは例えば、タスクプログラムBとは別の時間パターンで呼び出され得る。タスクプログラムCは、割り込みプログラムとして構成され得、割り込み要求に従ってのみ実行され得る。タスクプログラムの実行の順序を図2中矢印で示す。先ず、タスクプログラムAが実行される。特に際立ったプログラムステップとしては、プログラムA中に変数Xが(Max−Min)/2にセットされるというインストラクションが示されている。ここで、変数Xは大域変数であり、該変数に対して、タスクプログラムBおよびCもアクセスし得る。大域変数は、例えば、任意の測定量、例えば、機関回転数、機関温度、絞り弁角度、吸い込み空気量等であり得る。しかし、計算量、例えば動作不安定性、回転むらであってもよい。タスクプログラムAが実行された後、タスクプログラムBが次のプログラムとして実行される。その場合、場合により複数の先行のインストラクションの後、次のようなインストラクションが実施される。すなわち、変数Xの実際の値が所定の最大値Maxより大である場合に、aktion_zu_gross();“アクション_過度に_大()“なるインストラクションが実施される。また、その代わりに、変数Xの実際の値が所定の最小値Minより小である場合には、aktion_zu_klein();“アクション_最小値_小()”なるインストラクションが実施される。大域変数が先以てタスクプログラムAにて、値(Max−Min)/2にセットされたので、前述の条件のいずれも充足されず、そして、次に、Bearbeite(x);“アクション:(X)を処理せよ”なるインストラクションが実行されるべき筈のものである。ところが上記インストラクションは実行されない。それというのは先立って、タスクプログラムCによりタスクプログラムBの実行が中断されるからである。タスクプログラムCでは、同様に大域変数Xが変化される。大域変数は値Max+5にセットされる。タスクプログラムCが終了した後、タスクプログラムBは、中断された個所にて継続され、Bearbeite(x);“(x)を処理せよ”なるインストラクションが実行される。従って、タスクプログラムBがそれの継続の際、非有効の入力値Xを有する処理関数を受け取る場合が起こる。そういうことが起こると、不所望の制御−/調整特性経過が惹起される。殊に自動車技術において、例えば機関制御(個々では最適の排ガス値及びできるだけ低い燃費が問題とされる)においてこの種の誤調整は特に有害である。
図3中には、発生しているデータ矛盾性の更なる1例が示してある。この場合タスクプログラムAにて大域変数Xを0にセットするようにとのインストラクションが与えられる。次いで以降実行されるタスクプログラムBにて、場合分けが行われる。即ち変数Xが0より小の値を有するか、又は正の値として生じているかの場合分けがなされる。次いで、極性に応じて、種々の処理ステップが実施される。先行のタスクプログラムAにて変数Xは値0にセットされているので、if−then−else−インストラクションの正の極性に対して実行分岐を実施しなければならなくなる。但し、else分岐の直接的実行はなされない。それというのは、タスクプログラムCによりタスクプログラムBが中断されるからである。しかしタスクプログラムCで変数Xは値−1にセットされる。その後、タスクプログラムBのelse分岐の後続の実行の際、Xの正の極性に対する分岐が実施される(X値が、その間に負になった極性を有するようになっても)。要するに、ここでもタスクプログラムBに対するデータ矛盾性が生じている。
データ矛盾性の状態発生に対する第3の例として、個別の読出/書込オペレーションが終了されていない入力量に対する読出/書込オペレーションが挙げられる。例えば、16ビット幅のメモリ語しか処理できないマイクロコンピュータの場合、32ビット幅語に対するアクセスは、2つの読出/書込オペレーションによって実施されなければならない。それらの2つのオペレーション間でプログラムが中断され、32ビットの語が新たに書き込まれる場合、比較的高位の16ビット部分及び比較的低位の16ビット部分はそれぞれ異なる値に属する。生起する32ビット幅入力量は矛盾性があり、従って、誤りがある。
データ矛盾性の問題は、次のようにして困難化される。即ち、複合的な制御プログラムの場合、多数の潜在的に可能な実行(処理)シーケンス及び割込個所が存在することにより困難化される。それというのはプログラムは潜在可能的に各々の個々のインストラクション後に中断され得るからである。そのような制御プログラムをテストする場合に、実行シーケンス及び中断個所のすべての可能な組合せを実行し、その都度、プログラムがすべての条件下で適正に動作するのを確保することはほぼ不可能である。
本発明の目的は、適切な手法により、この種の複合的な制御プログラムにおいてデータ一貫性を確保することである。
本発明によれば次のようなすべての大域変数に対して、局所的コピーがセッティングされる。即ち、1つ又は複数のタスクププログラムに対する入力量であり、亦、プログラムシーケンス中に他のタスクプログラムにより変化され得るすべての大域変数に対して局所的コピーがセッティングされる。次いで、相応のタスクプログラムは、更なるシーケンスにてその都度、大域変数の局所的コピーへアクセスする。ここでは、唯一のタスクプログラムが、それの固有の局所的コピーにアクセスし得ることが前提とされている。当該の条件下では、その都度のタスクプログラムに対するデータ一貫性が確保される。要するに、1つの入力量の大域的コピー、又は大域変数のほかに付加的に、所定のタスクプログラムに対する局所的コピーがセッティングされる。1つのタスクプログラムにより入力量が利用される場合、入力量の値は、始めにて、又は他の所望の時点にて、中断不可能の書込オペレーションにおいて、大域的コピーから読取られ、それぞれのタスクプログラムの対応する局所的コピー内にコピーし直される。或1つのタスクプログラム(これは入力量に対して読取アクセスするのみならず、入力量自体を求める、又は他の量から計算する)は大域変数、すなわち大域的コピーに書き込みアクセスをすることができる。この書込オペレーションも亦、何等かの他のタスクプログラムによっては中断され得ないブロックにて行われるべきである。このことは、例えば、次のようにして達成される、即ち、上述の書込オペレーション前に、すべての割り込み要求が阻止され、それにより、割り込みが中断を実施し得ないようにするのである。次いで、この書込オペレーションの後に割り込み要求が再びイネーブルにされる。当該プロセスを図4及び図5を用いて詳述する。
図4は、図2と同じプログラムシーケンス例を示す。但し、プログラムAの実施の際、相応の個所にて、先ず、局所的コピーmsgx(A)が、値(Max−Min)/2へセットされる。しかる後始めて、唯一の中断不可能な書込オペレーションにおいて、エントリが、局所的コピーmsgx(A)から大域的コピーmsgxへ転送される。上記の書込オペレーションは、結局、もはや、中断され得ない唯一のマイクロコンピュータ命令から成る。従って、書込オペレーション前に、割り込み要求を阻止する必要はない。タスクプログラムBの後続のシーケンスの際、誤りの起こり易いif−then−elseインストラクションの前に、大域的コピーmsgxにおけるエントリが、大域変数Xに対するタスクプログラムBの局所的コピーmsgx(B)内へ転送され得る。当該の書込オペレーションも中断不可能な書込オペレーションである。次に、タスクプログラムBでは、たんに局所的コピーmsgx(B)でのみ動作を行う。それにより、データ矛盾性が全く生じ得ない。そして、タスクプログラムCがそれの実行中、大域的コピーmsgxを新たに記述する場合にもデータ矛盾性が全く生じ得ない。即ち、局所的コピーmsgx(B)に対しては、タスクプログラムCは、アクセス権を有しない。
図5に示すように、タスクプログラムAは、それの実行中、値零を有する局所的コピーmsgx(A)を記述する。それに引き続いて、同じように、大域的コピーmsgx内への局所的コピーmsgx(A)の値の書込過程が行われる。書込過程は、図4の説明の際に言及した如く同じく中断不可能である。タスクプログラムBが実行されると、再び、クリティカルなif−then−インストラクション前に、大域的コピーmsgxにおける当該値は、局所的コピーmsgx(B)内へ転送される。次いで、タスクプログラムBの更なる実行中、局所的コピーmsgx(B)でのみ動作する。また、それの実行の際に大域変数msgxが新たに記述されるタスクプログラムCによる中断によっても、データ矛盾性を来さない。
図6には、図4のプログラムシーケンスが別の形態で示されてる。時点t1にてタスクプログラムAの実行が開始される。時点t2にて、局所的コピーmsgx(A)及びmsgxの双方の中に値(Max−Min)/2がエントリされている。タスクプログラムBに対する局所的コピーmsgx(B)中には、1つの任意の値がエントリされ得、このことは、ハッチングで示されている。時点t3にてタスクプログラムAが終了する。それに引き続いて直ちに、タスクプログラムBの実行が開始される。時点t4にて、タスクプログラムBも大域的コピーmsgxの値をそれの局所的コピーmsgx(B)内に転送している。時点t5では、タスクプログラムCは、タスクプログラムBの実行を中断する。タスクプログラムCはここで考察した例では座標系の所定座標において明らかなように、最高の優先度を有する。タスクプログラムC自体は、もはや中断され得ず、従って、タスクプログラムCに対して、変数Xに対する局所コピーは設けられない。時点t6にて、タスクプログラムCは、大域的コピーの値を新たな値Max+5で書き変える。時点t7にてタスクプログラムCの実行が終了される。それに引き続いて、中断されたタスクプログラムBは、中断個所にて継続される。時点t8ではタスクプログラムBの実行も終了される。時点t6とt8の間では変数xに対する大域的コピー及び局所的コピー内へのエントリはもはや変化されない。
図7に示すように、参照番号Aは1つのタスクプログラムを表し、それの実行中に入力量Xが新たに求められる。新たに求められた入力量はタスクプログラムAにより、はじめに、自身の局所的コピーmsgx(A)内にファイルされる。それにひき続いて、当該値は大域的コピーmsgx内にもコピーされる。当該コピー過程は、送信過程とも称される。タスクプログラムBの後続の処理の際、このタスクプログラムは、大域的コピーmsgxにおけるエントリを自身の局所的コピーmsgx(B)内へ転送する。このコピー過程は、受信過程とも称される。
幾つのタスクプログラムが或1つの複合的な制御プログラム中に含まれているかに応じて、又、どの入力量がそれぞれのタスクプログラムにより処理されるかに応じて、そして、どのタスクプログラムが他のタスクプログラムを中断し得るかに応じて、又、どれがそれ以上中断され得ないかに応じて、或1つの複合的制御プログラムの所要メモリ及び走行伝搬遅延の最適化のための種々の手法が存在する。ここにおいて、殊に下記の基準に留意すべきである:次のような場合のみ、局所的コピーをセッティングしさえすればよい。即ち、プログラムAが他の1つのプログラムBを中断し得、そして、両プログラムが同じ変数に対してアクセスする場合のみ、局所的コピーをセッティングしさえすればよい。他のすべての場合(例えば他のプログラム間の共同的切換の場合)局所的コピーは必要でない。それというのは、変数へのアクセスが大域変数へのアクセスと同じように行われるからである。
プログラムAがプログラムBを中断し、プログラムAが大域的コピーからのデータの受信器であり、かつプログラムBが大域的コピーにおけるデータの送信器であり、かつ付加的に、送信−及び受信過程が中断不可能なオペレーションで実施される場合、同様に局所的コピーをセッティングする必要はない。送信器は受信器を中断できないので、データ一貫性が確保される。
プログラムAがプログラムBを中断し、プログラムAが新たに求められたデータの送信器であり、プログラムBが新たに求められたデータの受信器であり、送信−及び受信過程が中断不可能なオペレーションで実施される場合、プログラムAは局所的コピーを必要としない。プログラムAの書込オペレーションは中断不可能に順次連続する。従ってタスクプログラムBは、常に一貫したデータにアクセスし得る。
タスクプログラムA〜NがタスクプログラムSにより中断され、ここで、タスクプログラムA〜Nは相互に中断し得ず、タスクプログラムSが図7に記載されたデータの送信器であり、タスクプログラムA〜Nが送信器又は受信器である場合、タスクプログラムA〜Nは、同じ局所的コピーを使用できる。タスクプログラムA〜Nは順次実行処理されるので、局所的コピーに対して同じメモリロケーションを使用できる。
すべての上述の最適化手法において、データ一貫性が確保される。従って、2つのタスクプログラム間でのデータ交換のためのこのメカニズムを、1つのオペレーティングシステムOS内に統合するのは有利である。該オペレーティングシステムOSは、条件に依存して送信過程及び受信信過程に対してその都度、伝搬時間及びメモリ特性上最適のインプリメンテーションを選ぶ。その際オペレーティングシステムOSは送信−又は受信呼出により局所的コピー内へのコピーアクションが生ぜしめられるか否か、又は、コピーアクションを実施しなくても良いか否かを決定できる。同様に、オペレーティングシステムOSは、変数に対するアクセスが直接的に大域的コピーを介して行われ得るか否か、又は、アクセスがタスクプログラムの局所的コピーを介して行われなければならないか否かを決定できる。
上述の例では、タスクプログラムA,B,Cに固定的優先度が対応付けられている。但し、タスクプログラムの実行における緊急性は、タスクプログラムの起動後、その都度オペレーティングシステムOSによっても新たに計算され得る。このために、例えば各タスクプログラムに、或1つの時間を対応付け得る、即ち、その中で、タスクプログラムを実行しなければならない時間を対応付け得る。その後、タスクプログラムの起動の際、次のようなことが起こり得る。即ち、オペレーティングシステムOSが、既に開始されたタスクプログラムの実行を継続し、又は、開始されたタスクプログラムを中断し、新たに起動されたタスクプログラムを処理することが起こり得る。起動されたタスクプログラムのどれがより一層早く実行されるべきかに応じて、オペレーティングシステムOSにより選択がなされる。要するに、それらの場合において、タスクプログラムの緊急性は、当該のタスクプログラムがそれの実行を待機する時間と共に増大する。
Claims (5)
- 自動車における技術的プロセス又は工程の制御方法であって、1つの複合的な制御プログラムが制御装置のマイクロコンピュータにより実行され、前記複合的な制御プログラムが複数のタスクプログラム(A,B,C)に分割され、1つのタスクプログラムに1つの固定的優先度及び少なくとも1つの起動事象が対応付けられ、その都度、処理に対して最高の優先度を有するタスクプログラムが選択され、1つのタスクプログラム(B)の実行は、分岐後に、かつ後続のインストラクションの前に割り込みし、変数(X)の値を変える、相対的に高い優先度を有するタスクプログラム(C)の実行の事後的要求に基づき中断され、当該中断されたタスクプログラム(B)の実行が、相対的に高い優先度を有する前記タスクプログラム(C)の実行の終了後に継続されるようにし、
前記中断されるタスクプログラム(B)は、分岐条件文においてある変数を参照し、分岐後にも同じ変数を参照する当該方法において、
複数のタスクプログラム(A,B,C)によって、そのタスクプログラムの実行中にアクセスされる、前記複合的な制御プログラムの1つの変数(X)に対して、前記中断されるタスクプログラム(B)に先行するタスクプログラム(A)において、先ず局所的コピー(msgx(A))を所定の値へセットし、その後、当該局所的コピー(msgx(A))を大域的コピー(msgx)内へ転送し、
前記変数(X)への書込アクセスをし得る相対的に高い優先度を有するタスクプログラム(C)により中断可能であるようなタスクプログラム(B)において、変数(X)に対する前記大域的コピー(msgx)を、自身の局所的コピー(msgx(B))内へ転送し、
前記中断されるタスクプログラム(B)は、前記大域的コピー(masgx)へのアクセスをせず、前記高い優先度を有する割り込みタスクプログラム(C)は前記大域的コピー(msgx)を更新する、
ことを特徴とする技術的プロセスの制御方法。 - 前記局所的コピー(msgx(B))内への前記大域的コピー(masgx)の転送が中断不可能な個別のマイクロコンピュータ命令により、又は、中断不可能なマイクロコンピュータ命令のシーケンスにより、実施されるようにしたことを特徴とする請求の範囲1記載の方法。
- 変数(X)の大域的コピー(msgx)へのタスクプログラム(A,C)の書込アクセスが、中断不可能な個別のマイクロコンピュータ命令により、又は、中断不可能なマイクロコンピュータ命令のシーケンスにより、実施されるようにしたことを特徴とする請求の範囲1又は2記載の方法。
- マイクロコンピュータ命令の中断不可能なシーケンスの実行前に所定の割込要求が阻止されるようにしたことを特徴とする請求の範囲2又は3記載の方法。
- 前記の所定の割込要求は、割込処理プログラムの起動を行わせる割込要求であり、前記割込処理プログラムの処理期間中に変数(X)への書き込みアクセスがなされるようにしたことを特徴とする請求の範囲4記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4445651.4 | 1994-12-21 | ||
DE4445651A DE4445651A1 (de) | 1994-12-21 | 1994-12-21 | Verfahren zur Steuerung von technischen Vorgängen |
PCT/DE1995/001665 WO1996019759A1 (de) | 1994-12-21 | 1995-11-25 | Verfahren zur steuerung von technischen vorgängen |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10511484A JPH10511484A (ja) | 1998-11-04 |
JP4283890B2 true JP4283890B2 (ja) | 2009-06-24 |
Family
ID=6536496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51940996A Expired - Lifetime JP4283890B2 (ja) | 1994-12-21 | 1995-11-25 | 技術的プロセスの制御方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5974346A (ja) |
EP (1) | EP0799441B1 (ja) |
JP (1) | JP4283890B2 (ja) |
DE (2) | DE4445651A1 (ja) |
ES (1) | ES2132735T3 (ja) |
WO (1) | WO1996019759A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101767418B1 (ko) * | 2015-10-21 | 2017-08-11 | 현대오트론 주식회사 | 임베디드 운영체제에서 로직의 우선순위 보장 방법 및 그 장치 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3832517B2 (ja) * | 1996-07-05 | 2006-10-11 | セイコーエプソン株式会社 | ロボット用コントローラ及びその制御方法 |
FI106988B (fi) * | 1997-05-16 | 2001-05-15 | Nokia Networks Oy | Palveluriippumattomien rakenneosien toteutus |
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 |
JP3666286B2 (ja) * | 1999-02-08 | 2005-06-29 | 株式会社デンソー | 自動車用制御装置 |
US20020194228A1 (en) * | 2001-06-18 | 2002-12-19 | Lainye Reich | System and method for automated rendering to print to a file |
JP2004220326A (ja) * | 2003-01-15 | 2004-08-05 | Denso Corp | 制御ソフトウエア構造およびこの構造を用いた制御装置 |
JP5186334B2 (ja) * | 2008-11-06 | 2013-04-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 変換装置、プログラムおよび変換方法 |
JP5406072B2 (ja) | 2010-02-18 | 2014-02-05 | 株式会社日立製作所 | 組込み制御装置 |
DE102010027806B4 (de) | 2010-04-15 | 2024-01-18 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Brennkraftmaschine, bei dem eine Größe ermittelt wird |
JP5218585B2 (ja) * | 2011-03-15 | 2013-06-26 | オムロン株式会社 | 制御装置およびシステムプログラム |
JP5099251B1 (ja) | 2011-07-15 | 2012-12-19 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体 |
EP3598251A1 (de) * | 2018-07-20 | 2020-01-22 | Siemens Aktiengesellschaft | Verfahren und anordnung zur verwaltung einer variablen für eine industrielle automatisierungsanordnung |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2119124A (en) * | 1982-03-05 | 1983-11-09 | Vgl Ind Ltd | Beverage-dispensing machine |
EP0362971A3 (en) * | 1984-03-01 | 1990-09-05 | Measurex Corporation | Real-time distributed data-base management system |
JPH04302026A (ja) * | 1991-03-29 | 1992-10-26 | Mazda Motor Corp | 制御プログラムの開発方法 |
DE69232645T2 (de) * | 1991-03-29 | 2003-04-03 | Mitsubishi Denki K.K., Tokio/Tokyo | Kommunikationsgerät |
JP2728155B2 (ja) * | 1991-12-19 | 1998-03-18 | 三菱電機株式会社 | 通信制御装置 |
JP3111752B2 (ja) * | 1993-06-22 | 2000-11-27 | 株式会社日立製作所 | 自動車制御方法及び制御システム |
JP3618119B2 (ja) * | 1994-06-23 | 2005-02-09 | 株式会社デンソー | 車両通信システム |
DE4433953A1 (de) * | 1994-09-23 | 1996-03-28 | Bosch Gmbh Robert | Verfahren zur Anzeige von Informationen auf einem Bildschirm |
-
1994
- 1994-12-21 DE DE4445651A patent/DE4445651A1/de not_active Withdrawn
-
1995
- 1995-11-25 ES ES95936982T patent/ES2132735T3/es not_active Expired - Lifetime
- 1995-11-25 DE DE59505463T patent/DE59505463D1/de not_active Expired - Lifetime
- 1995-11-25 JP JP51940996A patent/JP4283890B2/ja not_active Expired - Lifetime
- 1995-11-25 US US08/836,454 patent/US5974346A/en not_active Expired - Lifetime
- 1995-11-25 WO PCT/DE1995/001665 patent/WO1996019759A1/de active IP Right Grant
- 1995-11-25 EP EP95936982A patent/EP0799441B1/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101767418B1 (ko) * | 2015-10-21 | 2017-08-11 | 현대오트론 주식회사 | 임베디드 운영체제에서 로직의 우선순위 보장 방법 및 그 장치 |
Also Published As
Publication number | Publication date |
---|---|
US5974346A (en) | 1999-10-26 |
EP0799441B1 (de) | 1999-03-24 |
DE59505463D1 (de) | 1999-04-29 |
ES2132735T3 (es) | 1999-08-16 |
WO1996019759A1 (de) | 1996-06-27 |
JPH10511484A (ja) | 1998-11-04 |
DE4445651A1 (de) | 1996-06-27 |
EP0799441A1 (de) | 1997-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4283890B2 (ja) | 技術的プロセスの制御方法 | |
JP3483877B2 (ja) | プロセッサでのデータ処理方法及びデータ処理システム | |
US5506999A (en) | Event driven blackboard processing system that provides dynamic load balancing and shared data between knowledge source processors | |
JPH0533423B2 (ja) | ||
EP1437654A2 (en) | Distribution of operations to remote computers | |
JPS5841538B2 (ja) | マルチプロセツサシステム ノ ユウセンセイギヨホウシキ | |
CN111176801A (zh) | 一种多进程管理方法、装置、设备及存储介质 | |
US10691113B1 (en) | Robotic process control system | |
JPH023876A (ja) | シングルチップマイクロコンピュータ | |
JPH0520104A (ja) | 仮想クラスタ間通信処理装置 | |
JPS6376028A (ja) | 仮想計算機システムにおける命令ステツプ実行制御方式 | |
JP3992767B2 (ja) | 計算機処理システム | |
JPH03218556A (ja) | 手続内ループのマルチタスク化方式 | |
JPS60118966A (ja) | ジヨブ分散処理方式 | |
JPH01116833A (ja) | 割込処理方式 | |
JPS5844266B2 (ja) | マルチプロセッサの並列動作実行処理方法 | |
JPH01185733A (ja) | 入出力エミュレーション方式 | |
JPS6143347A (ja) | ベクトル命令シミユレ−シヨン方法 | |
JPH0335342A (ja) | 独立プログラム間の引継ぎ情報受渡し方式 | |
JPS6020771B2 (ja) | マイクロ診断方式 | |
JPH02224122A (ja) | メモリパッチデータのダイナミックリンク方式 | |
JPS61160147A (ja) | 仮想計算機制御方式 | |
JPH04211833A (ja) | 外部割込みシミュレート方式 | |
JPH0367357A (ja) | マルチcpuシステム | |
US20130091504A1 (en) | Data flows and their interaction with control flows |