JP2002251291A - 車両内の技術的プロセスの制御方法,制御プログラム,メモリ素子,制御装置 - Google Patents

車両内の技術的プロセスの制御方法,制御プログラム,メモリ素子,制御装置

Info

Publication number
JP2002251291A
JP2002251291A JP2001374622A JP2001374622A JP2002251291A JP 2002251291 A JP2002251291 A JP 2002251291A JP 2001374622 A JP2001374622 A JP 2001374622A JP 2001374622 A JP2001374622 A JP 2001374622A JP 2002251291 A JP2002251291 A JP 2002251291A
Authority
JP
Japan
Prior art keywords
task
control program
processing
stored
tasks
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
JP2001374622A
Other languages
English (en)
Other versions
JP4571355B2 (ja
Inventor
Gabriel Wetzel
ウェッツェル ガブリエル
Jens Fiedler
フィードラー イェンス
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 JP2002251291A publication Critical patent/JP2002251291A/ja
Application granted granted Critical
Publication of JP4571355B2 publication Critical patent/JP4571355B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 可能な限り実際に近い条件下で協同的又は割
込み的モードにおいて実行すべき制御プログラムのアル
ゴリズム,測定されたデータによりシミュレーション
(OOL)を実行する。 【解決手段】 制御プログラムは計算装置31によって
処理される。制御プログラムは,複数のタスク(A,
B)に分割されており,各タスク(A,B)は複数のプ
ロセス345,346,…,383,384に分割され
ている。タスク(A,B)は,協同的又は割込み的モー
ドにおいて処理される。制御プログラムの処理後に,で
きるだけ実際に近いシミュレーション,特にオフライン
オープンループ(OOL)−シミュレーションを可能に
するために,制御プログラムの処理の間,プロセスシー
ケンスが記憶される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,車両内の技術的プ
ロセスの制御方法,制御プログラム,メモリ素子,制御
装置に関する。
【0002】
【従来の技術】協同的なモードにおける制御プログラム
の各タスクの処理においては,タスクが異なる優先順位
を有する場合には,より高位の実行優先順位を有するタ
スクが,実際に実行されている低位の優先順位のタスク
の中断をもたらす。
【0003】協同的モードにおいては,より高い実行優
先順位を有するタスクが実際に実行されている低位の優
先順位を有するタスクのプロセスを中断する割込み的モ
ードとは異なり,より高位の優先順位を有するタスクは
実際に実行されている低位の優先順位を有するタスクの
プロセスの終了を待機する。
【0004】その後,初めて,低位の優先順位を有する
タスクが中断され,より高位の優先順位を有するタスク
が実行される。より高位の優先順位を有するタスクが完
了した場合に,低位の優先順位を有するタスクは,その
前で中断されていたプロセスから続行される。
【0005】上記協同的モードにおける制御プログラム
のタスクの処理は,DE19500957A1から既知
である。より高位の優先順位を有するタスクによる低位
の優先順位を有するタスクの中断は,マルチタスキング
オペレーションシステムの課題に属する。制御プログラ
ムを処理する際に協同的モードも割込み的モードも支援
するマルチタスキングオペレーションシステムは,例え
ばドイツ,シュトゥットガルトの,ETAS エントヴ
ィックルング−ウント−アプリカチオーンスヴェルクツ
ォイゲ フュア エレクトロニッシェ ジステーメ(E
TAS Entwicklung− und Appl
ikationswerkzeugefuer ele
ktronische Systeme)GmbH &
Co.KG社のリアルタイムオペレーションシステム
ERCOSEKである(ETAS GmbH & C
o.KG:ERCOSEK V2.0.0マニュアル,
シュトゥットガルト,1998を参照)。DE1950
0957A1とERCOS EKは,明らかに関連してい
る。
【0006】プロセスのラン時間は,各々計算装置の負
荷に応じて変動する。かかる理由から,また他のより高
位の優先順位を有するタスクによりもたらされる中断に
よって,1つの同じ制御プログラムのプロセス呼出しの
順序は,何回も処理する場合には異なる可能性がある。
即ち,制御プログラムの処理後に,プロセス呼出しの正
確な順序は認識されておらず,例えばシミュレーション
目的のために再構築することもできない。
【0007】制御プログラム又はその一部(アルゴリズ
ム)のシュミレーションについては,複数の方法が既知
である。アルゴリズム又は制御プログラムを測定された
データによって後からシミュレートすることは,オフラ
イン−オープンループ−シミュレーション(OOL)と
称される。いわゆるオフライン−クローズドループ−シ
ミュレーション(OCL)とは,閉成されたシミュレー
ション回路内でシミュレーションモデルによってアルゴ
リズム又は制御プログラムをシミュレートすることであ
る。処理されたプロセスの順序が再現可能ではないこと
が,特に測定されたデータによってアルゴリズムを後か
らシミュレートする場合(OOL)に,著しい困難をも
たらす。
【0008】従来技術によれば,マルチタスキングオペ
レーションシステムによって制御されるアルゴリズム
は,通常は最適な状態でシミュレーションされる。即
ち,制御プログラムの各タスクは,中断が生じないよう
に,呼び出される。
【0009】DE19500957A1には,協同的モ
ードで処理すべき制御プログラムのシミュレーション
は,割込み的モードで処理すべき制御プログラムのシミ
ュレーションと比較して,プログラム処理の時間的シー
ケンスと特に中断の効果をシミュレートできるという利
点が記載されている。
【0010】これは,協同的モードにおいては,各プロ
セスは中断されず,かつプログラム状態を記述し,スタ
ックメモリに格納される変量の数が一定であるので,容
易に可能である。このことにより,プロセス間の中断
は,開発行程において極めて良好にシミュレートするこ
とができる。というのは,中断の可能性の数は制限され
ており,かつ中断はプログラムシーケンスとは無関係だ
からである。
【0011】
【発明が解決しようとする課題】しかしながら,上記従
来の方法では,制御プログラムの実際の処理に続いてプ
ロセスシーケンスを再現することができないので,従来
技術から既知の全ての協同的又は割込み的モード内で処
理すべき制御プログラムのアルゴリズムのシミュレーシ
ョンは,実際の条件下ではシミュレーションできないと
いう問題がある。
【0012】したがって,本発明の目的は,可能な限り
実際に近い条件下で協同的又は割込み的モードにおいて
実行すべき制御プログラムのアルゴリズム,測定された
データによりシミュレーション(OOL)を実行するこ
とが可能な新規かつ改良された車両内の技術的プロセス
の制御方法,制御プログラム,メモリ素子,制御装置を
提供することにある。
【0013】
【課題を解決するための手段】上記課題を解決するた
め,本発明の第1の観点においては,複数のタスク
(A,B)に分割される制御プログラムが計算装置(3
1)によって処理されると共に,前記各タスク(A;
B)は少なくとも1つのプロセス(345,346,
…,383,384;121,122,…128,12
9)を有し,かつ協同的又は割込み的モードにおいて処
理される,車両内の技術的プロセスの制御方法であっ
て,前記制御プログラムの処理の間,プロセスシーケン
スが記憶される,ことを特徴とする車両内の技術的プロ
セスの制御方法が提供される。
【0014】上記記載の発明では,制御プログラムの処
理の間プロセスシーケンスが格納されるので,制御プロ
グラムの処理後に,記憶されている情報を使用してプロ
グラムシーケンスを再現することができる。この再現さ
れたプロセスシーケンスは,その後制御プログラムのア
ルゴリズムのシミュレーションの基礎とされる。したが
って,特にOOL−シミュレーションに基づく測定され
たデータによって,アルゴリズムの特に実際に近いシミ
ュレーションが可能となる。測定とシミュレーション結
果を相互に比較することができ,かつ制御プログラム内
の効果的なエラーサーチが可能である。このように,初
めて制御プログラムの実際のプロセスシーケンスをシミ
ュレートできるための基礎を提供する。このために,例
えば各プロセス内及び/又は各タスク内に好適な指令が
付加される。
【0015】また,前記制御プログラムの処理の前に,
前記各プロセス(345,346,…383,384;
121,122,…128,129)に一義的な識別子
が対応づけられると共に,前記制御プログラムの処理の
間に前記プロセスシーケンスは前記プロセス(345,
346,…,383,384;121,122,…12
8,129)の前記識別子を使用して記憶される,如く
構成すれば,プロセスの処理の枠内で,その識別子が所
定のメモリ領域に格納され,メモリ領域に格納されてい
る識別子を使用して,制御プログラムの実行後にプロセ
スシーケンスを再現することができる。なお,識別子
は,例えば複数桁の数として形成することができる。
【0016】また,前記制御プログラムの処理の間,そ
の都度新しいタスク(A,B)に対してのみ,前記新し
いタスク(A,B)の開始前に最後に処理されたプロセ
ス(345,346,…,383,384;121,1
22,…128,129)の識別子が記憶される,如く
構成すれば,制御プログラムのタスクのプロセスリスト
を使用して,新しいタスクの開始前に最後に処理された
プロセスの,記憶されている識別子と共に,制御プログ
ラムの実行後にプロセスシーケンスが完全に再現され
る。このことにより,プロセスシーケンスを完全に再現
できるようにするために必要とされる,格納すべきデー
タ量を著しく削減することができる。なお,制御プログ
ラムの各タスクは,タスクの各プロセスのその処理の順
序を順次リストアップしている,いわゆるプロセスリス
トによって定義されている。
【0017】また,前記制御プログラムの処理の間,そ
の都度終了したタスク(A,B)に対してのみ,前記終
了したタスク(A,B)の開始前に最後に処理されたプ
ロセス(345,346,…,383,384;12
1,122,…128,129)の識別子が記憶され
る,如く構成すれば,タスクのプロセスリストを使用し
て,終了したタスクの開始前に最後に処理されたタスク
の,格納されている識別子と共に,制御プログラムの処
理後にプロセスシーケンスが完全に再現される。このよ
うに,プロセスシーケンスを完全に再現できるようにす
るために必要とされる,格納すべきデータ量を著しく削
減することができる。
【0018】また,前記制御プログラムの処理の間,各
処理されたプロセス(345,346,…,383,3
84;121,122,…128,129)の識別子が
変数(FinishedProcessNumber,
FPN)に,そして各タスク(A,B)の処理の間,前
記変数の内容がプロセスシーケンスデータファイル(P
AD)に記憶される,如く構成すれば,各処理されたプ
ロセスの識別子がその中に格納される,変数は,好まし
くはグローバル変数として形成されている。制御プログ
ラムの処理後にプロセスシーケンスを再現するために,
タスクのプロセスリストとプロセスシーケンスデータフ
ァイルが評価される。
【0019】また,前記各タスク(A,B)の最初に,
前記変数(FinishedProcessNumbe
r,FPN)の内容がタスク固有変数(TaskA_P
redecessorPRC,TA_PrePRC;T
askB_PredecessorPRC TB_Pr
ePRC)に記憶されると共に,前記タスク(A,B)
をさらに処理する間,前記タスク固有変数(TaskA
_PredecessorPRC,TA_PrePR
C;TaskB_PredecessorPRCTB_
PrePRC)の内容が,プロセスシーケンスデータフ
ァイル(PAD)に記憶される,如く構成すれば,変数
の内容は,制御プログラムの処理の間常に実際に処理さ
れたプロセスの識別子によって上書きされるので,新し
いタスクを呼び出す場合に,変数内にタスクの呼出し前
に最後に処理されたプロセスの識別子が格納されてい
る。タスクの最初に,この変数の内容がタスク固有変数
に書き込まれる。従ってタスク固有変数内には,常に,
実際のタスクの開始直前に処理されたプロセスの識別子
が存在している。タスクをさらに処理する間,タスク固
有変数の内容がプロセスシーケンスデータファイルに格
納される。タスク固有変数の内容をタスクをさらに処理
する間,測定技術によってこのタスクの他の全ての測定
量と共に測定データファイルに格納することできる。従
ってプロセスシーケンスデータファイルは,この測定デ
ータファイルの構成部分となる。
【0020】上記課題を解決するため,本発明の第2の
観点によれば,車両の制御装置(30)のためのメモリ
素子(32)であって,前記メモリ素子には,制御プロ
グラムが記憶されており,前記制御プログラムは計算装
置(31)上で実行可能であり,かつ請求項1から6の
いずれか1項に記載の方法を実行することが可能であ
る,ことを特徴とするメモリ素子が提供される。
【0021】上記記載の発明では,メモリ素子上に制御
プログラムが格納されており,その制御プログラムは計
算装置上,特にマイクロプロセッサ上で,本発明に基づ
く方法を実行できる。
【0022】上記課題を解決するため,本発明の第3の
観点においては,計算装置に対し,請求項1から6のい
ずれか1項に記載の方法を実行させる制御プログラムが
提供される。
【0023】上記記載の発明では,計算装置上(特にマ
イクロプロセッサ上)で,制御プログラムが本発明にか
かる方法を実行することができる。なお,ここで,制御
プログラムは,特に車両内の技術的プロセスを制御する
のに用いられる,コンピュータプログラムである。
【0024】また,前記制御プログラムは,メモリ素子
(32)に記憶されている,如く構成れば,メモリ素子
上に格納されている制御プログラムによって本発明にか
かる方法を実行することができるので効果的である。こ
の場合に,メモリ素子として,特に電気的メモリ媒体,
例えばリードオンリーメモリ,ランダムアクセスメモリ
又はフラッシュメモリを使用することができる。
【0025】上記課題を解決するため,本発明の第4の
観点によれば,複数のタスク(A,B)に分割された制
御プログラムが実行される計算装置(31)を有し,か
つ前記各タスク(A,B)は少なくとも1つのプロセス
(345,346,…,383,384;121,12
2,…128,129)を有しており,かつタスク
(A,B)の処理は協同的又は割込み的モードで行われ
る,車両内の技術的プロセスを制御する制御装置(3
0)において,前記制御装置(30)は,前記制御プロ
グラムの処理の間プロセスシーケンスを記憶する手段を
有する,ことを特徴とする制御装置が提供される。
【0026】上記記載の発明では,制御プログラムの処
理の間プロセスシーケンスが格納されるので,制御プロ
グラムの処理後に,記憶されている情報を使用してプロ
グラムシーケンスを再現することができる。この再現さ
れたプロセスシーケンスは,その後制御プログラムのア
ルゴリズムのシミュレーションの基礎とされる。それに
よって,特にOOL−シミュレーションに基づく測定さ
れたデータによって,アルゴリズムの特に実際に近いシ
ミュレーションが可能となる。測定とシミュレーション
結果を相互に比較することができ,かつ制御プログラム
内の効果的なエラーサーチが可能である。このように,
初めて制御プログラムの実際のプロセスシーケンスをシ
ミュレートできるための基礎を提供する。このために,
例えば各プロセス内及び/又は各タスク内に好適な指令
が付加される。
【0027】また,前記制御装置(30)は,前記請求
項2から6のいずれか1項に記載の方法を実行する手段
を有する如く構成することができる。
【0028】
【発明の実施の形態】以下,本発明の好適な実施の形態
について,添付図面を参照しながら詳細に説明する。
尚,以下の説明及び添付図面において,同一の機能及び
構成を有する構成要素については,同一符号を付するこ
とにより,重複説明を省略する。
【0029】(第1の実施の形態)まず,図1から図1
0を参照しながら,第1の実施の形態について説明す
る。なお,図1は,本実施形態にかかる車両における技
術的プロセスの制御装置の構成を示すブロック図であ
る。
【0030】まず,図1に示すように,制御装置30
は,計算装置(例えばマイクロプロセッサ)31を有し
ており,その上で制御プログラムが実行可能である。制
御装置30は,さらに,メモリ素子32を有しており,
そのメモリ素子32に制御プログラムが格納されてい
る。例えばバス導線として形成されているデータ接続3
3を介して,マイクロプロセッサ31によって実行すべ
き制御プログラムあるいはその部分がマイクロプロセッ
サ31へ伝達されて,そこで処理される。
【0031】好適なインターフェイスを介してマイクロ
プロセッサ31へ測定量34が供給され,かつマイクロ
プロセッサ31内で処理される。測定量34は,例えば
メモリ素子32内の測定データファイルに格納される。
この測定データファイルには,本実施形態においては,
制御プログラムの処理の間,プロセスシーケンスに関す
る情報,特にプロセスの処理の順序も格納することがで
きる。この情報と測定量34は,制御プログラムの処理
後に,シミュレーション目的のために利用することがで
きる。
【0032】次に,図2に基づいて,制御プログラムを
処理する間のプロセスシーケンスを説明する。なお,図
2は,本実施形態にかかる制御プログラムを処理する間
のプロセスシーケンスを示す説明図である。なお,本実
施形態においては,制御プログラムを処理する間のプロ
セスシーケンスを2つのサイクルで示している。
【0033】本実施形態においては,制御装置の計算装
置上(特にマイクロプロセッサ上)で,特に車両内の技
術的プロセスを制御するための制御プログラムを処理す
ることができる。制御プログラムを複数のタスクに,そ
して各タスクがさらに複数のプロセスに分割されてい
る。
【0034】タスクは,所定の時点であるいは所定の走
査時間で規則的に呼び出されて処理される。各タスクに
は,所定の優先順位が対応づけられている。制御プログ
ラムの処理の間に2つのタスクを同時に実行しようとす
る場合には,2つのタスクの優先順位が比較され,より
高い優先順位を有するタスクが第1のタスクとして処理
される。
【0035】例えばタスクAが処理され,かつタスクB
を実行しようとする場合には,各々プログラマにより選
択された,タスクのコンフィグレーションに従って種々
の場合が生じ得る:
【0036】タスクAがタスクBよりも高い優先順位を
有する場合には,タスクBの実行は,タスクAが終了す
るまで待機される。
【0037】タスクBがタスクAよりも高い優先順位を
有する場合には,タスクAの処理は中断されて,タスク
Bが実行される。プログラマがいわゆる協同的モードに
おけるタスクの実行を選択している場合には,タスクB
の実行は,タスクAの現在のプロセスの終了まで待機さ
れる。このプロセスが終了すると,即座にタスクAは中
断されて,タスクBが実行される。タスクBが終了した
場合に,タスクAは,タスクBを実行するためにその前
で中断されたプロセスの最初からさらに実行される。
【0038】プログラマが,割込み的モードにおけるタ
スクの処理を選択している場合には,タスクBはタスク
Aの現在のプロセスを中断し,タスクBが直接実行され
る。次にタスクAが,中断されたプロセスにおいてさら
に処理される。
【0039】あるタスクの,より高位の優先順位を有す
る他のタスクによる中断は,マルチタスキングオペレー
ションシステムの課題に属する。プロセスのラン時間
は,各々制御プログラムが処理される計算機の負荷に応
じて変動する。
【0040】かかる理由から,そして他のタスクにより
もたらされる中断によって,図2の第1と第2のサイク
ルにおける2つのタスクの処理に示すように,1つの同
じ制御プログラムを複数回実行する場合にプロセス呼出
しの順序が異なることがあり得る。従って制御プログラ
ムの処理後に,タスクの各プロセスが呼び出された順序
は認識されていない。
【0041】また,図3に示すように,タスクの個々の
プロセスには,各々3桁の数字の形式の一義的な識別子
が設けられている。タスクの個々のプロセスは,制御プ
ログラムの処理の間の実行の順序においてプロセスリス
トに記憶される。
【0042】プロセスリストは,オンラインでプロセス
シーケンスを定めるために,オペレーションシステムに
よって評価される。タスクAはプロセス345から38
4を有し,タスクBはプロセス121から129を有し
ている。タスクAは,20ミリ秒毎に呼び出される。タ
スクBは,タスクAよりも高い優先順位で10ミリ秒毎
に呼び出される。2つのタスクは,協同的モードで作動
し,即ちタスクAは,より優先順位の高いタスクBによ
って2つのプロセス間で中断される。
【0043】また,図4には,第1のサイクルと第2の
サイクルにおけるプロセスの処理の順序が図示されてい
る。
【0044】図4に示すように,第1のサイクルにおい
ては,タスクBのプロセス121から129が処理され
る。次に,タスクAのプロセスがプロセス345から始
るように処理される。
【0045】しかし,タスクAのプロセスの処理は,タ
スクBによって中断される。第1のサイクルにおいて
は,タスクAの中断はプロセス372の処理後に発生
し,第2のサイクルにおいてはプロセス383の処理後
に初めて発生する。
【0046】従って,第1のサイクルにおいてはタスク
Bの第2の処理後には,タスクAのプロセス373から
384が実行されなければならず,第2のサイクルにお
いてはタスクAのプロセス384のみが実行される。
【0047】プロセスの順序が異なることがあり得ると
いう事実は,制御プログラムの処理後に所定のプロセス
シーケンスはもはや再現できないことを意味している。
これは特に,測定されたデータによって制御プログラム
のアルゴリズムを後からシミュレートする場合には(い
わゆるオフラインオープンループ(OOL)シミュレー
ション),著しい困難をもたらす。
【0048】従って,従来技術によれば,マルチタスキ
ングオペレーションシステムによって制御されるアルゴ
リズムは,通常,最適な状態でシミュレートされ,即ち
タスクA,Bは中断が発生しないように呼び出される。
【0049】従来技術から既知のシミュレーション方法
を用いたシミュレーションにおける,第1のサイクルと
第2のサイクルにおけるプロセスのそれに応じた順序
が,図5に示されている。図4に示す実際のプロセスシ
ーケンスから明らかなように,シミュレートされたプロ
セスシーケンス(図5)と実際のプロセスシーケンス
(図4)とは,明らかに異なる。
【0050】本実施形態においては,制御プログラムの
アルゴリズムの可能な限り実際に近いシミュレーション
(特に実際に近いOOL−シミュレーション)を可能に
するために,制御プログラムの処理の間プロセスシーケ
ンスを記憶する構成を採用している。
【0051】記憶すべきデータ量を削減するために,処
理される全てのプロセスが記憶されるのではなく,新し
いタスク,あるいは終了したタスクA,Bの開始前に処
理された最後のプロセスのみが記憶される。
【0052】各プロセスには,一義的な標徴(識別子)
が対応づけられており,それは本実施形態においては,
3桁の数(タスクAについてはプロセス345から38
4そしてタスクBについてはプロセス121から12
9)からなる。
【0053】各プロセスにおいて,かつ制御プログラム
の各タスクにおいて,本実施形態にかかる方法の実現の
ために必要とされる好適なプログラム指令が付加され
る。
【0054】制御プログラムの処理の間,各プロセスの
最後に,今処理されたプロセスの識別子がグローバルな
変数処理済みプロセス番号(FinishedProc
essNumber)(FPN)で続けられる。従っ
て,変数FPN内には,常に最後に処理されたプロセス
の識別子が存在している。
【0055】各タスクA,Bの最初に,変数FPNがタ
スク固有の変数(TaskA_Predecessor
PRC,TaskB_PredecessorPRC)
にコピーされる。従ってこのタスク固有の変数内には,
常に,現在のタスクA,Bの開始直前に処理されたプロ
セスの識別子が存在している。各タスクがさらに処理さ
れる間,各々タスク固有の変数(TaskA_Pred
ecessorPRC,TaskB_Predeces
sorPRC)の内容は,プロセスシーケンスデータフ
ァイル(PAD)内に記憶される。特に,各々タスク固
有の変数は,測定技術によってこれらタスクA,Bの他
の全ての測定量と共に測定データファイル内に記憶さ
れ,その場合にプロセスシーケンスデータファイルは,
測定データファイルの構成部分である。
【0056】図6には,他の制御プログラムのプロセス
シーケンスが図示されている。制御プログラムは,異な
る優先順位の4つのタスクC,D,E及びFを有してい
る。各タスクC,D,E,Fは,1つ以上のプロセスを
有している。
【0057】タスクCは,プロセス111を有し,タス
クDはプロセス212と222,タスクEはプロセス3
13,323,333を有し,かつタスクFはプロセス
413,423,433を有している。各プロセスは,
図6においては,バーで示されている。バーの高さは,
タスクC,D,E,Fの優先順位を表している。制御プ
ログラムの処理の間,プロセスシーケンスが全プロセス
の識別子によってプロセスシーケンスデータファイルに
格納される場合に,表は次の内容を有する:「111,
313,212,111,222,323,111,2
12,222,333,413,423,433,11
1,313,111,323,333,413,42
3,433,111」。
【0058】プロセスシーケンスデータファイルに格納
すべき,プロセスシーケンスの完全な再現のために必要
なデータ量を削減するために,制御プログラムの処理の
間,終了したタスクの開始前に最後に処理されたプロセ
スの識別子のみが格納される。
【0059】それによって得られる,プロセスシーケン
スデータファイルの内容を図7に示す。上記の22個の
要素の代わりに,図7に示すプロセスシーケンスデータ
ファイルは12の要素のみを有する。
【0060】最初に終了したタスクは,タスクCであ
る。タスクCの開始前に処理されたプロセスは,認識さ
れていない。従って,プロセスシーケンスデータファイ
ルには「xxx」が記入される。
【0061】その後,タスクEが開始されるが終了され
ない。その後,タスクDが開始されるが同様に終了され
ない。次に終了したタスクは再びタスクCである。タス
クCの開始前に処理されたプロセスは,「212」であ
る。従ってプロセスシーケンスデータファイルには,
「212」が記入される。
【0062】その後,タスクDが続行されて終了され
る。タスクDの開始前に処理されたプロセスは,「31
3」である。従ってプロセスシーケンスデータファイル
には,「313」が記入される。
【0063】その後タスクEが続行されるが,終了され
ない。次に終了したタスクは,またタスクCである。タ
スクCの開始前に処理されたプロセスは,「323」で
ある。従ってプロセスシーケンスデータファイルには
「323」が記入される。
【0064】その後,タスクDが開始されて終了もされ
る。タスクDの開始前に処理されたプロセスは,「11
1」である。従ってプロセスシーケンスデータファイル
には「111」が記入される。
【0065】その後,タスクEが続行されて終了され
る。タスクEの開始前に処理されたプロセスは「11
1」である。従って再びプロセスシーケンスデータファ
イルには「111」が記入される。
【0066】その後,タスクFが開始されて終了もされ
る。タスクFの開始前に処理されたプロセスは「33
3」である。従ってプロセスシーケンスデータファイル
には「333」が記入される。かかる工程は,制御プロ
グラムが終了するまでの間,続行される。プロセスシー
ケンスデータファイルの次の内容が得られる:「xx
x,212,313,323,111,111,33
3,433,313,111,333,433」。
【0067】制御プログラムの処理後に,シミュレーシ
ョン目的のために,まず測定データファイルが読み込ま
れる。プロセスシーケンスが,プロセスリスト(図3を
参照)と測定データファイル内に記憶されている情報を
使用して再構築される。
【0068】本実施形態にかかる方法は,制御プログラ
ムにおいて初めて実際のプロセスシーケンスをシミュレ
ートすることができる基礎を提供する。測定とシミュレ
ーション結果は,相互に比較されて,制御プログラムの
ソフトウェア内での効果的なエラーサーチが可能にな
る。
【0069】図8には,図2に示すプロセスシーケンス
について,グローバル変数FinishedProce
ssNumber(FPN)とタスク固有変数(Tas
kA_PredecessorPRC,TaskB_P
redecessorPRC)の内容が図示されてい
る。これらの情報は,測定データファイルに格納され
る。
【0070】次に,図9に基づいて,本実施形態にかか
るタスクAの処理方法について説明する。なお,図9
は,本実施形態にかかるタスクAの処理方法を示すフロ
ーチャートである。
【0071】まず,ステップS10で,処理が開始され
る(ステップS10)。次いで,ステップS11で,タ
スクAが選択される(ステップS11)。その後,ステ
ップS12で,グローバル変数の内容(Finishe
dProcessNumber,FPN)がタスク固有
変数(TaskA_PredecessorPRC)に
コピーされる(ステップS12)。
【0072】さらに,ステップS13で,タスク固有変
数の内容がプログラムシーケンスデータファイル(PA
D)に格納される(ステップS13)。次いで,ステッ
プS14で,タスクAのプロセスリスト(図3を参照)
を使用して選択されたプロセス(PRC)が実行される
(ステップS14)。このプロセスの標徴(識別子)
は,ステップS15で,グローバル変数(Finish
edProcessNumber)に格納される。
【0073】さらに,ステップS16で,タスクAが終
了しているか,が判断される(ステップS16)。タス
クAが終了していないと判断される場合には,ステップ
S14に移行し,プロセスリストに従ってタスクAの次
のプロセスが選択される。タスクAが終了していると判
断される場合には,ステップS17に移行し,処理を終
了する(ステップS17)。
【0074】また,タスクBの処理方法は,図10に示
すように,ステップS20から27は,図9のステップ
S10から17が該当する。タスクBの実行は,上記タ
スクAの実行と同様に行われる。なお,図10は,本実
施形態にかかるタスクBの処理方法を示すフローチャー
トである。
【0075】タスクAとタスクBの実行は,当然なが
ら,常時,あるいは協同的モードにおいては現在のプロ
セスの終了後に,より高位の優先順位のタスクによって
中断することができる。これは,例えばインターラプト
コールによって行われる。
【0076】以上,本発明に係る好適な実施の形態につ
いて説明したが,本発明はかかる構成に限定されない。
当業者であれば,特許請求の範囲に記載された技術思想
の範囲内において,各種の修正例及び変更例を想定し得
るものであり,それらの修正例及び変更例についても本
発明の技術範囲に包含されるものと了解される。
【0077】
【発明の効果】制御プログラムの処理の間プロセスシー
ケンスが格納されるので,制御プログラムの処理後に,
記憶されている情報を使用してプログラムシーケンスを
再現することができる。この再現されたプロセスシーケ
ンスは,その後制御プログラムのアルゴリズムのシミュ
レーションの基礎とされる。それによって,特にOOL
−シミュレーションに基づく測定されたデータによっ
て,アルゴリズムの特に実際に近いシミュレーションが
可能となる。測定とシミュレーション結果を相互に比較
することができ,かつ制御プログラム内の効果的なエラ
ーサーチが可能である。このように,初めて制御プログ
ラムの実際のプロセスシーケンスをシミュレートできる
ための基礎を提供する。このために,例えば各プロセス
内及び/又は各タスク内に好適な指令が付加される。
【図面の簡単な説明】
【図1】第1の実施の形態にかかる技術的プロセスの制
御装置を示すブロック図である。
【図2】本実施形態にかかる制御プログラムを処理する
間のプロセスシーケンスを2つのサイクルで示す説明図
である。
【図3】本実施形態にかかるタスクAとタスクBについ
てのプロセスリストを示す説明図である。
【図4】図2にかかる2つのサイクルの間のプロセスの
順序表を示す説明図である。
【図5】従来におけるシミュレーション方法による制御
プログラムを示す説明図である。
【図6】本実施形態にかかる他の制御プログラムを処理
する間のプロセスシーケンスを示す説明図である。
【図7】終了したタスクの開始前に,図6に示すプロセ
スシーケンスの間に処理された各々最後のプロセスを有
する表を示す説明図である。
【図8】図2にかかる2つのサイクルの実行の間の種々
の変数で占められた表を示す説明図である。
【図9】本実施形態にかかるタスクAの処理方法を示す
フローチャートである。
【図10】本実施形態にかかるタスクBの処理方法を示
すフローチャートである。
【符号の説明】
30 制御装置 31 計算装置(例えばマイクロプロセッサ) 32 メモリ素子 33 データ接続 34 測定量
───────────────────────────────────────────────────── フロントページの続き (72)発明者 イェンス フィードラー ドイツ連邦共和国 93107 タルマッシン グ ハイダウアーシュトラーセ 5 Fターム(参考) 5B042 GA23 GB08 HH07 HH30 MC13 MC21 5B098 AA05 JJ07

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクに分割される制御プログラ
    ムが計算装置によって処理されると共に,前記各タスク
    は少なくとも1つのプロセスを有し,かつ協同的又は割
    込み的モードにおいて処理される,車両内の技術的プロ
    セスの制御方法であって,前記制御プログラムの処理の
    間,プロセスシーケンスが記憶される,ことを特徴とす
    る車両内の技術的プロセスの制御方法。
  2. 【請求項2】 前記制御プログラムの処理の前に,前記
    各プロセスに一義的な識別子が対応付けられると共に,
    前記制御プログラムの処理の間に前記プロセスシーケン
    スは前記プロセスの前記識別子を使用して記憶される,
    ことを特徴とする請求項1に記載の車両内の技術的プロ
    セスの制御方法。
  3. 【請求項3】 前記制御プログラムの処理の間,その都
    度新たなタスクに対してのみ,前記新しいタスクの開始
    前に最後に処理されたプロセスの識別子が記憶される,
    ことを特徴とする請求項2に記載の車両内の技術的プロ
    セスの制御方法。
  4. 【請求項4】 前記制御プログラムの処理の間,その都
    度終了したタスクに対してのみ,前記終了したタスクの
    開始前に最後に処理されたプロセスの識別子が記憶され
    る,ことを特徴とする請求項2に記載の車両内の技術的
    プロセスの制御方法。
  5. 【請求項5】 前記制御プログラムの処理の間,各処理
    されたプロセスの識別子が変数に記憶されると共に,前
    記各タスクの処理の間,前記変数の内容がプロセスシー
    ケンスデータファイルに記憶される,ことを特徴とする
    請求項3又は4に記載の車両内の技術的プロセスの制御
    方法。
  6. 【請求項6】 前記各タスクの最初に,前記変数の内容
    がタスク固有変数に記憶されると共に,前記タスクをさ
    らに処理する間,前記タスク固有変数の内容が前記プロ
    セスシーケンスデータファイルに記憶される,ことを特
    徴とする請求項5に記載の車両内の技術的プロセスの制
    御方法。
  7. 【請求項7】 車両の制御装置のためのメモリ素子であ
    って,前記メモリ素子には,制御プログラムが記憶され
    ており,前記制御プログラムは計算装置上で実行可能で
    あり,かつ請求項1から6のいずれか1項に記載の方法
    を実行することが可能である,ことを特徴とするメモリ
    素子。
  8. 【請求項8】 計算装置に対し,請求項1から6のいず
    れか1項に記載の方法を実行させるための制御プログラ
    ム。
  9. 【請求項9】 前記制御プログラムは,メモリ素子に記
    憶されている,ことを特徴とする請求項8に記載の制御
    プログラム。
  10. 【請求項10】 複数のタスクに分割された制御プログ
    ラムが実行される計算装置を有し,かつ前記各タスクは
    少なくとも1つのプロセスを有しており,かつタスクの
    処理は協同的又は割込み的モードで行われる,車両内の
    技術的プロセスを制御する制御装置において,前記制御
    装置は,前記制御プログラムの処理の間プロセスシーケ
    ンスを記憶する手段を有する,ことを特徴とする制御装
    置。
  11. 【請求項11】 前記制御装置は,前記請求項2から6
    のいずれか1項に記載の方法を実行する手段を有する,
    ことを特徴とする請求項10に記載の制御装置。
JP2001374622A 2000-12-08 2001-12-07 車両内の技術的プロセスの制御方法,制御プログラム,メモリ素子,制御装置 Expired - Fee Related JP4571355B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10061001A DE10061001B4 (de) 2000-12-08 2000-12-08 Verfahren und Steuergerät zur Steuerung von technischen Vorgängen in einem Kraftfahrzeug, sowie Speicherelement und Steuerprogramm hierfür
DE10061001.3 2000-12-08

Publications (2)

Publication Number Publication Date
JP2002251291A true JP2002251291A (ja) 2002-09-06
JP4571355B2 JP4571355B2 (ja) 2010-10-27

Family

ID=7666242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001374622A Expired - Fee Related JP4571355B2 (ja) 2000-12-08 2001-12-07 車両内の技術的プロセスの制御方法,制御プログラム,メモリ素子,制御装置

Country Status (3)

Country Link
US (1) US7296270B2 (ja)
JP (1) JP4571355B2 (ja)
DE (1) DE10061001B4 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272530A (ja) * 2006-03-31 2007-10-18 Fujitsu Ten Ltd 制御対象シミュレーション装置
JP2015169997A (ja) * 2014-03-05 2015-09-28 三菱電機株式会社 プログラム解析装置及びプログラム解析方法及びプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6797998B2 (en) 2002-07-16 2004-09-28 Nvidia Corporation Multi-configuration GPU interface device
US7984446B1 (en) * 2003-09-18 2011-07-19 Nvidia Corporation Method and system for multitasking BIOS initialization tasks
DE10351019A1 (de) * 2003-10-31 2005-06-30 P21 - Power For The 21St Century Gmbh Verfahren zum Steuern und/oder Regeln wenigstens eines Aggregats in einem technischen System sowie technisches System
DE102005021986A1 (de) 2005-05-09 2006-11-16 Robert Bosch Gmbh Verfahren zur Steuergeräte-Überwachung
GB2521155B (en) 2013-12-10 2021-06-02 Advanced Risc Mach Ltd Configuring thread scheduling on a multi-threaded data processing apparatus
GB2521151B (en) * 2013-12-10 2021-06-02 Advanced Risc Mach Ltd Configurable thread ordering for a data processing apparatus

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3662401A (en) * 1970-09-23 1972-05-09 Collins Radio Co Method of program execution
DE2555963C2 (de) * 1975-12-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Funktionsmodifizierung
US4937740A (en) * 1985-09-18 1990-06-26 Cadre Technologies, Inc. Real time software analyzing system for storing selective m-bit addresses based upon correspondingly generated n-bit tags
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
US6304891B1 (en) * 1992-09-30 2001-10-16 Apple Computer, Inc. Execution control for processor tasks
US5680645A (en) * 1992-11-18 1997-10-21 Canon Kabushiki Kaisha System for executing first and second independently executable programs until each program relinquishes control or encounters real time interrupts
JPH0749790A (ja) * 1993-06-01 1995-02-21 Matsushita Electric Ind Co Ltd プロセッサにおける割り込み制御方法及び割り込み制御回路
DE19500957A1 (de) 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
US6009454A (en) * 1994-09-30 1999-12-28 Allen-Bradley Company, Llc Multi-tasking operation system for industrial controller
US5872909A (en) * 1995-01-24 1999-02-16 Wind River Systems, Inc. Logic analyzer for software
US5619409A (en) * 1995-06-12 1997-04-08 Allen-Bradley Company, Inc. Program analysis circuitry for multi-tasking industrial controller
US5844795A (en) * 1995-11-01 1998-12-01 Allen Bradley Company, Llc Diagnostic aid for industrial controller using multi-tasking architecture
JP3139392B2 (ja) * 1996-10-11 2001-02-26 日本電気株式会社 並列処理システム
US6128641A (en) * 1997-09-12 2000-10-03 Siemens Aktiengesellschaft Data processing unit with hardware assisted context switching capability
US5991792A (en) * 1998-01-02 1999-11-23 International Business Machines Corporation Method, apparatus and computer program product for dynamically managing a thread pool of reusable threads in a computer system
US6272388B1 (en) * 1998-09-29 2001-08-07 Rockwell Technologies, Llc Program structure and method for industrial control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272530A (ja) * 2006-03-31 2007-10-18 Fujitsu Ten Ltd 制御対象シミュレーション装置
JP4551349B2 (ja) * 2006-03-31 2010-09-29 富士通テン株式会社 制御対象シミュレーション装置
JP2015169997A (ja) * 2014-03-05 2015-09-28 三菱電機株式会社 プログラム解析装置及びプログラム解析方法及びプログラム

Also Published As

Publication number Publication date
DE10061001B4 (de) 2005-05-04
US7296270B2 (en) 2007-11-13
JP4571355B2 (ja) 2010-10-27
US20020099757A1 (en) 2002-07-25
DE10061001A1 (de) 2002-06-27

Similar Documents

Publication Publication Date Title
JP2002251291A (ja) 車両内の技術的プロセスの制御方法,制御プログラム,メモリ素子,制御装置
US7086054B2 (en) Method and device for reconstructing the process sequence of a control program
JPS63142431A (ja) パイプライン制御方式
JPH11242509A (ja) プログラマブルロジックコントローラ
JPS585848A (ja) プログラム呼出し制御方式
JP2513142B2 (ja) プログラムのシミュレ―タ装置
JP3207333B2 (ja) プログラマブルコントロ−ラ
JP2621631B2 (ja) プログラマブルコントローラ
JPH05224711A (ja) プログラマブルコントローラの制御方法
JPH09244717A (ja) 制御装置
JPS5835648A (ja) プログラム実行制御方式
JPS61156339A (ja) トレ−ス処理方式
JP2658699B2 (ja) 入出力装置用テストプログラムの被試験装置の管理方法
JPH05307403A (ja) プログラム管理方法及びプログラム管理装置とプラントコントローラシステム
JP2000242524A (ja) プロセッサのソフトウエアシミュレータ
JPS63150733A (ja) 中央処理装置
JPS63163632A (ja) シヤド−メモリ方式
JPS61213928A (ja) プログラム変更方式
JPS59180755A (ja) トレ−ス方式
JPH03271812A (ja) シーケンスデータの記憶方式
JPH04332003A (ja) プログラマブルコントローラ
JPS62235641A (ja) プログラム実行制御方式
JPH0328905A (ja) プログラマブルコントローラの入出力転送方法
JPH064340A (ja) 電源制御シミュレータの動作履歴格納方式
JPH0421028A (ja) レジスタ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071205

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100812

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees