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

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

Info

Publication number
JPH06259238A
JPH06259238A JP4500993A JP4500993A JPH06259238A JP H06259238 A JPH06259238 A JP H06259238A JP 4500993 A JP4500993 A JP 4500993A JP 4500993 A JP4500993 A JP 4500993A JP H06259238 A JPH06259238 A JP H06259238A
Authority
JP
Japan
Prior art keywords
program
work area
memory
package
task
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
JP4500993A
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 JP4500993A priority Critical patent/JPH06259238A/ja
Publication of JPH06259238A publication Critical patent/JPH06259238A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 この発明は、制御タスク毎のワークエリアを
ワークエリアメモリ上に自動割付け可能とすることにあ
る。 【構成】 ワークエリア先頭アドレス、サイズを指定
し、制御タスクの構成要素であるパッケージを作成する
一方、このパッケージに基づいて制御タスクプログラム
を作成する入力装置1と、この入力装置の制御タスクプ
ログラムをコンパイルするコンパイル部201と、この
コンパイル時、制御タスクプログラム中のワークエリア
使用パッケージをコールするときにワークエリア相対ア
ドレス情報を設定するアドレス設定部202と、前記コ
ンパイルされたワークエリア相対アドレスが付加された
制御タスクオブジェックトプログラムに、オブジェック
トプログラムのサイズ、ワークエリアサイズ等を含めて
ダウンローディングするダウンローディング部203と
を設けたプログラム作成装置である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、鉄鋼,紙パルプ,化
学,食品プラントなどの一般産業設備、上下水道設備、
廃棄物処理設備、ビル設備などの制御システムに利用さ
れるプログラム作成装置およびその制御装置に係わり、
特にメモリの有効活用およびプログラム作成・変更に柔
軟性をもたせる技術を設けたプログラム作成装置および
その制御装置に関する。
【0002】
【従来の技術】一般に、コンピュータ技術におけるワー
クエリアは、演算値のようなテンポラリデータの保存に
使用されるレジスタ的な使用と、時々刻々変化する時系
列データの演算・参照のためのデータの保存に使用され
る時系列的な変化データの使用,つまり2種類の形態の
使用が可能なメモリエリアである。
【0003】近年、このようなワークエリアを有効に活
用しつつプロセスの制御を行うためのプログラム制御装
置が広く利用されるようになってきている。このプログ
ラム制御装置は、プロセス制御に適するプログラミング
言語を用いてプログラムデータを作成するもので、例え
ばシーケンス制御用にはラダーダイヤグラムやSFC
(Sequential Function Chart )、計装ループ制御用に
は計装ブロックなどの,いわゆるPOL言語が用いられ
ている。
【0004】これらPOL言語は、制御に必要な最小単
位の機能をパッケージ化したものであって、このパッケ
ージはおおむね制御タスクの作成時には標準パッケージ
としてすでに用意されている。しかし、この標準パッケ
ージだけでは、目的とするシステム制御の制御タスクを
作成することが難しい。そこで、制御タスクを作成する
前に要求仕様を満足するようなパッケージを新たに作成
する必要がある。この制御タスクの作成は、用意された
パッケージに対象プロセス制御に適したパラメータを設
定し、これを積み上げることによって実現していく。
【0005】ところが、従来のワークエリア管理方式
は、制御タスク作成時、ワークエリアを必要とするパッ
ケージには、パッケージで使用するワークエリアサイズ
の他、制御タスクのプログラマーが人為的に1パラメー
タ分固定的にワークエリアアドレスを割り付けるように
している。
【0006】このワークエリアアドレスの人為的な割付
けは、制御タスク中のワークエリアを必要とするパッケ
ージのワークエリアアドレス設定パラメータの端子にパ
ッケージで使用するワークエリアアドレスを逐一記述し
なければならないので、プログラム設計から保守に至る
までのエンジニアリングコストを増大させる問題がある
こと。
【0007】また、使用ワークエリア領域の割当てやそ
の割当て変更等の保守は、人間系で行うことから不完全
であり、しかもワークエリアの重複使用や記述ミスとい
った誤りも犯し易く、解析の困難なトラブルも発生す
る。
【0008】さらに、ワークエリアの固定アドレス割付
けは、タスク単位での使用可能なワークエリアサイズが
固定であるという制限にも関連しており、タスク単位で
のワークエリアサイズの制限は制御タスク作成時にパッ
ケージの組合わせによりワークエリアが不足してくる場
合もあり、本来の制御タスクのプログラミングの妨げと
なる問題がある。
【0009】加えて、最近のプログラム制御装置は、プ
ログラムメモリの有効活用を図る観点から、プログラム
ダウンローディング時のプログラムメモリの自動割付け
処理や不要となった制御タスクを削除したり、制御タス
クの入れ替え処理を行う,いわゆるパッキング処理(不
使用の制御タスクプログラムのメモリに後続の制御タス
クプログラムを前詰めに移動させることにより、メモリ
の不使用領域と使用領域との混在をなくす処理)を行う
装置もあるが、パッケージのワークエリアを固定アドレ
ス割付けとする場合には、制御タスクのダウンローディ
ング後の削除時などに特にワークエリア領域が混在し、
プログラムメモリの有効活用の思想に合致しなくなる問
題がある。
【0010】
【発明が解決しようとする課題】従って、以上のような
従来のプログラム制御装置は、制御タスクのワークエリ
アアドレスとして固定アドレスを人為的に割り付けてい
るために、重複割付けや記述ミスにより解析困難なトラ
ブルが生じたり、ワークエリア不足が生じるために効率
的な制御タスクプログラミングが妨げられたり、さらに
ワークエリアの不使用領域と使用領域とが混在すること
によりプログラムメモリの有効活用が図れなくなるとい
った問題がある。
【0011】この発明は上記実情に鑑みてなされたもの
で、制御装置単位でのプログラムワークエリアアドレス
の自動割付けを行うことにより、エンジニアリングコス
トの削減、ワークエリアアドレスの設定ミスに起因する
トラブルの撲滅、メモリの有効利用、プログラムの作成
および変更に柔軟に対応可能とするプログラム作成装置
およびその制御装置を提供することを目的とする。
【0012】
【課題を解決するための手段】上記課題を解決するため
に、請求項1に対応する発明は、ワークエリア先頭アド
レス、タスクサイズおよびワークエリアサイズを指定す
るとともに、この指定されたワークエリア先頭アドレス
およびワークエリアサイズから制御タスクの構成要素で
あるパッケージを作成する一方、この作成されたパッケ
ージに基づいて制御タスクプログラムを作成し入力処理
を行う入力装置と、この入力装置から入力された制御タ
スクプログラムをコンパイルしてオブジェックトプログ
ラムに変換するコンパイル部と、このコンパイル部によ
るコンパイル時、前記制御タスクプログラム中のワーク
エリア使用パッケージをコールするためのワークエリア
相対アドレス情報を設定するワークエリア相対アドレス
設定部と、前記コンパイル部によってコンパイルされて
得られたワークエリア相対アドレス情報の付加されたオ
ブジェックトプログラムに、当該オブジェックトプログ
ラムのサイズおよびオブジェックトプログラムで使用す
るワークエリアサイズ等を含めてダウンローディングす
るダウンローディング部とを設けたプログラム作成装置
である。
【0013】請求項2に対応する発明は、請求項1記載
のプログラム作成装置の構成要素に新たに、当該プログ
ラム作成装置からダウンローディングされたオブジェッ
クトプログラムを記憶するプログラムメモリと、オブジ
ェックトプログラムに含まれるパッケージ毎のワークエ
リアを記憶するワークエリアメモリと、前記オブジェッ
クトプログラムを前記プログラムメモリの所定のアドレ
スに割り付けて記憶させるプログラムメモリ割付け部
と、前記オブジェックトプログラムに含まれる各パッケ
ージの前記ワークエリアサイズに応じて前記ワークエリ
アメモリにタスク毎のワークエリアを割り付けるワーク
エリアメモリ割付け部と、前記プログラムメモリに記憶
されているオブジェックトプログラムの実行管理を司る
タスクスケジューラとを設けたプログラム制御装置であ
る。
【0014】請求項3に対応する発明は、請求項2に記
載のプログラム制御装置の構成要素に、さらに前記プロ
グラムメモリ中のオブジェックトプログラムから不使用
になったプログラムおよびワークエリアを削除するパッ
キング部と、このパッキング部によるプログラムのパッ
キング時に、前記プログラムメモリおよびワークエリア
メモリにそれぞれプログラム毎のワークエリアを再割付
けするメモリ再割付け手段とを設けたプログラム制御装
置である。
【0015】
【作用】従って、請求項1に対応する発明は以上のよう
な手段を講じたことにより、制御タスクが多数のパッケ
ージで構成されているが、これらのパッケージを可変的
に利用するために、入力装置ではオペレータがワークエ
リア先頭アドレスおよびサイズを指定することにより、
パッケージ構成を自動的に作成し、そのパッケージに基
づいて制御タスクプログラムを作成し入力する。ここ
で、得られた制御タスクプログラムはコンパイル部でコ
ンパイル処理を行ってオブジェクトプログラムを作成す
るが、このコンパイル時にワークエリア相対アドレス設
定部が制御タスクプログラム中のワークエリア使用パッ
ケージをコールする前処理機能としてワークエリア相対
アドレス情報を設定する。
【0016】そして、以上のようにコンパイルされた
後、ダウンローディング部では、パッケージに与えるた
めのワークエリア相対アドレス情報を含むオブジェクト
プログラムおよびオブジェックトプログラムのサイズお
よびワークエリアサイズ等を制御装置側にダウンローデ
ィングする。これによって、制御装置側においてオブジ
ェクトプログラム毎にそのワークエリアメモリ上に所定
の大きさのワークエリアを自動的に割付けさせるもので
ある。
【0017】次に、請求項2に対応する発明は、プログ
ラム作成装置からダウンローディングされてきた制御タ
スクオブジェクトプログラムをプログラムメモリに記憶
させるものであるが、その時にプログラムメモリ割付け
部がオブジェクトプログラムを所定のアドレスに自動的
に割り付けて記憶させていく。また、ダウンローディン
グされてきた制御タスクオブジェクトプログラム中で使
用するワークエリアサイズについてはワークエリアメモ
リ割付け部がそのサイズに応じてワークエリアメモリに
タスク毎のワークエリアを自動的に割り付けしていく。
こうしてダウンローディングされたオブジェクトプログ
ラムはタスクスケジューラにより起動され、プログラム
制御の実行を行うことになる。
【0018】さらに、請求項3に対応する発明は、パッ
キング部によりプログラムメモリ中の制御タスクオブジ
ェクトから不使用になったプログラムおよびワークエリ
アを削除し、同時にプログラムメモリ再割付け部によっ
て各オブジェクトプログラムをプログラムメモリ上の所
定のアドレスに再割付けして記憶させ、またワークエリ
ア再割付け部によりオブジェクトプログラム毎にそのワ
ークエリアをワークエリアメモリ上に再割付けし、タス
クスケジューラのプログラムの実行に供する。
【0019】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0020】図1は請求項1に係わるプログラム作成装
置の一実施例を示すブロック構成図であり、図2は請求
項2,3に係わるプログラム制御装置の一実施例を示す
ブロック構成図である。
【0021】図1に示すプログラム作成装置は、制御タ
スクプログラムを作成して入力する入力装置1と、プロ
グラム作成装置本体2とからなり、このプログラム作成
装置本体2で作成されたプログラムおよびその関連情報
は請求項2,3に係わるプログラム制御装置3にダウン
ローディングされる構成となっている。
【0022】この入力装置1は、プログラマーが制御タ
スクプログラムを作成するために種々の情報を入力する
部分であって、具体的にはワークエリア先頭アドレス、
タスクサイズおよびワークエリアサイズを指定するとと
もに、この指定されたワークエリア先頭アドレスおよび
ワークエリアサイズから制御タスクの構成要素であるパ
ッケージを作成する一方、この作成されたパッケージに
基づいて制御タスクプログラムを作成して前記プログラ
ム作成装置本体2に入力する機能をもっている。
【0023】このプログラム作成装置本体2は、入力装
置1から入力された制御タスクプログラムをコンパイル
してオブジェクトプログラムを作成するコンパイル部2
01と、このコンパイル部201においてコンパイルさ
れたオブジェクトプログラムによってコールされる種々
のパッケージのうち、ワークエリアを必要とするパッケ
ージに対して制御タスクオブジェクトプログラムのパッ
ケージコール部分の前処理部にワークエリアの大きさに
応じた相対アドレスを設定するワークエリア相対アドレ
ス設定部202と、前記コンパイル部201にてコンパ
イルされたワークエリア相対アドレス情報を含む制御タ
スクオブジェクトプログラムの他、制御タスクオブジェ
クトプログラムのサイズ情報およびオブジェクトプログ
ラムで使用するワークエリアサイズ情報とともに、制御
装置3にダウンローディングするダウンローディング部
203とによって構成されている。
【0024】次に、プログラム制御装置3は、図2に示
すようにプログラム作成装置本体2からダウンローディ
ングされるオブジェクトプログラム等の入力処理を行う
入力部301と、この入力部301によって入力された
情報のうち、オブジェクトプログラムを記憶するプログ
ラムメモリ302と、オブジェクトプログラムに含まれ
るパッケージ毎のワークエリアサイズ情報を記憶するワ
ークエリアメモリ303と、前記プログラムメモリ30
2にオブジェクトプログラム毎の先頭アドレスを自動的
に割り付けるプログラムメモリアドレス割付け部304
と、前記ワークエリアメモリ303にオブジェクトプロ
グラム毎の先頭アドレスを自動的に割り付けるワークエ
リアメモリ割付け部305とが設けられている。
【0025】なお、プログラムメモリ302およびワー
クエリアメモリ303は図3のような構成を有してい
る。つまり、プログラムメモリ302は、制御タスクオ
ブジェプログラム5およびパッケージオブジェクトプロ
グラム6とからなっている。
【0026】また、このプログラム制御装置3にはパッ
キング機能が設けられている。このパッキング機能は、
プログラムメモリ302中のオブジェクトプログラムか
ら不使用になったオブジェックトプログラムやワークエ
リアを削除するパッキング部306と、パッキング後の
オブジェックトプログラム毎の先頭アドレスを再割付け
するプログラムメモリアドレス再割付け部307と、ワ
ークエリアの再割付けのためのワークエリア再割付け部
308とによって構成されている。
【0027】さらに、前記プログラム制御装置3は、プ
ログラムの実行のためのオブジェックトプログラム先頭
アドレス、ワークエリア先頭アドレス、タスクサイズ、
ワークエリアサイズ等を登録する管理テーブルメモリ3
09の他、この管理テーブルメモリ309に対してそれ
らの必要情報を記憶させるための管理テーブル作成部3
10、プログラム実行・管理を司るタスクスケジューラ
311、このタスクスケジューラ311によってワーク
エリア先頭アドレスを取り出してセットされるワークエ
リアアドレスレジスタ312とが設けられている。次
に、以上のように構成されたプログラム作成装置および
プログラム制御装置の動作について説明する。
【0028】先ず、プログラマーは、入力装置1を用い
てワークエリア先頭アドレスやサイズ情報等を入力しな
がら制御タスクの構成要素であるパッケージを作成し、
その作成されたパッケージに基づいて制御タスクプログ
ラムを作成してプログラム作成装置本体2に入力する
と、この装置本体2ではコンパイル部201が制御タス
クプログラムをコンパイルしてオブジェクトプログラム
に変換するが、このコンパイル時にワークエリア相対ア
ドレス設定部202では、コンパイルされるオブジェク
トプログラムからコールされる種々のパッケージのう
ち、ワークエリアを必要とするパッケージに対して制御
タスクオブジェクトプログラムのパッケージコール部分
の前処理にワークエリアの大きさに応じた相対アドレス
を設定する。しかる後、ダウンローディング部203に
おいては、コンパイル部201にてコンパイルされたワ
ークエリア相対アドレス情報が付加された制御タスクオ
ブジェクトプログラムに、制御タスクオブジェクトプロ
グラムのサイズ情報およびオブジェクトプログラムで使
用するワークエリアサイズ情報を含めてプログラム制御
装置3にダウンローディングする。
【0029】図4および図5はコンパイル部201にお
ける制御タスクオブジェックトおよびパッケージオブジ
ェックトのコンパイル処理を示している。先ず、タスク
内使用ワークエリアの相対アドレスを初期化し(ST
1)、タスクエンドに至るまでワークエリアとして使用
するパッケージをサーチし(ST2,ST3)、ワーク
エリアを使用するパッケージに対しては、パッケージを
コールする前に使用するワークエリア相対アドレスをス
タックにプッシュするステートメントを付加し(ST
4)、ワークエリア相対アドレス設定部202において
タスク内使用ワークエリア相対アドレスを指定すること
により、パッケージのワークエリアサイズを単純加算し
ていく(ST5)。
【0030】ところで、ステップST3においてワーク
エリアを使用しないパッケージに対してはそのパッケー
ジのコール命令だけをセットして次のパッケージに移行
する(ST6)。以上の動作処理はタスクエンド命令に
至るまで繰り返し行われる。
【0031】また、プログラム作成装置本体2のコンパ
イル処理部201によるパッケージのコンパイル処理
は、図5に示すようにそのパッケージがワークエリアを
使用しているかどうかを判断し(ST11)、ワークエ
リアを使用しているパッケージに対してはパッケージの
先頭にスタックからの使用ワークエリアアドレスをポッ
プするステートメントを付加する(ST12)。
【0032】プログラム制御装置3では、プログラムメ
モリアドレス割付け部304、ワークエリア割付け部3
05により、タスクサイズ,ワークエリアサイズを基準
にしてプログラムメモリ302、ワークエリアメモリ3
03空きエリアに自動割り付けし、さらに管理テーブル
作成部310により管理テーブルメモリ311にタスク
先頭アドレスTa,ワークエリア先頭アドレスWa、タ
スクサイズTs、ワークエリアサイズWRAを登録し、
同時にプログラムメモリ302のタスク先頭アドレスT
aからタスクオブジェックトプログラムを格納してい
く。
【0033】そして、このタスクの起動タイミングとな
ったとき、タスクの実行管理を司るタスクスケジューラ
311が管理テーブルメモリ309からワークエリア先
頭アドレスWaを取り出し、ワークエリアアドレスレジ
スタRXにセットし、このタスクを起動する。
【0034】制御タスクプログラムのロジックは、制御
タスクを構成するパッケージを呼び出す処理の集合体で
あり、図3に示すような構成となっている。つまり、タ
スクオブジェクトプログラム5は、パッケージS10,
S20,S25,S31をそれぞれ呼び出す「パッケー
ジ呼び出す処理」およびEND命令によって構成されて
いる。この各々のパッケージのワークエリアサイズは、
パッケージの入力端子にワークエリアサイズがセットさ
れているので、例えばパッケージS10に6バイト、S
20に0バイト、S25に2バイト、S31に4バイト
が指定されているとすると、この制御タスクのワークエ
リアサイズWRAは全体で12バイトとなる。
【0035】なお、図3では、タスクオブジェクトプロ
グラム5とパッケージオブジェクトプログラム6とが別
エリアの形で示されているが、実際には同一のプログラ
ムメモリ302上にタスクオブジェクトプログラムとパ
ッケージオブジェクトプログラムとが混在した形で格納
されているのである。
【0036】タスクスケジューラ311によって起動さ
れた制御タスクは、先ず「パッケージS10呼び出し処
理」を実行する。このパッケージS10は、ワークエリ
アを使用するパッケージなので、パッケージコール命令
の前にパッケージS10で使用するワークエリア先頭ア
ドレスを求め、スタックにプッシュする処理が付加され
ている。パッケージS10は制御タスクの1番目の処理
となるので、タスク内使用ワークエリア相対アドレスと
して0がセットされている。従って、この値をインデッ
クスレジスタRXの内容Waでインデックス修飾した値
(Wa=0+Wa)がパッケージのワークエリア先頭ア
ドレスとしてスタックにプッシュされ、パッケージS1
0がコールされる。なお、ここでタスクの先頭から最後
まで、ワークエリアアドレスレジスタRXは破壊されて
はならない。
【0037】パッケージS10は、処理の先頭でスタッ
クからパッケージS10のワークエリア先頭アドレスW
aをポップし、パッケージS10の処理が終了したなら
ば、制御タスクのパッケージコール命令の次番地にリタ
ーンする。
【0038】引き続き、「パッケージS20の呼び出し
処理」を行うが、このパッケージはワークエリアを使用
しないので、ワークエリア関連処理は付加されておら
ず、ここではワークエリア先頭アドレスをポップする処
理は付加されない。
【0039】さらに、「パッケージS25呼び出し処
理」および「パッケージS31呼び出し処理」は、前記
「パッケージS10呼び出す処理」と同様にそれぞれの
パッケージをコールするに際し、パッケージワークエリ
ア先頭アドレスとしてそれぞれ(Wa+6)、(Wa+
8)番地をスタックにプッシュして該当するパッケージ
をコールし制御タスクが実行される。
【0040】図6は、以上のような一連の処理を系別に
機能分担した例であって、人間系8、プログラム作成装
置本体系9、プログラム制御装置系10の3種類があ
り、以下、系別にその処理機能を説明する。
【0041】先ず、人間系8では、制御装置3内のワー
クエリア先頭アドレスおよびサイズを指定する。このサ
イズはタスク単位ではなく制御装置一括単位なので、こ
のサイズをオーバしない限り制御タスク単位でのワーク
エリアサイズは無制限に使用可能である。
【0042】続いて、制御タスクの構成要素であるパッ
ケージを作成する。ここで、ワークエリアを使用するパ
ッケージならば、パッケージのパラメータ入力端子とし
て、ワークエリアサイズに応じた端子を確保する。但
し、標準パッケージだけでは制御タスクの作成が可能な
システムの場合には、パッケージの作成の必要はない。
【0043】最後に、制御タスクの作成を行う。この
時、制御タスクを構成するパッケージのうち、ワークエ
リアとして使用するパッケージについてはそのパッケー
ジのワークエリアサイズ指定入力端子にワークエリアサ
イズを指定する。
【0044】人間系8における制御タスクプログラムの
作成が完了したならば、プログラム作成装置本体系9で
コンパイルを実行する。このとき、前述の図4および図
5に示す処理に基づき、制御タスクプログラムのコンパ
イル時には制御タスクプログラムのワークエリア使用パ
ッケージをコールする個所にワークエリア相対アドレス
情報が設定される。また、ワークエリアを使用するパッ
ケージの先頭にはスタックからワークエリア先頭アドレ
スを取り出す処理が付加される。
【0045】コンパイルが完了した場合、制御装置系1
0に対して制御タスクのオブジェクトプログラムのダウ
ンローディングを行う。この時のダウンローディング項
目は、制御タスクオブジェクトプログラム、タスクサイ
ズおよびワークエリアサイズ等である。つまり、この制
御装置系10では、ダウンローディングデータを受信す
ると、図3に示すようにプログラムメモリ302とワー
クエリアメモリ303とにプログラムパッケージの先頭
アドレス、ワークエリア先頭アドレスの自動アドレスの
自動割付けを行い、制御タスクプログラムを実行する。
【0046】一方、ダウンローディング処理や制御タス
クのオブジェクトプログラムの削除処理を繰り返すうち
にパッキング処理が必要になったとき、制御タスク実行
の合間にパッキング部306によりパッキング処理を行
い、削除されていない制御タスクのプログラムメモリ3
02とワーキングエリアメモリ303との内容を前詰め
によりパッキングし、新しいタスク先頭アドレスとワー
クエリア先頭アドレスとをそれぞれプログラムメモリア
ドレス再割付け部307とワークエリア再割付け部30
8とにより再割付けし、それらのアドレス情報を管理テ
ーブル作成部310により管理テーブルメモリ311に
登録する。
【0047】このようにして制御装置へのダウンローデ
ィング時およびパッキング時において、常にタスクのワ
ークエリア先頭アドレスを自動割付けし、タスクを管理
する管理テーブルにそれらのアドレス情報を保存し、タ
スクスケジューラ311が制御タスクを起動するごとに
管理テーブル作成部310からタスクに割り付けられた
ワークエリア先頭アドレスを取り出し、ワークエリアア
ドレスレジスタRXにセットし、制御タスクプログラム
を実行する。
【0048】そして、制御タスク(オブジェクトプログ
ラム)は、ワークエリア使用のパッケージをコールする
前にコンパイル部201により設定されたタスク内使用
ワークエリア相対アドレスに上記のワークエリアアドレ
スレジスタの値をインデックス修飾した値、すなわちコ
ールするパッケージのワークエリア先頭アドレスをスタ
ックにプッシュする。
【0049】コールされたパッケージは、処理の先頭
で、このパッケージで使用できるワークエリア先頭アド
レスをスタックからポップし、パッケージ内での以降の
処理に用いる。これにより、本実施例に係わるプログラ
ム作成装置およびプログラム制御装置では、制御タスク
プログラムミング時のパッケージのワークエリアアドレ
ス指定の負担がなくなり、加えてワークエリアもパッキ
ング対象となるためにプログラムメモリだけでなく、ワ
ークエリアのメモリをも有効に活用でき、プログラム作
成・変更に柔軟に対応できるものである。
【0050】
【発明の効果】以上説明したように本発明によれば、次
のような種々の効果を奏する。
【0051】請求項1の発明によれば、制御タスクのコ
ンパイル時にワークエリアを使用するパッケージをコー
ルする個所にワークエリア相対アドレス情報を設定し、
プログラム制御装置にダウンローディングする際にはタ
スクサイズとワークエリアサイズとを制御タスクオブジ
ェクトプログラムと共にダウンローディングするように
しているので、プログラム制御装置において制御タスク
毎のワークエリアをワークエリアメモリ上に自動割付け
できるようになる。
【0052】請求項2の発明においては、プログラム作
成装置により作成されたダウンローディングされてきた
制御タスクに対して、そのダウンローディング時にプロ
グラムメモリ、ワークエリアメモリの空きエリアヘの自
動割付けができ、プログラマーがプログラム作成時に予
めワークエリアアドレスを設定する必要がなく、設定ミ
スを撲滅することができ、プログラマーの負担を軽減す
ることができ、エンジニアリングコストを低減できる。
【0053】次に、請求項3の発明においては、不使用
になったプログラムおよびワークエリアを削除し、各プ
ログラムについてプログラムメモリ上の所定のアドレス
に再割付けし、またプログラム毎にそのワークエリアを
ワークエリアメモリ上に再割付けするので、メモリの有
効活用が図れ、またプログラマーの負担を軽減すること
ができる。
【図面の簡単な説明】
【図1】請求項1に係わるプログラム作成装置の一実施
例を示すブロック図。
【図2】請求項2,3に係わるプログラム制御装置の一
実施例を示すブロック図。
【図3】図2に示す制御装置のプログラム実行動作を説
明する図。
【図4】プログラム作成装置の制御タスクのコンパイル
動作処理を説明するフローチャート。
【図5】プログラム作成装置のパッケージのコンパイル
動作処理を説明するフローチャート。
【図6】プログラム作成装置およびプログラム制御装置
とを統合した系別処理機能の分担を示す説明図。
【符号の説明】
1…入力装置、2…プログラム作成装置本体、3…プロ
グラム制御装置、5…制御タスクオブジェクトプログラ
ム、6…パッケージオブジェクト、201…コンパイル
部、202…ワークエリア相対アドレス設定部、203
…ダウンローディング部、301…入力部、302…プ
ログラムメモリ、303…ワークエリアメモリ、304
…プログラムメモリアドレス割付け部、305…ワーク
エリアメモリ割付け部、306…パッキング部、307
…プログラムメモリアドレス再割付け部、308…ワー
クエリアメモリ再割付け部、309…管理テーブルメモ
リ、310…管理テーブル作成部、311…タスクスケ
ジューラ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ワークエリア先頭アドレス、タスクサイ
    ズおよびワークエリアサイズを指定するとともに、この
    指定されたワークエリア先頭アドレスおよびワークエリ
    アサイズから制御タスクの構成要素であるパッケージを
    作成する一方、この作成されたパッケージに基づいて制
    御タスクプログラムを作成し入力処理を行う入力装置
    と、 この入力装置から入力された制御タスクプログラムをコ
    ンパイルして制御タスクオブジェックトプログラムに変
    換するコンパイル部と、 このコンパイル部によるコンパイル時、前記制御タスク
    プログラム中のワークエリア使用パッケージをコールす
    るときにワークエリア相対アドレス情報を設定するワー
    クエリア相対アドレス設定部と、 前記コンパイル部によってコンパイルされたワークエリ
    ア相対アドレス情報が付加された前記制御タスクオブジ
    ェックトプログラムに、この制御タスクオブジェックト
    プログラムのサイズおよび当該制御タスクオブジェック
    トプログラムで使用するワークエリアサイズ等を含めて
    ダウンローディングするダウンローディング部とを備え
    たことを特徴とするプログラム作成装置。
  2. 【請求項2】 請求項1記載のプログラム作成装置にお
    いて、当該プログラム作成装置からダウンローディング
    されたオブジェックトプログラムを記憶するプログラム
    メモリと、オブジェックトプログラムに含まれるパッケ
    ージ毎のワークエリアを記憶するワークエリアメモリ
    と、前記オブジェックトプログラムを前記プログラムメ
    モリの所定のアドレスに割り付けて記憶させるプログラ
    ムメモリ割付け部と、前記オブジェックトプログラムに
    含まれる各パッケージの前記ワークエリアサイズに応じ
    て前記ワークエリアメモリにタスク毎のワークエリアを
    割り付けるワークエリアメモリ割付け部と、前記プログ
    ラムメモリに記憶されているオブジェックトプログラム
    の実行管理を司るタスクスケジューラとを付加してなる
    ことを特徴とするプログラム制御装置。
  3. 【請求項3】 請求項2に記載のプログラム制御装置に
    おいて、前記プログラムメモリ中のオブジェックトプロ
    グラムから不使用になったプログラムおよびワークエリ
    アを削除するパッキング部と、このパッキング部による
    プログラムのパッキング時に、前記プログラムメモリお
    よびワークエリアメモリにそれぞれプログラム毎のワー
    クエリアを再割付けするメモリ再割付け手段とを付加し
    てなることを特徴とするプログラム制御装置。
JP4500993A 1993-03-05 1993-03-05 プログラム作成装置およびその制御装置 Pending JPH06259238A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4500993A JPH06259238A (ja) 1993-03-05 1993-03-05 プログラム作成装置およびその制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4500993A JPH06259238A (ja) 1993-03-05 1993-03-05 プログラム作成装置およびその制御装置

Publications (1)

Publication Number Publication Date
JPH06259238A true JPH06259238A (ja) 1994-09-16

Family

ID=12707372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4500993A Pending JPH06259238A (ja) 1993-03-05 1993-03-05 プログラム作成装置およびその制御装置

Country Status (1)

Country Link
JP (1) JPH06259238A (ja)

Similar Documents

Publication Publication Date Title
JP3508775B2 (ja) 一つのプログラムの中でまたは1つのプロセッサ環境に於て、夫々のオブジェクトコードタイプが異なる複数のプログラムセグメントを実行するための装置
JP4836419B2 (ja) 産業オートメーション用のcilコード・プログラムのオンライン修正
JPH0644085A (ja) アクセスを実行する方法及び装置並びにコンピュータシステム
CN114047953A (zh) 流水线配置方法、装置、计算机设备及存储介质
JPH06259238A (ja) プログラム作成装置およびその制御装置
US6275985B1 (en) Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support
US10310870B2 (en) Method for creating a revised application by adding code functionality to an existing application executable
JPH01118931A (ja) プログラム変換方式
JPH03231333A (ja) プログラム作成装置および制御装置
JPH0520043A (ja) プログラム作成装置およびその制御装置
JPH02263241A (ja) プログラム作成装置および制御装置
KR100303307B1 (ko) 실시간 오퍼레이팅 시스템에서 디버깅동작을 위한 다운로드장치 및 방법
JPH10320201A (ja) コンピュータシステムおよび情報処理方法ならびに記録媒体
JPH0559456B2 (ja)
JPS63156255A (ja) インタプリタにおけるオ−バレイ方法
JPS5937033A (ja) スケジユ−リング装置
JP2852402B2 (ja) プログラム開発装置
CN118276869A (zh) 一种基于webpack插件的无源码定制化开发实现方法
JPS59103119A (ja) デ−タ処理システムにおける時刻管理方法
JPH08272757A (ja) マルチプロセッサシステム及びプログラム起動方法
JPH03240831A (ja) 割り込み処理方式
JPH07319711A (ja) 情報処理システム
JPH02166534A (ja) ファイルアクセス処理装置
JPH0997182A (ja) プログラム変換装置およびデバッグ装置
JPH0831036B2 (ja) プログラム上位互換保証方式