JPH07210403A - タスク切換システム - Google Patents
タスク切換システムInfo
- Publication number
- JPH07210403A JPH07210403A JP684094A JP684094A JPH07210403A JP H07210403 A JPH07210403 A JP H07210403A JP 684094 A JP684094 A JP 684094A JP 684094 A JP684094 A JP 684094A JP H07210403 A JPH07210403 A JP H07210403A
- Authority
- JP
- Japan
- Prior art keywords
- task
- execution
- instruction
- executed
- operating system
- 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
Links
Abstract
(57)【要約】
【目的】タスク切換の処理に要する時間を短くすること
ができるタスク切換方式を提供するにある。 【構成】オペレーティングシステムOSから実行権が与
えられると、実行権が与えられたタスクT1 ではプログ
ラムされている命令が実行される。オペレティングシス
テムOSは上記実行権をタスクT1 に与えてから2ms
経過時点で経過フラグを立てる。この経過フラグが立て
られると、当該タスクT1 では命令実行中であればその
命令実行を継続し、その命令実行終了時点で停止時点の
情報をRAM3に退避させるとともにタスク実行を停止
する。オペレーティングシステムOSはこの情報退避終
了後次のタスクT2 に対して実行権を与える。 【効果】実行中の命令が途中で止められることが無くな
り、その分メモリに退避させる情報が少なくなるので、
タスク切り換えに要する時間が短くなる。
ができるタスク切換方式を提供するにある。 【構成】オペレーティングシステムOSから実行権が与
えられると、実行権が与えられたタスクT1 ではプログ
ラムされている命令が実行される。オペレティングシス
テムOSは上記実行権をタスクT1 に与えてから2ms
経過時点で経過フラグを立てる。この経過フラグが立て
られると、当該タスクT1 では命令実行中であればその
命令実行を継続し、その命令実行終了時点で停止時点の
情報をRAM3に退避させるとともにタスク実行を停止
する。オペレーティングシステムOSはこの情報退避終
了後次のタスクT2 に対して実行権を与える。 【効果】実行中の命令が途中で止められることが無くな
り、その分メモリに退避させる情報が少なくなるので、
タスク切り換えに要する時間が短くなる。
Description
【0001】
【産業上の利用分野】本発明は、専用のBASIC言語
で操作するプログラマブルコントローラのタスク切換シ
ステムに関するものである。
で操作するプログラマブルコントローラのタスク切換シ
ステムに関するものである。
【0002】
【従来の技術】従来専用のBASIC言語で操作するプ
グラマブルコントローラにおいてタスク処理を行う場合
には図6に示すようにオペレーテイングシステムOSが
順次タスクT1 …に実行権を与える(矢印a)とともに
一定時間経過(例えば2ms)後に実行中のタスクT1
…に実行を中止させる指令を与えて(矢印b)実行を中
止させ、その時の情報をオペレーティングシステムOS
によりメモリに退避させ(矢印c)、次のタスクに強制
的に実行権を移行させる。このようにして最初のタスク
T1 から最終タスクTmまでオペレーティングシステム
OSによる管理のもとで順次サイクリックに実行権が移
行されて夫々のタスクが実行され、実行権が戻ってきた
タスクではメモリに退避させた情報を読み出して続きを
実行するようになっている。
グラマブルコントローラにおいてタスク処理を行う場合
には図6に示すようにオペレーテイングシステムOSが
順次タスクT1 …に実行権を与える(矢印a)とともに
一定時間経過(例えば2ms)後に実行中のタスクT1
…に実行を中止させる指令を与えて(矢印b)実行を中
止させ、その時の情報をオペレーティングシステムOS
によりメモリに退避させ(矢印c)、次のタスクに強制
的に実行権を移行させる。このようにして最初のタスク
T1 から最終タスクTmまでオペレーティングシステム
OSによる管理のもとで順次サイクリックに実行権が移
行されて夫々のタスクが実行され、実行権が戻ってきた
タスクではメモリに退避させた情報を読み出して続きを
実行するようになっている。
【0003】
【発明が解決しようとする課題】上述のタスクの切換は
全てオペレーティングシステムOSにより管理されてて
おり、一般的にタイムスライス方式と呼ばれているもの
であるが、各タスクT1…での実行を一定時間で停止さ
せるため、メモリに退避させる情報量が多くなって、そ
の情報退避のための処理に時間がかかり、結果的にプロ
グラム全体の処理に時間がかかるという問題があった。
全てオペレーティングシステムOSにより管理されてて
おり、一般的にタイムスライス方式と呼ばれているもの
であるが、各タスクT1…での実行を一定時間で停止さ
せるため、メモリに退避させる情報量が多くなって、そ
の情報退避のための処理に時間がかかり、結果的にプロ
グラム全体の処理に時間がかかるという問題があった。
【0004】請求項1,2の発明は上記の問題点に鑑み
て為されたもので、その目的とするところはタスク切換
の処理に要する時間を短くすることができるタスク切換
システムを提供するにある。
て為されたもので、その目的とするところはタスク切換
の処理に要する時間を短くすることができるタスク切換
システムを提供するにある。
【0005】
【課題を解決するための手段】上記目的を達成するため
に 請求項1の発明では、演算処理装置で実行される複
数のタスクがあり、夫々のタスクの実行権を順次演算処
理装置に与えて夫々のタスクを順次実行させるオペレー
ティングシテムよりなるタスク切換システムにおいて、
オペレーティングシステムではタスクの実行権を与えて
から一定時間経過時にフラグを立て、実行権が与えられ
て実行されるタスクでは上記フラグが立てられて時に実
行中の命令があれば、その命令終了後にタスク自身でタ
スク実行を停止してその時の情報をメモリに退避させ、
オペレーティングシステムではこの退避終了後に次のタ
スクに実行権を移行することを特徴とする。
に 請求項1の発明では、演算処理装置で実行される複
数のタスクがあり、夫々のタスクの実行権を順次演算処
理装置に与えて夫々のタスクを順次実行させるオペレー
ティングシテムよりなるタスク切換システムにおいて、
オペレーティングシステムではタスクの実行権を与えて
から一定時間経過時にフラグを立て、実行権が与えられ
て実行されるタスクでは上記フラグが立てられて時に実
行中の命令があれば、その命令終了後にタスク自身でタ
スク実行を停止してその時の情報をメモリに退避させ、
オペレーティングシステムではこの退避終了後に次のタ
スクに実行権を移行することを特徴とする。
【0006】請求項2の発明では、演算処理装置で実行
される複数のタスクがあり、夫々のタスクの実行権を順
次演算処理装置に与えて夫々のタスクを順次実行させる
オペレーティングシテムよりなるタスク切換システムに
おいて、実行権が与えられて実行されるタスクでは1命
令実行が終了したときにタスク自身でタクス実行を停止
してその時の情報をメモリに退避させ、オペレーティン
グシステムではこの退避終了後に次のタスクに実行権を
移行することを特徴とする。
される複数のタスクがあり、夫々のタスクの実行権を順
次演算処理装置に与えて夫々のタスクを順次実行させる
オペレーティングシテムよりなるタスク切換システムに
おいて、実行権が与えられて実行されるタスクでは1命
令実行が終了したときにタスク自身でタクス実行を停止
してその時の情報をメモリに退避させ、オペレーティン
グシステムではこの退避終了後に次のタスクに実行権を
移行することを特徴とする。
【0007】
【作用】請求項1の発明によれば、オペレーティングシ
ステムではタスクの実行権を与えてから一定時間経過時
にフラグを立て、実行権が与えられて実行されるタスク
では上記フラグが立てられて時に実行中の命令があれ
ば、その命令終了後にタスク自身でタスク実行を停止し
てその時の情報をメモリに退避させ、オペレーティング
システムではこの退避終了後に次のタスクに実行権を移
行するので、実行中の命令が途中で止められることが無
くなり、その分メモリに退避させる情報が少なくなるの
で、タスク切り換えに要する時間が短くなってプログラ
ム全体の実行時間を短くすることができる。
ステムではタスクの実行権を与えてから一定時間経過時
にフラグを立て、実行権が与えられて実行されるタスク
では上記フラグが立てられて時に実行中の命令があれ
ば、その命令終了後にタスク自身でタスク実行を停止し
てその時の情報をメモリに退避させ、オペレーティング
システムではこの退避終了後に次のタスクに実行権を移
行するので、実行中の命令が途中で止められることが無
くなり、その分メモリに退避させる情報が少なくなるの
で、タスク切り換えに要する時間が短くなってプログラ
ム全体の実行時間を短くすることができる。
【0008】請求項2の発明によれば、実行権が与えら
れて実行されるタスクでは1命令実行が終了したときに
タスク自身でタクス実行を停止してその時の情報をメモ
リに退避させ、オペレーティングシステムではこの退避
終了後に次のタスクに実行権を移行するので、オペレー
ティングシステムからタスクへのアクセスの回数が少な
くなる上に、タスクの停止が1命令実行が終了したとき
に為されるので、命令実行途中などで停止するような場
合に比べてメモリに退避させる情報量が少なくなり、結
果タスクの切り換えの処理に要する時間が短くなり、プ
ログラム全体の実行時間を短くすることができる。
れて実行されるタスクでは1命令実行が終了したときに
タスク自身でタクス実行を停止してその時の情報をメモ
リに退避させ、オペレーティングシステムではこの退避
終了後に次のタスクに実行権を移行するので、オペレー
ティングシステムからタスクへのアクセスの回数が少な
くなる上に、タスクの停止が1命令実行が終了したとき
に為されるので、命令実行途中などで停止するような場
合に比べてメモリに退避させる情報量が少なくなり、結
果タスクの切り換えの処理に要する時間が短くなり、プ
ログラム全体の実行時間を短くすることができる。
【0009】
【実施例】図5は本発明を用いるプログラマブルコント
ローラの基本的な構成を示しており、このプログラマブ
ルコントローラは、プログラマブルコントローラの演算
処理や制御処理をオペレーティングシステムやユーザプ
ログラムに基づいて行う演算処理装置たるCPU1を備
えるともに、プロラマブルコントローラのオペレテーィ
ングシステムやシステムプログラムを格納しているRO
M2と、ユーザプログラムを格納したりスタックエリア
やワークエリアを確保するためのRAM3と、外部の入
出力装置を接続するI/Oインターフェース4とからな
る。上記ユーザプログラムは専用のBASIC言語で記
述されており、このユーザプログラムは複数のタスクに
分けられてオペレーティングシステムの管理によりマル
チタスク処理される。このマルチタスク処理に関わるタ
スク切換システムが本発明であり、以下実施例により本
発明を説明する。
ローラの基本的な構成を示しており、このプログラマブ
ルコントローラは、プログラマブルコントローラの演算
処理や制御処理をオペレーティングシステムやユーザプ
ログラムに基づいて行う演算処理装置たるCPU1を備
えるともに、プロラマブルコントローラのオペレテーィ
ングシステムやシステムプログラムを格納しているRO
M2と、ユーザプログラムを格納したりスタックエリア
やワークエリアを確保するためのRAM3と、外部の入
出力装置を接続するI/Oインターフェース4とからな
る。上記ユーザプログラムは専用のBASIC言語で記
述されており、このユーザプログラムは複数のタスクに
分けられてオペレーティングシステムの管理によりマル
チタスク処理される。このマルチタスク処理に関わるタ
スク切換システムが本発明であり、以下実施例により本
発明を説明する。
【0010】(実施例1)本実施例は請求項1の発明に
対応するものである。図1は本実施例のタスク切り換え
処理の概念を示しており、この図1に基づいて本実施例
を説明する。まず本実施例ではプログラムコントローラ
がプログラム実行の動作を開始すると、CPU1はオペ
レーティングシステムOSの管理の下でユーザプログラ
ムを実行することになるが、オペレーティングシステム
OSはマルチタスク処理を行う場合に、各タスクに対し
て実行権を与えて夫々のタスクを実行させるとともに、
そのタスクに対して実行権を与えてから一定時間(例え
ば2ms経過時の経過フラグを立てる機能を持ってい
る。一方各タスクT1 〜Tmは実行権があればプログラ
ムされている命令を実行し、上記経過フラグが立てられ
るとその時点で実行中の命令があればその命令実行が終
了する迄タスク実行を継続し、命令終了後タスク自身で
タスク実行を停止させる機能が備わっている。
対応するものである。図1は本実施例のタスク切り換え
処理の概念を示しており、この図1に基づいて本実施例
を説明する。まず本実施例ではプログラムコントローラ
がプログラム実行の動作を開始すると、CPU1はオペ
レーティングシステムOSの管理の下でユーザプログラ
ムを実行することになるが、オペレーティングシステム
OSはマルチタスク処理を行う場合に、各タスクに対し
て実行権を与えて夫々のタスクを実行させるとともに、
そのタスクに対して実行権を与えてから一定時間(例え
ば2ms経過時の経過フラグを立てる機能を持ってい
る。一方各タスクT1 〜Tmは実行権があればプログラ
ムされている命令を実行し、上記経過フラグが立てられ
るとその時点で実行中の命令があればその命令実行が終
了する迄タスク実行を継続し、命令終了後タスク自身で
タスク実行を停止させる機能が備わっている。
【0011】而してオペレーティングシステムOSから
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令が実
行される。オペレティングシステムOSは上記実行権を
タスクT1 に与えてから2ms経過時点で経過フラグが
立てる(矢印b’)。この経過フラグが立てられると、
当該タスクT1 では命令実行中であればその命令実行を
継続し、その命令実行終了時点で停止時点の情報をRA
M3のスタックエリアに退避させるとともにタスク実行
を停止する(矢印c)。
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令が実
行される。オペレティングシステムOSは上記実行権を
タスクT1 に与えてから2ms経過時点で経過フラグが
立てる(矢印b’)。この経過フラグが立てられると、
当該タスクT1 では命令実行中であればその命令実行を
継続し、その命令実行終了時点で停止時点の情報をRA
M3のスタックエリアに退避させるとともにタスク実行
を停止する(矢印c)。
【0012】上記経過フラグが立てられた時点で命令実
行がなされていない場合にはタスクT1 ではタスク実行
を停止して、停止時点の情報をRAM3に退避させる
(c)。オペレーティングシステムOSはこの情報退避
終了後次のタスクT2 に対して実行権を与え、上述と同
様に2ms経過時点で経過フラグを立てる。タスクT2
では上述と同様に実行権が与えられるとプログラムされ
ている命令が実行され、上記経過フラグが立てられた時
点で実行中の命令があればその命令実行を継続し、命令
実行が終了した時点でその時点の情報をRAM3に退避
させる。勿論経過フラグが立てられた時点で命令実行が
なされていない場合にはタスクT1 はその時点の情報を
RAM3に退避させてタスク実行を停止する。このよう
にして最初のタスクT1 から最終のタスクTmの実行が
終了するまで上記の処理が繰り返して行われ、最終のタ
スクTmでの実行が終了するとオペレーティングシステ
ムOSではプログラム全体が終了していない場合には最
初のタスクT1 に実行権を戻して上記の処理を繰り返
す。ここで実行権が戻ってきたタスクでは前のタスク実
行終了時にRAM3に退避させてある情報を読み出し
て、前回で実行された命令の次の命令を実行することに
なる。
行がなされていない場合にはタスクT1 ではタスク実行
を停止して、停止時点の情報をRAM3に退避させる
(c)。オペレーティングシステムOSはこの情報退避
終了後次のタスクT2 に対して実行権を与え、上述と同
様に2ms経過時点で経過フラグを立てる。タスクT2
では上述と同様に実行権が与えられるとプログラムされ
ている命令が実行され、上記経過フラグが立てられた時
点で実行中の命令があればその命令実行を継続し、命令
実行が終了した時点でその時点の情報をRAM3に退避
させる。勿論経過フラグが立てられた時点で命令実行が
なされていない場合にはタスクT1 はその時点の情報を
RAM3に退避させてタスク実行を停止する。このよう
にして最初のタスクT1 から最終のタスクTmの実行が
終了するまで上記の処理が繰り返して行われ、最終のタ
スクTmでの実行が終了するとオペレーティングシステ
ムOSではプログラム全体が終了していない場合には最
初のタスクT1 に実行権を戻して上記の処理を繰り返
す。ここで実行権が戻ってきたタスクでは前のタスク実
行終了時にRAM3に退避させてある情報を読み出し
て、前回で実行された命令の次の命令を実行することに
なる。
【0013】以上の処理はプログラム全体が終了するま
で繰り返えされる。図2はCPU1が上述のタスク処理
を行うフローチャートを示しており、プログラム実行が
開始されると、まずCPU1はタスクT1 を起動してタ
スクT1 のスッタク(RAM3内に設定される)から情
報を読み出してタスクT1 内の命令を実行し、2ms経
過後に未だ実行中の命令があればその命令の実行を継続
し、その命令の実行が終了した時点でタスクT1 のスタ
ックへ情報を退避させ、タスクT1 の処理を終了する。
で繰り返えされる。図2はCPU1が上述のタスク処理
を行うフローチャートを示しており、プログラム実行が
開始されると、まずCPU1はタスクT1 を起動してタ
スクT1 のスッタク(RAM3内に設定される)から情
報を読み出してタスクT1 内の命令を実行し、2ms経
過後に未だ実行中の命令があればその命令の実行を継続
し、その命令の実行が終了した時点でタスクT1 のスタ
ックへ情報を退避させ、タスクT1 の処理を終了する。
【0014】以後最終タスクTmが終了するまで上記の
処理を繰り返して行い、最終タスクTmが終了した時点
でプログラム全体が終了したかどうかの判定を行った
後、終了していなければ上記のタスク処理を最初のタス
クT1 に戻って繰り返す。以上のように本実施例では、
オペレーティングシステムOSによって立てられる2m
s経過のフラグに基づいてタスク自身がタスク実行の停
止のタイミングを管理し、実行中の命令があればその命
令の実行が終了するまでタスク停止を行わないため、R
AM3に退避させる情報量を少なくすることができるの
である。
処理を繰り返して行い、最終タスクTmが終了した時点
でプログラム全体が終了したかどうかの判定を行った
後、終了していなければ上記のタスク処理を最初のタス
クT1 に戻って繰り返す。以上のように本実施例では、
オペレーティングシステムOSによって立てられる2m
s経過のフラグに基づいてタスク自身がタスク実行の停
止のタイミングを管理し、実行中の命令があればその命
令の実行が終了するまでタスク停止を行わないため、R
AM3に退避させる情報量を少なくすることができるの
である。
【0015】(実施例2)上記実施例1では、オペレー
ティングシステムOSのタスクに対するアクセス回数は
従来例と同じであるが、本実施例ではこのアクセス回数
も減らしたものである。図3は本実施例のタスク切り換
え処理の概念を示しており、この図3に基づいて本実施
例を説明する。
ティングシステムOSのタスクに対するアクセス回数は
従来例と同じであるが、本実施例ではこのアクセス回数
も減らしたものである。図3は本実施例のタスク切り換
え処理の概念を示しており、この図3に基づいて本実施
例を説明する。
【0016】まず本実施例では実施例1と同様にプログ
ラムコントローラがプログラム実行の動作を開始する
と、CPU1はオペレーティングシステムOSの管理の
下でユーザプログラムを実行することになるが、オペレ
ーティングシステムOSはマルチタスク処理を行う場合
に、各タスクに対して実行権を与えて夫々のタスクを実
行させるとともに、そのタスクに対して実行権を与える
アクセスのみを行う。一方各タスクT1 〜Tmには実行
権が与えれば、プログラムされている命令を1命令だけ
実行し、この命令実行が終了した時点でタスク自身がタ
スク実行を停止させる機能を備えている。
ラムコントローラがプログラム実行の動作を開始する
と、CPU1はオペレーティングシステムOSの管理の
下でユーザプログラムを実行することになるが、オペレ
ーティングシステムOSはマルチタスク処理を行う場合
に、各タスクに対して実行権を与えて夫々のタスクを実
行させるとともに、そのタスクに対して実行権を与える
アクセスのみを行う。一方各タスクT1 〜Tmには実行
権が与えれば、プログラムされている命令を1命令だけ
実行し、この命令実行が終了した時点でタスク自身がタ
スク実行を停止させる機能を備えている。
【0017】而してオペレーティングシステムOSから
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令の内
1命令が実行され、その命令実行が終了した時点で停止
時点の情報をRAM3に退避させるとともにタスク実行
を停止する(矢印c)。オペレーティングシステムOS
はこの情報退避終了後次のタスクT2 に対して実行権を
与える。タスククT2 では上述と同様に実行権が与えら
れるとプログラムされている命令の1命令が実行され、
その命令実行が終了した時点でその時点の情報をRAM
3に退避させる。このようにして最初のタスクT1 から
最終のタスクTmの実行が終了するまで上記の処理が繰
り返して行われ、最終のタスクTmでの命令実行が終了
するとオペレーティングシステムOSではプログラム全
体が終了していない場合には最初のタスクT1 に実行権
を戻して上記の処理を繰り返す。ここで実行権が戻って
きたタスクでは前のタスク実行終了時にRAM3に退避
させてある情報を読み出して、前回で実行された命令の
次の命令を実行することになる。
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令の内
1命令が実行され、その命令実行が終了した時点で停止
時点の情報をRAM3に退避させるとともにタスク実行
を停止する(矢印c)。オペレーティングシステムOS
はこの情報退避終了後次のタスクT2 に対して実行権を
与える。タスククT2 では上述と同様に実行権が与えら
れるとプログラムされている命令の1命令が実行され、
その命令実行が終了した時点でその時点の情報をRAM
3に退避させる。このようにして最初のタスクT1 から
最終のタスクTmの実行が終了するまで上記の処理が繰
り返して行われ、最終のタスクTmでの命令実行が終了
するとオペレーティングシステムOSではプログラム全
体が終了していない場合には最初のタスクT1 に実行権
を戻して上記の処理を繰り返す。ここで実行権が戻って
きたタスクでは前のタスク実行終了時にRAM3に退避
させてある情報を読み出して、前回で実行された命令の
次の命令を実行することになる。
【0018】以上の処理はプログラム全体が終了するま
で繰り返えされる。図4はCPU1が上述のタスク処理
を行うフローチャートを示しており、プログラム実行が
開始されると、まずCPU1はタスクT1 を起動してタ
スクT1 のスッタク(RAM3内に設定される)から情
報を読み出してタスクT1 内の命令を1命令だけ実行
し、その命令の実行が終了した時点でタスクT1 のスタ
ックへ情報を退避させ、タスクT1 の処理を終了する。
で繰り返えされる。図4はCPU1が上述のタスク処理
を行うフローチャートを示しており、プログラム実行が
開始されると、まずCPU1はタスクT1 を起動してタ
スクT1 のスッタク(RAM3内に設定される)から情
報を読み出してタスクT1 内の命令を1命令だけ実行
し、その命令の実行が終了した時点でタスクT1 のスタ
ックへ情報を退避させ、タスクT1 の処理を終了する。
【0019】以後最終タスクTmが終了するまで上記の
処理を繰り返して行い、最終タスクTmが終了した時点
でプログラム全体が終了したかどうかの判定を行った
後、終了していなければ上記のタスク処理を最初のタス
クT1 に戻って繰り返す。以上のように本実施例では、
オペレーティングシステムOSからタスクT1 …に対す
るアクセスは実行権を与えるだけであり、そのためアク
セスの回数を減らすことができ、またタスク自身がタス
ク実行の停止のタイミングを管理し、1命令の実行終了
毎にタスク停止を行うため命令実行途中でのタスク停止
が無く、RAM3に退避させる情報量を少なくすること
ができるのである。
処理を繰り返して行い、最終タスクTmが終了した時点
でプログラム全体が終了したかどうかの判定を行った
後、終了していなければ上記のタスク処理を最初のタス
クT1 に戻って繰り返す。以上のように本実施例では、
オペレーティングシステムOSからタスクT1 …に対す
るアクセスは実行権を与えるだけであり、そのためアク
セスの回数を減らすことができ、またタスク自身がタス
ク実行の停止のタイミングを管理し、1命令の実行終了
毎にタスク停止を行うため命令実行途中でのタスク停止
が無く、RAM3に退避させる情報量を少なくすること
ができるのである。
【0020】
【発明の効果】請求項1の発明は、オペレーティングシ
ステムではタスクの実行権を与えてから一定時間経過時
にフラグを立て、実行権が与えられて実行されるタスク
では上記フラグが立てられて時に実行中の命令があれ
ば、その命令終了後にタスク自身でタスク実行を停止し
てその時の情報をメモリに退避させ、オペレーティング
システムではこの退避終了後に次のタスクに実行権を移
行するので、実行中の命令が途中で止められることが無
くなり、その分メモリに退避させる情報が少なくなるの
で、タスク切り換えに要する時間が短くなってプログラ
ム全体の実行時間を短くすることができるという効果が
ある。
ステムではタスクの実行権を与えてから一定時間経過時
にフラグを立て、実行権が与えられて実行されるタスク
では上記フラグが立てられて時に実行中の命令があれ
ば、その命令終了後にタスク自身でタスク実行を停止し
てその時の情報をメモリに退避させ、オペレーティング
システムではこの退避終了後に次のタスクに実行権を移
行するので、実行中の命令が途中で止められることが無
くなり、その分メモリに退避させる情報が少なくなるの
で、タスク切り換えに要する時間が短くなってプログラ
ム全体の実行時間を短くすることができるという効果が
ある。
【0021】請求項2の発明によれば、実行権が与えら
れて実行されるタスクでは1命令実行が終了したときに
タスク自身でタクス実行を停止してその時の情報をメモ
リに退避させ、オペレーティングシステムではこの退避
終了後に次のタスクに実行権を移行するので、オペレー
ティングシステムからタスクへのアクセスの回数が少な
くなる上に、タスクの停止が1命令実行が終了したとき
に為されるので、命令実行途中などで停止するような場
合に比べてメモリに退避させる情報量が少なくなり、結
果タスクの切り換えの処理に要する時間が短くなり、プ
ログラム全体の実行時間を短くすることができるという
効果がある。
れて実行されるタスクでは1命令実行が終了したときに
タスク自身でタクス実行を停止してその時の情報をメモ
リに退避させ、オペレーティングシステムではこの退避
終了後に次のタスクに実行権を移行するので、オペレー
ティングシステムからタスクへのアクセスの回数が少な
くなる上に、タスクの停止が1命令実行が終了したとき
に為されるので、命令実行途中などで停止するような場
合に比べてメモリに退避させる情報量が少なくなり、結
果タスクの切り換えの処理に要する時間が短くなり、プ
ログラム全体の実行時間を短くすることができるという
効果がある。
【図1】請求項1の発明の実施例1のタクス切換処理の
概念を示すフローチャートである。
概念を示すフローチャートである。
【図2】同上のCPUにおけるタクス切換処理の動作を
示すフローチャートである。
示すフローチャートである。
【図3】請求項2の発明の実施例1のタクス切換処理の
概念を示すフローチャートである。
概念を示すフローチャートである。
【図4】同上のCPUにおけるタクス切換処理の動作を
示すフローチャートである。
示すフローチャートである。
【図5】請求項1,2を用いるプログラムコントローラ
の基本的回路構成図である。
の基本的回路構成図である。
【図6】従来例のタクス切換処理の概念を示すフローチ
ャートである。
ャートである。
T1 … タスク OS オペレーティングシステム
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年5月23日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】而してオペレーティングシステムOSから
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令が実
行される。オペレティングシステムOSは上記実行権を
タスクT1 に与えてから2ms経過時点で経過フラグが
立てる(矢印b’)。この経過フラグが立てられると、
当該タスクT1 では命令実行中であればその命令実行を
継続し、その命令実行終了時点で停止時点の情報をRA
M3のスタックエリアに退避させるとともにタスク実行
を停止する(矢印c’)。
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令が実
行される。オペレティングシステムOSは上記実行権を
タスクT1 に与えてから2ms経過時点で経過フラグが
立てる(矢印b’)。この経過フラグが立てられると、
当該タスクT1 では命令実行中であればその命令実行を
継続し、その命令実行終了時点で停止時点の情報をRA
M3のスタックエリアに退避させるとともにタスク実行
を停止する(矢印c’)。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】上記経過フラグが立てられた時点で命令実
行がなされていない場合にはタスクT1 ではタスク実行
を停止して、停止時点の情報をRAM3に退避させる
(c’)。オペレーティングシステムOSはこの情報退
避終了後次のタスクT2 に対して実行権を与え、上述と
同様に2ms経過時点で経過フラグを立てる。タスクT
2では上述と同様に実行権が与えられるとプログラムさ
れている命令が実行され、上記経過フラグが立てられた
時点で実行中の命令があればその命令実行を継続し、命
令実行が終了した時点でその時点の情報をRAM3に退
避させる。勿論経過フラグが立てられた時点で命令実行
がなされていない場合にはタスクT1 はその時点の情報
をRAM3に退避させてタスク実行を停止する。このよ
うにして最初のタスクT1 から最終のタスクTmの実行
が終了するまで上記の処理が繰り返して行われ、最終の
タスクTmでの実行が終了するとオペレーティングシス
テムOSではプログラム全体が終了していない場合には
最初のタスクT1 に実行権を戻して上記の処理を繰り返
す。ここで実行権が戻ってきたタスクでは前のタスク実
行終了時にRAM3に退避させてある情報を読み出し
て、前回で実行された命令の次の命令を実行することに
なる。
行がなされていない場合にはタスクT1 ではタスク実行
を停止して、停止時点の情報をRAM3に退避させる
(c’)。オペレーティングシステムOSはこの情報退
避終了後次のタスクT2 に対して実行権を与え、上述と
同様に2ms経過時点で経過フラグを立てる。タスクT
2では上述と同様に実行権が与えられるとプログラムさ
れている命令が実行され、上記経過フラグが立てられた
時点で実行中の命令があればその命令実行を継続し、命
令実行が終了した時点でその時点の情報をRAM3に退
避させる。勿論経過フラグが立てられた時点で命令実行
がなされていない場合にはタスクT1 はその時点の情報
をRAM3に退避させてタスク実行を停止する。このよ
うにして最初のタスクT1 から最終のタスクTmの実行
が終了するまで上記の処理が繰り返して行われ、最終の
タスクTmでの実行が終了するとオペレーティングシス
テムOSではプログラム全体が終了していない場合には
最初のタスクT1 に実行権を戻して上記の処理を繰り返
す。ここで実行権が戻ってきたタスクでは前のタスク実
行終了時にRAM3に退避させてある情報を読み出し
て、前回で実行された命令の次の命令を実行することに
なる。
Claims (2)
- 【請求項1】演算処理装置で実行される複数のタスクが
あり、夫々のタスクの実行権を順次演算処理装置に与え
て夫々のタスクを順次実行させるオペレーティングシテ
ムよりなるタスク切換システムにおいて、オペレーティ
ングシステムではタスクの実行権を与えてから一定時間
経過時にフラグを立て、実行権が与えられて実行される
タスクでは上記フラグが立てられて時に実行中の命令が
あれば、その命令終了後にタスク自身でタスク実行を停
止してその時の情報をメモリに退避させ、オペレーティ
ングシステムではこの退避終了後に次のタスクに実行権
を移行することを特徴とするタスク切換システム。 - 【請求項2】演算処理装置で実行される複数のタスクが
あり、夫々のタスクの実行権を順次演算処理装置に与え
て夫々のタスクを順次実行させるオペレーティングシテ
ムよりなるタスク切換システムにおいて、実行権が与え
られて実行されるタスクでは1命令実行が終了したとき
にタスク自身でタクス実行を停止してその時の情報をメ
モリに退避させ、オペレーティングシステムではこの退
避終了後に次のタスクに実行権を移行することを特徴と
するタスク切換システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP684094A JPH07210403A (ja) | 1994-01-26 | 1994-01-26 | タスク切換システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP684094A JPH07210403A (ja) | 1994-01-26 | 1994-01-26 | タスク切換システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07210403A true JPH07210403A (ja) | 1995-08-11 |
Family
ID=11649447
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP684094A Pending JPH07210403A (ja) | 1994-01-26 | 1994-01-26 | タスク切換システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07210403A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7565654B2 (en) * | 2006-01-10 | 2009-07-21 | National Instruments Corporation | Programmatic control of tasks in a programmable logic controller |
| US7568198B2 (en) * | 2006-01-10 | 2009-07-28 | National Instruments Corporation | Control of tasks in a programmable logic controller |
-
1994
- 1994-01-26 JP JP684094A patent/JPH07210403A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7565654B2 (en) * | 2006-01-10 | 2009-07-21 | National Instruments Corporation | Programmatic control of tasks in a programmable logic controller |
| US7568198B2 (en) * | 2006-01-10 | 2009-07-28 | National Instruments Corporation | Control of tasks in a programmable logic controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH05158687A (ja) | プログラム制御方法及びプログラム制御装置 | |
| JP2001265412A (ja) | プログラマブルコントローラ | |
| JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
| JPH03288906A (ja) | Pcの命令実行方式 | |
| JPS63298634A (ja) | 情報処理装置 | |
| JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
| JPH117385A (ja) | 演算処理装置 | |
| JP2793809B2 (ja) | プログラマブルコントローラの応用命令処理方式 | |
| JPS5835648A (ja) | プログラム実行制御方式 | |
| JPH03127171A (ja) | ベクトル処理装置 | |
| JPS60117337A (ja) | プログラム変更方法 | |
| JPH03233703A (ja) | シーケンス制御装置 | |
| JPH0462093B2 (ja) | ||
| JPH03160547A (ja) | データ処理装置の入出力バッファ制御方法 | |
| JPS6249502A (ja) | プログラマブルコントロ−ラ | |
| JPS61241843A (ja) | 情報処理装置 | |
| JPH03154929A (ja) | 中央処理装置 | |
| JPH0588914A (ja) | プロセツサ制御方法およびその装置 | |
| JPH01191938A (ja) | 情報処理装置 | |
| JPH0944211A (ja) | プログラマブルコントローラ | |
| JPH08115214A (ja) | ディジタル信号処理装置 | |
| JP2001147802A (ja) | 画像処理装置 | |
| JPH05303493A (ja) | 命令列切り替え方法及びそれを用いた演算プロセッサ | |
| JPH0553831A (ja) | 割込み機能付コンピユータ装置 | |
| JPH0670768B2 (ja) | 電源投入制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Effective date: 20040728 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050308 |