JP3703624B2 - Programmable controller - Google Patents

Programmable controller Download PDF

Info

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
Application number
JP13012398A
Other languages
Japanese (ja)
Other versions
JPH11327613A (en
Inventor
穣 杉谷
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 Mitsubishi Electric Industrial Systems Corp
Original Assignee
Toshiba Mitsubishi Electric Industrial Systems 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 Mitsubishi Electric Industrial Systems Corp filed Critical Toshiba Mitsubishi Electric Industrial Systems Corp
Priority to JP13012398A priority Critical patent/JP3703624B2/en
Publication of JPH11327613A publication Critical patent/JPH11327613A/en
Application granted granted Critical
Publication of JP3703624B2 publication Critical patent/JP3703624B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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. Reference numeral 103 denotes a temporary memory that stores information such as numerical data to be referred to when executing S / W, and is constituted by, for example, a RAM. 104 is an input operation unit for inputting S / W and data, 105 and 106 are respectively an input signal I / F unit for inputting information from the control target device, and a control signal to the control target device. Output signal I / F section. Reference numeral 107 denotes a bus for connecting each unit.
9 to 11 show examples of usage patterns of the temporary memory 103. FIG. 110 and 111 are temporary areas that store data referred to by a plurality of S / Ws mounted on the controller, 110 is a temporary memory area used by S / W1, and 111 is a temporary memory area used by S / W2. It is. Reference numeral 112 denotes an empty area in which no S / W is used in the temporary memory 103, and this S / W is added when a new temporary memory is required due to the addition of an S / W or an increase in the existing S / W. Use empty space.
[0003]
Next, operations related to allocation of temporary memory in the programmable controller will be described. When the use area of the temporary memory area 110 used by the S / W1 increases and needs to be expanded to the hatched portion 113 in FIG. 10A, the temporary memory area 110 used by the S / W1 and the S / W2 There is an overlap of the area with the temporary memory area 111 to be used. Therefore, as shown in FIG. 10B, the head position of the temporary memory area 111 is moved to immediately after the final position of the temporary memory area 110, and at the same time, the information stored in the temporary memory 111 is newly rearranged temporary. Move to memory area 111. When the used area of the temporary memory area 110 used by the S / W1 is reduced, the temporary memory area 110 can be reduced, so that the head position of the temporary memory area 111 is re-stored immediately after the final position of the compressed temporary memory 110. At the same time, the information stored in the temporary memory area 111 is moved to the rearranged temporary memory area 111. As a result, the memory area is effectively used, and the stored information is protected.
[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 number calculation unit 3 and the memory usage status information storage unit 5 to the margin area in the allocation area of the temporary memory that has already been allocated. An allocation determination unit for determining whether or not the temporary memory can be allocated, 7 is a temporary memory that needs to be newly allocated to an empty area in the temporary memory unit 1. (New allocation area) 8 is a start address input unit for setting the start address, and 9 is a memory allocation unit for allocating temporary memory to the temporary memory unit 1 based on the specification of the start address. is there.
[0011]
Next, the operation will be described.
The S / W group 2 mounted on the programmable controller stores information in the temporary memory unit 1 and performs various necessary processes while acquiring information from the temporary memory unit 1. When creating each S / W, the S / W identifier for distinguishing it from other S / Ws and the data output by each instruction existing in the S / W are used as input data by other instructions. The output source instruction and the input destination instruction related information indicating the flow of data exchange between instructions for use are simultaneously defined.
[0012]
The memory number calculation unit 3 assigns one temporary memory for each input / output instruction pair from the related information of the output source instruction and the input destination instruction, and calculates the necessary number of temporary memories. This is the actual number of temporary memories used by each S / W. However, when multiple instructions use data output by a certain instruction as input data, the allocated temporary memory is used by multiple input instructions. Subtracted from the number used. Further, assuming that the number of necessary temporary memories will increase in the future when the S / W is modified, a margin is added to obtain the necessary number of temporary memories. The necessary temporary memory number calculated by the memory number calculation unit 3 is sent to the memory allocation unit 9 together with the S / W identifier.
[0013]
The memory allocation unit 9 allocates the S / W temporary memory area in the temporary memory unit 1 based on the received S / W identifier and information on the necessary number of temporary memories. At this time, the memory allocation unit 9 checks whether or not there is a memory area to which the additional temporary memory is allocated in the temporary memory area allocated for the S / W by the memory usage status information storage unit 5. To do. If the necessary temporary memory area does not exist, it is newly allocated to an empty area in the temporary memory unit 1. Then, it notifies the allocation state management unit 4 of the identifier of the S / W, the head address in the newly allocated temporary memory unit 1, the allocation range based on the necessary number of temporary memories, and the information on the number of actually used memories. Based on the information notified from the memory allocation unit 9, the allocation state management unit 4 stores the allocation start address, the allocation area, and the actual used memory number in the memory usage status information storage unit 5 together with the S / W identifier.
[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 information storage unit 5 that there is a temporary memory area allocated for S / W, the memory allocation unit 9 sends the S / W to the allocation determination unit 6. Information on the W identifier and the newly calculated number of actually used memories is announced. The allocation determination unit 6 acquires information on the S / W temporary memory area and the number of actual used memories already stored in the memory usage status information storage unit 5 based on the notified S / W identifier, The actual number of used memories is subtracted from the S / W temporary memory area to calculate the number of temporary memories allocated as a margin. The actual used memory number acquired from the memory usage status information storage unit 5 is compared with the notified information on the new actual used memory number, and if the actual used memory number increases, the increment is calculated. From the calculated amount of temporary memory and the increment, it is determined whether or not the increased actual use temporary memory number can be allocated to the temporary memory area for the margin, and if it can be allocated, it can be allocated to the memory allocation unit 9. Announce that there is. The memory allocation unit 9 instructs the allocation state management unit 4 to update the information on the actual number of used memories in the memory usage status information storage unit 5. The allocation state management unit 4 updates the actual usage number for the corresponding S / W in the memory usage state information storage unit 5.
[0015]
When it is difficult to secure the number of memories in the temporary memory area, the memory allocation unit 9 is notified that allocation is impossible, and the temporary address allocation unit 7 is also allocated with the temporary memory area. Information regarding the S / W identifier that cannot be allocated and the number of actual used memories that cannot be allocated, and notification that a new corresponding S / W temporary memory area needs to be secured in the temporary memory unit 1 are issued. The start address designating unit 7 provides the worker with the S / W in which the temporary memory area is insufficient, the number of shortages, the empty area information in the temporary memory unit 1, and the like, and newly allocates the S / W for that S / W. Prompts the user to specify the start address of the temporary memory area to be attached and the number of allocations.
[0016]
The operator uses the head address input unit 8 to specify the head address and the number of allocations for the temporary area to be newly allocated for the S / W. When a temporary memory area is allocated based on the specified contents, duplication does not occur with other S / W temporary memory areas from the specified start address, the number of allocated temporary memories, and the empty area information in the temporary memory unit 1. If it overlaps, the operator is notified to change the specified content. If no duplication occurs, the allocation determination unit 6 returns the contents designated by the operator to the memory allocation unit 9, and the memory allocation unit 9 newly allocates the corresponding S / W temporary memory area in the temporary memory unit 1. At this time, the memory allocation unit 9 notifies the allocation state management unit 4 of the start address, the allocation number, and the actual use number regarding the temporary memory area in the newly allocated temporary memory unit 1, and the allocation state management unit 4 The allocation state of the temporary memory unit 1 is stored in the memory usage status information storage unit 5.
[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 memory allocation area 14. Area, 16 is a memory margin area in the temporary memory allocation area 14 for S / W1, 17 is a temporary memory allocation area for S / W2 allocated for S / W2, and 18 is for S / W2 for S / W2. In the temporary memory allocation area 17, the actual use area where the temporary memory is actually used, 19 is the empty area of the temporary memory 13 which is not allocated to any S / W, 20 is the S / W1 modified by the S / W1 modification, etc. This represents the number of temporary memories that are newly required. In FIG. 6, 21 is an additional temporary memory allocation area in which the number of temporary memories 20 that need to be newly added for S / W1 is allocated to the empty area 19 of the temporary memory 13, and 22 is an area for S / W1. An actual use area of the additional temporary memory actually used in the additional temporary memory allocation area 21 is shown.
[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 temporary memories 20 is within the temporary memory allocation area 14 for S / W1. Therefore, the newly required 20 temporary memory allocation area 14 can be secured in the S / W1 temporary memory allocation area 14 without expanding the S / W1 temporary memory allocation area 14. If the newly required temporary memory number 20 is larger than the margin area 16 in the S / W1 temporary memory allocation area 14, the S / W1 temporary memory allocation area 14 is newly expanded unless the S / W1 temporary memory allocation area 14 is expanded. The required number of temporary memories 20 cannot be secured in the temporary memory allocation area 14 for S / W1. In this case, as shown in FIG. 6, the entire temporary memory number 20 newly required is allocated to the empty area 13. More specifically, an additional S / W1 temporary memory allocation area 21 is generated in an empty area 19 in the temporary memory 13, and an additional S / W1 temporary memory is allocated thereto. As a result, the newly required 20 temporary memories can be secured in the temporary memory 13 without shifting the S / W2 temporary memory allocation area 17. In the embodiment, the allocation method for the temporary memory has been described. However, this allocation method can also be used for another memory allocation method in the programmable controller.
[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]
Embodiment 2. FIG.
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 temporary memories 20 that need to be newly allocated is all allocated to the empty area in the temporary memory, so that there is an advantage that the allocation can be easily performed. On the other hand, the temporary memory unit 1 Empty areas that are not used are scattered in each S / W allocation area, and there is a problem that the use efficiency of the temporary memory unit 1 is poor. In the second embodiment, when the actual number of used memory of the corresponding S / W temporary memory is increased, an amount that can be allocated to the spare area in the existing S / W allocation area that has already been allocated is allocated there. The portion that cannot be allocated in the spare area is allocated to the empty area 13 in the temporary memory.
Thereby, the usage efficiency of the temporary memory unit 1 can be increased.
[0021]
Next, Embodiment 2 will be described with reference to FIG. 2, the same reference numerals as those in FIG. 1 denote the same or corresponding parts. Reference numeral 10 denotes an unallocated memory number calculation unit that extends the allocation determination unit 6 in the first embodiment.
[0022]
Based on the S / W identifier notified from the memory allocation unit 9, the unallocated memory number calculation unit 10 stores the corresponding S / W temporary memory area and actual usage already stored in the memory usage status information storage unit 5. Information on the number of memories is acquired, and the number of temporary memories allocated as a margin to the corresponding S / W temporary memory area is calculated.
The number of actual used memories acquired from the memory usage status information storage unit 5 is compared with the notified information on the new number of actually used memories. If the number of actually used memories has increased, the increment is calculated. In the case where there is a sufficient number of temporary memories, of the increased actual use temporary memory, the allocatable portion is allocated to the temporary memory, and the increased temporary memory that cannot be allocated is notified to the head address specifying unit 7.
The start address designating unit 7 includes an unallocated increment number notified from the unallocated memory number calculating unit 10, information on an S / W identifier that cannot be allocated to a temporary memory, and a new corresponding S / W for the temporary memory. The worker is notified that temporary memory needs to be secured. The operator designates a head address for assigning the temporary memory number of only the shortage increment to the temporary memory unit 1. In response to this instruction, the portion that cannot be allocated in the already allocated area is allocated to the empty area, and as a result, the temporary memory can be used efficiently.
[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 temporary memory number 20 cannot fit in the spare area 16 of the S / W1 temporary memory allocation area 14, a part is allocated to the spare area 16 and the remaining part is added to the empty area 19. (New allocation area) And assign here. Reference numeral 22 denotes an actual use area in the additional temporary memory area 21.
[0024]
Embodiment 3 FIG.
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 number calculating unit 3 of the first embodiment. The temporary memory designating unit 11 receives the necessary temporary memory number calculated by the memory number calculating unit 3, notifies the worker, and changes the necessary temporary memory area to the increasing side in response to an instruction to increase the temporary memory area from the worker. As a result, an area having a temporary memory number larger than the required temporary memory number calculated by the memory number calculating unit 3 can be secured in the temporary memory unit 1. The temporary memory designating unit 11 for instructing an increase in the number of necessary temporary memories can be shared with the head address input unit 8.
[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 number calculating unit 3 of the first embodiment, and the necessary number of temporary memories calculated by the memory number calculating unit 3 is set. In addition to notifying the operator, a function to change the required number of temporary memories to the increase side by an increase instruction from the operator is provided. As a result, a memory area having a temporary memory number larger than the necessary temporary memory number calculated by the memory number calculation unit 3 can be secured in the temporary memory unit 1, and a large S / W temporary memory area is secured. It can respond when necessary.
[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. Reference numeral 12 denotes an allocation head address determination unit.
[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 address determining unit 12, and the head address input unit 8 is omitted. When the memory allocation unit 9 is notified by the allocation determination unit 6 that allocation is impossible, the S / W identifier that cannot allocate temporary memory and the actual number of memory that cannot be allocated are assigned to the allocation head address determination unit 12. Notice. The allocation start address determination unit 12 detects an empty area in the temporary memory unit 1 for allocating the actual number of used memory that cannot be allocated based on the information in the memory usage status information storage unit 5, and sends a memory to the memory allocation unit 9. Announce the start address for assignment. The memory allocation unit 9 allocates memory areas based on the notified start address. As a result, a new temporary memory area can be secured without any instruction from the operator.
[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 Embodiment 3. FIG.
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)

制御項目に対応して用意された複数のソフトウエア及びこのソフトウエア毎に使用するメモリエリアが割付けられたテンポラリメモリ部を有するプログラマブルコントローラにおいて、上記テンポラリメモリ部は、上記ソフトウエア毎に割付けられ、実使用されている実使用エリア及び実使用されていない余裕エリアを有する割付エリアと、上記ソフトウエア毎に割付けられていない空きエリアとにより構成され、上記割付エリア内の実使用エリアのメモリ数を算出するメモリ数算出部、上記テンポラリメモリ部内の上記各ソフトウエア毎の割付エリアの割付情報を記憶するメモリ使用状況情報記憶部、及び上記ソフトウエアに追加のメモリエリアが必要な場合に、上記メモリ数算出部及び上記メモリ使用状況情報記憶部の情報に基づいて、上記追加が必要なメモリ数に応じて上記テンポラリメモリ部の空きエリアに上記ソフトウエアに対する追加割付けを行うメモリ割付部を備え、上記メモリ割付部は、上記追加が必要なメモリ数が上記ソフトウエアの割付エリア内の余裕エリアより大きい場合に、上記ソフトウエアの割付エリアに追加して、上記空きエリアに上記追加が必要なメモリ数より大きい上記ソフトウエアの新たな割付エリアを割付けることを特徴とするプログラマブルコントローラ。 In a programmable controller having a temporary memory unit to which a plurality of software prepared corresponding to control items and a memory area to be used for each software are allocated, the temporary memory unit is allocated for each software, It consists of an allocated area that has an actual use area that is actually used and a spare area that is not actually used, and a free area that is not allocated for each software. A memory number calculation unit to be calculated, a memory usage information storage unit for storing allocation information of the allocation area for each software in the temporary memory unit, and the memory when an additional memory area is required for the software Based on the information of the number calculation unit and the memory usage status information storage unit, According to the number of memories that need to be added, a memory allocation unit that performs additional allocation to the software in an empty area of the temporary memory unit is provided, and the memory allocation unit has a memory number that requires addition of the software. When it is larger than the margin area in the allocation area, it is added to the allocation area of the software, and a new allocation area of the software larger than the number of memories required to be added is allocated to the empty area. Programmable controller. 制御項目に対応して用意された複数のソフトウエア及びこのソフトウエア毎に使用するメモリエリアが割付けられたテンポラリメモリ部を有するプログラマブルコントローラにおいて、上記テンポラリメモリ部は、上記ソフトウエア毎に割付けられ、実使用されている実使用エリア及び実使用されていない余裕エリアを有する割付エリアと、上記ソフトウエア毎に割付けられていない空きエリアとにより構成され、上記割付エリア内の実使用エリアのメモリ数を算出するメモリ数算出部、上記テンポラリメモリ部内の上記各ソフトウエア毎の割付エリアの割付情報を記憶するメモリ使用状況情報記憶部、及び上記ソフトウエアに追加のメモリエリアが必要な場合に、上記メモリ数算出部及び上記メモリ使用状況情報記憶部の情報に基づいて、上記追加が必要なメモリ数に応じて上記テンポラリメモリ部の空きエリアに上記ソフトウエアに対する追加割付けを行うメモリ割付部を備え、上記メモリ割付部は、上記追加が必要なメモリ数が上記ソフトウエアの割付エリア内の余裕エリアより大きい場合に、上記ソフトウエアの割付エリアに追加して、上記空きエリアに上記追加が必要なメモリ数から上記余裕エリアを減算した残りより大きい上記ソフトウエアの新たな割付エリアを割付けることを特徴とするプログラマブルコントローラ。 In a programmable controller having a temporary memory unit to which a plurality of software prepared corresponding to control items and a memory area to be used for each software are allocated, the temporary memory unit is allocated for each software, It consists of an allocated area that has an actual use area that is actually used and a spare area that is not actually used, and a free area that is not allocated for each software. A memory number calculation unit to be calculated, a memory usage information storage unit for storing allocation information of the allocation area for each software in the temporary memory unit, and the memory when an additional memory area is required for the software Based on the information of the number calculation unit and the memory usage status information storage unit, According to the number of memories that need to be added, a memory allocation unit that performs additional allocation to the software in an empty area of the temporary memory unit is provided, and the memory allocation unit has a memory number that requires addition of the software. If it is larger than the margin area in the allocation area, it is added to the allocation area of the software, and the new allocation of the software is larger than the remainder obtained by subtracting the margin area from the number of memory required to be added to the empty area features and to Help log Lama Bull controller that assign the area. 上記割付エリアに割付けられるメモリ数を指定するテンポラリメモリ指定部を備えたことを特徴とする請求項1または請求項2記載のプログラマブルコントローラ。 3. The programmable controller according to claim 1 , further comprising a temporary memory designating unit that designates the number of memories allocated to the allocation area . 上記メモリ割付部によって追加割付けされる上記新たな割付エリアの先頭アドレスを決定する割付先頭アドレス決定部を備えたことを特徴とする請求項1〜請求項3のいずれかに記載のプログラマブルコントローラ。 The programmable controller according to any one of claims 1 to 3, further comprising an allocation start address determination unit that determines a start address of the new allocation area that is additionally allocated by the memory allocation unit .
JP13012398A 1998-05-13 1998-05-13 Programmable controller Expired - Lifetime JP3703624B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4666172B2 (en) * 2006-09-04 2011-04-06 オムロン株式会社 Control system setting management system

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