JP3703624B2 - Programmable controller - Google Patents
Programmable controller Download PDFInfo
- Publication number
- JP3703624B2 JP3703624B2 JP13012398A JP13012398A JP3703624B2 JP 3703624 B2 JP3703624 B2 JP 3703624B2 JP 13012398 A JP13012398 A JP 13012398A JP 13012398 A JP13012398 A JP 13012398A JP 3703624 B2 JP3703624 B2 JP 3703624B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory
- allocation
- unit
- temporary memory
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は鉄鋼・化学等のプラントに於いて、プラント内の機器を制御するS/W(ソフトウエア、以下同じ)を搭載するプログラマブル・コントローラ、特にそのテンポラリメモリの割付に関するものである。
【0002】
【従来の技術】
図8、図9、図10、図11は、例えば特開昭62―11903に示された従来のプログラマブルコントローラの構成及びテンポラリメモリの割付方法を示す図である。図8において、101はプログラマブルコントローラに搭載されたS/Wを実行するCPU、102は対象機器を制御するための複数のS/Wを格納するプログラムメモリである。103は、S/Wを実行する際に参照する数値データ等の情報を格納するテンポラリメモリで例えばRAM等で構成される。104はS/Wやデータを入力するための入力操作部、105及び106は、それぞれ、制御対象機器からの情報を入力する入力信号I/F部、および制御対象機器への制御信号を出力するための出力信号I/F部である。また、107は各部を接続するバスである。
図9乃至図11はテンポラリメモリ103の使用形態の例を示す。110および111はコントローラに搭載された複数のS/Wが各々参照するデータを格納したテンポラリエリアであり、110はS/W1が使用するテンポラリメモリエリア、111はS/W2が使用するテンポラリメモリエリアである。112はテンポラリメモリ103内でどのS/Wも使用していない空領域であり、S/Wが追加されたり、既存S/Wが増加して新たなテンポラリメモリが必要となった場合に、この空領域を使用する。
【0003】
次に上記プログラマブルコントローラにおけるテンポラリメモリの割付に関する動作について説明する。S/W1が使用するテンポラリメモリエリア110の使用エリアが増加し、図10(A)の斜線部分113まで拡張する必要がある場合、S/W1が使用するテンポラリメモリエリア110と、S/W2が使用するテンポラリメモリエリア111との間で領域の重複が生じることになる。そこで図10(B)に示すように、テンポラリメモリエリア111の先頭位置をテンポラリメモリエリア110の最終位置の直後まで移動し、同時にテンポラリメモリ111に格納されていた情報を新たに再配置されたテンポラリメモリエリア111に移動させる。S/W1が使用するテンポラリメモリエリア110の使用エリアが減った場合は、テンポラリメモリエリア110は少なくて済むので、圧縮されたテンポラリメモリ110の最終位置の直後にテンポラリメモリエリア111の先頭位置を再移動し、同時にテンポラリメモリエリア111に格納されていた情報を再配置されたテンポラリメモリエリア111に移動させる。これによりメモリエリアが有効に使用され、また格納されていた情報も保護されることになる。
【0004】
【発明が解決しようとする課題】
従来のプログラマブルコントローラでは以上のように構成されていたので、S/Wが使用するテンポラリメモリ量の増減によって使用するテンポラリメモリエリアが変更された場合に、テンポラリメモリを有効に活用でき、更に格納されているデータの保護も行う事が出来ていた。しかし、プログラマブルコントローラに搭載されるS/Wは実行速度を高速にする必要があるため、メモリアクセスを容易に出来るよう、S/W内に直接テンポラリメモリのアドレスを記述することがー般的に行われている。このため、上記のようにテンポラリメモリエリアにおけるテンポラリメモリの先頭位置を移動させる従来方式の場合には、対応してS/W内のテンポラリメモリアドレス記述部分を全て書き換えなければならない。この書き換え作業は膨大になるとともに、修正ミス等が発生する可能性が高い。また、S/W内に記述されているテンポラリメモリアドレスを、再設定されたテンポラリメモリエリアに合致するように自動変換することも考えられるが、この場合プログラムの内容が変更されることになり、S/Wの動作確認を再度行う必要が生じる。またS/Wのメインテナンス用に作成されるドキュメント等にはテンポラリメモリのアドレスが記載されているため、これらのドキュメントも再作成しなければならない、といった問題があった。
【0005】
この発明は、上記のような課題を解決するためになされたものであり、新たにテンポラリメモリエリアの拡大または圧縮が必要になった場合に、テンポラリメモリエリアの既配置状態を変更せずに対応できるようにしたプログラマブルコントローラを提供する事を目的とする。
【0006】
【課題を解決するための手段】
この発明におけるプログラマブルコントローラは、制御項目に対応して用意された複数のソフトウエア及びこのソフトウエア毎に使用するメモリエリアが割付けられたテンポラリメモリ部を有するプログラマブルコントローラにおいて、テンポラリメモリ部は、ソフトウエア毎に割付けられ、実使用されている実使用エリア及び実使用されていない余裕エリアを有する割付エリアと、ソフトウエア毎に割付けられていない空きエリアとにより構成され、割付エリア内の実使用エリアのメモリ数を算出するメモリ数算出部、テンポラリメモリ部内の各ソフトウエア毎の割付エリアの割付情報を記憶するメモリ使用状況情報記憶部、及びソフトウエアに追加のメモリエリアが必要な場合に、メモリ数算出部及びメモリ使用状況情報記憶部の情報に基づいて、追加が必要なメモリ数に応じてテンポラリメモリ部の空きエリアにソフトウエアに対する追加割付けを行うメモリ割付部を備え、メモリ割付部は、追加が必要なメモリ数がソフトウエアの割付エリア内の余裕エリアより大きい場合に、ソフトウエアの割付エリアに追加して、空きエリアに追加が必要なメモリ数より大きいソフトウエアの新たな割付エリアを割付けるものである。
【0007】
また、制御項目に対応して用意された複数のソフトウエア及びこのソフトウエア毎に使用するメモリエリアが割付けられたテンポラリメモリ部を有するプログラマブルコントローラにおいて、テンポラリメモリ部は、ソフトウエア毎に割付けられ、実使用されている実使用エリア及び実使用されていない余裕エリアを有する割付エリアと、ソフトウエア毎に割付けられていない空きエリアとにより構成され、割付エリア内の実使用エリアのメモリ数を算出するメモリ数算出部、テンポラリメモリ部内の各ソフトウエア毎の割付エリアの割付情報を記憶するメモリ使用状況情報記憶部、及びソフトウエアに追加のメモリエリアが必要な場合に、メモリ数算出部及びメモリ使用状況情報記憶部の情報に基づいて、追加が必要なメモリ数に応じてテンポラリメモリ部の空きエリアにソフトウエアに対する追加割付けを行うメモリ割付部を備え、メモリ割付部は、追加が必要なメモリ数がソフトウエアの割付エリア内の余裕エリアより大きい場合に、ソフトウエアの割付エリアに追加して、空きエリアに追加が必要なメモリ数から余裕エリアを減算した残りより大きいソフトウエアの新たな割付エリアを割付けるものである。
【0008】
また、割付エリアに割付けられるメモリ数を指定するテンポラリメモリ指定部を備えたものである。
【0009】
さらに、メモリ割付部によって追加割付けされる新たな割付エリアの先頭アドレスを決定する割付先頭アドレス決定部を備えたものである。
【0010】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図に基づいて説明する。図1は、この発明の実施の形態1によるプログラマブルコントローラの構成を示す図である。図1において、1は、プログラマブルコントローラに搭載されるS/Wが使用するテンポラリメモリ部、2は、プログラマブルコントローラに搭載されるS/W群、3は、前記各S/Wが実使用するテンポラリメモリ部1のメモリ数(割付エリア内の実使用エリアのメモリ数)を算出するメモリ数算出部、4は、前記各S/W用のテンポラリメモリの割付状態を管理する割付状態管理部、5は、割付状態管理部4によって生成されるメモリ数割付状態に係る情報を記憶するメモリ使用状況情報記憶部、6は、メモリ数算出部3とメモリ使用状況情報記憶部5から、既に割付が行われているテンポラリメモリの割付エリア内の余裕エリアに、新たに追加することとなったテンポラリメモリの割付が可能か否かを判定する割付判定部、7は、テンポラリメモリ部1内の空エリアに対し、新たに割付が必要になったテンポラリメモリ(新たな割付エリア)の割付の先頭アドレスを指定する先頭アドレス指定部、8は、先頭アドレスを設定する先頭アドレス入力部、9は、先頭アドレスの指定に基づきテンポラリメモリ部1にテンポラリメモリの割付を行うメモリ割付部である。
【0011】
次に動作について説明する。
プログラマブルコントローラに搭載されるS/W群2は、テンポラリメモリ部1に情報を格納し、またテンポラリメモリ部1から情報を取得しながら必要な各種の処理を行う。また、各S/Wを作成する際には、他のS/Wと区別するためのS/W識別子と、S/W内に存在する各命令が出力するデータを他の命令が入力データとして使用するための命令間のデータの授受の流れを表す出力元命令及び入力先命令の関連情報とを同時に定義するようにしている。
【0012】
メモリ数算出部3は、この出力元命令及び入力先命令の関連情報から、各入出力命令のペア毎にテンポラリメモリを1つ割付けるものとし、必要なテンポラリメモリの数を算出する。これが、各S/Wが使用するテンポラリメモリの実使用メモリ数となる。ただし、ある命令が出力するデータを、複数の命令が入力データとして使用する場合には、割付けられたテンポラリメモリを、複数の入力命令が使用することになるため、その分のテンポラリメモリ数は実使用数から減算される。さらに、将来S/Wが改修され必要テンポラリメモリ数が増加することを想定し、余裕分を加算して必要テンポラリメモリ数とする。メモリ数算出部3にて算出された必要テンポラリメモリ数は、前記S/W識別子と共にメモリ割付部9に送られる。
【0013】
メモリ割付部9は、送られて来た前記S/W識別子と必要テンポラリメモリ数に係る情報に基づいて、テンポラリメモリ部1内にそのS/W用のテンポラリメモリエリアを割付ける。この時、メモリ割付部9は、メモリ使用状況情報記憶部5により、そのS/W用に割付けられているテンポラリメモリエリア内に、追加のテンポラリメモリを割り付けるメモリエリアが存在するか否かをチェックする。必要なテンポラリメモリエリアが存在していなければ、テンポラリメモリ部1内の空エリアに新たに割付ける。そして、割付状態管理部4に対し、当該S/Wの識別子、新たに割付けたテンポラリメモリ部1内の先頭アドレス、必要テンポラリメモリ数に基づく割付範囲及び実使用メモリ数の情報を告知する。割付状態管理部4は、メモリ割付部9から告知された情報に基づき、前記S/W識別子とともに割付先頭アドレス、割付エリア及び実使用メモリ数をメモリ使用状況情報記憶部5に格納する。
【0014】
ここで、テンポラリメモリを割り付けるメモリエリアが存在するか否かのチェックは以下のように行われる。メモリ使用状況情報記憶部5に蓄積されている情報より、S/W用に割付けられているテンポラリメモリエリアが存在することが判明した場合は、メモリ割付部9は割付判定部6に対しS/W識別子と新たに算出された実使用メモリ数の情報を告知する。割付判定部6は、告知されたS/W識別子をもとに、メモリ使用状況情報記憶部5内に既に格納されているS/W用テンポラリメモリエリア及び実使用メモリ数の情報を取得し、S/W用テンポラリメモリエリアから実使用メモリ数を減算して、余裕分として割付けられたテンポラリメモリ数を算出する。メモリ使用状況情報記憶部5から取得した実使用メモリ数と、通知された新たな実使用メモリ数の情報とを比較し、実使用メモリ数が増加しておればその増分を算出する。算出した余裕分のテンポラリメモリ数及び増分から、増加した実使用テンポラリメモリ数が余裕分のテンポラリメモリエリアに割付可能か否かを判定し、割付可能であればメモリ割付部9に対し割付可能であることを告知する。メモリ割付部9は、割付状態管理部4に対しメモリ使用状況情報記憶部5の実使用メモリ数の情報の更新を指示する。割付状態管理部4はメモリ使用状況情報記憶部5内の該当S/W用の実使用数を更新する。
【0015】
テンポラリメモリエリアのメモリ数の確保が困難である場合には、メモリ割付部9に対し割付が不可能であることを告知するとともに、先頭アドレス指定部7に対しても、テンポラリメモリエリアの割付が出来ないS/W識別子と割付できない実使用メモリ数に係る情報およびテンポラリメモリ部1内に新たな該当S/W用テンポラリメモリエリアを確保する必要がある旨の告知を行う。先頭アドレス指定部7は作業者に対し、テンポラリメモリエリアが不足しているS/Wと、不足数、テンポラリメモリ部1内の空エリア情報等を提供し、そのS/W用に新たに割付けるテンポラリメモリエリアの先頭アドレス及び割付数の指定を促す。
【0016】
作業者は、先頭アドレス入力部8を使用して、そのS/W用に新たに割付けるテンポラリエリアの先頭アドレス及び割付数を指定する。指定内容に基づいてテンポラリメモリエリアを割付けた際、指定された先頭アドレスとテンポラリメモリの割付数及びテンポラリメモリ部1内の空エリア情報から、他のS/W用テンポラリメモリエリアと重複が発生しないかをチェックし、重複する場合には、指定内容を変更するように作業者に対し告知する。重複が発生しない場合、割付判定部6は作業者の指定内容をメモリ割付部9に返し、メモリ割付部9はテンポラリメモリ部1内に該当S/W用テンポラリメモリエリアを新たに割付ける。この時、メモリ割付部9は新たに割付けられたテンポラリメモリ部1内のテンポラリメモリエリアに関する先頭アドレスと割付数および実使用数を、割付状態管理部4に対し通知し、割付状態管理部4は、テンポラリメモリ部1の割付状態をメモリ使用状況情報記憶部5に格納する。
【0017】
次に、上記テンポラリメモリ部1に対し、新たにテンポラリメモリエリアを追加した場合のテンポラリメモリ部1の割付状態の変化を図5および図6により説明する。13はテンポラリメモリ、14はS/W1用に割付けられたS/W1用テンポラリメモリ割付エリア、15はS/W1がS/W1用テンポラリメモリ割付エリア14においてテンポラリメモリを実使用している実使用エリア、16はS/W1用テンポラリメモリ割付エリア14内でのメモリの余裕エリア、17はS/W2用に割付けられたS/W2用テンポラリメモリ割付エリア、18はS/W2がS/W2用テンポラリメモリ割付エリア17においてテンポラリメモリを実使用している実使用エリア、19はどのS/Wにも割付けられていないテンポラリメモリ13 の空エリア、20はS/W1の修正等でS/W1が新たに必要とするテンポラリメモリのテンポラリメモリ数を表す。また、図6において、21はS/W1用として新たに追加が必要となったテンポラリメモリ数20をテンポラリメモリ13の空エリア19に割付けた追加テンポラリメモリ割付エリア、22は前記S/W1用の追加テンポラリメモリ割付エリア21内で実使用されている追加テンポラリメモリの実使用エリアを示す。
【0018】
図5の様に、S/W1の修正等でS/W1が必要とするテンポラリメモリ数が増加した場合、新たに必要となったテンポラリメモリ数20はS/W1用テンポラリメモリ割付エリア14内での余裕エリア16より小さいため、S/W1用テンポラリメモリ割付エリア14を拡張することなく新たに必要となったテンポラリメモリ数20をS/W1用テンポラリメモリ割付エリア14内に確保することが出来る。新たに必要となったテンポラリメモリ数20が、S/W1用テンポラリメモリ割付エリア14内での余裕エリア16より大きい場合には、S/W1用テンポラリメモリ割付エリア14を拡張しなければ、新たに必要となったテンポラリメモリ数20をS/W1用テンポラリメモリ割付エリア14に確保できない。この場合は、図6に示すように、新たに必要となったテンポラリメモリ数20全体を空きエリア13に割付けるようにする。具体的には、追加のS/W1用テンポラリメモリ割付エリア21を、テンポラリメモリ13内の空エリア19内に生成し、これに追加のS/W1用テンポラリメモリを割付ける。これによって、S/W2用テンポラリメモリ割付エリア17を移行させることなく、新たに必要となったテンポラリメモリ数20をテンポラリメモリ13内に確保することが可能となる。また、実施例ではテンポラリメモリについての割付方法を述べたが、この割付方法はプログラマブルコントローラ内の他のメモリの割付方法にも転用可能である。
【0019】
以上のように、実施の形態1.では新たに割付が必要となったテンポラリメモリ数を全てテンポラリメモリ内の空エリアに割付けるようにしたので、既に割付が行われているテンポラリメモリエリアを移動させることなくテンポラリメモリの増加に対応できる。
【0020】
実施の形態2.
実施の形態2は、実施の形態1における、テンポラリメモリ部1の使用効率が悪いという問題の改善策に関するものである。実施の形態1では新たに割付が必要となったテンポラリメモリ数20を全て一体でテンポラリメモリ内の空エリアに割付けるようにしたので、割付が簡単に行える利点があるが、一方テンポラリメモリ部1内の各S/W用割付エリア内に使用されていない空エリアが散在することになり、テンポラリメモリ部1の使用効率が悪いという問題がある。実施の形態2では、該当S/W用のテンポラリメモリの実使用メモリ数が増加した場合に、既に存在する該当S/W用割付エリア内の余裕エリアに割付できる分はそこに割付け、一つの余裕エリアでは割付出来ない分についてはテンポラリメモリ内の空エリア13に分けて割付けるようにしたものである。
これによって、テンポラリメモリ部1の使用効率を高めることが出来る。
【0021】
次に、実施の形態2について図2に基づいて説明する。図2において、図1と同一符号は同一または相当部を示す。10は、実施の形態1における割付判定部6を拡張した割付不可メモリ数算出部である。
【0022】
割付不可メモリ数算出部10はメモリ割付部9から告知されたS/W識別子をもとに、メモリ使用状況情報記憶部5内に既に格納されている該当S/W用テンポラリメモリエリア及び実使用メモリ数の情報を取得し、該当S/W用テンポラリメモリエリアに余裕分として割付けたテンポラリメモリ数を算出する。
メモリ使用状況情報記憶部5から取得した実使用メモリ数と通知された新たな実使用メモリ数の情報とを比較し、実使用メモリ数が増加していればその増分を算出する。余裕分のテンポラリメモリ数が存在する場合には増加した実使用テンポラリメモリの内、割付可能分を余裕分テンポラリメモリに割付け、割付不可の増加分のテンポラリメモリを先頭アドレス指定部7に告知する。
先頭アドレス指定部7は、割付不可メモリ数算出部10から告知された割付不可増分数と、テンポラリメモリの割付が出来ないS/W識別子の情報と、テンポラリメモリ内に新たな該当S/W用テンポラリメモリを確保する必要がある旨の告知を作業者に行う。作業者は不足増分のみのテンポラリメモリ数をテンポラリメモリ部1に割付ける先頭アドレスを指示する。この指示を受けて、既割付エリア内で割付できなかった分は空エリアに割付けられ、結果的にテンポラリメモリを効率的に使用できる。
【0023】
次に、上記テンポラリメモリ部1に対し、新たにテンポラリメモリエリアを追加した場合のテンポラリメモリ部1の割付状態の変化を図7に基づいて説明する。
図7において、図5,図6と同一符号のものは同一または相当部を示す。
増加必要テンポラリメモリ数20はS/W1用テンポラリメモリ割付エリア14の余裕エリア16に収まりきれないので、一部を余裕エリア16に割付し、残りを空きエリア19に追加テンポラリエリア21(新たな割付エリア)を設けここに割り付ける。22は追加テンポラリメモリエリア21の中での、実使用エリアである。
【0024】
実施の形態3.
実施の形態3はテンポラリメモリエリアを大きく確保し、S/Wの大幅な改造が将来行われる場合でも対応できるようにしたものである。
【0025】
以下図3に基づき、実施の形態3について説明する。図3は、実施の形態3の機能構成図である。図3において、図1、図2と同一符号のものは同一または相当機能のものである。11はテンポラリメモリ指定部である。
【0026】
実施の形態3では、実施の形態1のメモリ数算出部3と並列にテンポラリメモリ指定部11を設けた。テンポラリメモリ指定部11は、メモリ数算出部3が算出した必要テンポラリメモリ数を受け、作業者に知らせると共に、作業者からのテンポラリメモリエリアの増加指示により必要テンポラリメモリエリアを増加側へ変更する。これにより、メモリ数算出部3が算出した必要テンポラリメモリ数よりも大きなテンポラリメモリ数のエリアをテンポラリメモリ部1内に確保することが可能となる。なお、必要テンポラリメモリ数の増加を指示するテンポラリメモリ指定部11は、先頭アドレス入力部8と共有する事が出来る。
【0027】
S/Wによっては大幅な改造が行われる事があり、予め該当S/W用テンポラリメモリエリアを大きく確保する必要がある場合がある。実施の形態1では必要テンポラリメモリ数を算出し、不足分のみをテンポラリメモリ部1内に確保する構成となっているが、これでは大きなテンポラリメモリエリアを確保することが出来ない。実施の形態3はこの問題を解決するためのものであり、実施の形態1のメモリ数算出部3と並列にテンポラリメモリ指定部11を設け、メモリ数算出部3が算出した必要テンポラリメモリ数を受け、作業者に知らせると共に、作業者からの増加指示により必要テンポラリメモリ数を増加側へ変更する機能を持たせた。これにより、メモリ数算出部3が算出した必要テンポラリメモリ数よりも大きなテンポラリメモリ数のメモリエリアをテンポラリメモリ部1内に確保することが可能となり、該当S/W用テンポラリメモリエリアを大きく確保する必要がある場合に対応できる。
【0028】
実施の形態4.
以上の実施の形態では、いずれも各S/Wの必要テンポラリメモリが増えた場合、新たな割付エリアの先頭アドレス、割付数を作業者に指定させていたが、実施の形態4.では、さらに、必要テンポラリメモリの必要数が変わったときに、テンポラリメモリの不足数から割付エリアの先頭アドレス、割付数を計算して自動的にテンポラリメモリ部の空エリアに割付けるようにしたものである。
【0029】
以下図4に基づいて実施の形態4を説明する。図4は、実施の形態4の機能構成図である。図4において、図1、図2、図3に記載の符号と同一のものは同一または相当部を示す。12は割付先頭アドレス決定部である。
【0030】
実施の形態1では各S/Wの必要テンポラリメモリが増えた場合、新たな割付エリアの先頭アドレス、割付数を作業者に指定させていたが、実施の形態4では、これを必要テンポラリメモリの不足数から自動的に割付けるようにしたものである。図4に示すように、実施の形態1の割付先頭アドレス指定部7を拡張し、割付先頭アドレス決定部12とし、先頭アドレス入力部8を省いたものである。メモリ割付部9は割付判定部6から割付不可であることを告知された場合、割付先頭アドレス決定部12に対し、テンポラリメモリの割付が出来ないS/W識別子と、割付けできない実使用メモリ数を告知する。割付先頭アドレス決定部12はメモリ使用状況情報記憶部5の情報に基づき、割付けできない実使用メモリ数を割付けるための空エリアをテンポラリメモリ部1内に検出し、メモリ割付部9に対し、メモリ割付のための先頭アドレスを告知する。メモリ割付部9は、告知された先頭アドレスに基づきメモリエリアの割付を行う。これにより作業者の指示無しで新たなテンポラリメモリエリアを確保することが出来る。
【0031】
【発明の効果】
以上のように、この発明によれば、既に割付けられている各S/Wのテンポラリメモリエリアを変更することなく追加のテンポラリメモリのメモリエリアの確保が可能となるので、既割付エリア内の情報をコピーする必要が無く、容易に必要テンポラリメモリの割付を行う事が可能となる効果がある。
【0032】
また、各S/W用に割付けられているテンポラリメモリの空エリアを有効に使用するようにしたので、テンポラリメモリ内に不要な空エリアの発生を無くすことが出来る効果がある。
【0033】
また、作業者がテンポラリメモリの割付数を指定できるようにしたので、将来のS/W変更等を考慮して予め大きくエリア設定が可能となり、必要テンポラリメモリ数の増加によるテンポラリメモリ内の割付変更を最小限に抑えることが可能となる。またテンポラリメモリの割付部そのものを簡素化できる効果がある。
【0034】
さらに、操作者による割付エリアの指定作業をなくし、テンポラリメモリの新たな割付が必要になった場合に自動的に割付を行うようにしたので、テンポラリメモリの割付に要する作業効率が向上する効果がある。
【図面の簡単な説明】
【図1】 実施の形態1に係る機能構成図である。
【図2】 実施の形態2に係る機能構成図である。
【図3】 実施の形態3に係る機能構成図である。
【図4】 実施の形態4に係る機能構成図である。
【図5】 実施の形態1に係るテンポラリメモリへの追加割付方法の説明図である。
【図6】 実施の形態1に係るテンポラリメモリへの追加割付方法の説明図である。
【図7】 実施の形態2に係るテンポラリメモリへの追加割付方法の説明図である。
【図8】 一般的なプログラマブルコントローラの構成図である。
【図9】 従来のテンポラリメモリの割付方法を示す図である。
【図10】 従来のテンポラリメモリの追加割付方法を示す図である。
【図11】 従来のテンポラリメモリの追加圧縮方法を示す図である。
【符号の説明】
1 テンポラリメモリ部、2 S/W群、3 メモリ数算出部、
4 割付状態管理部、5 メモリ使用状況情報記憶部、6 割付判定部、
7 先頭アドレス指定部、8 先頭アドレス入力部、9 メモリ割付部、
10 割付不可メモリ数算出部、11 必要テンポラリメモリ指定部、
12 割付先頭アドレス決定部、 13 テンポラリメモリ、
14 S/W1用テンポラリメモリ割付エリア、
15 S/W1用テンポラリメモリの実使用エリア、
16 S/W1用テンポラリメモリの余裕エリア、
17 S/W2用テンポラリメモリ割付エリア、
18 S/W2用テンポラリメモリの実使用エリア、
19 空エリア、20 増加必要テンポラリメモリ数、
21 追加テンポラリメモリ割付エリア、
22 追加テンポラリメモリの実使用エリア、
101 CPU、102 プログラムメモリ、103 テンポラリメモリ、
104 入力操作部、105 入力信号I/F部、
105 出力信号I/F部、107 バス、
110 S/W1使用テンポラリエリア、
111 S/W2使用テンポラリエリア、
112 空エリア、113 拡張テンポラリエリア、
114 圧縮テンポラリエリア。[0001]
BACKGROUND OF THE INVENTION
This invention is an S / W for controlling equipment in a plant such as steel and chemicals. (Software, the same applies below) Is related to the allocation of the temporary memory.
[0002]
[Prior art]
8, FIG. 9, FIG. 10, and FIG. 11 are diagrams showing a conventional programmable controller configuration and a temporary memory allocation method disclosed in, for example, Japanese Patent Laid-Open No. Sho 62-11903. In FIG. 8, 101 is a CPU that executes S / W mounted on a programmable controller, and 102 is a program memory that stores a plurality of S / Ws for controlling the target device.
9 to 11 show examples of usage patterns of the
[0003]
Next, operations related to allocation of temporary memory in the programmable controller will be described. When the use area of the
[0004]
[Problems to be solved by the invention]
Since the conventional programmable controller is configured as described above, when the temporary memory area used is changed by increasing or decreasing the amount of temporary memory used by the S / W, the temporary memory can be used effectively and stored further. It was also possible to protect the data being stored. However, since the S / W mounted on the programmable controller needs to have a high execution speed, it is common to describe the address of the temporary memory directly in the S / W so that the memory can be easily accessed. Has been done. For this reason, in the case of the conventional method of moving the start position of the temporary memory in the temporary memory area as described above, the temporary memory address description part in the S / W must be rewritten correspondingly. This rewriting work is enormous, and there is a high possibility that correction mistakes will occur. In addition, it is conceivable that the temporary memory address described in the S / W is automatically converted so as to match the reset temporary memory area, but in this case, the contents of the program are changed, It is necessary to check the S / W operation again. Further, since the address of the temporary memory is described in the document or the like created for S / W maintenance, there is a problem that these documents must be recreated.
[0005]
The present invention has been made to solve the above-described problems. When a new expansion or compression of the temporary memory area is required, the existing arrangement state of the temporary memory area can be handled without changing. An object is to provide a programmable controller which can be used.
[0006]
[Means for Solving the Problems]
The programmable controller in this invention is In a programmable controller having a plurality of software prepared corresponding to the control items and a temporary memory part to which a memory area used for each software is assigned, the temporary memory part is assigned for each software and actually used. Number of memories for calculating the number of memory in the actual use area in the allocation area, which is composed of an allocated area that has a real use area and a spare area that is not actually used, and a free area that is not assigned for each software Calculation unit, memory usage information storage unit for storing allocation information of allocation areas for each software in the temporary memory unit, and memory number calculation unit and memory usage status information when an additional memory area is required for the software Based on the information in the storage unit, the temporary memory is added according to the number of memories that need to be added. A memory allocation unit that performs additional allocation to software is provided in an empty area of the memory unit, and the memory allocation unit is a software allocation area when the number of memories that need to be added is larger than the margin area in the software allocation area. Allocate a new software allocation area that is larger than the number of memories that need to be added to the free area. Is.
[0007]
Also, In a programmable controller having a plurality of software prepared corresponding to the control items and a temporary memory part to which a memory area used for each software is assigned, the temporary memory part is assigned for each software and actually used. Number of memories for calculating the number of memory in the actual use area in the allocation area, which is composed of an allocated area that has a real use area and a spare area that is not actually used, and a free area that is not assigned for each software Calculation unit, memory usage information storage unit for storing allocation information of allocation areas for each software in the temporary memory unit, and memory number calculation unit and memory usage status information when an additional memory area is required for the software Based on the information in the storage unit, the temporary memory is added according to the number of memories that need to be added. A memory allocation unit that performs additional allocation to software is provided in an empty area of the memory unit, and the memory allocation unit is a software allocation area when the number of memories that need to be added is larger than the margin area in the software allocation area. Allocate a new software allocation area that is larger than the remainder obtained by subtracting the spare area from the number of memory that needs to be added to the free area. Is.
[0008]
Also, Specify the number of memories allocated to the allocation area A temporary memory designating unit is provided.
[0009]
further, Determine the start address of the new allocation area to be additionally allocated by the memory allocation unit An allocation start address determination unit is provided.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
Embodiment 1 of the present invention will be described below with reference to the drawings. 1 is a diagram showing a configuration of a programmable controller according to a first embodiment of the present invention. In FIG. 1, 1 is a temporary memory unit used by an S / W mounted on a programmable controller, 2 is an S / W group mounted on the programmable controller, and 3 is a temporary memory actually used by each S / W. Number of memories in memory unit 1 (Number of memories in the actual use area in the allocation area) 4 is an allocation status management unit that manages the allocation status of each S / W temporary memory, and 5 is information relating to the memory count allocation status generated by the allocation status management unit 4. Is newly added from the memory
[0011]
Next, the operation will be described.
The S /
[0012]
The memory
[0013]
The
[0014]
Here, whether or not there is a memory area to which the temporary memory is allocated is checked as follows. If it is found from the information stored in the memory usage status
[0015]
When it is difficult to secure the number of memories in the temporary memory area, the
[0016]
The operator uses the head
[0017]
Next, changes in the allocation state of the temporary memory unit 1 when a temporary memory area is newly added to the temporary memory unit 1 will be described with reference to FIGS. 13 is a temporary memory, 14 is an S / W1 temporary memory allocation area allocated for S / W1, and 15 is an actual use in which the S / W1 actually uses temporary memory in the S / W1 temporary
[0018]
As shown in FIG. 5, when the number of temporary memories required by S / W1 increases due to S / W1 correction or the like, the newly required number of
[0019]
As described above, the first embodiment. Now, all the temporary memory numbers that need to be allocated are allocated to the empty area in the temporary memory, so it is possible to cope with the increase in temporary memory without moving the temporary memory area that has already been allocated. .
[0020]
The second embodiment relates to a measure for improving the problem that the use efficiency of the temporary memory unit 1 is poor in the first embodiment. In the first embodiment, the number of
Thereby, the usage efficiency of the temporary memory unit 1 can be increased.
[0021]
Next,
[0022]
Based on the S / W identifier notified from the
The number of actual used memories acquired from the memory usage status
The start address designating unit 7 includes an unallocated increment number notified from the unallocated memory
[0023]
Next, a change in the allocation state of the temporary memory unit 1 when a temporary memory area is newly added to the temporary memory unit 1 will be described with reference to FIG.
7, the same reference numerals as those in FIGS. 5 and 6 denote the same or corresponding parts.
Since the required additional
[0024]
The third embodiment secures a large temporary memory area so that it can cope with a case where a major remodeling of S / W is performed in the future.
[0025]
The third embodiment will be described below with reference to FIG. FIG. 3 is a functional configuration diagram of the third embodiment. 3, the same reference numerals as those in FIGS. 1 and 2 denote the same or corresponding functions. Reference numeral 11 denotes a temporary memory designating unit.
[0026]
In the third embodiment, the temporary memory designating unit 11 is provided in parallel with the memory
[0027]
Depending on the S / W, there may be a significant remodeling, and it may be necessary to secure a large S / W temporary memory area in advance. In the first embodiment, the necessary number of temporary memories is calculated and only the shortage is ensured in the temporary memory unit 1. However, in this case, a large temporary memory area cannot be secured. The third embodiment is for solving this problem. A temporary memory designating unit 11 is provided in parallel with the memory
[0028]
Embodiment 4 FIG.
In the above embodiments, when the required temporary memory for each S / W increases, the start address and the number of allocations of the new allocation area are specified by the operator. In addition, when the required number of required temporary memory changes, the start address of the allocation area and the allocation number are calculated from the insufficient number of temporary memory and automatically allocated to the empty area of the temporary memory section. It is.
[0029]
The fourth embodiment will be described below with reference to FIG. FIG. 4 is a functional configuration diagram of the fourth embodiment. 4, the same reference numerals as those shown in FIGS. 1, 2, and 3 denote the same or corresponding parts.
[0030]
In the first embodiment, when the required temporary memory for each S / W increases, the start address and the number of allocations of the new allocation area are specified by the operator. However, in the fourth embodiment, this is changed to the required temporary memory. It is designed to automatically assign from the shortage. As shown in FIG. 4, the allocated head address designating unit 7 of the first embodiment is expanded to be an allocated head
[0031]
【The invention's effect】
As described above, according to the present invention, it is possible to secure a memory area of an additional temporary memory without changing the temporary memory area of each S / W that has already been allocated. This is advantageous in that it is possible to easily allocate the necessary temporary memory.
[0032]
In addition, since the empty area of the temporary memory allocated for each S / W is used effectively, there is an effect that it is possible to eliminate the generation of an unnecessary empty area in the temporary memory.
[0033]
In addition, since the number of temporary memory allocations can be specified by the operator, it is possible to set a large area in advance in consideration of future S / W changes, etc. Can be minimized. In addition, the temporary memory allocation unit itself can be simplified.
[0034]
Furthermore, since the operator does not need to specify the allocation area, and when new allocation of temporary memory becomes necessary, the allocation is automatically performed, so the work efficiency required for allocation of temporary memory is improved. is there.
[Brief description of the drawings]
FIG. 1 is a functional configuration diagram according to a first embodiment.
FIG. 2 is a functional configuration diagram according to the second embodiment.
3 is a functional configuration diagram according to
FIG. 4 is a functional configuration diagram according to the fourth embodiment.
FIG. 5 is an explanatory diagram of an additional allocation method to a temporary memory according to the first embodiment.
FIG. 6 is an explanatory diagram of an additional allocation method to a temporary memory according to the first embodiment.
FIG. 7 is an explanatory diagram of an additional allocation method to a temporary memory according to the second embodiment.
FIG. 8 is a configuration diagram of a general programmable controller.
FIG. 9 is a diagram showing a conventional temporary memory allocation method.
FIG. 10 is a diagram showing a conventional temporary memory additional allocation method.
FIG. 11 is a diagram showing a conventional temporary memory additional compression method;
[Explanation of symbols]
1 temporary memory part, 2 S / W group, 3 memory number calculation part,
4 allocation status management unit, 5 memory usage status information storage unit, 6 allocation determination unit,
7 Start address specification section, 8 Start address input section, 9 Memory allocation section,
10 Unallocated memory number calculation part, 11 Required temporary memory designation part,
12 allocation start address determination unit, 13 temporary memory,
14 Temporary memory allocation area for S / W1,
15 Actual use area of temporary memory for S / W1,
16 Spare area of temporary memory for S / W1,
17 Temporary memory allocation area for S / W2,
18 Actual use area of temporary memory for S / W2,
19 empty area, 20 required temporary memory,
21 Additional temporary memory allocation area,
22 Actual use area of additional temporary memory,
101 CPU, 102 program memory, 103 temporary memory,
104 input operation unit, 105 input signal I / F unit,
105 output signal I / F section, 107 bus,
110 S / W1 use temporary area,
111 S / W2 use temporary area,
112 empty area, 113 extended temporary area,
114 Compression temporary area.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13012398A JP3703624B2 (en) | 1998-05-13 | 1998-05-13 | Programmable controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13012398A JP3703624B2 (en) | 1998-05-13 | 1998-05-13 | Programmable controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11327613A JPH11327613A (en) | 1999-11-26 |
JP3703624B2 true JP3703624B2 (en) | 2005-10-05 |
Family
ID=15026506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13012398A Expired - Lifetime JP3703624B2 (en) | 1998-05-13 | 1998-05-13 | Programmable controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3703624B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4666172B2 (en) * | 2006-09-04 | 2011-04-06 | オムロン株式会社 | Control system setting management system |
-
1998
- 1998-05-13 JP JP13012398A patent/JP3703624B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11327613A (en) | 1999-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090300316A1 (en) | Computer system, management computer and storage system, and storage area allocation amount controlling method | |
JPH064405A (en) | Computer with extended virtual storage | |
JP7178900B2 (en) | ROBOT WORK PLANNING METHOD AND WORK PLANNING DEVICE | |
KR970702531A (en) | Resource allocation method and device for multiple tasks (RESOURCE ALLOCATION) | |
KR20090108868A (en) | Virtual machine management system and method for managing processor resources thereof | |
EP0579174A1 (en) | Storage region assignment method | |
JPH06105440B2 (en) | Main memory management method | |
JPH06103092A (en) | Virtual computer system | |
JP3703624B2 (en) | Programmable controller | |
JPH0926889A (en) | Virtual machine system | |
CN1307558C (en) | Virtual internal storage allocating and managing method of subsystem in communication system | |
KR20070049885A (en) | Apparatus and method for controlling virtual memory | |
LIANG et al. | Solving a combined part‐selection, machine‐loading, and tool‐configuration problem in flexible manufacturing systems | |
JP2004206511A (en) | Numerical control device | |
JPH0438540A (en) | Memory managing system | |
JP2005196545A (en) | Power saving controller | |
JP2002244869A (en) | Memory management device | |
US8028297B2 (en) | Nonstop program system and a method of continuously running programs by switching between program sides | |
JP2008084098A (en) | Memory controller and memory control method | |
JPH05158783A (en) | Memory block control system | |
CN115480925B (en) | Host reinforcing method and device based on dynamic memory mechanism | |
JP7261195B2 (en) | Server load prediction system and server load prediction method | |
KR100501137B1 (en) | Statistics collecting method using shared-memory | |
JP4328071B2 (en) | Optimization simulation apparatus, optimization simulation method, and program | |
JPWO2023152890A5 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040213 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041019 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050720 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080729 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130729 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |