JPH08166808A - マルチタスク式プログラマブルコントローラ - Google Patents

マルチタスク式プログラマブルコントローラ

Info

Publication number
JPH08166808A
JPH08166808A JP6312243A JP31224394A JPH08166808A JP H08166808 A JPH08166808 A JP H08166808A JP 6312243 A JP6312243 A JP 6312243A JP 31224394 A JP31224394 A JP 31224394A JP H08166808 A JPH08166808 A JP H08166808A
Authority
JP
Japan
Prior art keywords
area
size
user
memory
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.)
Pending
Application number
JP6312243A
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 JP6312243A priority Critical patent/JPH08166808A/ja
Publication of JPH08166808A publication Critical patent/JPH08166808A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Memory System (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【目的】ユーザ用メモリ内での各エリアのサイズを可変
とすることによって、ユーザプログラムの作成の自由度
を高める。 【構成】ユーザ用メモリ1は、ユーザプログラムを格納
するプログラムエリアA 1 、タスク毎に割り付けられた
複数個の作業領域を備えるタスクワークエリアA 4 を備
える。演算処理部2は、ユーザ用メモリ1に格納された
ユーザプログラムを複数個のタスクに分割してマルチタ
スク処理する。また、演算処理部2は、ユーザ用メモリ
1の中の各エリアA1 〜A4 の種別と、エリアA1 〜A
4 のサイズとをパラメータとするメモリ割付命令が外部
から入力されると、指定されたエリアA1 〜A4 を指定
されたサイズに変更する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ユーザプログラムをマ
ルチタスク処理によって実行することにより外部機器を
制御するマルチタスク式プログラマブルコントローラに
関するものである。
【0002】
【従来の技術】従来より、リアルタイム制御を目的とし
てマルチタスク技術を用いたプログラマブルコントロー
ラが提案されている。この種のプログラマブルコントロ
ーラは、図1に示すように、ユーザプログラムを格納す
るユーザ用メモリ1と、ユーザプログラムを複数個のタ
スクに分割してマルチタスク処理する演算処理部2と、
外部機器を接続するための入出力インタフェース3とを
備える。演算処理部2は、システムプログラムを格納し
たメモリと、システムプログラムに従ってユーザプログ
ラムを実行するマイクロプロセッサとからなる。また、
ユーザ用メモリ1に書き込むユーザプログラムを作成し
たり修正したりするためのプログラム支援ツールを接続
する支援装置用インタフェース4も設けられる。
【0003】ところで、ユーザ用メモリ1には、図4に
示すように、ユーザプログラムを格納するプログラムエ
リアA1 のほか、ユーザプログラムで用いる変数を格納
する変数エリアA2 、外部機器を制御する際の入出力に
応じて発生するデータを格納するデータエリアA3 、マ
ルチタスク処理を行なうために各タスク毎に割り付けら
れた複数個の作業領域からなるタスクワークエリアA4
が設けられる。これらのエリアA1 〜A4 のサイズは固
定的に設定されている。
【0004】
【発明が解決しようとする課題】上述のようにユーザ用
メモリ1の中で、各エリアA1 〜A4 のサイズが固定的
に設定されていると、次のような問題が生じる。たとえ
ば、ユーザプログラムのサイズがプログラムエリアA1
のサイズを超える場合には、他のエリアA2 〜A 4 に空
き領域が生じる場合でもユーザプログラムを格納するこ
とができないことになる。また、ユーザプログラムはプ
ログラムエリアA1 に格納できるサイズであっても、タ
スク数はタスクワークエリアA4 のサイズで制限されて
いるから、タスク数がタスクワークエリアA4 のサイズ
を超える場合には、そのユーザプログラムを使用するこ
とができないことになる。
【0005】すなわち、タスクワークエリアA4 は、各
タスクごとに一定のサイズ(たとえばmバイト)の作業
領域を複数個(たとえばn個)有しているから、全体の
サイズはm×nバイトになるが、タスク数がn個より少
ないときには、タスクワークエリアA4 に空き領域が生
じるにもかかわらず、プログラムエリアA1 としては利
用できないから、プログラムエリアA1 のサイズを超え
るユーザプログラムを使用することができず、逆にタス
ク数がn個より多くなると、タスクワークエリアA4
足りなくなるから、ユーザプログラムを実行できないこ
とになる。
【0006】本発明は上記問題点の解決を目的とするも
のであり、ユーザ用メモリ内での各エリアのサイズを可
変とすることによって、ユーザプログラムの仕様に関す
る制限を緩和し、ユーザプログラムの作成の自由度を高
めたマルチタスク式プログラマブルコントローラを提供
しようとするものである。
【0007】
【課題を解決するための手段】請求項1の発明は、上記
目的の達成のために、ユーザ用メモリに格納されたユー
ザプログラムを複数個のタスクに分割してマルチタスク
処理する演算処理部を備え、ユーザプログラムに記述さ
れた手順に従って外部装置を制御するマルチタスク式プ
ログラマブルコントローラにおいて、ユーザ用メモリ
は、ユーザプログラムを記述するプログラムエリアと、
タスク毎に割り付けられた複数個の作業領域からなるタ
スクワークエリアとを少なくとも備え、演算処理部は、
ユーザ用メモリの中の各エリアの種別とエリアのサイズ
とをパラメータとするメモリ割付命令が外部から入力さ
れると、ユーザ用メモリの指定されたエリアを指定され
たサイズに変更することを特徴とする。
【0008】請求項2の発明は、タスクの個数を削減す
るか加増するかを判断し、タスクの個数を削減する場合
には、メモリ割付命令によってタスクワークエリアから
所要サイズを削減した後にメモリ割付命令によってタス
クワークエリア以外の所要エリアのサイズを加増し、タ
スクの個数を加増する場合には、タスクワークエリア以
外の空き領域を持つエリアのサイズを削減した後にメモ
リ割付命令によってタスクワークエリアを所要サイズだ
け加増することを特徴とする。
【0009】
【作用】請求項1の発明の構成によれば、メモリ割付命
令によってユーザ用メモリの各エリアのサイズを指定す
ることができるから、ユーザ用メモリ内での各エリアの
サイズが可変になり、各エリアのサイズが固定的に設定
されていた従来構成に比較すると、ユーザプログラムの
サイズやタスクの個数の制限が緩和されることになり、
結果的にユーザプログラムの作成の自由度が高くなる。
【0010】請求項2の発明の構成によれば、タスクの
個数を基準として各エリアのサイズを設定するから、タ
スクの個数に着目してエリアの割付作業が行なえること
になる。つまり、エリアの種別が多い場合でも、タスク
ワークエリアのサイズを最優先して割付作業を行なうこ
とで、割付作業を自動化することができる。
【0011】
【実施例】プログラマブルコントローラは、図1を用い
て従来の技術として説明したように、ユーザプログラム
を格納するユーザ用メモリ1と、ユーザプログラムを複
数個のタスクに分割してマルチタスク処理する演算処理
部2と、外部機器を接続するための入出力インタフェー
ス3とを備える。また、プログラムの作成、トレース、
修正を行なうためのプログラム支援ツール(図示せず)
が接続される支援装置用インタフェース4も設けられて
いる。演算処理部2は、システムプログラムを格納した
メモリと、システムプログラムに従ってユーザプログラ
ムを実行するマイクロプロセッサとを備える。
【0012】ユーザ用メモリ1には、ユーザプログラム
を格納するプログラムエリアA1 、ユーザプログラムで
用いる変数を格納する変数エリアA2 、外部機器を制御
する際の入出力に応じて発生するデータを格納するデー
タエリアA3 、マルチタスク処理を行なうために各タス
ク毎に割り付けられた複数個の作業領域からなるタスク
ワークエリアA4 が設けられる。各エリアA1 〜A4
アドレス順に並べられているが、プログラム支援ツール
によって外部から入力されるメモリ割付命令を用いるこ
とでサイズが可変になっている。
【0013】次に、メモリ割付命令による処理について
説明する。メモリ割付命令は、パラメータ(オペラン
ド)として各エリアA1 〜A4 の種別と、各エリアA1
〜A4とが指定できるようになっている。いま、メモリ
割付命令を、SYSREG <機能番号>,<値>とい
う書式とし、<機能番号>により各エリアA1 〜A4
種別を表し、<値>により各エリアA1 〜A4 のサイズ
を表すものとする。すなわち、<機能番号>は1〜4の
範囲の値が採用可能であって、それぞれプログラムエリ
アA1 、変数エリアA2 、データエリアA3 、タスクワ
ークエリアA4 に対応する。また、<値>には各エリア
1 〜A4 として確保したいバイト数を与える。
【0014】プログラム支援ツールでは、ユーザプログ
ラムをプログラマブルコントローラに与える際に、すべ
てのエリアA1 〜A4 のサイズをメモリ割付命令によっ
て個別に設定する。ただし、ユーザが各エリアA1 〜A
4 ごとにサイズを設定すると作業が面倒であるから、エ
リアA1 〜A4 ごとにサイズのデフォルト値を定めてお
き、メモリ割付命令が入力されなければデフォルト値を
採用するようにしてユーザの負担を少なくするのが望ま
しい。
【0015】プログラマブルコントローラの演算処理部
2では、プログラム支援ツールからメモリ割付命令が入
力されると、<機能番号>によりエリアA1 〜A4 の種
別を判別し、そのエリアA1 〜A4 の先頭アドレスに<
値>で指定されたバイト数を加算して最終アドレスを決
定する。また、メモリ割付命令で指定されたエリアA 1
〜A4 よりも上位側のアドレスを占有するエリアA1
4 がすでに設定されているときには、そのエリアA1
〜A4 が占有しているアドレス領域をシフトさせ、メモ
リ割付命令で指定されたエリアA1 〜A4 との間に空き
領域が形成されないようにする。ただし、各エリアA1
〜A4 が占有するアドレス領域をシフトさせたときにタ
スクワークエリアA4 の最終アドレスがユーザ用メモリ
1の最終アドレスを超えるときには、メモリ割付命令が
不当である旨をプログラム支援ツールに返す。また、タ
スクワークエリアA4 ではタスク毎に一定サイズの作業
領域を用意する必要があるから、タスクワークエリアA
4 については<値>で指定されたサイズを上記一定サイ
ズで除算したときの剰余を空き領域とする。一方、<値
>で指定されたサイズが上記一定サイズより小さいとき
には不当である旨をプログラム支援ツールに返す。この
ような不当なメモリ割付命令に対処する処理は、演算処
理部2ではなくプログラム支援ツールで行なってもよ
い。
【0016】ところで、一般にはユーザ用メモリ1のす
べてのアドレス領域を占有するように各エリアA1 〜A
4 を割り付けているから、上述したメモリ割付命令を用
いてユーザ用メモリ1の中での各エリアA1 〜A4 が占
有するアドレス領域を変更する場合には、いずれかのエ
リアA1 〜A4 のうち空き領域を持つものから占有する
アドレス領域の一部を減らした後に、減らしたアドレス
領域のサイズの範囲で所望のエリアA1 〜A4 の占有す
るアドレス領域を増やすという作業が必要になる。つま
り、メモリ割付命令を2回用いるようにし、1回目はサ
イズの削減、2回目はサイズの加増という作業を行なう
ことになる。
【0017】図2に具体例を示す。ここでは、タスクの
個数に応じてタスクワークエリアA 4 のサイズを増減さ
せる場合について例示する。この場合、まずタスクの個
数を削減するか加増するかを判断し(S1)、削減する
場合(つまり、他のエリアA 1 〜A3 のサイズを加増す
る場合)には、まずメモリ割付命令によってタスクワー
クエリアA4 からタスク単位の作業領域の倍数で所要サ
イズを削減し(S2)、その後に所望のエリアA1 〜A
3 のサイズを加増するようにメモリ割付命令を用いる
(S3)。一方、タスクの個数を加増する場合には、ま
ずタスクワークエリアA4 以外のエリアA1 〜A3 から
使用しない空き領域を削減するようにメモリ割付命令を
用いる(S4)。その後、タスクワークエリアA4 のサ
イズを加増するようにメモリ割付命令を用いるのである
(S5)。
【0018】上述した手順によって、変数エリアA2
データエリアA3 、タスクワークエリアA4 から空き領
域を削減し、プログラムエリアA1 のサイズを加増した
場合の例を図3に示す。ここに、図3(a)はサイズの
変更前、図3(b)はサイズの変更後を示し、メモリ割
付命令を用いることで各エリアA1 〜A4 のサイズを可
変としたことで、ユーザプログラムの仕様(サイズ、タ
スクの個数、変数の個数、データ数やデータ長)の自由
度が増すことがわかる。
【0019】図2に示した処理は、ユーザプログラムの
本体を実行する前にプログラムとして自動的に実行させ
るようにしてもよい。その場合には、ユーザプログラム
が使用するタスクの個数を演算処理部で求め、求めたタ
スクの個数とデフォルト値として設定されているタスク
ワークエリアA4 のサイズとを比較する。このような比
較によって、タスクワークエリアA4 のサイズを削減す
るか加増するかを判断し、削減できる場合にはタスクワ
ークエリアA4 の空き領域を削減した後に他の必要なエ
リアA1 〜A3 に割り付けることができる旨を報知すれ
ばよい。また、タスクワークエリアA4 のサイズを加増
する必要があれば、他のエリアA1 〜A 3 に空き領域が
あるか否かを判断し、空き領域があればその空き領域を
削減した後に、タスクワークエリアA4 を必要量だけ加
増すればよい。この処理において、ユーザ用メモリ1の
アドレス領域の範囲では各エリアA1 〜A4 のサイズの
加増が満足にできないときには、その旨を報知してユー
ザ用メモリ1の増設やユーザプログラムの変更などを促
すようにする。このようなユーザ用メモリ1の中でのエ
リアA1 〜A4 のサイズ変更は、プログラム支援ツール
を接続した状態で行なうようにし、上述のような各種の
報知はプログラム支援ツール側に設けたディスプレイな
どで行なう。
【0020】
【発明の効果】請求項1の発明は、メモリ割付命令によ
ってユーザ用メモリの各エリアのサイズを指定すること
ができるから、ユーザ用メモリ内での各エリアのサイズ
が可変になり、各エリアのサイズが固定的に設定されて
いた従来構成に比較すると、ユーザプログラムのサイズ
やタスクの個数の制限が緩和されることになり、結果的
にユーザプログラムの作成の自由度が高くなるという利
点がある。
【0021】請求項2の発明は、タスクの個数を基準と
して各エリアのサイズを設定するから、タスクの個数に
着目してエリアの割付作業が行なえることになる。つま
り、エリアの種別が多い場合でも、タスクワークエリア
を最優先して割付作業を行なうことで、割付作業を自動
化することができるという効果がある。
【図面の簡単な説明】
【図1】実施例を示すブロック図である。
【図2】実施例における各エリアの割付作業の手順を示
すフローチャートである。
【図3】実施例における各エリアの割付状態を示す図で
ある。
【図4】ユーザ用メモリの各エリアの割付例を示す図で
ある。
【符号の説明】
1 ユーザ用メモリ 2 演算処理部 3 入出力インタフェース 4 支援装置用インタフェース A1 プログラムエリア A2 変数エリア A3 データエリア A4 タスクワークエリア

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ユーザ用メモリに格納されたユーザプロ
    グラムを複数個のタスクに分割してマルチタスク処理す
    る演算処理部を備え、ユーザプログラムに記述された手
    順に従って外部装置を制御するマルチタスク式プログラ
    マブルコントローラにおいて、ユーザ用メモリは、ユー
    ザプログラムを記述するプログラムエリアと、タスク毎
    に割り付けられた複数個の作業領域からなるタスクワー
    クエリアとを少なくとも備え、演算処理部は、ユーザ用
    メモリの中の各エリアの種別とエリアのサイズとをパラ
    メータとするメモリ割付命令が外部から入力されると、
    ユーザ用メモリの指定されたエリアを指定されたサイズ
    に変更することを特徴とするマルチタスク式プログラマ
    ブルコントローラ。
  2. 【請求項2】 タスクの個数を削減するか加増するかを
    判断し、タスクの個数を削減する場合には、メモリ割付
    命令によってタスクワークエリアから所要サイズを削減
    した後にメモリ割付命令によってタスクワークエリア以
    外の所要エリアのサイズを加増し、タスクの個数を加増
    する場合には、タスクワークエリア以外の空き領域を持
    つエリアのサイズを削減した後にメモリ割付命令によっ
    てタスクワークエリアを所要サイズだけ加増することを
    特徴とするマルチタスク式プログラマブルコントロー
    ラ。
JP6312243A 1994-12-15 1994-12-15 マルチタスク式プログラマブルコントローラ Pending JPH08166808A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6312243A JPH08166808A (ja) 1994-12-15 1994-12-15 マルチタスク式プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6312243A JPH08166808A (ja) 1994-12-15 1994-12-15 マルチタスク式プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH08166808A true JPH08166808A (ja) 1996-06-25

Family

ID=18026896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6312243A Pending JPH08166808A (ja) 1994-12-15 1994-12-15 マルチタスク式プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH08166808A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195911B2 (en) 2009-10-20 2012-06-05 Fanuc Ltd. Numerical controller capable of dividing and combining memory areas to store machining programs and binary data
JP2016081300A (ja) * 2014-10-16 2016-05-16 株式会社キーエンス プログラマブル・ロジック・コントローラ、プログラム作成支援装置、制御方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195911B2 (en) 2009-10-20 2012-06-05 Fanuc Ltd. Numerical controller capable of dividing and combining memory areas to store machining programs and binary data
JP2016081300A (ja) * 2014-10-16 2016-05-16 株式会社キーエンス プログラマブル・ロジック・コントローラ、プログラム作成支援装置、制御方法およびプログラム

Similar Documents

Publication Publication Date Title
US5381549A (en) Information processing apparatus
JPH06250928A (ja) 情報処理装置
JP2001043180A (ja) マイクロプロセッサおよびそのための記憶装置
US5581771A (en) Microcomputer having interrupt control circuit to determine priority level
JPH08166808A (ja) マルチタスク式プログラマブルコントローラ
JPH0926889A (ja) 仮想計算機システム
JP2902746B2 (ja) 仮想計算機制御方式
JP3432728B2 (ja) プログラマブルコントローラ
JP3052891B2 (ja) 信号処理システム
JP3385595B2 (ja) プログラマブルコントローラ
KR100258893B1 (ko) 단일 중앙처리부를 이용한 수치제어장치의 구현방법
JPH06124212A (ja) 割り込みベクタテーブル管理方式
JPH03288906A (ja) Pcの命令実行方式
JP3331357B2 (ja) プログラマブルコントローラ
JPH04160408A (ja) 数値制御装置
JP2931327B2 (ja) コンピュータシステムにおける表示処理の実行方法
JPS61182135A (ja) 処理選択方法
JPH04257915A (ja) 情報処理装置
JPS635790B2 (ja)
JPH0830466A (ja) マルチタスク切り換え制御方法
JP3022848B2 (ja) マルチタスクのタスク切り替え方法とリアルタイム・オペレーティング・システム
JPS61278942A (ja) デ−タ管理装置
JPH08507630A (ja) メモリ管理装置およびメモリ管理方法
JPS6269324A (ja) タスク制御方式
JPH03260840A (ja) マルチタスクにおけるバンクメモリの制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607