JP2015014883A - プラント制御装置、プラント制御方法及びプラント制御プログラム - Google Patents

プラント制御装置、プラント制御方法及びプラント制御プログラム Download PDF

Info

Publication number
JP2015014883A
JP2015014883A JP2013140883A JP2013140883A JP2015014883A JP 2015014883 A JP2015014883 A JP 2015014883A JP 2013140883 A JP2013140883 A JP 2013140883A JP 2013140883 A JP2013140883 A JP 2013140883A JP 2015014883 A JP2015014883 A JP 2015014883A
Authority
JP
Japan
Prior art keywords
pointer
address
value
arithmetic processing
control program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013140883A
Other languages
English (en)
Other versions
JP6071782B2 (ja
Inventor
大谷 和男
Kazuo Otani
和男 大谷
敏夫 田川
Toshio Tagawa
敏夫 田川
優一 佐藤
Yuichi Sato
優一 佐藤
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 JP2013140883A priority Critical patent/JP6071782B2/ja
Publication of JP2015014883A publication Critical patent/JP2015014883A/ja
Application granted granted Critical
Publication of JP6071782B2 publication Critical patent/JP6071782B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】制御プログラムの変更管理を容易にするプラント制御技術を提供する。【解決手段】プラント制御装置10は、基板を介して入出力する複数の信号に線番を設定する線番設定部12と、線番のそれぞれをメモリ空間の第一アドレスに割り当てるアドレス割当部13と、信号のそれぞれの値を格納するメモリ空間の第二アドレスのそれぞれに対応して設定されたポインタを管理するポインタ管理テーブル14と、ポインタを線番のそれぞれに割り当てて、第一アドレスに格納するポインタ割当部15と、線番を変数として作成された制御プログラムの線番に対応する部分をポインタに書き換えるプログラム編集部18と、書き換えられた制御プログラムを読み込んで、ポインタ管理テーブル14を参照してポインタに対応する第二アドレスに格納された信号の値に基づいて演算処理する演算処理部16と、を備えることを特徴とする。【選択図】 図1

Description

本発明の実施形態は、プラント制御技術に関する。
火力プラント、原子力プラント等の様々な産業プラントでは、プラントを安定的に運転・動作させるためプラント制御装置が設けられている。この制御装置は、外部から複数のプロセス信号を入力し制御プログラムを用いて演算処理を実行する。そして、実行結果に基づいて制御信号を出力してプラント制御を実施している。
一般的に、制御装置を入出力する複数の信号には、制御装置内のメモリ領域が割り当てられて各信号の値が格納される。そして、各信号のメモリ空間での配置情報(アドレス情報)はシステム構成データとして管理される。
一方、制御プログラムは、複数の命令コードから構成されるロジック演算情報とともに、システム構成データを参照して演算で使用する信号のアドレス情報を保持している。
そして、制御プログラムの実行処理は、保持しているアドレス情報を用いて信号の値が格納されているメモリ領域にアクセスを行いながら命令コードに従って行われる。
また、制御装置では、制御動作のテストや制御プログラムの機能確認等を実施するため、模擬の設定値を用いてプラント制御のシミュレーションを実施する場合がある。
このシミュレーションは、制御プログラム内の命令コードを書き換えて、この命令コードによる演算結果を模擬対象となる線番に出力する動作を一時的に停止させる。その後、模擬対象となる線番に模擬値を設定して実施される。なお、線番とは、制御装置に実装された基板を介して入出力する信号を相互に識別するための識別子(信号名)を意味する。
従来から、制御装置に実装される制御プログラムの作成、実行、書き換え、内容把握等、制御プログラムを効率的に実行・管理する様々な技術が開示されている。(例えば、特許文献1)。
特開2006−330932号公報
前述の制御装置では、制御プログラム内で変数情報となる信号のアドレス情報が、システム構成データで管理されている。つまり、システム構成データと制御プログラムとが直接紐付いた構成をとっている。
このため、例えば制御装置に実装される基板の追加、削除等が実施され、システム構成データが変更された際には、各信号のアドレス情報が変更されるため、制御プログラムを修正してアドレス情報を更新する必要が生じていた。
これにより、ロジック情報自体には変更が無いにも関わらず、制御プログラムの修正を行わなければならず、制御プログラムの変更管理を複雑なものとしていた。
また、シミュレーションを実施する際に、制御プログラムの命令コードを書き換えて実施する方法では、制御プログラムの変更管理(プログラムを元に戻す作業)が必要になる。
さらに、シミュレーション実施中に制御装置の停止、故障等が発生して再起動した場合、書き換え後の命令コードのままで動作してしまい、演算結果が正常に出力されないで制御動作を開始してしまう恐れがあった。
また、制御プログラムの命令コードを書き換えて、模擬対象となる線番への出力を一時的に停止する方法では、ユーザが定義・設定可能な線番でのみ模擬値の設定が可能であり、制御装置が固有で有する線番には模擬値を設定できないという課題があった。
本発明はこのような事情を考慮してなされたもので、制御プログラムの変更管理を容易にするプラント制御技術を提供することを目的とする。
本実施形態のプラント制御装置は、基板を介して入出力する複数の信号のそれぞれに線番を設定する線番設定部と、前記線番のそれぞれをメモリ空間の第一アドレスに割り当てるアドレス割当部と、前記信号のそれぞれの値を格納するメモリ空間の第二アドレスのそれぞれに対応して設定されたポインタを管理するポインタ管理テーブルと、前記ポインタを前記線番のそれぞれに割り当てて、前記第一アドレスに格納するポインタ割当部と、前記線番を変数として作成された制御プログラムの前記線番に対応する部分を前記ポインタに書き換えるプログラム編集部と、書き換えられた前記制御プログラムを読み込んで、前記ポインタ管理テーブルを参照して前記ポインタに対応する前記第二アドレスに格納された前記信号の値に基づいて演算処理する演算処理部と、を備えることを特徴とするプラント制御装置。
本発明によれば、制御プログラムの変更管理を容易にするプラント制御技術が提供される。
第一実施形態に係るプラント制御装置の構成図。 第一実施形態に係るプラント制御装置に実装された基板構成を示した概略図。 (A)線番設定データの構成図、(B)アドレス割当データの構成図。 (A)ポインタ管理テーブルの構成図、(B)ポインタ割当データの構成図。 本実施形態に係るユーザメモリ内の配置を表した説明図。 (A)制御ロジック図の一例を示したもの、(B)制御ロジック図をCASテキストイメージで表した図、(C)線番部分をポインタに書き換えたソースイメージを表した図。 (A)制御プログラムの線番部分をポインタに書き換えるまでの制御フローを示すフローチャート、(B)演算処理部による処理フローを示すフローチャート。 第一実施形態に係るプラント制御装置の変形例を示した構成図。 (A)第二実施形態に適用されるポインタ管理テーブルの構成図、(B)ユーザメモリ内の配置を表した説明図。 第二実施形態に係る演算フローを示す説明図。 第二実施形態に係る演算処理部による処理フローを示すフローチャート。 (A)第三実施形態に適用されるポインタ管理テーブルの構成図、(B)第三実施形態に係る演算処理部による処理フローを示すフローチャート。 (A)第四実施形態に適用されるポインタ管理テーブルの構成図、(B)第四実施形態に係る演算処理部による処理フローを示すフローチャート。
(第一実施形態)
以下、本発明の実施形態を添付図面に基づいて説明する。
図1に示す第一実施形態に係るプラント制御装置10(以下、制御装置10とする)は、基板を介して入出力する複数の信号のそれぞれに線番を設定する線番設定部12と、線番のそれぞれをメモリ空間の第一アドレスに割り当てるアドレス割当部13と、信号のそれぞれの値を格納するメモリ空間の第二アドレスのそれぞれに対応して設定されたポインタを管理するポインタ管理テーブル14と、ポインタを線番のそれぞれに割り当てて、第一アドレスに格納するポインタ割当部15と、線番を変数として作成された制御プログラムの線番に対応する部分をポインタに書き換えるプログラム編集部18と、書き換えられた制御プログラムを読み込んで、ポインタ管理テーブル14を参照してポインタに対応する第二アドレスに格納された信号の値に基づいて演算処理する演算処理部16と、を備えることを特徴とする。
また、制御装置10は、外部機器23から処理対象となるプロセス信号を入力して、演算処理部16において演算処理を実行する。そして、この実行結果に基づいて制御信号を外部機器23に出力してプラント制御を実施するものである。
制御装置10は、入出力部11、線番設定部12、アドレス割当部13、ポインタ管理テーブル14、ポインタ割当部15、演算処理部16、メモリ17、プログラム編集部18、線番更新部22、とを備える。
保守ツール24は、制御装置10の外部に設けられて、通信手段(図示省略)を介して制御装置10とのデータ通信を行う機能を有する。制御装置10に実装される制御プログラムは、保守ツール24から転送される。
メモリ17は、演算処理部16を介して随時読み取り、書き込みされるデータが格納されるユーザメモリ17aと、制御プログラムを格納するプログラム格納メモリ17bと、から構成されるメモリ領域を有する。
入出力部11は、制御装置10に実装された複数の入出力基板(以下、基板と省略する)を介して、外部機器23との間で入出力する信号、演算処理部16で用いられる信号等プラント制御に用いられる信号の入出力を行う。
図2は、制御装置10に実装された基板構成を例示した図である。制御ユニット(ユニット:0)、デジタルIOユニット(ユニット:5)、アナログIOユニット(ユニット:6)から構成され、各ユニットに設けられたスロットに各種基板が挿入されている。
線番設定部12は、制御装置10に実装された基板を介して入出力する複数の信号を相互に識別するため、これら信号のそれぞれに対して線番を設定する。
具体的には、実装された基板構成に関する情報に基づき、信号の入出力点に係る属性(ユニット、スロット、基板名、データ種別、基板タイプ、IO点数等)に対応付けて線番を設定することにより、各信号に対して線番が設定される。この線番は、複数の信号を相互に識別する識別子(信号名)となるため、ユニークなものを設定する必要がある。
入出力点の属性に対応付けて設定された線番の設定情報は、線番設定データ19として記録・保存される。
図3(A)は、図2で示した基板構成に基づき線番が設定された場合の線番設定データ19のデータ構成を示している。各信号の入出力点に係る属性(基板が挿入されたユニット及びスロット、基板名、基板を入出力する信号のデータ種別、基板タイプ及びIO点数)に対応付けて線番が設定されている。ここでは、各基板で設定される線番のうち、先頭の線番のみを表示している。
アドレス割当部13は、線番設定部12で設定された線番のそれぞれに対して、ユーザメモリ17aのメモリ領域を確保する。そして、確保されたメモリ領域の位置を示す第一アドレスを各線番に割り当てる。
各線番に対する第一アドレスの割り当てにおける設定情報は、アドレス割当データ20として記録・保存される。
図3(B)は、図3(A)で設定された線番に対して第一アドレスが割り当てられたアドレス割当データ20のデータ構成を示している。
ここで、ポインタ管理テーブル14について説明する。
各線番の値(信号の値)のそれぞれは、ユーザメモリ17aのメモリ領域を確保され格納される。なお、アドレス割当部13で第一アドレスを割り当てのために確保されたメモリ領域とは異なるメモリ領域が確保される。
そして、各線番の値が格納されたメモリ上の位置を示す第二アドレスのそれぞれに対応させてポインタが設定される。このポインタは、各線番の値が格納された第二アドレスを相互に識別する識別子となる。
ポインタ管理テーブル14は、第二アドレスと第二アドレスに割り当てられたポインタとの対応を管理する管理データである。このポインタ管理テーブル14は、書き換え可能なデータであり、保守ツール24(あるいは制御装置10)により管理される。
そして、各線番の値が格納された第二アドレスが変更された場合には、この変更に従ってポインタ管理テーブル14の書き換えが行われる。
例えば、入出力基板の構成が変更され、基板構成の変更に伴い第二アドレスが変更された際には、当該変更に合わせてポインタ管理テーブル14は書き換えられる。
図4(A)は、ポインタ管理テーブル14のデータ構成を示している。各第二アドレスにポインタが割り当てられている。ここで示すように、第二アドレスに格納されるデータの種類ごとに管理テーブルを別々に分けても良い。
ポインタ割当部15は、ポインタ管理テーブル14を参照し、各線番に対して、それぞれの線番値が格納された第二アドレスに対応するポインタを割り当てる。そして、割り当てられたポインタは、前述の第一アドレスに格納される。
各線番に対するポインタの割り当てについての設定情報は、ポインタ割当データ21として記録・保存される。このポインタ割当データ21には、各線番に対する第一アドレスの割り当てについての設定情報も併せて保存される。
図4(B)は、ポインタ割当データ21のデータ構成を示し、各線番に対してポインタが割り当てられている。
図5は、ユーザメモリ17aの配置を具体的に表した説明図である。
線番A001〜A003について、第一アドレスが割り当てられ、この第一アドレスにはポインタが格納される。そして、ポインタに対応する第二アドレスには、線番A001〜A003の値が格納される。
プログラム編集部18は、線番を入出力変数として作成された制御プログラムを保守ツール24から入力する。
そして、ポインタ割当部15で各線番に割り当てたポインタに基づいて、制御プログラムの線番部分をポインタに書き換える。そして、この書き換えた制御プログラムをプログラム格納メモリ17bに格納する。
したがって、プログラム格納メモリ17bに格納される制御プログラムは、命令コードから構成されるロジック演算情報とポインタ情報(変数情報)を保持することとなる。
図6(A)は、保守ツール24で作成された制御ロジック図(制御プログラム)の一例を示したものである。
制御ロジック図は、結線により組み合わされた複数の命令コードから構成される。各命令コードは、信号の値を入力及び出力する端子を備え、これら端子には変数情報として線番が設定されている。
図6(B)は、図6(A)の制御ロジック図をCASテキストイメージで表したものである。
図6(C)は、プログラム編集部18によって、線番部分をポインタに書き換えられた制御プログラムのソースイメージを表している。この書き換えられた制御プログラムがプログラム格納メモリ17bに格納される。
演算処理部16は、プログラム格納メモリ17bから制御プログラムを読み込む。そして、ポインタ管理テーブル14を参照して、制御プログラムのポインタを第二アドレスに変換する。
そして、演算処理部16は、変換した第二アドレスに格納された線番の値を用いて命令コードに従って演算処理を実行していく。
このように、演算処理部16における制御プログラムの実行は、線番の値が格納されたメモリアドレス(第二アドレス)に直接アクセスして行うのでは無く、ポインタを介して間接的に行われる。
このため、実装された基板構成の変更等により、線番の値が格納されたアドレス情報(第二アドレス)が変更された場合であっても、ポインタと第二アドレスとの関係を管理するポインタ管理テーブル14のみを書き換えることにより、演算処理の実行が可能となる。
したがって、実装された基板構成の変更等により、線番の値が格納されたアドレス情報が変更された場合であっても、制御プログラム自体を修正する必要がないため、制御プログラムの変更管理を容易なものにすることができる。
線番更新部22は、線番設定部12で設定された線番のみを変更する際に、ポインタ割当データ21に記録されている線番のみを変更に応じて更新するものである。
また、線番更新部22は、線番設定データ19及びアドレス割当データ20に記録されている線番についても、同様に線番部分の更新を行う。
線番を変更する際に、制御装置10のシステム構成に係るデータであるポインタ割当データ21の線番部分を直接更新することにより、再度線番設定部12、アドレス割当部13、及びポインタ割当部15を介してポインタ割当データ21を作成する手間を省略することができる。
また、線番の更新後においても、線番とポインタとの対応関係は変わらないため、制御プログラムをプログラム編集部18で再度書き換えてプログラム格納メモリ17bに格納する必要は無い。
図7(A)は、制御プログラムの線番部分をポインタに書き換えるまでの制御フローを示すフローチャートである(適宜、図1参照)。
線番設定部12は、実装された基板を入出力する各信号に線番を設定する(S10)。
続けて、アドレス割当部13は、設定された線番のそれぞれにユーザメモリ17aのメモリ領域を確保して、第一アドレスの割り当てを行う(S11)。
次に、ポインタ割当部15は、各線番の値を格納されたメモリ上の位置を示す第二アドレスとポインタとの対応を管理するポインタ管理テーブル14を参照する(S12)。
そして、各線番に対して、その線番の値が格納された第二アドレスに対応するポインタの割り当てを行う(S13)。
プログラム編集部18は、保守ツール24から入力した制御プログラムの線番部分をポインタに書き換える(S14)。そして、書き換えた制御プログラムをプログラム格納メモリ17bに格納する。
図7(B)は、演算処理部16による演算フローを示すフローチャートである。
演算処理部16は、プログラム格納メモリ17bから制御プログラムの読み込む(S15)。
続けて、演算処理部16は、ポインタ管理テーブル14を参照して(S16)、制御プログラムのポインタ部分を第二アドレスに変換する(S17)。そして、変換された第二アドレスに格納された値に基づいて演算処理を実行する(S18)。
このように、制御プログラムの実行は、ポインタを介して間接的に行われる。つまり、基板構成の変更等により、線番の値が格納されたアドレス情報(第二アドレス)が変更された場合でも、ポインタと第二アドレスとの関係を管理するポインタ管理テーブル14のみを書き換えることにより、演算処理の実行が可能となる。このため、制御プログラム自体を修正する必要がないため、制御プログラムの変更管理を容易なものにすることができる。
図8は、本実施形態に係る制御装置10の変形例を示している。各構成の動作、作用は
図1で示したものと同様となるため、同一の符号を付して適宜説明を省略する。
保守ツール24は、線番設定部12と、アドレス割当部13と、ポインタ管理テーブル14と、ポインタ割当部15と、プログラム編集部18と、線番更新部22と、を備えている。
保守ツール24は、制御装置10との通信手段を介して、制御装置10に実装された基板構成に関する情報を入力する。そして、線番設定部12は、制御装置10に実装された基板構成に関する情報に基づき、基板を入出力する信号に対して線番を設定する。
そして、アドレス割当部13は、設定された線番に対して、ユーザメモリ17aの第一アドレスを割り当てる。
ポインタ割当部15は、保守ツール24で作成したポインタ管理テーブル14を参照して、各線番にポインタを割り当てる。なお、ポインタ割当データ21は、制御装置10のシステム構成に係るデータとして制御装置10に出力され保存される。
プログラム編集部18は、線番を変数として作成した制御プログラムの線番部分をポインタに書き換える。そして、書き換えた制御プログラムを制御装置10に出力する。
また、作成したポインタ管理テーブル14は、制御装置10に出力される。
制御装置10は、書き換えられた制御プログラムを保守ツール24から入力して、プログラム格納メモリ17bに格納する。
そして、制御装置10の演算処理部16は、入力したポインタ管理テーブル14を参照して、演算処理を実行する。
このように、制御装置10が備えていた構成を保守ツール24が備えることにより、制御装置10を簡易な構成にしつつ、図1の構成と同一の効果を得ることができる。
(第二実施形態)
図9(A)は、第二実施形態に適用されるポインタ管理テーブル14のデータ構成を例示したものである。なお、制御装置10の構成は、図1と同一となるため図示を省略し、第一実施形態と重複する動作については説明を省略する(適宜、図1を参照)。
第一実施形態に適用されるポインタ管理テーブル14と異なる点について説明する(図4(A))。
ポインタのそれぞれには、シミュレーション(以下、模擬とする)実施時に用いる模擬用アドレスが設定される。模擬用アドレスは、模擬のために確保されたユーザメモリ17a領域のアドレス情報を示している。
さらに、ポインタのそれぞれは、任意の2つの設定値のいずれかに設定されるフラグ情報を有する。
ここでは、フラグ情報は、“No”または“Write”が設定されるものとし、第1設定値を“No”として、第2設定値を“Write”とする。
各ポインタに対応する第二アドレス、模擬用アドレス及びフラグ情報の設定は、ポインタ管理テーブル14で管理され、フラグ情報は保守ツール24(あるいは制御装置10)から変更することができる。
演算処理部16は、出力変数となるポインタのフラグ情報が、第1設定値のとき(“No”のとき)は、ポインタに対応する第二アドレスに出力値を書き込んで演算処理を実行していく。
一方、ポインタのフラグ情報が、第2設定値のとき(“Write”のとき)は、ポインタに対応する模擬用アドレスに出力値を書き込んで演算処理を実行していく。
図9(B)は、模擬用アドレスを設定した場合における、ユーザメモリ17aの配置を示している。模擬用アドレスには、模擬を実施する際に用いられる各線番(ポインタ)の値が格納されている。
図10は、模擬を実施する際の演算処理部16による具体的な処理フローを表している。
ここでは、ポインタ“0011”(線番:A002)の第二アドレスに模擬値を格納し、この模擬値を命令コード2の入力値として模擬を行う場合について検討する。
まず、演算処理部16は、命令コード1の処理終了後、ポインタ管理テーブル14を参照して、ポインタ“0011”のフラグ情報を確認する。
ポインタ“0011”のフラグ情報が“Write”に設定されているため、ポインタ管理テーブル14から模擬用アドレスを読み取る。
そして、演算処理部16は、命令コード1の出力値(演算結果)を模擬用アドレスに書き込む。
そして、演算処理部16は、ポインタ“0011”の第二アドレスに格納されている模擬値を入力値として命令コード2の処理を実行する。
このように、命令コード1の出力値を模擬用アドレスに書き込むことで、第二アドレスへの出力を回避できる。このため、第二アドレスに設定した模擬値が、命令コード1の出力値により書き換えられることは無く、模擬を実行することができる。
したがって、制御プログラムの命令コードを書き換えて出力ロックを行う必要がないため、制御プログラムを修正することなく模擬を実施することができる。
また、模擬実施中に制御装置10の停止、故障等が発生し、再起動した場合であってっても、制御プログラムの命令コードを変更していないため、演算結果が正常に出力されない等の誤動作を防止することができる。
図11は、第二実施形態に係る演算処理部16による、命令コードの処理フローを示している。
まず、演算処理部16は、ポインタ管理テーブル14を参照して、命令コードの入力側ポインタに対応する第二アドレスを読み込む(S20)。
そして、読み込んだ第二アドレスから入力値を読み込んで(S21)、命令処理を実行する(S22)。
命令処理終了後、演算処理部16は、ポインタ管理テーブル14を参照して、フラグ情報を確認する(S23)。
そして、フラグ情報に“Write”が設定されている場合は(S23:YES)、出力側ポインタに対応する模擬用アドレスを読み込む(S25)。
一方、フラグ情報に“No”が設定されている場合は(S23:No)、出力側ポインタに対応する第二アドレスを読み込む(S24)。
そして、演算処理部16は、読み込んだアドレスに出力値の書き込みを行い(S26)、命令コードを終了する。
第二アドレスに模擬値を設定して模擬を行う際に、フラグ情報に“Write”を設定して、命令コードの出力値を模擬用アドレスに書き込む。これにより、第二アドレスに設定した模擬値が、命令コードの出力値により書き換えられることは無い。
したがって、制御プログラムの命令コードを書き換えて出力ロックを行わないで、つまり制御プログラムを修正しないで模擬を実施することができる。
(第三実施形態)
図12(A)は、第三実施形態に適用されるポインタ管理テーブル14のデータ構成を示している。
ポインタのそれぞれは、任意の2つの設定値のいずれかに設定されるフラグ情報を有している。
ここでは、フラグ情報は、“No”または“Read”が設定されるものとし、第1設定値を“No”として、第2設定値を“Read”とする。
演算処理部16は、入力変数となるポインタのフラグ情報が、第1設定値のとき(“No”のとき)は、ポインタに対応する第二アドレスに格納されている値を読み込んで演算処理を実行していく。
一方、ポインタのフラグ情報が、第2設定値のとき(“Read”のとき)は、ポインタに対応する模擬用アドレスに格納されている値を読み込んで演算処理を実行していく。
具体的な動作について図10を用いて説明する。
ここでは、ポインタ“0010”(線番:A001)の模擬用アドレスに模擬値を格納し、この模擬値を命令コード1の入力値として模擬を行う場合について検討する。なお、ポインタ“0010”のフラグ情報は、“Read”が設定されているとする。
まず、演算処理部16は、ポインタ管理テーブル14を参照して、ポインタ“0010”のフラグ情報を確認する。
ポインタ“0010”のフラグ情報が“Read”に設定されているため、ポインタ管理テーブル14から模擬用アドレスを読み取る。
そして、演算処理部16は、模擬用アドレスに格納された模擬値を入力値として命令コード1を実行する。
線番:A001が制御装置10でのみ設定される固有線番である場合、第二アドレスに模擬値を設定しても制御装置10によって書き込まれてしまい、模擬を実施することはできない。
このように、フラグ情報を設定して、模擬用アドレスに格納された模擬値を読み込むことにより、制御装置10でのみ設定される固有線番について模擬を実施することが可能となる。
図12(B)は、第三実施形態に係る演算処理部16による、命令コードの処理フローを示している。
まず、演算処理部16は、ポインタ管理テーブル14を参照して、フラグ情報を確認する(S30)。
そして、フラグ情報に“Read”が設定されている場合は(S30:YES)、入力側ポインタに対応する模擬用アドレスを読み込む(S32)。
一方、フラグ情報に“No”が設定されている場合は(S30:No)、入力側ポインタに対応する第二アドレスを読み込む(S31)。
そして、演算処理部16は、読み込んだアドレスから入力値を読み込んで(S33)、命令処理を実行する(S34)。
演算処理部16は、ポインタ管理テーブル14を参照して、命令コードの出力側ポインタに対応する第二アドレスを読み込む(S35)。
そして、読み込んだアドレスに出力値の書き込みを行い(S36)、命令コードを終了する。
フラグ情報を“Read”に設定して、模擬用アドレスに格納された模擬値を読み込むことにより、制御装置10でのみ設定される固有線番について模擬を実施することが可能となる。
(第四実施形態)
図13(A)は、第四実施形態に適用されるポインタ管理テーブル14のデータ構成を示している。第二実施形態と同様な構成については、記載を省略して説明する(適宜、図1参照)。
ポインタのそれぞれは、任意の3つの設定値のいずれかに設定されるフラグ情報を有している。
ここでは、フラグ情報は、“No”、“Read”及び“Write”のいずれか一つが設定されるものとし、第1設定値を“No”として、第2設定値を“Read”とし、第3設定値を“Write”とする。
演算処理部16は、入出力変数となるポインタのフラグ情報が第1設定値のとき(“No”のとき)は、ポインタに対応する第二アドレスに格納された値を読み込みまたは第二アドレスに出力値を書き込んで演算処理を行う。
一方、入力変数となるポインタのフラグ情報が第2設定値のとき(“Read”のとき)は、ポインタに対応する模擬用アドレスに格納された値を読み込んで演算処理を行う。
一方、出力変数となるポインタのフラグ情報が第3設定値のときは(“Write”のとき)、ポインタに対応する模擬用アドレスに出力値を書き込んで演算処理を行う。
これにより、入力側及び出力側の変数となるポインタ全てについて模擬値を設定して、
模擬することが可能となる。
図13(B)は、第四実施形態に係る演算処理部16による、命令コードの処理フローを示している。
まず、演算処理部16は、ポインタ管理テーブル14を参照して、フラグ情報を確認する(S40)。
そして、フラグ情報に“Read”が設定されている場合は(S40:YES)、入力側ポインタに対応する模擬用アドレスを読み込む(S42)。
一方、フラグ情報に“No”が設定されている場合は(S40:No)、入力側ポインタに対応する第二アドレスを読み込む(S41)。
そして、演算処理部16は、読み込んだアドレスから入力値を読み込んで(S43)、命令処理を実行する(S44)。
命令処理終了後、演算処理部16は、ポインタ管理テーブル14を参照して、フラグ情報を確認する(S45)。
そして、フラグ情報に“Write”が設定されている場合は(S45:YES)、出力側ポインタに対応する模擬用アドレスを読み込む(S47)。
一方、フラグ情報に“No”が設定されている場合は(S45:No)、出力側ポインタに対応する第二アドレスを読み込む(S46)。
そして、演算処理部16は、読み込んだアドレスに出力値の書き込みを行い(S48)、命令コードを終了する。
フラグ情報を“Read”または“Write”を設定することにより、入力側及び出力側の変数となるポインタ全てについて模擬値を設定して、模擬することが可能となる。
以上述べた各プラント制御装置(変形例を含む)によれば、各線番に対して、線番の値を格納したアドレスに対応するポインタを割り当て、制御プログラムの変数をポインタに変換し、ポインタ管理テーブルを参照して制御プログラムを実行することにより、線番の値が格納されたアドレス情報が変更された場合であっても、制御プログラム自体を修正する必要がないため、制御プログラムの変更管理を容易なものにすることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 プラント制御装置
11 入出力部
12 線番設定部
13 アドレス割当部
14 ポインタ管理テーブル
15 ポインタ割当部
16 演算処理部
17 メモリ
17a ユーザメモリ
17b プログラム格納メモリ
18 プログラム編集部
19 線番設定データ
20 アドレス割当データ
21 ポインタ割当データ
22 線番更新部
23 外部機器
24 保守ツール

Claims (7)

  1. 基板を介して入出力する複数の信号のそれぞれに線番を設定する線番設定部と、
    前記線番のそれぞれをメモリ空間の第一アドレスに割り当てるアドレス割当部と、
    前記信号のそれぞれの値を格納するメモリ空間の第二アドレスのそれぞれに対応して設定されたポインタを管理するポインタ管理テーブルと、
    前記ポインタを前記線番のそれぞれに割り当てて、前記第一アドレスに格納するポインタ割当部と、
    前記線番を入出力変数として作成された制御プログラムの前記線番に対応する部分を前記ポインタに書き換えるプログラム編集部と、
    書き換えられた前記制御プログラムを読み込んで、前記ポインタ管理テーブルを参照して前記ポインタに対応する前記第二アドレスに格納された前記信号の値に基づいて演算処理する演算処理部と、
    を備えることを特徴とするプラント制御装置。
  2. 前記線番のそれぞれに割り当てられた前記第一アドレス及び前記ポインタの設定情報を記録するポインタ割当データと、
    前記線番の変更を行う際に、前記ポインタ割当データに記録されている前記線番のみを当該変更に応じて更新する線番更新部と、
    をさらに備えることを特徴とする請求項1に記載のプラント制御装置。
  3. 前記ポインタのそれぞれは、メモリ空間上の模擬用アドレスが設定され、2つの設定値のいずれかに設定されるフラグ情報を有し、
    前記演算処理部は、出力変数となる前記ポインタの前記フラグ情報が第1設定値のときは前記ポインタに対応する前記第二アドレスに出力値を書き込こみ、第2設定値のときは前記ポインタに対応する前記模擬用アドレスに出力値を書き込んで演算処理することを特徴とする請求項1または請求項2に記載のプラント制御装置。
  4. 前記ポインタのそれぞれは、メモリ空間の模擬用アドレスが設定され、2つの設定値のいずれかに設定されるフラグ情報を有し、
    前記演算処理部は、入力変数となる前記ポインタの前記フラグ情報が第1設定値のときは前記ポインタに対応する前記第二アドレスに格納された値を読み込み、前記フラグ情報が第2設定値のときは前記ポインタに対応する前記模擬用アドレスに格納された値を読み込んで演算処理することを特徴とする請求項1または請求項2に記載のプラント制御装置。
  5. 前記ポインタのそれぞれは、メモリ空間上の模擬用アドレスが設定され、3つの設定値のいずれかに設定されるフラグ情報を有し、
    前記演算処理部は、入出力変数となる前記ポインタの前記フラグ情報が第1設定値のときは前記ポインタに対応する前記第二アドレスに格納された値を読み込みまたは前記第二アドレスに出力値を書き込み、入力変数となる前記ポインタの前記フラグ情報が第2設定値のときは前記ポインタに対応する前記模擬用アドレスに格納された値を読み込み、出力変数となる前記ポインタの前記フラグ情報が第3設定値のときは前記ポインタに対応する前記模擬用アドレスに出力値を書き込んで演算処理することを特徴とする請求項1または請求項2に記載のプラント制御装置。
  6. 基板を介して入出力する複数の信号のそれぞれに線番を設定するステップと、
    前記線番のそれぞれをメモリ空間の第一アドレスに割り当てるステップと、
    前記信号のそれぞれの値を格納するメモリ空間の第二アドレスのそれぞれに対応して設定されたポインタをポインタ管理テーブルで管理するステップと、
    前記ポインタを前記線番のそれぞれに割り当てて、前記第一アドレスに格納するステップと、
    前記線番を変数として作成された制御プログラムの前記線番に対応する部分を前記ポインタに書き換えるステップと、
    書き換えられた前記制御プログラムを読み込んで、前記ポインタ管理テーブルを参照して前記ポインタに対応する前記第二アドレスに格納された前記信号の値に基づいて演算処理するステップと、
    を含むことを特徴とするプラント制御方法。
  7. コンピュータに、
    基板を介して入出力する複数の信号のそれぞれに線番を設定するステップと、
    前記線番のそれぞれをメモリ空間の第一アドレスに割り当てるステップ、
    前記信号のそれぞれの値を格納するメモリ空間の第二アドレスのそれぞれに対応して設定されたポインタをポインタ管理テーブルで管理するステップ、
    前記ポインタを前記線番のそれぞれに割り当てて、前記第一アドレスに格納するステップ、
    前記線番を変数として作成された制御プログラムの前記線番に対応する部分を前記ポインタに書き換えるステップ、
    書き換えられた前記制御プログラムを読み込んで、前記ポインタ管理テーブルを参照して前記ポインタに対応する前記第二アドレスに格納された前記信号の値に基づいて演算処理するステップを、実行させることを特徴とするプラント制御プログラム。
JP2013140883A 2013-07-04 2013-07-04 プラント制御装置、プラント制御方法及びプラント制御プログラム Active JP6071782B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013140883A JP6071782B2 (ja) 2013-07-04 2013-07-04 プラント制御装置、プラント制御方法及びプラント制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013140883A JP6071782B2 (ja) 2013-07-04 2013-07-04 プラント制御装置、プラント制御方法及びプラント制御プログラム

Publications (2)

Publication Number Publication Date
JP2015014883A true JP2015014883A (ja) 2015-01-22
JP6071782B2 JP6071782B2 (ja) 2017-02-01

Family

ID=52436583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013140883A Active JP6071782B2 (ja) 2013-07-04 2013-07-04 プラント制御装置、プラント制御方法及びプラント制御プログラム

Country Status (1)

Country Link
JP (1) JP6071782B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017037367A (ja) * 2015-08-06 2017-02-16 富士電機株式会社 制御装置及び制御方法
JP2018013917A (ja) * 2016-07-20 2018-01-25 株式会社Ihi ロジック更新装置及びロジック更新方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271209A (ja) * 2002-03-15 2003-09-26 Omron Corp 制御装置並びに拡張機器及びプログラミングツール
JP2004152270A (ja) * 2002-09-30 2004-05-27 Husco Internatl Inc 油圧システムのプログラマブル制御装置用のオペレーティングシステム
JP2006330932A (ja) * 2005-05-24 2006-12-07 Toshiba Mitsubishi-Electric Industrial System Corp プラント制御用プログラムの表示・編集装置
JP2009009611A (ja) * 2008-10-07 2009-01-15 Toshiba Corp 制御プログラム生成装置
WO2011089688A1 (ja) * 2010-01-20 2011-07-28 三菱電機株式会社 プログラマブルコントローラシステムおよび開発システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271209A (ja) * 2002-03-15 2003-09-26 Omron Corp 制御装置並びに拡張機器及びプログラミングツール
JP2004152270A (ja) * 2002-09-30 2004-05-27 Husco Internatl Inc 油圧システムのプログラマブル制御装置用のオペレーティングシステム
JP2006330932A (ja) * 2005-05-24 2006-12-07 Toshiba Mitsubishi-Electric Industrial System Corp プラント制御用プログラムの表示・編集装置
JP2009009611A (ja) * 2008-10-07 2009-01-15 Toshiba Corp 制御プログラム生成装置
WO2011089688A1 (ja) * 2010-01-20 2011-07-28 三菱電機株式会社 プログラマブルコントローラシステムおよび開発システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017037367A (ja) * 2015-08-06 2017-02-16 富士電機株式会社 制御装置及び制御方法
JP2018013917A (ja) * 2016-07-20 2018-01-25 株式会社Ihi ロジック更新装置及びロジック更新方法

Also Published As

Publication number Publication date
JP6071782B2 (ja) 2017-02-01

Similar Documents

Publication Publication Date Title
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
CN110096300B (zh) 一种fpga程序文件备份管理系统、运行方法及升级方法
JP5583305B2 (ja) プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
JP5790128B2 (ja) プログラマブルコントローラ・システム、その支援装置
JP6071782B2 (ja) プラント制御装置、プラント制御方法及びプラント制御プログラム
CN105408827B (zh) 可编程控制器系统、可编程控制器、程序显示装置、程序的显示方法
CN104133706A (zh) 固件修改方法及固件修改装置
JP4319082B2 (ja) プログラミングシステム
JP2013084112A (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
JP6119452B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
JP5205988B2 (ja) Plcのグローバル変数定義方式
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
JP2015022511A (ja) プログラマブルコントローラシステム、その支援装置、プログラム
CN110637263B (zh) 监视辅助装置、监视辅助方法及记录介质
WO2020008867A1 (ja) 制御装置および制御方法
JP6020071B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ
JP7499966B2 (ja) 制御装置、及び、アドレス管理方法
JPWO2019244226A1 (ja) プログラム実行支援装置、プログラム実行支援方法、およびプログラム実行支援プログラム
JP6674067B1 (ja) ファイル関連付け処理装置、ファイル関連付け方法及びファイル関連付けプログラム
JP2018018248A (ja) プログラマブルコントローラ
JP4362777B2 (ja) プログラミング装置、シンボル自動登録方法、プログラムおよび記録媒体
JP2017016416A (ja) 制御ソフトウェア開発プログラム
JP2016151973A (ja) 制御コントロールシステム、その開発支援装置、制御装置
JP2003108397A (ja) ファームウェア書き換え方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160209

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: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R151 Written notification of patent or utility model registration

Ref document number: 6071782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151