[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0934514A - プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ - Google Patents

プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ

Info

Publication number
JPH0934514A
JPH0934514A JP17893595A JP17893595A JPH0934514A JP H0934514 A JPH0934514 A JP H0934514A JP 17893595 A JP17893595 A JP 17893595A JP 17893595 A JP17893595 A JP 17893595A JP H0934514 A JPH0934514 A JP H0934514A
Authority
JP
Japan
Prior art keywords
task
program
execution
tasks
system program
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.)
Withdrawn
Application number
JP17893595A
Other languages
English (en)
Inventor
Takuhiro Yoshida
卓弘 吉田
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP17893595A priority Critical patent/JPH0934514A/ja
Publication of JPH0934514A publication Critical patent/JPH0934514A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】タスクの切り換えに要する時間を短縮し、処理
速度を高める。 【解決手段】各タスクX1 〜Xn は、システムプログラ
ムSPから起動の指示aを受けると(S3)、処理の実
行を開始し、一定時間Tの経過後に停止の指示bを受け
ると(S4)、退避すべき情報が無くなる時点まで実行
を継続する。退避すべき情報が無くなれば、実行を停止
してタスク切換要求cをシステムプログラムSPに出力
し(S5)、システムプログラムSPは停止の指示bを
与えたタスクX1 〜Xn からタスク切換要求cを受ける
と次タスクの起動を指示する(S6,S2)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シーケンスプログ
ラムをマルチタスク方式で処理するプログラマブルコン
トローラのマルチタスク制御方式およびマルチタスク式
プログラマブルコントローラに関するものである。
【0002】
【従来の技術】従来より、プログラマブルコントローラ
(以下、シーケンサという)としてマルチタスク方式で
シーケンスプログラムを処理するものが提案されてい
る。すなわち、シーケンスプログラムを複数のタスクに
分割して記述しておき(あるいは、シーケンスプログラ
ムを1つのタスクとして複数のシーケンスプログラムを
同時的に実行することもある)、システムプログラム
(オペレーティングシステム)の一部であるコントロー
ルプログラムにより各タスクの実行と停止とを指示する
ことによって、実行タスクを切り換えながら処理し、見
掛け上で各タスクを並行に処理するのである。各タスク
はタイムスライス制御されるのであって、1つのタスク
が中央処理装置(CPU)を長時間に亙って占有しない
ように、実行タスクは比較的短い時間間隔(通常は一定
時間)で強制的に切り換えられる。このような処理の指
示は、シーケンサの専用言語(現状では専用のBASI
Cを用いている)で記述することができるようになって
いる。
【0003】上述したマルチタスク方式の中央処理装置
(つまりシステムプログラム)での処理手順を図3
(a)に示す。いま、タスクの個数がmであるとし、タ
スク番号をnで表すものとする。また、各タスクの処理
順序は決まっており、各タスクの実行時間は一定時間で
あるものとする。シーケンスプログラムの処理が開始さ
れると、まずタスク番号nが0に初期化される(S
1)。次に、タスク番号をインクリメントしてタスク番
号を1に設定し(S2)、タスク番号が1のタスクに実
行を指示して起動する(S3)。その後、一定時間が経
過すると、タスク番号が1のタスクに停止を指示する
(S4)。このとき、停止を指示されたタスクは実行中
であっても強制的に停止されるから、実行中の情報をメ
モリ、レジスタなど(以下、メモリという)に一旦退避
して次に起動されるまで待たなければならない。つま
り、実行中の情報をメモリに退避しておき(S5)、次
に起動されたときには退避してあった情報を読み出して
前の実行時の状態から処理を再開するのである。
【0004】その後、すべてのタスクを実行したか否か
を判定し(S6)、タスクが残っていれば、タスク番号
nをインクリメントし(S2)、上述のようにタスクの
起動、停止、情報の退避を繰り返す。このようにしてす
べてのタスクを1回ずつ実行した後に、シーケンスプロ
グラムが終了したか否かを判定し、終了していなければ
タスク番号nを再び初期化して(S1)、上記処理を繰
り返す。
【0005】上述のようにして各タスクを切り換えて順
次実行すれば、各タスクX1 〜Xnは図3(b)のよう
な順序で実行されることになる。図3(b)ではタスク
1〜Xn の起動の指示をaで示し、停止の指示をbで
示してあり、起動から停止までの時間がタスクX1 〜X
n の1回当たりの処理時間Tになる。図中のαは各タス
クX1 〜Xn の停止後に情報をメモリに退避する時間を
示している。さらに、図3(b)に矢印で示すように、
各タスクX1 〜Xn はシステムプログラムSPから一方
的に起動、停止の指示を受け取ることになる。
【0006】
【発明が解決しようとする課題】上記説明から明らかな
ように、各タスクX1 〜Xn は一定時間ずつタイムスラ
イス制御され、かつシステムプログラムから一方的に起
動、停止の指示を受けるものであるから、タスクX1
n の停止時には次に実行を再開するのに備えて、停止
時点での情報をメモリに退避させておくことが必要にな
る。つまり、各タスクX1 〜Xn は停止のたびに、次の
タスクX1 〜Xn の実行前に情報を退避する時間αが必
要になるのであって、タスクX1 〜Xn の停止から起動
までの間に時間αずつの遅れが生じ、シーケンスプログ
ラムの実行時間がそれだけ長くなる。その結果、単位時
間当たりの処理量が減少し、たとえば実時間での制御を
要する設備には適用できないなどの問題が生じる。
【0007】本発明は上記事由に鑑みて為されたもので
あり、その目的は、タスクの切り換えに要する時間を短
縮することによって、単位時間当たりの処理量を従来よ
りも多くしたプログラマブルコントローラのマルチタス
ク制御方式およびマルチタスク式プログラマブルコント
ローラを提供することにある。
【0008】
【課題を解決するための手段】請求項1の発明では、複
数のタスクを有するシーケンスプログラムを処理するに
際して、システムプログラムから各タスクに対して起動
と停止とを指示することにより実行タスクを切り換え、
複数のタスクを見掛け上で並行に処理するプログラマブ
ルコントローラにおいて、各タスクは起動後にシステム
プログラムから停止が指示されると、停止が指示された
時点以降で退避すべき情報が無くなる時点まで実行を継
続した後にタスク切換要求をシステムプログラムに出力
し、システムプログラムは停止を指示したタスクからタ
スク切換要求を受けると次タスクの起動を指示する。
【0009】請求項2の発明では、複数のタスクを有す
るシーケンスプログラムを格納するプログラムメモリ
と、システムプログラムを格納するシステムメモリと、
システムメモリに格納されたシステムプログラムに従っ
てプログラムメモリに格納されたシーケンスプログラム
を実行する中央処理装置とを備え、システムプログラム
は、シーケンスプログラムの各タスクに対して起動を指
示する起動指示部と、起動指示部による起動の指示から
一定時間後に実行タスクの停止を指示する停止指示部
と、停止指示部による停止の指示に応答して実行タスク
からタスク切換要求が出されると次タスクを実行タスク
に指定した後に起動指示部により次タスクを起動させる
タスク切換部とを備え、各タスクは、システムプログラ
ムから停止が指示されると、停止が指示された時点以降
で退避すべき情報が無くなる時点まで実行を継続した後
にタスク切換要求をシステムプログラムに出力する停止
制御部を備える。
【0010】請求項1、2の発明によれば、各タスクは
システムプログラムからの停止の指示後に、退避すべき
情報が無くなる時点まで実行を継続した後にタスク切換
要求をシステムプログラムに出力し、システムプログラ
ムではタスク切換要求を受けると次タスクに起動の指示
を与える。したがって、実行タスクはタスク切換要求を
出力した時点で次にタスクの実行を再開するための情報
を退避する必要がなくなり、従来方法では情報退避に要
していた時間が不要になる。その結果、各タスク間の切
換に要する時間が短縮されることになり、全体としての
処理速度の向上につながるのである。
【0011】ここにおいて、退避すべき情報が無くなる
時点まで実行を継続するとは、一般にはタスクの強制的
に停止させると次に同じタスクの実行を再開するために
停止時点での情報を保存しておく必要があるのに対し
て、実行の再開用の情報が不要になる区切り目まで実行
を継続することを意味し、タスクの停止の指示を受けた
後は再開用の情報が不要になる区切り目まで処理を実行
した後に実行を停止するのである。つまり、タスクはシ
ステムプログラムからの停止の指示によってただちに実
行を停止しないことがあるが、区切り目に達した後には
実行を停止し、タスク切換要求をシステムプログラムに
与えて次タスクの実行に移行させるのである。
【0012】
【発明の実施の形態】図2にシーケンサの基本構成を示
す。周知のように、シーケンサは、マイクロプロセッサ
よりなる中央処理装置(CPU)1を備え、システムプ
ログラム(オペレーティングシステム)を格納したシス
テムメモリ(ROMおよびRAM)2と、シーケンスプ
ログラムを格納するプログラムメモリ(ROMまたはR
AM)3と、制御対象との間で授受するデータを一時的
に格納するデータメモリ(RAM)4と、制御対象との
インタフェースである入出力I/O5と、電源(図示せ
ず)とを備える。また、システムプログラムやシーケン
スプログラムの作成、修正を行なったり、シーケンサの
動作の監視を行なったりするための支援装置を接続する
支援装置接続用インタフェース6を備えるものある。
【0013】マルチタスク方式でシーケンスプログラム
を実行するには、シーケンスプログラムをタスク単位で
記述するとともに、システムプログラムを専用言語(こ
こでは専用のBASICを用いている)を用いて記述す
る。本発明では、図1(a)に示す手順でタイムスライ
ス制御を行なう点を特徴としている。ここに、各タスク
にはタスク番号nが付与され、タスク数はmであるもの
とする。すなわち、シーケンスプログラムの処理を開始
すると、従来方法と同様に、まずタスク番号nを0に初
期化し(S1)、タスク番号nをインクリメントしてタ
スク番号を1にする(S2)。次に、タスク番号が1で
あるタスクに対してシステムプログラムから起動を指示
し(S3)、タスク番号が1のタスクを実行する。その
後、一定時間が経過すると、システムプログラムはタス
ク番号が1のタスクに対して停止を要求する(S4)。
ここまでの処理は、従来方法と同様である。ただし、本
発明ではシステムプログラムからタスクの停止要求があ
っても、ただちにタスクを停止するのではなく、タスク
側で退避すべき情報が無くなるまで実行を継続する。タ
スク側で退避すべき情報が無くなればタスクからシステ
ムプログラムにタスク切換要求を発生し(S5)、シス
テムプログラムではタスク切換要求を受けると、すべて
のタスクを実行したか否かを判定し(S6)、実行して
いないタスクが残っていれば、タスク番号nをインクリ
メントして(S2)次タスクを起動するのである(S
3)。また、すべてのタスクを実行した後には、シーケ
ンスプログラムが終了したか否かを判定し(S7)、シ
ーケンスプログラムが終了していなければ、タスク番号
nを再び初期化して上記処理を繰り返す。
【0014】ところで、タスク側で退避すべき情報と
は、次にタスクの実行を再開するのに必要な情報を意味
している。このようにタスクの区切り目というべき時点
でタスクを停止させれば、タスクの実行の再開に備えて
情報を保存しておく必要がないばかりか、タスク間で授
受される情報もタスクの実行中にメモリ、レジスタ、外
部記憶装置などの所定の場所に読み書きすることがで
き、結局はタスクの停止時点での情報の退避が不要にな
る。
【0015】つまり、図1(b)に示すように、システ
ムプログラムSPから各タスクX1〜Xn に対して起動
の指示aを行なうと、タスクX1 〜Xn が実行され、起
動の指示aから一定時間Tの経過後に停止の指示bを行
なう。このとき、タスクX1〜Xn において次の実行の
再開に備えて退避すべき情報が有るうちは実行を継続
し、退避すべき情報が無くなればタスクX1 〜Xn から
システムプログラムSPに対してタスク切換要求cを発
生する。タスク切換要求cが発生した時点ではタスクX
1 〜Xn は停止しており、また退避すべき情報も存在し
ないから、システムプログラムSPでは、次タスクに対
する起動の指示aのみを行なう。このようにして、タス
クX1 〜Xn の停止ごとに情報を退避することなく各タ
スクX1 〜Xn を順次実行することになる。ここで、タ
スクX1 〜Xn の停止の指示bから次タスクX1 〜Xn
の起動の指示aが発生するまでの時間をβ1 〜βn とす
れば、各タスクX1 〜Xn が1回の実行に占有する時間
は、T+βi (i=1,2,……n)になる。従来方法
では、同時間はT+αであったから、βi ≒αならば、
タスクX1 〜Xn が1回の実行に占有する時間はあまり
差が生じないが、時間βi は大部分がタスクX1 〜Xn
を実行している時間であり、時間αは情報の退避に用い
られる時間であるから、本発明方法のほうが従来方法に
比較すれば、中央処理装置1をシーケンスプログラムの
実行に用いている時間が長くなり、実質的に処理速度を
大きくしたことになる。言い換えると、従来方法と同処
理を同時間で行なうのであれば、中央処理装置1(シス
テムプログラム)の単位時間当たりの負荷が軽減される
ことになって、従来と同程度の処理を行なうのであれ
ば、従来よりも処理能力の低い中央処理装置1を用いる
ことが可能になる。また、中央処理装置1の処理能力が
従来と同程度であれば、従来方法よりも実時間制御が実
現しやすくなる。
【0016】
【発明の効果】本発明は上述のように、各タスクではシ
ステムプログラムからの停止の指示を受け取ると、停止
の指示を受けた後に退避すべき情報が無くなる時点まで
実行を継続した後にタスク切換要求をシステムプログラ
ムに出力し、システムプログラムではタスク切換要求を
受けると次タスクに起動の指示を与えるので、実行タス
クはタスク切換要求を出力した時点で次にタスクの実行
を再開するための情報を退避する必要がなくなり、従来
方法では情報退避に要していた時間が不要になるのであ
り、各タスク間の切換に要する時間が短縮されることに
なり、全体としての処理速度の向上につながるという利
点がある。
【図面の簡単な説明】
【図1】本発明の実施形態を示し、(a)は処理手順を
示すフローチャート、(b)はタスクの実行状態を示す
動作説明図である。
【図2】シーケンサの概略構成を示すブロック図であ
る。
【図3】従来例を示し、(a)は処理手順を示すフロー
チャート、(b)はタスクの実行状態を示す動作説明図
である。
【符号の説明】
1 中央処理装置 2 システムメモリ 3 プログラムメモリ 4 データメモリ 5 入出力I/O 6 支援装置接続用インタフェース a 起動の指示 b 停止の指示 c タスク切換要求 SP システムプログラム X1 〜Xn タスク

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクを有するシーケンスプログ
    ラムを処理するに際して、システムプログラムから各タ
    スクに対して起動と停止とを指示することにより実行タ
    スクを切り換え、複数のタスクを見掛け上で並行に処理
    するプログラマブルコントローラにおいて、各タスクは
    起動後にシステムプログラムから停止が指示されると、
    停止が指示された時点以降で退避すべき情報が無くなる
    時点まで実行を継続した後にタスク切換要求をシステム
    プログラムに出力し、システムプログラムは停止を指示
    したタスクからタスク切換要求を受けると次タスクの起
    動を指示することを特徴とするプログラマブルコントロ
    ーラのマルチタスク制御方式。
  2. 【請求項2】 複数のタスクを有するシーケンスプログ
    ラムを格納するプログラムメモリと、システムプログラ
    ムを格納するシステムメモリと、システムメモリに格納
    されたシステムプログラムに従ってプログラムメモリに
    格納されたシーケンスプログラムを実行する中央処理装
    置とを備え、システムプログラムは、シーケンスプログ
    ラムの各タスクに対して起動を指示する起動指示部と、
    起動指示部による起動の指示から一定時間後に実行タス
    クの停止を指示する停止指示部と、停止指示部による停
    止の指示に応答して実行タスクからタスク切換要求が出
    されると次タスクを実行タスクに指定した後に起動指示
    部により次タスクを起動させるタスク切換部とを備え、
    各タスクは、システムプログラムから停止が指示される
    と、停止が指示された時点以降で退避すべき情報が無く
    なる時点まで実行を継続した後にタスク切換要求をシス
    テムプログラムに出力する停止制御部を備えることを特
    徴とするマルチタスク式プログラマブルコントローラ。
JP17893595A 1995-07-14 1995-07-14 プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ Withdrawn JPH0934514A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17893595A JPH0934514A (ja) 1995-07-14 1995-07-14 プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17893595A JPH0934514A (ja) 1995-07-14 1995-07-14 プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH0934514A true JPH0934514A (ja) 1997-02-07

Family

ID=16057222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17893595A Withdrawn JPH0934514A (ja) 1995-07-14 1995-07-14 プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH0934514A (ja)

Similar Documents

Publication Publication Date Title
JPH0776894B2 (ja) プロセッサ用クロック信号の制御方法及び情報処理システム
JPH04332002A (ja) プログラマブル制御装置
US6880029B2 (en) Programmable controller
US5940628A (en) Control processor for user setting a change prohibition period during which a program change command will not be executed until the lapse of that period
JPH0934514A (ja) プログラマブルコントローラのマルチタスク制御方式およびマルチタスク式プログラマブルコントローラ
JPH09259004A (ja) デバッグ方法
JPH03118639A (ja) 仮想計算機のディスプレイコントローラ制御方式
JPH064318A (ja) エラー検出方式
JPH02236708A (ja) 電子計算処理システム
JPS61226820A (ja) 復電によるデ−タ処理再開方式
JPS616704A (ja) プログラマブル・コントロ−ラ
JP3362673B2 (ja) チャネルコントロール装置
JPH07210403A (ja) タスク切換システム
JPH01169635A (ja) ジョブ起動方式
JP2000029850A (ja) オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法
JPH05250197A (ja) 自律系構成回路の制御方式
JPH052412A (ja) プログラマブル・コントローラにおける制御プログラム実行方式
JPH02113363A (ja) マルチプロセッサシステムにおけるタイムスライス制御方式
JPS63173154A (ja) 多重プロセツサシステムにおけるタイマ値同時読出方式
JPH01217646A (ja) データ処理装置の診断処理制御方式
JP2001147802A (ja) 画像処理装置
JPH06105439B2 (ja) プログラム管理方式
JPS63268003A (ja) プログラマブルコントロ−ラ
JPH0777931A (ja) プログラマブルコントローラ
JPH03122725A (ja) 電力系統用計算機システムのタスク管理方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021001