JPH10105416A - リアルタイムオペレーティングシステムを用いたタスク起動制御装置 - Google Patents

リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Info

Publication number
JPH10105416A
JPH10105416A JP25471496A JP25471496A JPH10105416A JP H10105416 A JPH10105416 A JP H10105416A JP 25471496 A JP25471496 A JP 25471496A JP 25471496 A JP25471496 A JP 25471496A JP H10105416 A JPH10105416 A JP H10105416A
Authority
JP
Japan
Prior art keywords
task
event
tasks
operating system
time operating
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.)
Pending
Application number
JP25471496A
Other languages
English (en)
Inventor
Shogo Imada
昭吾 今田
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.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
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 Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP25471496A priority Critical patent/JPH10105416A/ja
Publication of JPH10105416A publication Critical patent/JPH10105416A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 タスクの接続形態の変更に対する仕様変更を
容易に可能にする。 【解決手段】 イベントの発生から要求時間内にデータ
を処理するリアルタイムオペレーティングシステム30
を用いてタスク1〜12を起動する起動制御装置におい
て、1つのイベントで複数のタスクを順次、リアルタイ
ムオペレーティングシステムを介して、起動するイベン
トハンドラ40と、複数のタスクの共通のヘッダファイ
ルに、イベントの種類と各イベントに属する複数のタス
クを順番に起動するタイミングを定義し、外部によりこ
の定義の変更が可能であるタスクヘッダファイル20と
を備え、リアルタイムオペレーティングシステム40
は、イベントによりタスクの起動が重複した場合にタス
クの優先度にしたがった起動すると共に、イベントハン
ドラ40により起動されるタスクの順番をタスクヘッダ
ファイル20の定義に従わせてタスクの起動を制御す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は種々のイベントで複
数のグループのタスクを起動処理するリアルタイムオペ
レーティングシステムに関し、タスクの接続形態の変更
に対する仕様変更を容易にできるタスク起動制御装置に
関する。
【0002】
【従来の技術】図13は従来のリアルタイムオペレーテ
ィングシステムを用いたコンピュータのプログラムソー
スにより構成されるタスク起動制御装置の一例を示す図
である。本図に示すイベントハンドラa、b、cは、外
部イベントからイベントフラグを形成して、リアルタイ
ムオペレーティングシステムを介して、タスクを初期起
動する。つまり、イベントハンドラaにより、先ず、タ
スク1が起動され、次に、タスク1がタスク2及びタス
ク4を起動し、タスク2がタスク3を起動し、タスク4
はタスク5及び6を起動する。同様に、イベントハンド
ラbのイベントフラグにより、先ず、タスク7及び10
が起動され、タスク7がタスク8を起動し、タスク8が
タスク9及び11を駆動する。同様に、イベントcはタ
スク12を起動する。リアルタイムオペレーティングシ
ステム(RTOS)は、イベントの発生から要求される
時間内にデータを処理するべき、外部情報ファイルを基
に、タスクの起動タイミングが重複した場合処理優先度
パラメータによりその起動タイミングの調整を行う。
【0003】しかしながら、タスクが上記のように連鎖
上に連結されているため、仕様変更時にタスクの接続形
態の変更が必要になると、タスク自体の変更するプログ
ラムソースの変更が必要になるという問題がある。ま
た、別の例として、後述する図12(b)に示すよう
に、ウェークアップ命令によりタスクを起動することが
できる。この場合には、イベントハンドラでは、タスク
の起動条件パラメータの設定により、外部イベントに対
してスリープ状態からウェークアップ状態にする複数の
タスクを予め設定することができる。このため、上記の
ような仕様変更に対して、タスクの接続形態の変更の要
請があっても、イベントハンドラにおけるタスクの起動
条件のパラメータの設定を変更することにより、対処可
能である。すなわち、前者の例のように、タスク自体の
変更となるプログラムソースの変更が不要である。しか
し、1つのイベントハンドラに属するタスク数が多くな
ると、イベントハンドラの処理時間が大きくなるという
問題がある。これに対して、前者のイベントフラグによ
るタスク起動の処理に関しては、イベントハンドラでは
処理するイベントは1つであるので、処理時間は小さ
い。
【0004】
【発明が解決しようとする課題】したがって、本発明
は、上記問題点に鑑み、前者のイベントハンドラの処理
時間が本来的に少ないイベントフラグによるタスク起動
の長所を生かして、タスクの接続形態の変更を伴う仕様
変更が容易にできる、リアルタイムオペレーティングシ
ステムを用いたタスク起動制御装置を提供することを目
的とする。
【0005】
【課題を解決するための手段】本発明は、前記問題点を
解決するために、イベントの発生から要求時間内にデー
タを処理するリアルタイムオペレーティングシステムを
用いてタスクを起動する起動制御装置において、1つの
イベントで複数のタスクを順次、前記リアルタイムオペ
レーティングシステムを介して、起動するイベントハン
ドラと、前記複数のタスクに共通のヘッダファイルに、
イベントの種類と各イベントに属する複数のタスクを順
番に起動するタイミングを定義し、外部によりこの定義
の変更が可能であるタスクヘッダファイルとを備え、前
記リアルタイムオペレーティングシステムは、前記イベ
ントによりタスクの起動が重複した場合にタスクの優先
度にしたがった起動すると共に、前記イベントハンドラ
により起動されるタスクの順番を前記タスクヘッダファ
イルの定義に従わせてタスクの起動を制御する。この手
段によれば、タスクの接続形態の変更に対してプログラ
ムソースの変更をせずに、タスクヘッダファイルの変更
により、仕様変更が容易に可能になる。
【0006】
【発明の実施の形態】以下本発明の実施の形態について
図面を参照して説明する。図1は本発明に係る車両のエ
ンジンシステムを示す図である。本図に示すように、エ
ンジンシステムは、種々の計測器からの出力信号を入力
するエンジンコントルールコンピュータを有し、これを
用いてエンジンの制御を行う。
【0007】図2は図1のエンジンコントロールコンピ
ュータの概略を説明する図である。本図に示すように、
種々の計測器として、例えば、水温センサー、バッテリ
ー、バキュームセンサー、吸気温センサー、O2 センサ
ー、ノックセンサ等からの出力信号を入力する入力イン
タフェース回路と、この入力インタフェース回路の出力
に接続されるA/D変換器と、さらにスロットルポジシ
ョンセンサー、スタータ、ディストリビューター、エア
コンディショナ、スピードセンサー、ニュートラルスタ
ートスイッチ等の出力信号、電気負荷信号を入力する別
のインタフェース回路と、A/D変換器及び別のインタ
フェース回路に接続されるメモリを具備するCPUと、
CPU用の定電圧電源と、CPUに接続される出力イン
タフェース回路とを具備し、出力インタフェース回路に
接続されるアクチュエータとして、ISCV、#1、
2、3、4インジェクター、サーキットオープニングル
ー、イグナイタ(スパークプラグを含む)等及び警告灯
がある。
【0008】図3は本発明に係るリアルタイムオペレー
ティングシステムを用いたコンピュータのプログラムソ
ースにより構成されるタスク起動制御装置の一例を示す
図である。本図には、アプリケーション処理を行う複数
のタスク1〜12と、複数のタスク1〜12に共通のヘ
ッダファイルに、それらの起動を、後述の処理タイミン
グパラメータにより、定義するタスクヘッダファイル2
0と、リアルタイムオペレーティングシステム30と、
イベント毎にタイミングフラグを形成し、リアルタイム
オペレーティングシステム30を介して、複数のタスク
1〜20を順次起動するイベントハンドラ40とが示さ
れる。リアルタイムオペレーティングシステム30は、
タスクヘッダファイル20で定義されるタスクの起動条
件パラメータを基に、タスクの起動タイミングの調整を
行う。
【0009】なお、イベントには、周期タイマ、エンジ
ン回転数、スピードメータ等から得られるものがある。
リアルタイムオペレーティングシステムとして,μIT
RON仕様を用い、イベントフラグ機能を用いる汎用的
なリアルタイムシステムのプログラムソースを構成して
もよい。図4は図3のタスクヘッダファイル20の一例
を説明する図である。本図に示すように、タスクヘッダ
ファイル20は、イベントの種類でタスクを分類し、分
類されたタスクにタイミングの順序を定義する。すなわ
ち、イベントaに属するタスク1〜6に、起動タイミン
グのパラメータを、タイミング1→タイミング2→タイ
ミング3→タイミング4→タイミング5→タイミング6
として、イベントbに属するタスク7〜11に、タイミ
ング7→タイミング8→タイミング9→タイミング10
→タイミング11として、イベント12に属するタスク
12に、タイミング12として、定義する。このタスク
ヘッダファイル20の内容は外部より設定変更が可能で
ある。
【0010】リアルタイムオペレーティングシステム3
0は、イベントの入力が重複する場合にはいずれのイベ
ントを優先するかを従来の外部ファイルにより判断し、
優先すべきイベントが判断されたらタスクヘッダファイ
ル20のタスクの処理タイミングに従ってタスクの起動
を行う。以下に各部の詳細を説明する。
【0011】図5は図3のタスク状態遷移を説明する図
である。本図に示すように、リアルタイムオペレーティ
ングシステムは、のディスパッチにより、READY
状態のタスクの中、最も優先度の高いタスクをRUN状
態に移す。さらに、リアルタイムオペレーティングシス
テムは、のプリエンプトにより、現在実行中のタスク
より優先度の高い別タスクの起動要求を発行(READ
Y状態に移行)した場合、実行中タスクの処理を中断し
READY状態に移す。
【0012】WAIT状態のタスクがそれぞれ実行条件
(=イベントフラグの状態)をもっているが、リアルタ
イムオペレーティングシステムは、のように、イベン
トフラグの状態の変化によりその条件が成立したタスク
をREADY状態に移して、待ち(WAIT)を解除す
る。タスクは実行中に、自身の実行条件(=イベントフ
ラグの状態)を、リアルタイムオペレーティングシステ
ムに対して発行する。リアルタイムオペレーティングシ
ステムは、イベントフラグの状態をチェックし、条件不
成立時はそのタスクを、のように、WAIT状態に移
して、待ち(WAIT)状態にする。
【0013】下表にイベントフラグ機能を説明する。
【0014】
【表1】
【0015】さらに、前述したCPUにはCPUにはさ
らにイベントハンドラが、以下に説明するように、設け
られる。図6はイベントハンドラのプログラム構成の具
体例を説明する図である。本図に示すように、イベント
タイミングa−1の発生タイミングで、リアルタイムオ
ペレーティングシステムに対して、システムコールse
flg(a−1)を発行する。この発行により、リ
アルタイムオペレーティングシステムは、イベントタイ
ミングフラグa−1をセットし、後述する制御ソフトプ
ログラムのタスクはイベントタイミングフラグa−1の
待ち状態タスクをREADY状態に起動する。起動後
に、システムコールclr flg(a−1)を発行し
て、イベントタイミングフラグa−1をクリアする。つ
まり、システムコールset flg(a−1)の発行
以外では、イベントフラグ待ち状態タスクは起動されな
いようにするためである。
【0016】図7はタスクのプログラム構成の具体例を
説明する図である。本図に示すように、タスクtsk−
1は、システムコールwai flg(FLAG−1)
をリアルタイムオペレーティングシステムに通知し、イ
ベントタイミングフラグa−1の待ち状態に入る。リア
ルタイムオペレーティングシステムのディスパッチによ
りタスクtsk−1が起動(実行再開)され、次のステ
ップのアプリケーション処理モジュールに実行が移る。
なお、このタスクにはリアルタイムオペレーティングシ
ステムの処理に資するためにタスク情報として優先度、
ID、タスク状態等が設定されている。また、タスクt
sk−1の情報、FLAG−1の定義等は外部情報ファ
イルに、以下のように、設定される。
【0017】図8は外部情報ファイルのプログラム構成
を説明する図である。本図に示すように、外部情報ファ
イルには、タスクの定義として、タスク状態の初期値、
タスクスタック領域、優先度、タスク関数、タスクID
等が設定され、タイミングパラメータ定義として、例え
ばtsk−1のタイミングパラメータラベルFLAG−
1がイベントタイミングフラグflg(a−1)のパラ
メータに設定される。
【0018】図9は電源投入時の各タスクの初期状態か
らの動作例を説明するタイミングチャートである。本図
に示すように、リセット時のイベントハンドラのイニシ
ャル処理では、イベントaの発生によりイベントタイミ
ングフラグflg(a−1)、flg(a−2)、等が
セットされる。これによりtsk−1、tsk−2、等
がREADY状態になる。そして、イベントタイミング
フラグflg(a−1)、イベントタイミングフラグf
lg(a−2)、等がクリアされる。ディスパッチは、
設定されたタイミングの順に、tsk−1をRUN状態
にする。tsk−1はリアルタイムオペレーティングシ
ステムに次のイベントフラグflg(a−1)待ちを通
知する。リアルタイムオペレーティングシステムはts
k−1を待ち状態にして、ディスパッチは次のタイミン
グのtsk−2をRUN状態にする。tsk−2はリア
ルタイムオペレーティングシステムに次のイベントタイ
ミングフラグflg(2)待ちを通知する。リアルタイ
ムオペレーティングシステムはtsk−2を待ち状態に
してディスパッチは次のタイミングのtsk−3をRU
N状態にする。以下同様の手順を繰り返す。
【0019】図10はtsk−7実行中にイベントaが
発生しtsk−1を開始する例を説明するタイミングチ
ャートである。本図に示すように、イベントaの発生に
よる割り込みがあると、イベントハンドラはシステムコ
ールset flg(a−1)を発行する。同時にta
k−7の処理を中断する。リアルタイムオペレーティン
グシステムはイベントタイミングフラグflg(a−
1)を設定して、tsk−1をREADY状態にする。
その後イベントハンドラはシステムコールclr flg
(a−1)を発行する。リアルタイムオペレーティング
システムはイベントタイミングフラグflg(a−1)
をクリアして、イベントハンドラの処理を終了する。デ
ィスパッチは、 tsk−1>tsk−7 の場合には、tsk−1をRUN状態にする。tsk−
1はシステムコールwai flg(a−1)を発行す
る。リアルタイムオペレーティングシステムはtsk−
a−1を待ち状態にする。ディスパッチはtsk−7を
RUN状態にして処理を再開する。tsk−7はシステ
ムコールwai flg(b−1)を発行する。以下は
図9と同様な手順を取る。
【0020】図11はtsk−7実行中にイベントaが
発生しtsk−1を開始する別の例を説明するタイミン
グチャートである。図9との相違は、 tsk−1<tsk−7 の場合には、tsk−7を再開して、その後にtsk−
1をRUN状態にすることである。
【0021】したがって、本発明によれば、タスクヘッ
ダファイルの設定定数を変更することにより、タスクの
接続形態の変更を伴う仕様変更が容易になる。図12は
本発明に係るタスク起動制御(a)とウェークアップ命
令によりタスクを起動するタスク起動制御(b)とでタ
スクを起動するのに要する時間を比較する図である。本
図に示すように、ウェークアップ命令によりタスクを起
動するタスク起動制御(b)では、タスクを起動すべき
時間は、1つのイベントで起動すべきタスク数のほぼ比
例してし大きくなるが、本発明に係るタスク起動制御
(a)では、これに比較して小さく、所期の目的通り、
イベントハンドラの処理時間が本来的に少ないイベント
フラグによるタスク起動の長所を生かすることができて
いる。
【図面の簡単な説明】
【図1】本発明に係る車両のエンジンシステムを示す図
である。
【図2】図1のエンジンコントロールコンピュータの概
略を説明する図である。
【図3】本発明に係るリアルタイムオペレーティングシ
ステムを用いたコンピュータのプログラムソースにより
構成されるタスク起動制御装置の一例を示す図である。
【図4】図3のタスクヘッダファイル20に一例を説明
する図である。
【図5】図3のタスク状態遷移を説明する図である。
【図6】イベントハンドラのプログラム構成の具体例を
説明する図である。
【図7】タスクのプログラム構成の具体例を説明する図
である。
【図8】外部情報ファイルのプログラム構成を説明する
図である。
【図9】電源投入時の各タスクの初期状態からの動作例
を説明するタイミングチャートである。
【図10】tsk−7実行中にイベントaが発生しts
k−1を開始する例を説明するタイミングチャートであ
る。
【図11】tsk−7実行中にイベントaが発生しts
k−1を開始する別の例を説明するタイミングチャート
である。
【図12】本発明に係るタスク起動制御(a)とウェー
クアップ命令によりタスクを起動するタスク起動制御
(b)とでタスクを起動するのに要する時間を比較する
図である。
【図13】従来のリアルタイムオペレーティングシステ
ムを用いたコンピュータのプログラムソースにより構成
されるタスク起動制御装置の一例を示す図である。
【符号の説明】
1〜12…タスク 20…タスクヘッダファイル 30…リアルタイムオペレーティングシステム 40…イベントハンドラ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 イベントの発生から要求時間内にデータ
    を処理するリアルタイムオペレーティングシステムを用
    いてタスクを起動する起動制御装置において、 1つのイベントで、複数のタスクを順次、前記リアルタ
    イムオペレーティングシステムを介して、起動するイベ
    ントハンドラと、 前記複数のタスクの共通のヘッダファイルに、イベント
    の種類と各イベントに属する複数のタスクを順番に起動
    するタイミングを定義し、外部によりこの定義の変更が
    可能であるタスクヘッダファイルとを備え、 前記リアルタイムオペレーティングシステムは、前記イ
    ベントによりタスクの起動が重複した場合にタスクの優
    先度にしたがって起動すると共に、前記イベントハンド
    ラにより起動されるタスクの順番を前記タスクヘッダフ
    ァイルの定義に従わせてタスクの起動を制御することを
    特徴とするリアルタイムオペレーティングシステムを用
    いたタスク起動制御装置。
JP25471496A 1996-09-26 1996-09-26 リアルタイムオペレーティングシステムを用いたタスク起動制御装置 Pending JPH10105416A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25471496A JPH10105416A (ja) 1996-09-26 1996-09-26 リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25471496A JPH10105416A (ja) 1996-09-26 1996-09-26 リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Publications (1)

Publication Number Publication Date
JPH10105416A true JPH10105416A (ja) 1998-04-24

Family

ID=17268834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25471496A Pending JPH10105416A (ja) 1996-09-26 1996-09-26 リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Country Status (1)

Country Link
JP (1) JPH10105416A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템
US6968552B2 (en) 2000-12-20 2005-11-22 Denso Corporation Processor unit for executing event process in real time in response to occurrence of event

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968552B2 (en) 2000-12-20 2005-11-22 Denso Corporation Processor unit for executing event process in real time in response to occurrence of event
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템

Similar Documents

Publication Publication Date Title
US7228372B2 (en) Data communication system with an SPI bus having a plurality of devices wherein data communications are enabled using communication protocols optimum to respective devices
KR970016979A (ko) 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법
JP2000047883A (ja) タスク制御方法および記録媒体
JP2005276097A (ja) 割り込み依頼プログラムおよびマイクロコンピュータ
JPH10105416A (ja) リアルタイムオペレーティングシステムを用いたタスク起動制御装置
JP2636722B2 (ja) マルチタスク実行管理方式
KR100454164B1 (ko) 제어장치
JPH10105418A (ja) エンジン制御ソフトのタイミング管理装置
JP2010102567A (ja) 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム
JP4535663B2 (ja) ステートマシン制御方式およびステートマシン
JP2000293382A (ja) リアルタイムオペレーティングシステムを用いたタスク起動制御装置
JP2508026B2 (ja) タイマ制御方式
JPH04118704A (ja) イベント駆動型車両制御用コンピュータ
JP6061973B2 (ja) プログラマブルデバイスのコンフィグレーション制御方法およびプログラマブルデバイスを有する制御装置
JPH07293292A (ja) 内燃機関の自動始動停止装置
JP2901714B2 (ja) プログラマブルコントローラ
JPH0683652A (ja) マイクロコンピュ−タシステム
JPH0842387A (ja) 内燃機関の自動始動停止装置
JP2851547B2 (ja) ビル管理装置
CN114687865A (zh) 一种fadec控制软件的状态机跟随方法
JPH0778091A (ja) マルチタスク管理方法
JPH10105413A (ja) 割込処理システム
JPH05233525A (ja) I/o処理装置
JPH0462093B2 (ja)
JPH02127732A (ja) ジョブ管理方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20051219

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A02 Decision of refusal

Effective date: 20060509

Free format text: JAPANESE INTERMEDIATE CODE: A02