(57)【要約】      （修正有）【課題】既存の制御ソフトウェアを活用し、高品質の制御ソフトウェアを少ない工程で得る制御ソフトウェア作成方法を提供する。【解決手段】複数のコントローラ２０から転送された制御ソフトウェア１００に基づき、ソフト資源制約情報を含む制御ソフト資源情報２００を作成し、転送された制御ソフトウェアをプロセスプラントに含まれる複数の設備のそれぞれに紐づけした制御ソフトマスタ３００を作成し、制御ソフトマスタから第１の設備の監視または制御を実行する第１の制御ソフトウェアを抽出し、制御ソフト資源情報に含まれるコントローラの入出力ノードの使用状況情報を用いて、第１の制御ソフトウェアに含まれる入出力ノードを第２の設備の監視または制御を実行するコントローラの空き入出力ノードに置換した第２の制御ソフトウェアを作成する。【選択図】図３
2020190802.tif 000002
【特許請求の範囲】
【請求項１】
第１の設備を含む複数の設備を有するプロセスプラントを監視または制御する監視制御システムの保有する制御ソフトウェアのうち、前記第１の設備の監視または制御を実行する制御ソフトウェアを流用して、前記第１の設備に相当する第２の設備の監視または制御を実行する制御ソフトウェアを作成する制御ソフトウェア作成方法であって、
前記監視制御システムは、複数のコントローラを有し、前記複数のコントローラはそれぞれが格納する制御ソフトウェアを実行することにより前記プロセスプラントを監視または制御するように構成されており、
前記複数のコントローラのそれぞれから、その格納する制御ソフトウェアの転送を受け、
前記複数のコントローラから転送された制御ソフトウェアに基づき、前記複数のコントローラのそれぞれが実行可能な制御ソフトウェアを制約するソフト資源制約情報を含む制御ソフト資源情報を作成し、
前記複数のコントローラから転送された制御ソフトウェアを、前記プロセスプラントに含まれる複数の設備のそれぞれに紐づけした制御ソフトマスタを作成し、
前記制御ソフトマスタから、前記第１の設備の監視または制御を実行する第１の制御ソフトウェアを抽出し、
前記制御ソフト資源情報は、前記複数のコントローラが制御可能な入出力ノードの使用状況情報を有し、前記第１の制御ソフトウェアに含まれる入出力ノードを、前記第２の設備の監視または制御を実行するコントローラの空き入出力ノードに置換した第２の制御ソフトウェアを作成する制御ソフトウェア作成方法。
【請求項２】
請求項１において、
前記制御ソフトウェアは、前記プロセスプラントに含まれるプラント機器に対する制御方法を定義するプラント制御ファイルと、前記プラント制御ファイルに係る制御の実行に必要な運転パラメータを含む制御ソフトウェア作成方法。
【請求項３】
請求項１において、
前記第１の制御ソフトウェアと前記第２の制御ソフトウェアとを比較して、比較結果ファイルを出力する制御ソフトウェア作成方法。
【請求項４】
請求項３において、
前記第２の制御ソフトウェアには、前記第１の設備と前記第２の設備との相違に基づく修正が加えられている制御ソフトウェア作成方法。
【請求項５】
請求項１において、
前記複数のコントローラのそれぞれが格納している制御ソフトウェアと前記プロセスプラントに含まれる複数の設備との紐づけ情報を保持する制御ソフトウェア作成方法。
【請求項６】
請求項１において、
前記複数のコントローラが制御可能な入出力ノードは、アナログ入出力ノードとデジタル入出力ノードとを含む制御ソフトウェア作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセスプラントを制御する制御ソフトウェアの作成方法に関する。
【背景技術】
【０００２】
化学製品、医薬品プラント、あるいは水処理などの環境処理施設など（これらを包括して、プロセスプラントと呼ぶ）には、プロセスプラントを構成する多数の機器を制御する監視制御システムが設けられている。プロセスプラントを構成する機器（プラント機器ともいう）には、プロセスプラントの運転状態をモニタする多数のセンサが設けられ、プロセスプラントの監視制御システムは、センサからのセンシングデータに基づき、プラント機器を自動制御したり、プラント機器の異常を検知してオペレータに対してアラームを発報させたりする。
【０００３】
プロセスプラントは一般に、プラント機器を更新したり、増設したりしながら、長期にわたって運転に供される。これらの変化にともない、プロセスプラントを制御する監視制御システムの制御ソフトウェアも更新される必要がある。例えば、稼働中のプロセスプラントにおいて、生産能力を増強するため既存の設備と同じ設備を増設するような場合、既存設備の制御ソフトウェアを複製して新規設備の制御ソフトウェアを生成することができれば、稼働実績のある制御ソフトウェアがそのまま流用でき、高い品質の制御ソフトウェアを短期間に構築することが可能になる。しかしながら、従来、設備が同一であっても、既存設備の制御ソフトウェアを流用することができるようになっておらず、制御ソフトウェアの制作やテストに新規設備の導入の場合と同程度の工数を要していた。
【０００４】
特許文献１は設計者が過去に作成した制御プログラムを円滑に再利用することができる制御プログラム作成方法を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１６３００３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、複数の制御パーツの組み合わせから構成された制御プログラムを再利用することができなかったことを課題としている。一方、制御ソフトウェアの再利用を困難とする課題は特許文献１のものには限られない。
【０００７】
上述のように、プロセスプラントが長期にわたって運転される間に、プラント機器の更新などの変化、あるいは関連する法規制の変化等に対応するため、制御ソフトウェアは随時更新、廃止されたり、新たな制御ソフトウェアが追加されたりしてきている。さらに、後述するように、コントローラが実行できる制御ソフトウェアの容量には上限があり、そのような場合には、コントローラを増設することで対応してきた。この結果、プロセスプラント新設時には体系的に構築された制御ソフトウェアも、長い年月にわたる更新の蓄積を経て、例えば、同じプラント機器に対する制御ソフトウェアが複数のコントローラに散在するといった状況も生じている。しかしながら、従来、制御ソフトウェアは被制御対象である設備単位で管理されていなかったため、所定の設備についての制御ソフトウェアを複製したいという要望があっても、その設備を制御するために複製する必要のある制御ソフトウェアを特定することが困難であった。
【０００８】
本発明の目的は、既存の制御ソフトウェアを活用し、高品質の制御ソフトウェアを少ない工程で得ることを可能にすることである。
【課題を解決するための手段】
【０００９】
本発明の一実施形態である制御ソフトウェア作成方法は、第１の設備を含む複数の設備を有するプロセスプラントを監視または制御する監視制御システムの保有する制御ソフトウェアのうち、第１の設備の監視または制御を実行する制御ソフトウェアを流用して、第１の設備に相当する第２の設備の監視または制御を実行する制御ソフトウェアを作成する制御ソフトウェア作成方法であって、監視制御システムは、複数のコントローラを有し、複数のコントローラはそれぞれが格納する制御ソフトウェアを実行することによりプロセスプラントを監視または制御するように構成されており、複数のコントローラのそれぞれから、その格納する制御ソフトウェアの転送を受け、複数のコントローラから転送された制御ソフトウェアに基づき、複数のコントローラのそれぞれが実行可能な制御ソフトウェアを制約するソフト資源制約情報を含む制御ソフト資源情報を作成し、複数のコントローラから転送された制御ソフトウェアを、プロセスプラントに含まれる複数の設備のそれぞれに紐づけした制御ソフトマスタを作成し、制御ソフトマスタから、第１の設備の監視または制御を実行する第１の制御ソフトウェアを抽出し、制御ソフト資源情報は、複数のコントローラが制御可能な入出力ノードの使用状況情報を有し、第１の制御ソフトウェアに含まれる入出力ノードを、第２の設備の監視または制御を実行するコントローラの空き入出力ノードに置換した第２の制御ソフトウェアを作成する。
【発明の効果】
【００１０】
既存の制御ソフトウェアを活用し、高品質の制御ソフトウェアを少ない工程で得ることが可能になる。
【００１１】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】プロセスプラントと監視制御システムの概要図である。
【図２】制御ソフトウェアの例である。
【図３】制御ソフトウェアマスタを作成するフローである。
【図４】制御ソフト資源情報の例である。
【図５】制御ソフトウェアを作成するフローである。
【発明を実施するための形態】
【００１３】
図１に、プロセスプラント１及びプロセスプラント１を制御する監視制御システム１０の概要を示す。プロセスプラント１は複数の設備を含み、その一例である設備２はタンク３を含む。ここで、「設備」の範囲について特に限定はなく、１つの設備が複数のプロセス機器を含んでいてもよいが、例えば、ひとまとまりの機能を果たす単位とする。この例では、タンク３にその水位を測定するセンサ６が設けられ、監視制御システム１０は、センサ６からのセンシングデータから、バルブ４，５の開閉を制御してタンク３内の水位を制御したり、タンク内の水位値が異常値を示している場合には、操作卓１１に対してアラームを発報したりする。このような制御は、監視制御システム１０のコントローラ２０に実装された制御ソフトウェアによって実行される。
【００１４】
監視制御システム１０は、操作卓（オペレータコンソール）１１と、操作卓１１とネットワーク１５によって接続されるコントローラ２０とを有する。プロセスプラント１の制御規模に応じて、通常、複数のコントローラ２０が設けられる。コントローラ２０はそれぞれ回路基板２１に接続されている。回路基板２１はコントローラ２０とプロセスプラント１に含まれる各プラント機器との通信に必要な信号処理を行うために設けられる。例えば、プロセスプラント１に含まれるセンサからのアナログ信号であるセンシングデータをデジタル信号に変換したり、コントローラ２０からのプラント機器を制御するためのデジタル信号である制御信号を所定の強度の電圧信号に変換したり、といった処理を行う。各コントローラ２０が制御するプロセス機器の運転状況は操作卓１１に集約され、操作卓１１においてプロセスプラント１全体の運転状況が把握できるようになっている。オペレータは、操作卓１１において把握したプロセスプラント１の運転状況に基づき、個々のプロセス機器に対する制御指示を出すことができる。操作卓１１からの制御指示を受けると、コントローラ２０はオペレータの指示に応じたプロセス機器の制御を実行する。
【００１５】
なお、監視制御システム１０の有する制御ソフトウェアをメンテナンスするため、ワークステーション３０が接続されることがある。ワークステーション３０はネットワーク１５に接続できるようにしてもよいし、ネットワーク１５に直接接続することなく、リムーバブル記憶装置にメンテナンス対象となる制御ソフトウェアなどのデータを格納することによって、必要なデータを監視制御システム１０とやり取りするようにしてもよい。
【００１６】
図２にコントローラ２０の記憶装置４０に格納されている制御ソフトウェア１００を示す。図１に示すようにコントローラ２０が複数台設けられている場合には、それぞれのコントローラ２０の記憶装置には、それぞれが実行する制御に関わる制御ソフトウェアが格納されている。制御ソフトウェア１００は、例えばプラント制御ファイル１０１、運転パラメータ１０２、グラフィックファイル１０３、プラント制御付帯ファイル１０４を含む。プラント制御ファイル１０１は、プラント機器に対する制御方法を定義するファイルである。例えば、プラント機器におけるフィードバック制御（ループ制御）、シーケンス制御などの制御方法、バルブやモータなどの操作器の制御方法、操作卓１１に対してアラームを発報させる制御方法に係る定義ファイルが含まれる。運転パラメータ１０２は、プラント制御ファイル１０１に係る制御の実行に必要な運転パラメータである。運転パラメータ１０２は随時アップデートされ、コントローラ２０に格納されている運転パラメータが最新の運転パラメータである。グラフィックファイル１０３は、プロセス機器の運転状況を操作卓１１のモニタ等に表示するための画面ファイルである。プラント制御付帯ファイル１０４は、プラント制御ファイル１０１に対応して設けられ、オペレータが制御の内容を容易に理解できるように、制御内容の説明文、説明図などが収められている。なお、図２に示す制御ソフトウェアは例示であり、これらをすべて含まなければならないものではなく、また、これら以外のソフトウェアを含んでいてもよい。
【００１７】
ここで、プロセスプラント１に既存の設備２と同じ設備である設備２ｂを増設するものとする（図１参照）。設備の増設に応じて、設備２ｂを制御する制御ソフトウェアを生成する必要が生じる。本実施例では、設備２を制御する制御ソフトウェアを流用して、設備２ｂを制御する制御ソフトウェアを生成する。上述したように、制御ソフトウェアは被制御対象である設備単位で管理されていない。このため、制御ソフトウェアの流用にあたり、まず、各コントローラが保有する制御ソフトウェアおよび制御ソフト資源情報（詳細については後述する）とプロセスプラント１の設備との対応付けを行った制御ソフトマスタを作成する。
【００１８】
図３に、制御ソフトマスタ３００を作成するフローを示す。コントローラ２０はその保有する制御ソフトウェア１００を操作卓１１にダウンロードする（Ｓ０１）。ここで、ダウンロードされる制御ソフトウェアは図２で説明した制御ソフトウェア１００である。操作卓１１にダウンロードされた各コントローラ（ここではプロセスプラント１がコントローラ２０ａ〜ｃの３台のコントローラで制御されているものとする）からの制御ソフトウェア１００はワークステーション３０に転送される（Ｓ０２）。転送される段階では、制御ソフトウェア１００はコントローラ２０ａ〜ｃごとの纏まりとなっている。
【００１９】
ワークステーション３０では、制御ソフト資源情報を作成する（Ｓ０３）。制御ソフト資源情報２００について説明する。制御ソフトウェアにおいて、プロセス機器に対する制御は、センシングデータを入力する、あるいはセンシングデータ等に基づき演算した結果を出力する入出力ノードを含んで定義されている。ここで、コントローラが制御可能な入出力ノードには上限があり、１台のコントローラは所定の入出力ノードの数を超えない範囲での制御しか行えない。このため、コントローラが制御可能な入出力ノードの情報をここでは制御ソフト資源情報と称する。制御ソフト資源情報２００の例を図４に示す。
【００２０】
図４に示す制御ソフト資源情報２００は、１台のコントローラが制御可能な入出力ノードの使用状況を示すテーブルとして構成されている。この例では、アナログ入出力についてはそれぞれ５００のノード数が制御可能であり、デジタル入出力についてはそれぞれ４０００のノード数が制御可能とされている。それぞれのノード名に対して、使用状況が登録されている。当該コントローラの制御ソフトウェアについて当該ノード名が使用されている場合には使用状況に１のフラグが立てられ、使用されていなければ０のフラグが立てられている。附属情報として、当該ノード名がどの制御ソフトウェアにおいて使用されているかといったような情報を保持していてもよい。図４に示す制御ソフト資源情報２００は一例であり、コントローラが制御できる上限を与える要件（ソフト資源制約情報）が他にもあれば、そのようなソフト資源制約情報についても制御ソフト資源情報に含ませる。
【００２１】
ワークステーション３０は、１つのコントローラが実行できる上限を当該コントローラの仕様により把握できる。そこで、ワークステーション３０が各コントローラの制御ソフトウェア１００に含まれている入出力ノードを抽出することにより、空き入出力ノードを把握し、制御ソフト資源情報２００を生成する。この段階で、ワークステーション３０は、制御ソフトウェア１００と制御ソフト資源情報２００とをコントローラ２０ａ〜ｃごとの纏まりとして保有する。
【００２２】
続いて、ワークステーション３０は、制御ソフトウェア１００と制御ソフト資源情報２００とを設備ごとに仕分けする（Ｓ０４）。例えば、プロセスプラント１を設備Ａ〜Ｄに区分けし、設備Ａ〜Ｄに含まれるプロセス機器を特定する。制御ソフトウェア１００が関係するプロセス機器を特定することにより、制御ソフトウェア１００と制御ソフト資源情報２００とを設備Ａ〜Ｄに対応するように仕分けし直すことができる。このように、制御ソフトウェア１００と制御ソフト資源情報２００を設備単位に仕分けし直したものを、制御ソフトマスタと呼ぶ。なお、制御ソフトマスタ３００は、各コントローラからの制御ソフトウェア１００が少なくとも設備単位に仕分けされていれば足り、制御ソフト資源情報２００は必ずしも設備ごとに仕分けされていなくてもよい。
【００２３】
また、制御ソフトマスタ３００を一度作成することで得られる制御ソフトウェアと設備との紐づけ情報は保存しておくことが望ましい。ただし、制御ソフトウェア自体は制御ソフトウェアの生成のタイミングでダウンロードさせるようにする。その時点での最新の制御ソフトウェアを活用するためである。
【００２４】
このように制御ソフトマスタ３００は設備と紐づけられているため、増設する設備に対応する制御ソフトウェアを複製することが可能になる。例えば、増設する設備２ｂに対応する制御ソフトウェアが制御ソフトマスタ３００における制御ソフトウェア１００Ｃであれば（図３参照）、流用する対象の制御ソフトウェアである制御ソフトウェア１００Ｃを特定できる。
【００２５】
しかしながら、既存設備の制御ソフトウェア１００Ｃを複製しても、新規設備の制御ソフトウェアになるわけではない。既存設備の制御ソフトウェア１００Ｃに含まれる入出力ノードを、新規設備を制御するコントローラを特定し、その空き入出力ノードに置き換える必要がある。本実施例では、制御ソフト資源情報２００を用いて、使用可能な入出力ノードを自動で割り当てることにより、既存の制御ソフトウェアの活用を容易化する。
【００２６】
図５に既存の制御ソフトウェアを流用し、新規の制御ソフトウェアを生成するフローを示す。例えば、制御ソフトマスタ３００の設備２に対応する制御ソフトウェア１００Ｃを流用し、設備２ｂに対応する制御ソフトウェア１００Ｃ−２を作成するものとする。制御ソフトウェアの作成は、ワークステーション３０が実行する。
【００２７】
まず、制御ソフトマスタ３００の設備２に対応する制御ソフトウェア１００Ｃを複製する（Ｓ１１）。なお、図５では、既存の制御ソフトウェアを制御ソフトウェア（マスタ）、新規の制御ソフトウェアを制御ソフトウェア（新規）と記す。続いて、制御ソフトウェア（新規）を実行するコントローラを選択し（Ｓ１２）、選択したコントローラの制御ソフト資源情報を取得する（Ｓ１３）。制御ソフト資源情報により当該コントローラの空き入出力ノードを特定できるので（例えば、図４の例であれば使用状況フラグが０である）、複製した制御ソフトウェアに含まれる入出力ノードを、選択したコントローラの空き入出力ノードに置き換える（Ｓ１４）。
【００２８】
また、同一の設備を増設する場合であっても、既存の設備に用いられていた同一の機器がなくなっており、同じ機能の別の機器を用いるとか、増設にあたり手直しをするということもありうる。このような場合、制御ソフトマスタの制御ソフトウェアを複製するだけでは不十分である場合には、プラント機器の相違に基づき制御ソフトウェアの修正を行う（Ｓ１５）。これにより、新規設備の制御ソフトウェア１００Ｃ−２を得ることができる。
【００２９】
作成した制御ソフトウェア（新規）１００Ｃ−２と、そのもとにした制御ソフトマスタの制御ソフトウェア（マスタ）１００Ｃとを比較し（Ｓ１６）、比較結果ファイルを出力する（Ｓ１７）。正しく制御ソフトウェア（新規）が作成されていれば、相違点として入出力ノード及びプラント機器の相違に基づく修正箇所のみが比較結果ファイルに出力される。この場合は、正しく制御ソフトウェアが作成されたものと判断することができる。
【００３０】
このように実績のある制御ソフトウェアを流用することにより、高い品質のソフトウェアを少ない工程により得ることが可能になる。制御ソフトウェアには最新の運転パラメータも含まれているため、最適な運転パラメータの探索なども不要である。また、生成された制御ソフトウェアとマスタである制御ソフトウェアとを比較するステップ（Ｓ１６）を有することにより、ソフトウェア作成工程にエラーが生じていないか、検証することが容易になる。図５のフローの例では、制御ソフトウェア（新規）１００Ｃ−２の作成後に１回行うようにしているが、フローの途中で複数回実施してもよい。
【００３１】
また、制御ソフトウェア（マスタ）１００Ｃをそのまま流用した部分については改めてのテストは不要となり工数を更に低減されることができる。一方、制御ソフトウェア（マスタ）１００Ｃを修正した部分については、テスト、最適パラメータの探索と登録を行う（Ｓ１８）。テスト結果はテスト結果ファイルとして出力する（Ｓ１９）。ステップＳ１７で出力した比較結果ファイル、ステップＳ１９で出力したテスト結果ファイルは、適正に制御ソフトウェアを作成したことを示す履歴情報として保存しておくことが望ましい。
【００３２】
なお、図５のフローは一例であり、ステップの順序の入替など可能である。例えば、ステップＳ１５の後に、ステップＳ１４を実行するようにしてもよい。
【符号の説明】
【００３３】
１：プロセスプラント、２：設備、３：タンク、４，５：バルブ、６：センサ、１０：監視制御システム、１１：操作卓、１５：ネットワーク、２０：コントローラ、２１：回路基板、３０：ワークステーション、４０：記憶装置、１００：制御ソフトウェア、１０１：プラント制御ファイル、１０２：運転パラメータ、１０３：グラフィックファイル、１０４：プラント制御付帯ファイル、２００：制御ソフト資源情報、３００：制御ソフトマスタ。
【図１】
2020190802.tif 000003
【図２】
2020190802.tif 000004
【図３】
2020190802.tif 000005
【図４】
2020190802.tif 000006
【図５】
2020190802.tif 000007