JPH07210403A - Task switching system - Google Patents
Task switching systemInfo
- 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
- time
- 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
Description
【0001】[0001]
【産業上の利用分野】本発明は、専用のBASIC言語
で操作するプログラマブルコントローラのタスク切換シ
ステムに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a task switching system for a programmable controller operating in a dedicated BASIC language.
【0002】[0002]
【従来の技術】従来専用のBASIC言語で操作するプ
グラマブルコントローラにおいてタスク処理を行う場合
には図6に示すようにオペレーテイングシステムOSが
順次タスクT1 …に実行権を与える(矢印a)とともに
一定時間経過(例えば2ms)後に実行中のタスクT1
…に実行を中止させる指令を与えて(矢印b)実行を中
止させ、その時の情報をオペレーティングシステムOS
によりメモリに退避させ(矢印c)、次のタスクに強制
的に実行権を移行させる。このようにして最初のタスク
T1 から最終タスクTmまでオペレーティングシステム
OSによる管理のもとで順次サイクリックに実行権が移
行されて夫々のタスクが実行され、実行権が戻ってきた
タスクではメモリに退避させた情報を読み出して続きを
実行するようになっている。2. Description of the Related Art In the case of performing task processing in a programmable controller operating in a conventional BASIC language, an operating system OS sequentially gives execution rights to tasks T 1 ... (Arrow a) as shown in FIG. Together with a task T 1 being executed after a certain period of time (for example, 2 ms)
A command to stop the execution is given to (...) (arrow b), and the execution is stopped, and the information at that time is stored in the operating system OS.
Is saved in the memory (arrow c), and the execution right is forcibly transferred to the next task. In this way, from the first task T 1 to the final task Tm, the execution right is sequentially and cyclically transferred under the control of the operating system OS, the respective tasks are executed, and the task whose execution right is returned is stored in the memory. The saved information is read and the continuation is executed.
【0003】[0003]
【発明が解決しようとする課題】上述のタスクの切換は
全てオペレーティングシステムOSにより管理されてて
おり、一般的にタイムスライス方式と呼ばれているもの
であるが、各タスクT1…での実行を一定時間で停止さ
せるため、メモリに退避させる情報量が多くなって、そ
の情報退避のための処理に時間がかかり、結果的にプロ
グラム全体の処理に時間がかかるという問題があった。All of the above task switching is managed by the operating system OS, which is generally called a time slice method, but is executed in each task T 1 . Since this is stopped for a certain period of time, the amount of information to be saved in the memory becomes large, and the process for saving the information takes time, resulting in a problem that the entire program takes time.
【0004】請求項1,2の発明は上記の問題点に鑑み
て為されたもので、その目的とするところはタスク切換
の処理に要する時間を短くすることができるタスク切換
システムを提供するにある。The inventions of claims 1 and 2 are made in view of the above problems, and an object of the invention is to provide a task switching system capable of shortening the time required for the task switching processing. is there.
【0005】[0005]
【課題を解決するための手段】上記目的を達成するため
に 請求項1の発明では、演算処理装置で実行される複
数のタスクがあり、夫々のタスクの実行権を順次演算処
理装置に与えて夫々のタスクを順次実行させるオペレー
ティングシテムよりなるタスク切換システムにおいて、
オペレーティングシステムではタスクの実行権を与えて
から一定時間経過時にフラグを立て、実行権が与えられ
て実行されるタスクでは上記フラグが立てられて時に実
行中の命令があれば、その命令終了後にタスク自身でタ
スク実行を停止してその時の情報をメモリに退避させ、
オペレーティングシステムではこの退避終了後に次のタ
スクに実行権を移行することを特徴とする。In order to achieve the above object, in the invention of claim 1, there are a plurality of tasks to be executed by the arithmetic processing device, and the execution right of each task is sequentially given to the arithmetic processing device. In a task switching system consisting of an operating system that executes each task in sequence,
In the operating system, a flag is set when a certain period of time has passed after the task execution right is given, and in the task that is executed with the execution right given, if there is an instruction that is being executed when the above flag is set, the task is executed after the instruction is completed Stop the task execution by yourself, save the information at that time to the memory,
The operating system is characterized in that the execution right is transferred to the next task after this saving is completed.
【0006】請求項2の発明では、演算処理装置で実行
される複数のタスクがあり、夫々のタスクの実行権を順
次演算処理装置に与えて夫々のタスクを順次実行させる
オペレーティングシテムよりなるタスク切換システムに
おいて、実行権が与えられて実行されるタスクでは1命
令実行が終了したときにタスク自身でタクス実行を停止
してその時の情報をメモリに退避させ、オペレーティン
グシステムではこの退避終了後に次のタスクに実行権を
移行することを特徴とする。According to another aspect of the present invention, there is a plurality of tasks executed by the arithmetic processing unit, and task switching including an operating system for sequentially giving the execution right of each task to the arithmetic processing unit to sequentially execute each task. In the system, the task to be executed by giving the execution right stops the tax execution by itself when the execution of one instruction is completed and saves the information at that time in the memory. It is characterized by transferring the execution right to.
【0007】[0007]
【作用】請求項1の発明によれば、オペレーティングシ
ステムではタスクの実行権を与えてから一定時間経過時
にフラグを立て、実行権が与えられて実行されるタスク
では上記フラグが立てられて時に実行中の命令があれ
ば、その命令終了後にタスク自身でタスク実行を停止し
てその時の情報をメモリに退避させ、オペレーティング
システムではこの退避終了後に次のタスクに実行権を移
行するので、実行中の命令が途中で止められることが無
くなり、その分メモリに退避させる情報が少なくなるの
で、タスク切り換えに要する時間が短くなってプログラ
ム全体の実行時間を短くすることができる。According to the first aspect of the present invention, the operating system sets a flag when a certain period of time elapses after the task execution right is given, and the task which is executed with the execution right given is sometimes executed when the flag is set. If there is an instruction in the middle, the task itself stops task execution after the instruction is completed and the information at that time is saved in the memory, and the operating system transfers the execution right to the next task after this saving is completed. Since instructions are not stopped midway and the amount of information saved in the memory is reduced accordingly, the time required for task switching is shortened and the execution time of the entire program can be shortened.
【0008】請求項2の発明によれば、実行権が与えら
れて実行されるタスクでは1命令実行が終了したときに
タスク自身でタクス実行を停止してその時の情報をメモ
リに退避させ、オペレーティングシステムではこの退避
終了後に次のタスクに実行権を移行するので、オペレー
ティングシステムからタスクへのアクセスの回数が少な
くなる上に、タスクの停止が1命令実行が終了したとき
に為されるので、命令実行途中などで停止するような場
合に比べてメモリに退避させる情報量が少なくなり、結
果タスクの切り換えの処理に要する時間が短くなり、プ
ログラム全体の実行時間を短くすることができる。According to the second aspect of the present invention, in the task executed by giving the execution right, when the execution of one instruction is completed, the task itself stops the tax execution and saves the information at that time in the memory. Since the system transfers the execution right to the next task after this saving is completed, the number of accesses to the task from the operating system is reduced, and the task is stopped when the execution of one instruction is completed. The amount of information saved in the memory is smaller than that in the case where the program is stopped in the middle of execution, the time required for the switching of the result task is shortened, and the execution time of the entire program can be shortened.
【0009】[0009]
【実施例】図5は本発明を用いるプログラマブルコント
ローラの基本的な構成を示しており、このプログラマブ
ルコントローラは、プログラマブルコントローラの演算
処理や制御処理をオペレーティングシステムやユーザプ
ログラムに基づいて行う演算処理装置たるCPU1を備
えるともに、プロラマブルコントローラのオペレテーィ
ングシステムやシステムプログラムを格納しているRO
M2と、ユーザプログラムを格納したりスタックエリア
やワークエリアを確保するためのRAM3と、外部の入
出力装置を接続するI/Oインターフェース4とからな
る。上記ユーザプログラムは専用のBASIC言語で記
述されており、このユーザプログラムは複数のタスクに
分けられてオペレーティングシステムの管理によりマル
チタスク処理される。このマルチタスク処理に関わるタ
スク切換システムが本発明であり、以下実施例により本
発明を説明する。FIG. 5 shows a basic configuration of a programmable controller using the present invention. This programmable controller is an arithmetic processing unit that performs arithmetic processing and control processing of the programmable controller based on an operating system and a user program. An RO that includes a CPU 1 and stores an operating system of a programmable controller and a system program.
It comprises an M2, a RAM 3 for storing a user program and securing a stack area and a work area, and an I / O interface 4 for connecting an external input / output device. The user program is written in a dedicated BASIC language, and the user program is divided into a plurality of tasks and processed by the operating system for multitasking. The present invention is a task switching system related to this multi-task processing, and the present invention will be described below with reference to embodiments.
【0010】(実施例1)本実施例は請求項1の発明に
対応するものである。図1は本実施例のタスク切り換え
処理の概念を示しており、この図1に基づいて本実施例
を説明する。まず本実施例ではプログラムコントローラ
がプログラム実行の動作を開始すると、CPU1はオペ
レーティングシステムOSの管理の下でユーザプログラ
ムを実行することになるが、オペレーティングシステム
OSはマルチタスク処理を行う場合に、各タスクに対し
て実行権を与えて夫々のタスクを実行させるとともに、
そのタスクに対して実行権を与えてから一定時間(例え
ば2ms経過時の経過フラグを立てる機能を持ってい
る。一方各タスクT1 〜Tmは実行権があればプログラ
ムされている命令を実行し、上記経過フラグが立てられ
るとその時点で実行中の命令があればその命令実行が終
了する迄タスク実行を継続し、命令終了後タスク自身で
タスク実行を停止させる機能が備わっている。(Embodiment 1) This embodiment corresponds to the invention of claim 1. FIG. 1 shows the concept of the task switching processing of this embodiment, and this embodiment will be described based on this FIG. First, in the present embodiment, when the program controller starts the program execution operation, the CPU 1 executes the user program under the control of the operating system OS. However, when the operating system OS performs multitask processing, each task is executed. To execute each task by giving execution right to
It has a function of setting a progress flag for a fixed time (for example, 2 ms has elapsed) after giving the execution right to the task. On the other hand, each of the tasks T 1 to Tm executes the programmed instruction if the execution right is given. When the elapsed flag is set, if there is an instruction being executed at that time, the task execution is continued until the instruction execution is completed, and after the instruction is completed, the task itself has a function of stopping the task execution.
【0011】而してオペレーティングシステムOSから
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令が実
行される。オペレティングシステムOSは上記実行権を
タスクT1 に与えてから2ms経過時点で経過フラグが
立てる(矢印b’)。この経過フラグが立てられると、
当該タスクT1 では命令実行中であればその命令実行を
継続し、その命令実行終了時点で停止時点の情報をRA
M3のスタックエリアに退避させるとともにタスク実行
を停止する(矢印c)。When the execution right is given from the operating system OS (arrow a), the task to which the execution right is given, for example, the instruction programmed in T 1 is executed. The operating system OS sets a progress flag at 2 ms after the execution right is given to the task T 1 (arrow b ′). When this progress flag is set,
In the task T 1 , if the instruction is being executed, the instruction is continued to be executed, and the information at the time of the stop is RA at the end of the execution of the instruction.
The task is saved in the stack area of M3 and the task execution is stopped (arrow c).
【0012】上記経過フラグが立てられた時点で命令実
行がなされていない場合にはタスクT1 ではタスク実行
を停止して、停止時点の情報をRAM3に退避させる
(c)。オペレーティングシステムOSはこの情報退避
終了後次のタスクT2 に対して実行権を与え、上述と同
様に2ms経過時点で経過フラグを立てる。タスクT2
では上述と同様に実行権が与えられるとプログラムされ
ている命令が実行され、上記経過フラグが立てられた時
点で実行中の命令があればその命令実行を継続し、命令
実行が終了した時点でその時点の情報をRAM3に退避
させる。勿論経過フラグが立てられた時点で命令実行が
なされていない場合にはタスクT1 はその時点の情報を
RAM3に退避させてタスク実行を停止する。このよう
にして最初のタスクT1 から最終のタスクTmの実行が
終了するまで上記の処理が繰り返して行われ、最終のタ
スクTmでの実行が終了するとオペレーティングシステ
ムOSではプログラム全体が終了していない場合には最
初のタスクT1 に実行権を戻して上記の処理を繰り返
す。ここで実行権が戻ってきたタスクでは前のタスク実
行終了時にRAM3に退避させてある情報を読み出し
て、前回で実行された命令の次の命令を実行することに
なる。If no instruction is executed when the elapsed flag is set, task execution is stopped in task T 1 and the information at the time of stop is saved in RAM 3 (c). After the information saving is completed, the operating system OS gives the execution right to the next task T 2 and sets a progress flag at the time point when 2 ms has elapsed, as described above. Task T 2
In the same way as above, if the execution right is given, the programmed instruction is executed, and if there is an instruction being executed at the time when the above progress flag is set, the instruction execution is continued, and when the instruction execution is completed The information at that time is saved in the RAM 3. Of course, if the instruction is not executed when the elapsed flag is set, the task T 1 saves the information at that time in the RAM 3 and stops the task execution. In this way, the above processing is repeated until the execution of the first task T 1 to the final task Tm is completed, and when the execution of the final task Tm is completed, the entire program is not completed in the operating system OS. In this case, the execution right is returned to the first task T 1 and the above processing is repeated. Here, in the task whose execution right has returned, the information saved in the RAM 3 at the end of execution of the previous task is read and the instruction next to the instruction executed the previous time is executed.
【0013】以上の処理はプログラム全体が終了するま
で繰り返えされる。図2はCPU1が上述のタスク処理
を行うフローチャートを示しており、プログラム実行が
開始されると、まずCPU1はタスクT1 を起動してタ
スクT1 のスッタク(RAM3内に設定される)から情
報を読み出してタスクT1 内の命令を実行し、2ms経
過後に未だ実行中の命令があればその命令の実行を継続
し、その命令の実行が終了した時点でタスクT1 のスタ
ックへ情報を退避させ、タスクT1 の処理を終了する。The above process is repeated until the entire program is completed. FIG. 2 shows a flowchart in which the CPU 1 performs the above-mentioned task processing. When the program execution is started, the CPU 1 first activates the task T 1 and the information from the stake of the task T 1 (set in the RAM 3). To execute the instruction in the task T 1 , and if there is an instruction that is still executing after 2 ms, execute the instruction and save the information to the stack of the task T 1 when the execution of the instruction is completed. Then, the processing of task T 1 is completed.
【0014】以後最終タスクTmが終了するまで上記の
処理を繰り返して行い、最終タスクTmが終了した時点
でプログラム全体が終了したかどうかの判定を行った
後、終了していなければ上記のタスク処理を最初のタス
クT1 に戻って繰り返す。以上のように本実施例では、
オペレーティングシステムOSによって立てられる2m
s経過のフラグに基づいてタスク自身がタスク実行の停
止のタイミングを管理し、実行中の命令があればその命
令の実行が終了するまでタスク停止を行わないため、R
AM3に退避させる情報量を少なくすることができるの
である。After that, the above processing is repeated until the final task Tm is completed. When the final task Tm is completed, it is judged whether or not the entire program is completed. Is returned to the first task T 1 and repeated. As described above, in this embodiment,
2m set up by operating system OS
The task itself manages the timing of stopping the task execution based on the flag indicating the passage of s, and if there is an executing instruction, the task is not stopped until the execution of the instruction is completed.
The amount of information saved in AM3 can be reduced.
【0015】(実施例2)上記実施例1では、オペレー
ティングシステムOSのタスクに対するアクセス回数は
従来例と同じであるが、本実施例ではこのアクセス回数
も減らしたものである。図3は本実施例のタスク切り換
え処理の概念を示しており、この図3に基づいて本実施
例を説明する。(Second Embodiment) In the first embodiment, the number of accesses to the task of the operating system OS is the same as the conventional example, but in the present embodiment, the number of accesses is also reduced. FIG. 3 shows the concept of the task switching processing of this embodiment, and this embodiment will be described based on this FIG.
【0016】まず本実施例では実施例1と同様にプログ
ラムコントローラがプログラム実行の動作を開始する
と、CPU1はオペレーティングシステムOSの管理の
下でユーザプログラムを実行することになるが、オペレ
ーティングシステムOSはマルチタスク処理を行う場合
に、各タスクに対して実行権を与えて夫々のタスクを実
行させるとともに、そのタスクに対して実行権を与える
アクセスのみを行う。一方各タスクT1 〜Tmには実行
権が与えれば、プログラムされている命令を1命令だけ
実行し、この命令実行が終了した時点でタスク自身がタ
スク実行を停止させる機能を備えている。First, in this embodiment, when the program controller starts the program execution operation as in the first embodiment, the CPU 1 executes the user program under the control of the operating system OS. When performing a task process, an execution right is given to each task to execute each task, and only an access to give the execution right to the task is performed. On the other hand, each task T 1 to Tm has a function of executing one programmed instruction when the execution right is given and stopping the task execution itself when the instruction execution is completed.
【0017】而してオペレーティングシステムOSから
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令の内
1命令が実行され、その命令実行が終了した時点で停止
時点の情報をRAM3に退避させるとともにタスク実行
を停止する(矢印c)。オペレーティングシステムOS
はこの情報退避終了後次のタスクT2 に対して実行権を
与える。タスククT2 では上述と同様に実行権が与えら
れるとプログラムされている命令の1命令が実行され、
その命令実行が終了した時点でその時点の情報をRAM
3に退避させる。このようにして最初のタスクT1 から
最終のタスクTmの実行が終了するまで上記の処理が繰
り返して行われ、最終のタスクTmでの命令実行が終了
するとオペレーティングシステムOSではプログラム全
体が終了していない場合には最初のタスクT1 に実行権
を戻して上記の処理を繰り返す。ここで実行権が戻って
きたタスクでは前のタスク実行終了時にRAM3に退避
させてある情報を読み出して、前回で実行された命令の
次の命令を実行することになる。When the execution right is given from the operating system OS (arrow a), one of the programmed instructions is executed in the task to which the execution right is given, for example, T 1 , and the execution of the instruction is executed. At the time of the end, the information at the time of the stop is saved in the RAM 3 and the task execution is stopped (arrow c). Operating system OS
Gives the execution right to the next task T 2 after the information is saved. In task task T 2 , one of the programmed instructions is executed when the execution right is given in the same manner as described above.
RAM at the time when the instruction execution is completed
Evacuate to 3. In this way, the above processing is repeated until the execution of the first task T 1 to the final task Tm is completed, and when the instruction execution in the final task Tm is completed, the entire program is completed in the operating system OS. If not, the execution right is returned to the first task T 1 and the above processing is repeated. Here, the task whose execution right is returned reads the information saved in the RAM 3 at the end of execution of the previous task, and executes the instruction next to the instruction executed the previous time.
【0018】以上の処理はプログラム全体が終了するま
で繰り返えされる。図4はCPU1が上述のタスク処理
を行うフローチャートを示しており、プログラム実行が
開始されると、まずCPU1はタスクT1 を起動してタ
スクT1 のスッタク(RAM3内に設定される)から情
報を読み出してタスクT1 内の命令を1命令だけ実行
し、その命令の実行が終了した時点でタスクT1 のスタ
ックへ情報を退避させ、タスクT1 の処理を終了する。The above processing is repeated until the entire program is completed. FIG. 4 shows a flowchart in which the CPU 1 performs the above-mentioned task processing. When the program execution is started, the CPU 1 first activates the task T 1 and the information from the stack of the task T 1 (set in the RAM 3). the read and executed by one instruction instruction in the task T 1, that when the execution is completed instructions by removing all information to the stack of the task T 1, and ends the processing of task T 1.
【0019】以後最終タスクTmが終了するまで上記の
処理を繰り返して行い、最終タスクTmが終了した時点
でプログラム全体が終了したかどうかの判定を行った
後、終了していなければ上記のタスク処理を最初のタス
クT1 に戻って繰り返す。以上のように本実施例では、
オペレーティングシステムOSからタスクT1 …に対す
るアクセスは実行権を与えるだけであり、そのためアク
セスの回数を減らすことができ、またタスク自身がタス
ク実行の停止のタイミングを管理し、1命令の実行終了
毎にタスク停止を行うため命令実行途中でのタスク停止
が無く、RAM3に退避させる情報量を少なくすること
ができるのである。Thereafter, the above processing is repeated until the final task Tm is completed, and when the final task Tm is completed, it is judged whether or not the entire program is completed. If it is not completed, the above task processing is executed. Is returned to the first task T 1 and repeated. As described above, in this embodiment,
Access to the task T 1 ... From the operating system OS only gives the execution right, and therefore the number of times of access can be reduced, and the task itself manages the timing of stopping the task execution, and each time the execution of one instruction is completed. Since the task is stopped, the task is not stopped during the execution of the instruction, and the amount of information saved in the RAM 3 can be reduced.
【0020】[0020]
【発明の効果】請求項1の発明は、オペレーティングシ
ステムではタスクの実行権を与えてから一定時間経過時
にフラグを立て、実行権が与えられて実行されるタスク
では上記フラグが立てられて時に実行中の命令があれ
ば、その命令終了後にタスク自身でタスク実行を停止し
てその時の情報をメモリに退避させ、オペレーティング
システムではこの退避終了後に次のタスクに実行権を移
行するので、実行中の命令が途中で止められることが無
くなり、その分メモリに退避させる情報が少なくなるの
で、タスク切り換えに要する時間が短くなってプログラ
ム全体の実行時間を短くすることができるという効果が
ある。According to the first aspect of the present invention, the operating system sets a flag when a certain time has elapsed after the task execution right is given, and the task executed with the execution right given is sometimes executed when the flag is set. If there is an instruction in the middle, the task itself stops task execution after the instruction is completed and the information at that time is saved in the memory, and the operating system transfers the execution right to the next task after this saving is completed. Since instructions are not stopped midway and the amount of information saved in the memory is reduced accordingly, the time required for task switching is shortened and the execution time of the entire program can be shortened.
【0021】請求項2の発明によれば、実行権が与えら
れて実行されるタスクでは1命令実行が終了したときに
タスク自身でタクス実行を停止してその時の情報をメモ
リに退避させ、オペレーティングシステムではこの退避
終了後に次のタスクに実行権を移行するので、オペレー
ティングシステムからタスクへのアクセスの回数が少な
くなる上に、タスクの停止が1命令実行が終了したとき
に為されるので、命令実行途中などで停止するような場
合に比べてメモリに退避させる情報量が少なくなり、結
果タスクの切り換えの処理に要する時間が短くなり、プ
ログラム全体の実行時間を短くすることができるという
効果がある。According to the second aspect of the present invention, in the task to be executed by giving the execution right, when the execution of one instruction is completed, the task itself stops the tax execution and saves the information at that time in the memory. Since the system transfers the execution right to the next task after this saving is completed, the number of accesses to the task from the operating system is reduced, and the task is stopped when the execution of one instruction is completed. There is an effect that the amount of information saved in the memory is smaller than that in the case where the program is stopped in the middle of execution, the time required for switching the result task is shortened, and the execution time of the entire program can be shortened. .
【図1】請求項1の発明の実施例1のタクス切換処理の
概念を示すフローチャートである。FIG. 1 is a flowchart showing a concept of a tax switching process according to a first embodiment of the invention of claim 1;
【図2】同上のCPUにおけるタクス切換処理の動作を
示すフローチャートである。FIG. 2 is a flowchart showing an operation of a tax switching process in the CPU of the above.
【図3】請求項2の発明の実施例1のタクス切換処理の
概念を示すフローチャートである。FIG. 3 is a flowchart showing the concept of a tax switching process according to the first embodiment of the invention of claim 2;
【図4】同上のCPUにおけるタクス切換処理の動作を
示すフローチャートである。FIG. 4 is a flowchart showing an operation of a tax switching process in the CPU of the above.
【図5】請求項1,2を用いるプログラムコントローラ
の基本的回路構成図である。FIG. 5 is a basic circuit configuration diagram of a program controller using claims 1 and 2.
【図6】従来例のタクス切換処理の概念を示すフローチ
ャートである。FIG. 6 is a flowchart showing the concept of a conventional tax switching process.
T1 … タスク OS オペレーティングシステムT 1 ... Task OS Operating system
─────────────────────────────────────────────────────
─────────────────────────────────────────────────── ───
【手続補正書】[Procedure amendment]
【提出日】平成6年5月23日[Submission date] May 23, 1994
【手続補正1】[Procedure Amendment 1]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0011[Correction target item name] 0011
【補正方法】変更[Correction method] Change
【補正内容】[Correction content]
【0011】而してオペレーティングシステムOSから
実行権が与えられる(矢印a)と、実行権が与えられた
タスク、例えばT1 ではプログラムされている命令が実
行される。オペレティングシステムOSは上記実行権を
タスクT1 に与えてから2ms経過時点で経過フラグが
立てる(矢印b’)。この経過フラグが立てられると、
当該タスクT1 では命令実行中であればその命令実行を
継続し、その命令実行終了時点で停止時点の情報をRA
M3のスタックエリアに退避させるとともにタスク実行
を停止する(矢印c’)。When the execution right is given from the operating system OS (arrow a), the task to which the execution right is given, for example, the instruction programmed in T 1 is executed. The operating system OS sets a progress flag at 2 ms after the execution right is given to the task T 1 (arrow b ′). When this progress flag is set,
In the task T 1 , if the instruction is being executed, the instruction is continued to be executed, and the information at the time of the stop is RA at the end of the execution of the instruction.
The task is saved in the stack area of M3 and the task execution is stopped (arrow c ' ).
【手続補正2】[Procedure Amendment 2]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0012[Correction target item name] 0012
【補正方法】変更[Correction method] Change
【補正内容】[Correction content]
【0012】上記経過フラグが立てられた時点で命令実
行がなされていない場合にはタスクT1 ではタスク実行
を停止して、停止時点の情報をRAM3に退避させる
(c’)。オペレーティングシステムOSはこの情報退
避終了後次のタスクT2 に対して実行権を与え、上述と
同様に2ms経過時点で経過フラグを立てる。タスクT
2では上述と同様に実行権が与えられるとプログラムさ
れている命令が実行され、上記経過フラグが立てられた
時点で実行中の命令があればその命令実行を継続し、命
令実行が終了した時点でその時点の情報をRAM3に退
避させる。勿論経過フラグが立てられた時点で命令実行
がなされていない場合にはタスクT1 はその時点の情報
をRAM3に退避させてタスク実行を停止する。このよ
うにして最初のタスクT1 から最終のタスクTmの実行
が終了するまで上記の処理が繰り返して行われ、最終の
タスクTmでの実行が終了するとオペレーティングシス
テムOSではプログラム全体が終了していない場合には
最初のタスクT1 に実行権を戻して上記の処理を繰り返
す。ここで実行権が戻ってきたタスクでは前のタスク実
行終了時にRAM3に退避させてある情報を読み出し
て、前回で実行された命令の次の命令を実行することに
なる。If no instruction is executed when the elapsed flag is set, task execution is stopped in task T 1 and the information at the time of stop is saved in RAM 3 ( c ' ). After the information saving is completed, the operating system OS gives the execution right to the next task T 2 and sets a progress flag at the time point when 2 ms has elapsed, as described above. Task T
In 2 , the programmed instruction is executed when the execution right is given in the same manner as above, and if there is an instruction being executed at the time when the above progress flag is set, the instruction execution is continued, and when the instruction execution ends Then, the information at that time is saved in the RAM 3. Of course, if the instruction is not executed when the elapsed flag is set, the task T 1 saves the information at that time in the RAM 3 and stops the task execution. In this way, the above processing is repeated until the execution of the first task T 1 to the final task Tm is completed, and when the execution of the final task Tm is completed, the entire program is not completed in the operating system OS. In this case, the execution right is returned to the first task T 1 and the above processing is repeated. Here, the task whose execution right is returned reads the information saved in the RAM 3 at the end of execution of the previous task, and executes the instruction next to the instruction executed the previous time.
Claims (2)
あり、夫々のタスクの実行権を順次演算処理装置に与え
て夫々のタスクを順次実行させるオペレーティングシテ
ムよりなるタスク切換システムにおいて、オペレーティ
ングシステムではタスクの実行権を与えてから一定時間
経過時にフラグを立て、実行権が与えられて実行される
タスクでは上記フラグが立てられて時に実行中の命令が
あれば、その命令終了後にタスク自身でタスク実行を停
止してその時の情報をメモリに退避させ、オペレーティ
ングシステムではこの退避終了後に次のタスクに実行権
を移行することを特徴とするタスク切換システム。1. A task switching system comprising an operating system that has a plurality of tasks executed by an arithmetic processing unit, and sequentially gives the execution right of each task to the arithmetic processing unit to sequentially execute each task. Then, a flag is set when a certain time has elapsed after the task execution right is given, and if there is an instruction currently being executed when the above flag is set and the task is executed at the time when the execution right is given, the task itself A task switching system that stops task execution and saves the information at that time in memory, and the operating system transfers the execution right to the next task after this saving is completed.
あり、夫々のタスクの実行権を順次演算処理装置に与え
て夫々のタスクを順次実行させるオペレーティングシテ
ムよりなるタスク切換システムにおいて、実行権が与え
られて実行されるタスクでは1命令実行が終了したとき
にタスク自身でタクス実行を停止してその時の情報をメ
モリに退避させ、オペレーティングシステムではこの退
避終了後に次のタスクに実行権を移行することを特徴と
するタスク切換システム。2. A task switching system comprising an operating system in which there are a plurality of tasks executed by an arithmetic processing unit, and the execution right of each task is sequentially given to the arithmetic processing unit to execute each task sequentially. In the task to be executed with the given value, when the execution of one instruction is completed, the task itself stops the task execution and saves the information at that time in memory, and the operating system transfers the execution right to the next task A task switching system characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP684094A JPH07210403A (en) | 1994-01-26 | 1994-01-26 | Task switching system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP684094A JPH07210403A (en) | 1994-01-26 | 1994-01-26 | Task switching system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07210403A true JPH07210403A (en) | 1995-08-11 |
Family
ID=11649447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP684094A Pending JPH07210403A (en) | 1994-01-26 | 1994-01-26 | Task switching system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07210403A (en) |
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/en 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 |
---|---|---|
JP2001265412A (en) | Programmable controller | |
JPH07210403A (en) | Task switching system | |
JPH07219766A (en) | Arithmetic processor | |
JPH04288625A (en) | Microcomputer | |
JPH06324861A (en) | System and method for controlling cpu | |
JPH03288906A (en) | Instruction executing system for pc | |
JPS63298634A (en) | Information processor | |
JPH117385A (en) | Operation processor | |
JP2793809B2 (en) | Applied instruction processing method of programmable controller | |
JPH03127171A (en) | Vector processor | |
JPS60117337A (en) | Program changing method | |
JPH03233703A (en) | Sequence controller | |
JPH03212733A (en) | Memory command processor | |
JPH0462093B2 (en) | ||
JPH03160547A (en) | Input/output buffer control method for data processor | |
JPS6249502A (en) | Programmable controller | |
JPH0353321A (en) | Information processor | |
JPS61241843A (en) | Information processor | |
JPH03154929A (en) | Central processing unit | |
JPH01191938A (en) | Information processor | |
JPH03164945A (en) | Data processor | |
JPH0944211A (en) | Programmable controller | |
JPH08115214A (en) | Digital signal processor | |
JP2001147802A (en) | Image processor | |
JPH05303493A (en) | Method for switching instruction train and arithmetic processor using the method |
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 |