JPH0520043A - プログラム作成装置およびその制御装置 - Google Patents

プログラム作成装置およびその制御装置

Info

Publication number
JPH0520043A
JPH0520043A JP3168098A JP16809891A JPH0520043A JP H0520043 A JPH0520043 A JP H0520043A JP 3168098 A JP3168098 A JP 3168098A JP 16809891 A JP16809891 A JP 16809891A JP H0520043 A JPH0520043 A JP H0520043A
Authority
JP
Japan
Prior art keywords
work area
program
package
memory
size
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
JP3168098A
Other languages
English (en)
Inventor
Yasue Watanabe
恭江 渡辺
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3168098A priority Critical patent/JPH0520043A/ja
Publication of JPH0520043A publication Critical patent/JPH0520043A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】本発明は、制御装置単位でのプログラムワーク
エリアの自動割付けを行ない、エンジニアリングコスト
の削減、ワークエリアアドレスの設定ミスに起因するト
ラブルの撲滅、メモリの有効活用、プログラム作成/変
更に柔軟に対処できることを最も主要な特徴としてい
る。 【構成】制御装置内のワークエリア先頭アドレス・サイ
ズ指定、パッケージ作成、制御タスクプログラム作成の
各機能を備えた入力装置、制御タスクプログラムのコン
パイル部、コンパイル時、ワークエリアを使用するパッ
ケージの最終部に、ワークエリアアドレス加算処理を付
加するワークエリアアドレス加算処理付加部、コンパイ
ルされた結果、パッケージ最終部にワークエリアアドレ
ス加算処理が付加されたオブジェクトプログラムに、そ
のサイズ・使用ワークエリアサイズを含めてダウンロー
ディングするダウンローディング部を備えたことを特徴
とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば鉄鋼、紙パル
プ、化学、食品プラント等の一般産業設備や、上下水道
設備、廃棄物処理設備、ビル設備等のFAシステム等に
適用するプログラム作成装置、およびその作成プログラ
ムを用いて制御対象を制御する制御装置に関するもので
ある。
【0002】
【従来の技術】一般に、コンピュータ技術におけるワー
クエリアは、演算値のようなテンポラリデータを保存す
るレジスタ的な使用と、時系列的なデータの演算・参照
を目的としてデータの保存を行なう使用とが可能な、2
種類の使用形態をもったメモリエリアである。
【0003】そこで、従来、以上のような使用形態をも
つワークエリアを有効に活用しつつ、プロセスの制御を
実行するために、プログラム制御装置が広く利用されて
きている。この種のプログラム制御装置で使用するプロ
セス制御プログラムのプログラミング言語としては、シ
ーケンス制御用には、ラダーダイヤグラムやSFC(S
equential Function Char
t)、計装ループ制御用には、計袋ブロック等のPOL
言語が使用されている。
【0004】このPOL言語は、制御に必要な最小単位
の機能をパッケージ化(サブルーチン化)したものであ
る。このサブルーチン化されたプログラムは、おおむね
制御タスク作成時には、標準パッケージとして既に用意
されているが、標準パッケージだけでは目的とする制御
タスクを作成できない場合には、制御タスクを作成する
前に要求仕様を満足するようなパッケージを新たに作成
する必要がある。
【0005】この制御タスクは、用意されたパッケージ
(サブルーチンプログラム)に、対象プロセス制御に適
したパラメータを設定し、これを積み上げることにより
作成することになる。
【0006】ところで、従来のワークエリア管理方式で
は、制御タスク作成時に、その制御タスクのプログラマ
ーがワークエリアを必要とするパッケージに対して、ワ
ークエリアアドレスを人為的に固定割り付けするように
している。このワークエリアの人為的な固定アドレス割
付けは、制御タスク中のワークエリアを必要とするパッ
ケージのワークエリアアドレス設定パラメータの端子
に、パッケージを使用するワークエリアアドレスを逐一
記述しなければならないので、プログラム設計から保守
に至るまでのエンジニアリングコストが、大幅に増大す
るという問題がある。
【0007】また、使用ワークエリア領域の予約・保守
を人間系で行なうことから、不完全であり、ワークエリ
アの重複使用や記述ミスといった誤りも犯し易く、かつ
解析の困難なトラブルも発生するという問題がある。
【0008】さらに、ワークエリアの固定アドレス割付
けは、タスク単位での使用可能なワークエリアサイズが
固定であるという制限にも関連しており、タスク単位で
のワークエリアサイズの制御は、制御タスク作成時にパ
ッケージの組合わせによってはワークエリアが不足して
くる場合もあり、本来の制御タスクのプログラミングを
妨げるといった問題がある。
【0009】さらに加えて、最近の制御装置では、プロ
グラムメモリの有効活用を目的として、プログラムダウ
ンローディング時のプログラムメモリ自動割付け処理や
不要となった制御タスクを削除したり、制御タスクの入
れ替えを行なう場合のパッキング処理(使用不可の制御
タスクプログラムのメモリに後続の制御タスクプログラ
ムを前詰めに移動させることにより、メモリの不使用領
域と使用領域との混在をなくす処理)を可能とする装置
があるが、ワークエリアを固定アドレス割付けとした場
合には、制御タスクのダウンローディング後の削除時等
に、特にワークエリア領域内でメモリの不使用領域と使
用領域とが混在し、プログラムメモリの有効活用の思想
に合致しなくなるという問題がある。
【0010】
【発明が解決しようとする課題】以上のように、従来の
プログラム作成装置およびその制御装置においては、制
御タスクのワークエリアを人為的に固定アドレスにて割
付けしていることから、重複割付けや記述ミスによって
解析困難なトラブルが生じたり、またワークエリア不足
によって効率的な制御タスクプログラミングが妨げられ
たり、さらにワークエリアの不使用領域および使用領域
とが混在することにより、プログラムメモリの有効活用
が図れないという問題があった。
【0011】本発明の目的は、制御装置単位でのプログ
ラムワークエリアの自動割付けを行なうことにより、エ
ンジニアリングコストの削減、ワークエリアアドレスの
設定ミスに起因するトラブルの撲滅、メモリの有効活
用、プログラム作成/変更に柔軟に対処することが可能
な極めて信頼性の高いプログラム作成装置およびその制
御装置を提供することにある。
【0012】
【課題を解決するための手段】上記の目的を達成するた
めに、まず、請求項1に記載の発明によるプログラム作
成装置は、制御装置におけるワークエリア先頭アドレス
およびサイズを指定する機能、固定ワークエリアサイズ
使用のパッケージならばパッケージのワークエリア使用
サイズを登録し、可変ワークエリアサイズ使用のパッケ
ージならばワークエリアサイズ指定の入力端子番号を登
録することにより、制御タスク構成要素であるパッケー
ジを作成する機能、作成されたパッケージを基に制御タ
スクプログラムを作成する機能を備え、プログラマの操
作に基づいて制御タスクプログラムを入力する入力装置
と、入力装置から入力されたプログラムデータをコンパ
イルするコンパイル部と、コンパイル部のコンパイル
時、ワークエリアを使用するパッケージの最終部に、ワ
ークエリアアドレス加算処理を付加するワークエリアア
ドレス加算処理付加部と、コンパイル部によってコンパ
イルされた結果、パッケージ最終部にワークエリアアド
レス加算処理が付加されたオブジェクトプログラムに、
そのオブジェクトプログラムのサイズおよびオブジェク
トプログラムで使用するワークエリアサイズを含めてダ
ウンローディングするダウンローディング部とを備えて
構成している。
【0013】また、請求項2に記載の発明による制御装
置は、プログラム作成装置からダウンローディングされ
たオブジェクトプログラムを記憶するプログラムメモリ
と、オブジェクトプログラムに含まれるパッケージ毎の
ワークエリアを記憶するワークエリアメモリと、オブジ
ェクトプログラムをプログラムメモリの所定のアドレス
に割り付けて記憶させるプログラムメモリ割付け部と、
オブジェクトプログラムに含まれる各パッケージのワー
クエリアサイズに応じて、ワークエリアメモリにパッケ
ージ毎のワークエリアを割り付けるワークエリアメモリ
割付け部と、プログラムメモリに記憶されているオブジ
ェクトプログラムの実行管理を司るタスクスケジューラ
とを備えて構成している。
【0014】さらに、請求項3に記載の発明による制御
装置は、請求項2に記載の発明による制御装置に、プロ
グラメモリ中のオブジェクトプログラムから不使用にな
ったプログラムおよびワークエリアを削除するパッキン
グ部と、パッキング部によるプログラムのパッキング時
に、プログラムメモリおよびワークエリアメモリにそれ
ぞれプログラム毎のワークエリアを再割付けするメモリ
再割付け手段とからなるパッキング処理機能を付加して
構成している。
【0015】
【作用】従って、本発明では以上のような手段を講じた
ことにより、請求項1に記載の発明によるプログラム作
成装置においては、入力装置を通して入力された制御タ
スクプログラムについてコンパイル部にてコンパイルを
行なってオブジェクトプログラムを作成すると共に、タ
スクの総ワークエリアサイズを演算する。このとき、コ
ンパイル対象がワークエリア使用パッケージの場合に
は、ワークエリアアドレス加算処理付加部が、パッケー
ジ最終部分にワークエリアアドレス加算処理を付加す
る。
【0016】しかる後、ダウンローディング部が、制御
装置に対してオブジェクトプログラムをダウンローディ
ングする時には、オブジェクトプログラムのダウンロー
ディングと共に、オブジェクトプログラム毎のワークエ
リアサイズもダウンローディングし、制御装置側でオブ
ジェクトプログラム毎にそのワークエリアメモリ上に所
定の大きさのワークエリアを自動的に割付けさせるよう
にするものである。
【0017】次に、請求項2に記載の発明による制御装
置においては、プログラム作成装置からダウンローディ
ングされたオブジェクトプログラムをプログラムメモリ
に記憶させるのであるが、その時にプログラムメモリ割
付け部が、オブジェクトプログラムを所定のアドレスに
自動的に割り付けて記憶させていく。また、ダウンロー
ディングされてきたオブジェクトプログラム中で使用す
るワークエリアについては、ワークエリアメモリ割付け
部がワークエリアメモリの所定のアドレスに自動的に割
り付けて行く。このようにしてダウンローディングされ
たオブジェクトプログラムはタスクスケジューラにより
起動され、制御のために使用される。
【0018】さらに、請求項3に記載の発明による制御
装置においては、パッキング部により、プログラメモリ
中のオブジェクトプログラムから不使用になったプログ
ラムおよびワークエリアを削除し、同時にプログラムメ
モリ再割付け部により、各オブジェクトプログラムをプ
ログラムメモリ上の所定のアドレスに再割付けして記憶
させ、またワークエリア再割付け部により、オブジェク
トプログラム毎にそのワークエリアをワークエリアメモ
リ上に再割付けし、タスクスケジューラのプログラムの
実行に供することになる。
【0019】
【実施例】以下、本発明の一実施例について図面を参照
して説明する。図1は請求項1に係わるプログラム作成
装置の構成例を示すブロック図、図2は請求項2に係わ
る制御装置の構成例を示すブロック図である。
【0020】まず、本実施例のプログラム作成装置は、
図1に示すように、制御装置3におけるワークエリア先
頭アドレスおよびサイズを指定する機能、固定ワークエ
リアサイズ使用のパッケージならばパッケージのワーク
エリア使用サイズを登録し、可変ワークエリアサイズ使
用のパッケージならばワークエリアサイズ指定の入力端
子番号を登録することにより、制御タスク構成要求であ
るパッケージを作成する機能、この作成されたパッケー
ジを基に制御タスクプログラムを作成する機能を備え、
プログラマの操作に基づいて制御タスクプログラムを入
力する入力装置1と、入力装置1から入力された制御タ
スクプログラムをコンパイルしてオブジェクトプログラ
ムを作成するコンパイル部21、コンパイル部21によ
ってコンパイルされたオブジェクトプログラムからコー
ルされる種々のパッケージにつき、ワークエリアを必要
とするパッケージに対してそのパッケージ最終部にワー
クエリアアドレス加算処理を付加するワークエリアアド
レス加算処理付加部22、コンパイル部21でコンパイ
ルされたオブジェクトプログラムをそのタスクサイズ情
報、ワークエリアサイズ情報と共にダウンローディング
するダウンローディング部23を備えたプログラム作成
部2とから構成している。また、このプログラム作成部
2には、同プログラム作成部2からダウンローディング
されてくるオブジェクトプログラムを受けて所定の制御
を実行する制御装置3が設けられている。
【0021】一方、本実施例の制御装置3は、具体的に
は図2に示すように、ダウンローディングされてくるオ
ブジェクトプログラムの入力処理を行なう入力部31
と、入力部31から入力されるオブジェクトプログラム
をプログラムメモリ32に記憶するに際し、このプログ
ラムメモリ32にオブジェクトプログラム毎の先頭アド
レスを自動的に割付けするプログラムメモリアドレス割
付け部33と、オブジェクトプログラムに含まれるパッ
ケージ毎のワークエリアをワークエリアメモリ34に記
憶するに際し、このワークエリアメモリ34にオブジェ
クトプログラム毎のワークエリアの先頭アドレスを自動
的に割付けするワークエリアメモリ割付け部35とから
構成している。
【0022】また、この制御装置3には、パッキング機
能が設けられている。具体的には、プログラムメモリ中
のオブジェクトプログラムから不使用になったプログラ
ムおよびワークエリアを削除するパッキング部36と、
パッキング後のオブジェクトプログラム毎の先頭アドレ
スをプログラムメモリ32に再割付けするプログラムメ
モリアドレス再割付け部37と、同じくパッキング後の
オブジェクトプログラム毎のワークエリアの先頭アドレ
スをワークエリアメモリ34に再割付けするワークエリ
ア再割付け部38とから構成している。
【0023】さらに、制御装置3には、プログラムを実
行するためのオブジェクトプログラム先頭アドレス、ワ
ークエリア先頭アドレス、タスクサイズ、ワークエリア
サイズを登録して管理する管理テーブルメモリ39と、
管理テーブルメモリ39に対して、それらの必要な情報
を記憶させるための管理テーブル作成部40と、プログ
ラム実行・管理を司るタスクスケジューラ41と、タス
クスケジューラ41によって取り出されたワークエリア
先頭アドレスがセットされるワークエリアアドレスレジ
スタ42,…とを設けている。次に、以上のように構成
した本実施例のプログラム作成装置およびその制御装置
の作用について説明する。
【0024】いま、プログラマによって入力装置1から
制御タスクプログラムが入力されると、プログラム作成
部2では、その入力された制御タスクプログラムをコン
パイル部21にてコンパイルした後、ダウンローディン
グ部23に送り、ここでコンパイルされたタスクオブジ
ェクトプログラムの他、そのタスクオブジェクトプログ
ラムサイズ情報、およびタスクで使用するワークエリア
サイズ情報等を、制御装置3にダウンローディングす
る。
【0025】しかし、上記コンパイル部21では、図3
および図4にそれぞれ示すようなコンパイル処理を実行
する。まず、図3は制御タスクオブジェクトのコンパイ
ル処理を示す図である。図3において、制御タスクプロ
グラムで使用するワークエリアサイズWs(ti)を初
期化、つまり零にクリアした後(ST1)、タスク終了
命令があったか否かを判断し(ST2)、タスク終了命
令があればコンパイル処理を終了し、タスク終了命令が
なければパッケージのコール命令をセットする(ST
3)。しかる後に、コールするパッケージがワークエリ
アを使用するパッケージであるか否かを判断し(ST
4)、ワークエリアを使用するパッケージであればタス
ク使用ワークエリアサイズWs(ti)に該当パッケー
ジで使用するワークエリアサイズWs(pi)を加算す
る(ST5)。そして、以上の処理は、タスクエンド命
令に至るまでST3に戻って繰り返し行なわれる。な
お、制御タスクコンパイル終了時のワークエリアサイズ
に保存された値が、制御タスクで使用する総ワークエリ
アサイズとなる。
【0026】次に、図4はコンパイル部21におけるパ
ッケージオブジェクトのコンパイル処理を示す図であ
る。図4において、パッケージ本来の機能処理部をコン
パイルし(ST11)、そのコンパイルされたパッケー
ジがワークエリアを使用するパッケージであるか否かを
判断する(ST12)。ここで、ワークエリアを使用す
るパッケージであるならば、パッケージ最終部分におい
て、ワークエリアアドレスレジスタRxに、該パッケー
ジで使用するワークエリアサイズを加算する処理を付加
する(ST13)。
【0027】一方、制御装置3では、プログラムメモリ
アドレス割付け部33、ワークエリア割付け部35によ
り、タスクサイズ、ワークエリアサイズを基準にしてプ
ログラムメモリ32、ワークエリアメモリ34の空きエ
リアに自動割付けをし、管理テーブル作成部40によ
り、管理テーブルメモリ39にタスク先頭アドレスT
a、ワークエリア先頭アドレスWa、タスクサイズT
s、ワークエリアサイズWsを登録し、同時にプログラ
ムメモリ32のタスク先頭アドレスTaからタスクオブ
ジェクトプログラムを格納していく。
【0028】そして、この制御タスクプログラムの起動
タイミングとなった場合、タスクの実行管理を司るタス
クスケジューラ41は、管理テーブルメモリ39からワ
ークエリア先頭アドレスWaを取り出し、ワークエリア
アドレスレジスタ42,…にセットし、この制御タスク
プログラムを起動して制御対象4を制御する。
【0029】次に、図5は制御タスクプログラムメモリ
32を用いて制御タスクプログラムを構成するパッケー
ジを呼び出す場合の処理系統図である。すなわち、図5
に示すように、タスクオブジェクトプログラム5は、パ
ッケーバS10,S20,S25,S31をそれぞれ呼
び出す「パッケージ呼び出し処理」とEND命令とによ
って構成されている。この各々のパッケージのワークエ
リアサイズは、例えば、パッケージS10が6バイト、
S20が0バイト、S25が2バイト、S31が4バイ
トであるとすると、この制御タスクのワークエリアサイ
ズWsは全体で12バイトである。
【0030】なお、図5では、タスクオブジェクト5と
パッケージオブジェクト6とは、別エリアに登録されて
いるように示しているが、実際には同一のプログラムメ
モリ32上に、タスクオブジェクトとパッケージオブジ
ェクトとが混在した形で格納されているものである。
【0031】タスクスケジューラ41により起動された
制御タスクプログラムは、まず「パッケージS10呼び
出し処理」を実行する。すなわち、「パッケージS10
呼び出し処理」でコールされたパッケージオブジェクト
6のパッケージS10は、その機能処理中でワークエリ
アアドレスレジスタで指定され、ワークエリアアドレス
(Wa)から6バイト分のワークエリアのデータの読み
出し/書き込みを行ない、パッケージS10の処理が終
了したならば、ワークエリアアドレスレジスタRxに自
己パッケージで使用するワークエリアサイズを加算して
(Wa+6)番地をRxを保存し、制御タスクプログラ
ムのパッケージコール命令の次番地にリターンする。
【0032】次は、「パッケージS20の呼び出し処
理」であるが、このパッケージはワークエリアを使用し
ないので、コールされたパッケージS20本来の機能処
理のみを実行する。
【0033】次の「パッケージS25の処理」と「パッ
ケージS31の処理」とは、上記の「パッケージS10
処理」と同様に、それぞれのパッケージ本来の機能処理
を終了後、ワークエリアアドレスレジスタRxに自己パ
ッケージで使用するワークエリアサイズを加算し、次の
パッケージで使用するワークエリア先頭アドレスとし
て、それぞれ(Wa+8)、(Wa+12)を与える。
このパッケージ処理の連続により、制御タスクプログラ
ムが実行される。なお、タスクの先頭から最後まで、ワ
ークエリアアドレスレジスタRxは破壊されてはならな
い。
【0034】これら一連の処理の系列機能分担は、大別
すると図6に示すように、人間系8と、プログラム作成
装置系9と、制御装置系10との3種類があり、以下、
系別にその処理機能について説明する。
【0035】まず、人間系8では、制御装置3内のワー
クエリア先頭アドレスおよびサイズを指定する。このサ
イズは、タスク単位ではなく制御装置一括単位であるの
で、このサイズをオーバしない限り、制御タスクプログ
ラム単位でのワークエリアサイズは無制限に使用可能で
ある。
【0036】引き続いて、制御タスクプログラム構成要
素であるパッケージを作成する。ここで、ワークエリア
を使用するパッケージならば、コンパイルデータとして
必要なので、固定ワークエリアサイズ使用のパッケージ
ならば、パッケージのワークエリア使用サイズを登録す
る。また、可変ワークエリアサイズ使用のパッケージな
らば、ワークエリアサイズ指定の入力端子番号を登録す
る。ただし、標準パッケージだけで制御タスクの作成が
可能なシステムの場合には、パッケージの作成の必要は
ない。最後に、制御タスクプログラムの作成を行なう。
この時、制御タスクプログラムを構成するパッケージの
パラメータとして、ワークエリアアドレスを指定する必
要はない。
【0037】次に、プログラム作成装置系9では、上記
人間系8において制御タスク作成の完了後にコンパイル
を実行することにより行なう。この時、前述の図3およ
び図4に示すような処理に基づいて、制御タスクコンパ
イル時には、制御タスクのワークエリア総使用サイズが
計算される。また、パッケージのコンパイル時には、ワ
ークエリアを使用するパッケージの最終部には、ワーク
エリアアドレス加算処理が付加される。
【0038】このコンパイルが完了した後、制御装置系
10に対して制御タスクプログラムのダウンローディン
グを行なう。この時のダウンローディング項目は、タス
クサイズ、ワークエリアサイズ、タスクオブジェクトで
ある。
【0039】次に、制御装置系10では、ダウンローデ
ィングデータを受信すると、図2に示したように、プロ
グラムメモリ32とワークエリアメモリ34とに、プロ
グラムパッケージの先頭アドレス、ワークエリア先頭ア
ドレスの自動割り付けを行ない、制御タスクプログラム
を実行する。
【0040】ダウンローディング処理や制御タスクプロ
グラムの削除処理を繰り返すうちに、パッキング処理が
必要になった場合には、制御タスク実行の合間にパッキ
ング部36によりパッキング処理を行ない、削除されて
いない制御タスクのプログラムメモリとワークエリアメ
モリとの内容を前詰めにパッキングし、新しいタスク先
頭アドレスとワークエリア先頭アドレスとを、それぞれ
プログラムメモリアドレス再割付けをし、それらのアド
レス情報を管理テーブル作成部40により、管理テーブ
ルメモリ39に登録する。
【0041】以上のようにして、制御装置3のダウンロ
ーディング時、パッキング時において、常にタスクのワ
ークエリア先頭アドレスを自動割付けし、タスク・サブ
ルーチンを管理する管理テーブルにそれらのアドレス情
報を保存し、タスクスケジューラ41が制御タスクを起
動する毎に、管理テーブルよりタスクに割付けられたワ
ークエリア先頭アドレスを取出し、ワークエリアアドレ
スレジスタRxにセットして、制御タスクプログラムを
実行する。
【0042】そして、制御タスクプログラム(オブジェ
クトプログラム)は、プログラムロジックの順番にした
がってパッケージをコールする。ここで、コールされた
パッケージが、パッケージ本来の処理の中でワークエリ
アを使用するものであれば、ワークエリアアドレスレド
スタRxにより指定されたワークエリア先頭アドレスか
ら、自己パッケージで使用するワークエリアサイズ分の
エリアのデータの読み出し/書き込みを実行し、パッケ
ージ最終部でワークエリアアドレスレジスタRxに、自
己パッケージ使用ワークエリアサイズを加算することに
より、次のパッケージで使用するワークエリアの先頭ア
ドレスを与える。
【0043】上述したように、本実施例では、制御装置
3におけるワークエリア先頭アドレスおよびサイズを指
定する機能、固定ワークエリアサイズ使用のパッケージ
ならばパッケージのワークエリア使用サイズを登録し、
可変ワークエリアサイズ使用のパッケージならばワーク
エリアサイズ指定の入力端子番号を登録することによ
り、制御タスク構成要素であるパッケージを作成する機
能、この作成されたパッケージを基に制御タスクプログ
ラムを作成する機能を備え、プログラマの操作に基づい
て制御タスクプログラムを入力する入力装置1と、入力
装置1から入力された制御タスクプログラムをコンパイ
ルするコンパイル部21、コンパイル部21のコンパイ
ル時、ワークエリアを使用するパッケージの最終部に、
ワークエリアアドレス加算処理を付加するワークエリア
アドレス加算処理付加部22、コンパイル部21によっ
てコンパイルされた結果、パッケージ最終部にワークエ
リアアドレス加算処理が付加されたオブジェクトプログ
ラムに、そのオブジェクトプログラムのサイズおよびオ
ブジェクトプログラムで使用するワークエリアサイズを
含めてダウンローディングするダウンローディング部2
3を備えたプログラム作成部2とからプログラム作成装
置を構成し、さらにプログラム作成装置からダウンロー
ディングされてくるオブジェクトプログラムの入力処理
を行なう入力部31と、入力部31から入力されるオブ
ジェクトプログラムを記憶するプログラムメモリ32
と、オブジェクトプログラムに含まれるパッケージ毎の
ワークエリアを記憶するワークエリアメモリ34と、オ
ブジェクトプログラムをプログラムメモリの所定のアド
レスに割り付けて記憶させるプログラムメモリ割付け部
33と、オブジェクトプログラムに含まれる各パッケー
ジのワークエリアサイズに応じて、ワークエリアメモリ
34にパッケー毎のワークエリアを割り付けるワークエ
リアメモリ割付け部35と、プログラムメモリ32に記
憶されているオブジェクトプログラムの実行管理を司る
タスクスケジューラ41とから制御装置3を構成するよ
うにしたものである。
【0044】従って、制御タスクプログラミング時のパ
ッケージのワークエリアアドレス指定の負担がなくな
り、加えてワークエリアもパッキング対象となるため
に、プログラムメモリだけでなく、ワークエリアのメモ
リをも有効に活用することができ、プログラム作成・変
更に柔軟に対応することが可能となる。より具体的に
は、次のような種々の効果を奏することができるもので
ある。
【0045】(a)プログラム作成部2においては、制
御タスクプログラムのコンパイル時にタスクで使用する
総ワークエリアサイズを演算し、パッケージのコンパイ
ル時に、パッケージ最終部にワークエリアアドレス加算
処理を付加し、制御装置3にダウンローディングする際
には、タスクサイズとワークエリアサイズとをタスクオ
ブジェクトと共にダウンローディングするようにしてい
るので、制御装置3において制御タスク毎のワークエリ
アをワークエリアメモリ上に自動割付けすることが可能
となる。
【0046】(b)制御装置3においては、プログラム
作成部2によって作成されたダウンローディングされて
きた制御タスクに対し、そのダウンローディング時にプ
ログラムメモリ、ワークエリアメモリの空きエリアへの
自動割付けを行なうことができ、プログラマがプログラ
ム作成時に予めワークエリアを設定する必要がなく、ひ
いては設定ミスを撲滅できると共に、メモリの有効活用
を図ることができ、さらにプログラマの負担を著しく軽
減させて、エンジニアリングコストを低減化することが
可能となる。
【0047】
【発明の効果】以上発明したように本発明によれば、制
御装置におけるワークエリア先頭アドレスおよびサイズ
を指定し、固定ワークエリアサイズ使用のパッケージな
らばパッケージのワークエリア使用サイズを登録し、可
変ワークエリアサイズ使用のパッケージならばワークエ
リアサイズ指定の入力端子番号を登録することにより、
制御タスク構成要素であるパッケージを作成し、この作
成されたパッケージを基に制御タスクプログラムを作成
し、制御タスクプログラムのコンパイル時にタスクで使
用する総ワークエリアサイズを演算し、パッケージのコ
ンパイル時に、パッケージ最終部にワークエリアアドレ
ス加算処理を付加し、制御装置にダウンローディングす
る際には、タスクサイズとワークエリアサイズとをタス
クオブジェクトと共にダウンローディングし、またプロ
グラム作成装置によって作成されたダウンローディング
されてきた制御タスクプログラムに対し、そのダウンロ
ーディング時にプログラムメモリ、制御装置単位でのワ
ークエリアメモリの空きエリアへの自動割付けを行なう
ようにしたので、エンジニアリングコストの削減、ワー
クエリアアドレスの設定ミスに起因するトラブルの撲
滅、メモリの有効活用、プログラム作成/変更に柔軟に
対処することが可能な極めて信頼性の高いプログラム作
成装置およびその制御装置が提供できる。
【図面の簡単な説明】
【図1】本発明によるプログラム作成装置の一実施例を
示すブロック図。
【図2】本発明による制御装置の一実施例を示すブロッ
ク図。
【図3】同実施例におけるプログラム作成装置の制御タ
スクのコンパイル動作を説明するためのフロー図。
【図4】同実施例におけるプログラム作成装置のパッケ
ージのコンパイル動作を説明するためのフロー図。
【図5】同実施例における制御装置のプログラム実行動
作を説明するための図。
【図6】プログラム作成装置と制御装置とを統合した系
別処理機能分担の一例を示す説明図。
【符号の説明】
1…入力装置、2…プログラム作成装置、3…制御装
置、4…制御対象、5…タスクオブジェクト、6…パッ
ケージオブジェクト、21…コンパイル部、22…ワー
クエリアアドレス加算処理付加部、23…ダウンローデ
ィング部、31…入力部、32…プログラムメモリ、3
3…プログラムメモリアドレス割付け部、34…ワーク
エリアメモリ、35…ワークエリアメモリ割付け部、3
6…パッキング部、37…プログラムメモリアドレス再
割付け部、38…ワークエリアメモリ再割付け部、39
…管理テーブルメモリ、40…管理テーブル作成部、4
1…タスクスケジューラ、42…ワークエリアアドレス
レジスタ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 制御装置におけるワークエリア先頭アド
    レスおよびサイズを指定する機能、固定ワークエリアサ
    イズ使用のパッケージならばパッケージのワークエリア
    使用サイズを登録し、可変ワークエリアサイズ使用のパ
    ッケージならばワークエリアサイズ指定の入力端子番号
    を登録することにより、制御タスク構成要素であるパッ
    ケージを作成する機能、前記作成されたパッケージを基
    に制御タスクプログラムを作成する機能を備え、プログ
    ラマの操作に基づいて制御タスクプログラムを入力する
    入力装置と、 前記入力装置から入力された制御タスクプログラムをコ
    ンパイルするコンパイル部と、 前記コンパイル部のコンパイル時、ワークエリアを使用
    するパッケージの最終部に、ワークエリアアドレス加算
    処理を付加するワークエリアアドレス加算処理付加部
    と、 前記コンパイル部によってコンパイルされた結果、パッ
    ケージ最終部にワークエリアアドレス加算処理が付加さ
    れたオブジェクトプログラムに、そのオブジェクトプロ
    グラムのサイズおよびオブジェクトプログラムで使用す
    るワークエリアサイズを含めてダウンローディングする
    ダウンローディング部と、 を備えて成ることを特徴とするプログラム作成装置。
  2. 【請求項2】 前記請求項1に記載のプログラム作成装
    置からダウンローディングされたオブジェクトプログラ
    ムを記憶するプログラムメモリと、 前記オブジェクトプログラムに含まれるパッケージ毎の
    ワークエリアを記憶するワークエリアメモリと、 前記オブジェクトプログラムを前記プログラムメモリの
    所定のアドレスに割り付けて記憶させるプログラムメモ
    リ割付け部と、 前記オブジェクトプログラムに含まれる各パッケージの
    ワークエリアサイズに応じて、前記ワークエリアメモリ
    にパッケー毎のワークエリアを割り付けるワークエリア
    メモリ割付け部と、 前記プログラムメモリに記憶されているオブジェクトプ
    ログラムの実行管理を司るタスクスケジューラと、 を備えて成ることを特徴とする制御装置。
  3. 【請求項3】 前記請求項2に記載の制御装置におい
    て、前記プログラメモリ中のオブジェクトプログラムか
    ら不使用になったプログラムおよびワークエリアを削除
    するパッキング部と、前記パッキング部によるプログラ
    ムのパッキング時に、前記プログラムメモリおよびワー
    クエリアメモリにそれぞれプログラム毎のワークエリア
    を再割付けするメモリ再割付け手段とを付加して成るこ
    とを特徴とする制御装置。
JP3168098A 1991-07-09 1991-07-09 プログラム作成装置およびその制御装置 Pending JPH0520043A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3168098A JPH0520043A (ja) 1991-07-09 1991-07-09 プログラム作成装置およびその制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3168098A JPH0520043A (ja) 1991-07-09 1991-07-09 プログラム作成装置およびその制御装置

Publications (1)

Publication Number Publication Date
JPH0520043A true JPH0520043A (ja) 1993-01-29

Family

ID=15861805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3168098A Pending JPH0520043A (ja) 1991-07-09 1991-07-09 プログラム作成装置およびその制御装置

Country Status (1)

Country Link
JP (1) JPH0520043A (ja)

Similar Documents

Publication Publication Date Title
JP4836419B2 (ja) 産業オートメーション用のcilコード・プログラムのオンライン修正
JPH03257644A (ja) 主メモリ管理方法
JPH0926889A (ja) 仮想計算機システム
JPH0520043A (ja) プログラム作成装置およびその制御装置
US6275985B1 (en) Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support
JP2902746B2 (ja) 仮想計算機制御方式
JPH03231333A (ja) プログラム作成装置および制御装置
CN112988279A (zh) 一种对象处理方法、装置、电子设备及存储介质
JP3691986B2 (ja) プログラマブルコントローラ
JPH06259238A (ja) プログラム作成装置およびその制御装置
JPH02263241A (ja) プログラム作成装置および制御装置
JPH02194439A (ja) プログラム実行方式
JPH09146772A (ja) 手続き呼出し方法
JPS59103119A (ja) デ−タ処理システムにおける時刻管理方法
KR950005242B1 (ko) 범용 운영체제에서의 칠(chill) 병렬 처리를 위한 공유변수 처리 방법
JPS5937033A (ja) スケジユ−リング装置
JPH11259308A (ja) プログラマブルコントローラ
JPH06250923A (ja) スワップ領域制御方法
JPH01217536A (ja) 異種言語混在形プログラム処理コントローラ
JPS635790B2 (ja)
JPH04107640A (ja) 計算機システム
JP3019330B2 (ja) コンパイル装置
JPS6220007A (ja) 数値制御装置の命令追加方式
JPS63316234A (ja) コンパイル処理方式
JPS63163636A (ja) 並列処理実行方式