(57)【要約】【課題】高品質なエンジニアリングを提供可能なエンジニアリングシステム及びエンジニアリング方法を提供する。【解決手段】エンジニアリングシステム２００は、プラントに設置されたフィールド機器２０５を制御する制御機器２０１を作動させるソフトウェアを作成及びデバッグするエンジニアリングツール２１１と、模擬入力または制御機器２０１への入力とソフトウェアとに従って制御機器２０１の作動状態をシミュレーションする仮想機器２１２と、を有するクラウドを備え、エンジニアリングツール２１１は、仮想機器２１２の作動結果と制御機器２０１からの出力または模擬入力とに基づいてソフトウェアのデバッグを実行する。【選択図】図４
2020052812.tif 000002
【特許請求の範囲】
【請求項１】
プラントに設置されたフィールド機器を制御する制御機器を作動させるソフトウェアを作成及びデバッグするエンジニアリングツールと、
模擬入力または前記制御機器への入力と前記ソフトウェアとに従って前記制御機器の作動状態をシミュレーションする仮想機器と、
を有するクラウドを備え、
前記エンジニアリングツールは、前記仮想機器の作動結果と前記制御機器からの出力または前記模擬入力とに基づいて前記ソフトウェアのデバッグを実行する、
エンジニアリングシステム。
【請求項２】
前記デバッグが終了すると、前記制御機器に前記ソフトウェアをダウンロードさせる、請求項１に記載のエンジニアリングシステム。
【請求項３】
ローカルエンジニアリングステーションを介して、前記ソフトウェアをダウンロードさせる、請求項２に記載のエンジニアリングシステム。
【請求項４】
２組以上の前記制御機器及び前記エンジニアリングツールを有する、請求項１乃至請求項３のいずれか一項に記載のエンジニアリングシステム。
【請求項５】
エンジニアリングツールと、仮想機器とを有するクラウドを備えるエンジニアリングシステムにより実行されるエンジニアリング方法であって、
前記エンジニアリングツールにおいて、プラントに設置されたフィールド機器を制御する制御機器を作動させるソフトウェアを作成及びデバッグするステップと、
前記仮想機器において、模擬入力または前記制御機器への入力と前記ソフトウェアとに従って前記制御機器の作動状態をシミュレーションするステップと、を含み、
前記エンジニアリングツールは、前記仮想機器の作動結果と前記制御機器からの出力または前記模擬入力とに基づいて前記ソフトウェアのデバッグを実行する、
エンジニアリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、エンジニアリングシステム及びエンジニアリング方法に関する。
【背景技術】
【０００２】
従来、種々の産業オートメーションシステムのために、設計、保守及びトラブルシューティング等のエンジニアリングを実行するシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／０９８６２６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されたシステムでは、クラウドを用いることによりエンジニアリングを遠隔で実行することができる。しかし、クラウドのより効果的な活用により高品質なエンジニアリングを提供できれば望ましい。
【０００５】
本開示は、高品質なエンジニアリングを提供可能なエンジニアリングシステム及びエンジニアリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
幾つかの実施形態に係るエンジニアリングシステムは、プラントに設置されたフィールド機器を制御する制御機器を作動させるソフトウェアを作成及びデバッグするエンジニアリングツールと、模擬入力または前記制御機器への入力と前記ソフトウェアとに従って前記制御機器の作動状態をシミュレーションする仮想機器と、を有するクラウドを備え、前記エンジニアリングツールは、前記仮想機器の作動結果と前記制御機器からの出力または前記模擬入力とに基づいて前記ソフトウェアのデバッグを実行する。これにより、エンジニアリングシステムは、模擬入力だけではなく、実際にソフトウェアを使用する制御機器による制御状態に関するデータを用いてデバッグを行うため、より実際の使用環境に適合したデバッグを実行することができる。このようにして、エンジニアリングシステムによれば、高品質なエンジニアリングを提供可能である。
【０００７】
一実施形態において、前記エンジニアリングシステムは、前記デバッグが終了すると、前記制御機器に前記ソフトウェアをダウンロードさせてよい。これにより、制御機器は、デバッグが終了したソフトウェアを用いて制御を実行できるため、誤制御の可能性を低減することができる。
【０００８】
一実施形態において、前記エンジニアリングシステムは、ローカルエンジニアリングステーションを介して、前記ソフトウェアをダウンロードさせてもよい。これにより、エンジニアリングツールは、作成したソフトウェアを、制御機器が使用されているプラントが停止しているか否かにかかわらず、ローカルエンジニアリングステーションにダウンロードすることができる。
【０００９】
一実施形態において、前記エンジニアリングシステムは、２組以上の前記制御機器及び前記エンジニアリングツールを有してもよい。これにより、いわゆる分散型のエンジニアリングシステムにおいても、高品質なエンジニアリングを提供可能である。
【００１０】
幾つかの実施形態に係るエンジニアリング方法は、エンジニアリングツールと、仮想機器とを有するクラウドを備えるエンジニアリングシステムにより実行されるエンジニアリング方法であって、前記エンジニアリングツールにおいて、プラントに設置されたフィールド機器を制御する制御機器を作動させるソフトウェアを作成及びデバッグするステップと、前記仮想機器において、模擬入力または前記制御機器への入力と前記ソフトウェアとに従って前記制御機器の作動状態をシミュレーションするステップと、を含み、前記エンジニアリングツールは、前記仮想機器の作動結果と前記制御機器からの出力または前記模擬入力とに基づいて前記ソフトウェアのデバッグを実行する。これにより、エンジニアリングシステムは、模擬入力だけではなく、実際にソフトウェアを使用する制御機器による制御状態に関するデータを用いてデバッグを行うため、より実際の使用環境に適合したデバッグを実行することができる。このようにして、エンジニアリング方法によれば、高品質なエンジニアリングを提供可能である。
【発明の効果】
【００１１】
本開示によれば、高品質なエンジニアリングを提供可能なエンジニアリングシステム及びエンジニアリング方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】エンジニアリングシステムの一例を示す概略図である。
【図２】エンジニアリングシステムにおけるマイグレーションの一例を示す概略図である。
【図３】エンジニアリングシステムの他の一例を示す概略図である。
【図４】第１実施形態に係るエンジニアリングシステムの一例を示す概略図である。
【図５】図４のエンジニアリングシステムにより実行される処理の一例を示すフローチャートである。
【図６】第１実施形態に係るエンジニアリングシステムの一変形例を示す概略図である。
【図７】第２実施形態に係るエンジニアリングシステムの一例を示す概略図である。
【図８】第２実施形態に係るエンジニアリングシステムの一変形例を示す概略図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１４】
まず、エンジニアリングシステムの例について、図１乃至図３を参照しながら説明する。
【００１５】
図１は、エンジニアリングシステムの一例を示す概略図である。図１に示すエンジニアリングシステム１００は、制御機器１０１と、監視装置１０２と、エンジニアリングワークステーション（以下、単に「ＥＷＳ」ともいう）１０３とを備える。制御機器１０１と、監視装置１０２と、ＥＷＳ１０３とは、それぞれサーバ装置等のコンピュータ装置により構成されていてよい。制御機器１０１と、監視装置１０２と、ＥＷＳ１０３とは、ネットワーク１０４に接続され、互いに情報通信可能に構成されている。
【００１６】
制御機器１０１は、所定のソフトウェアを実行することにより、被制御機器１０５を制御する。本明細書において、ソフトウェアは、例えばＯＳ（Operating System：オペレーティングシステム）と、ＯＳ上で動作するアプリケーションとの双方を含むものであるとして理解されたい。制御機器１０１において実行されるソフトウェアは、ＥＷＳ１０３を用いて作成される。
【００１７】
被制御機器１０５は、プラントにおいて用いられるフィールド機器である。フィールド機器は、例えば圧力計、流量計、温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、プラント内の状況や対象物を撮影するカメラやビデオ等の撮像機器、プラント内の異音等を収集したり警報音等を発したりするマイクやスピーカ等の音響機器、各機器の位置情報を出力する位置検出機器、及びその他の機器を含む。また、プラントは、化学等の工業プラント、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント、及びその他のプラントを含む。なお、図１では、３つの被制御機器１０５が図示されているが、被制御機器１０５の個数はこれに限られず、適宜の個数であってよい。
【００１８】
被制御機器１０５は、制御機器１０１と通信可能に接続されている。被制御機器１０５は、例えば、センサ機器と、バルブ機器及び／又はアクチュエータ機器とを含んでいてよい。制御機器１０１は、センサ機器からの入力に応じてソフトウェアに従って、バルブ機器及び／又はアクチュエータ機器を制御してよい。このようにして、制御機器１０１は、プラントの所定区画を制御できる。
【００１９】
制御機器１０１は、例えば制御機器１０１に通信可能に接続されたセンサ機器から、種々のデータを取得してもよい。つまり、制御機器１０１は、センサ機器から入力を受け付ける。センサ機器は、被制御機器１０５が設けられるプラントにおいて、適宜の位置に適宜の個数、配置されていてよい。制御機器１０１は、ソフトウェアを実行することにより、センサ機器から取得したデータ（以下、単に「取得データ」ともいう）に基づき、被制御機器１０５を制御する信号を出力してよい。信号の出力により、制御機器１０１は、被制御機器１０５を制御する。例えば、制御機器１０１で実行されるソフトウェアにおいて、取得データに応じた被制御機器１０５の制御内容が規定されており、制御機器１０１は、ソフトウェアを実行することにより、入力に応じた信号を出力する。
【００２０】
監視装置１０２は、制御機器１０１による制御を監視する。例えば、監視装置１０２は、取得データを、制御機器１０１から取得し、当該取得データを収集（記憶）する。また、監視装置１０２は、例えば収集した取得データに対して所定の演算処理を実行したり、演算処理後の結果を表示部に表示したりする。例えば、エンジニアは、表示部の表示を見ることにより、制御機器１０１による制御状態を知ることができる。
【００２１】
ＥＷＳ１０３は、制御機器１０１において実行されるソフトウェアを作成するためのワークステーションである。ＥＷＳ１０３において作成されるソフトウェアは、例えば、上述したように、取得データに応じた被制御機器１０５の制御内容を規定したものである。
【００２２】
ＥＷＳ１０３では、作成したソフトウェアにバグ（欠陥）の有無を確認するためのデバッグが行われる。具体的には、例えば、エンジニアが、ＥＷＳ１０３において、作成したソフトウェアが設計通りに動作するか否かを確認するために模擬入力を行う。模擬入力に対する出力が設計と異なる場合は、バグが存在すると判断され、当該バグを解消するようにソフトウェアが修正される。デバッグが終了し、エンジニアにより、ＥＷＳ１０３におけるソフトウェアの作成が完了したと判断されると、ＥＷＳ１０３において作成されたソフトウェアが、制御機器１０１にダウンロードされる。そして、制御機器１０１は、ダウンロードしたソフトウェアを実行することにより、被制御機器１０５を制御する。
【００２３】
制御機器１０１にソフトウェアをダウンロードし、被制御機器１０５の制御が開始された後、仮に、制御機器１０１による制御において誤制御が発生した場合、エンジニアにより、ＥＷＳ１０３において当該誤制御の原因となったバグを特定し、バグを解消するためにソフトウェアの修正が行われる。
【００２４】
図２は、エンジニアリングシステムにおけるマイグレーションの一例を示す概略図である。すなわち、図２は、旧システムから新システムへの切換えを行う場合の一例を示す概略図である。
【００２５】
図２に示すエンジニアリングシステム１１０は、第１制御機器１１１ａと、第２制御機器１１１ｂと、監視装置１１２と、第１ＥＷＳ１１３ａと、第２ＥＷＳ１１３ｂとを備える。ここでは、第１ＥＷＳ１１３ａにおいて作成されたソフトウェアを用いて第１制御機器１１１ａにより被制御機器１１５の制御が実行される第１エンジニアリングシステムから、第２ＥＷＳ１１３ｂにおいて作成されたソフトウェアを用いて第２制御機器１１１ｂにより被制御機器１１５の制御が実行される第２エンジニアリングシステムへの、システムの切換えが実行されるとする。
【００２６】
図２に示す、第１制御機器１１１ａ及び第２制御機器１１１ｂ、監視装置１１２、並びに、第１ＥＷＳ１１３ａ及び第２ＥＷＳ１１３ｂとの、機能及び構成は、それぞれ図１を用いて説明した、制御機器１０１、監視装置１０２、及び、ＥＷＳ１０３と同様であってよい。図２は、エンジニアリングシステムの切換え時の様子を示し、図２では、第１制御機器１１１ａと、第２制御機器１１１ｂと、監視装置１１２と、第１ＥＷＳ１１３ａと、第２ＥＷＳ１１３ｂとは、ネットワーク１１４に接続され、互いに情報通信可能に構成されている。
【００２７】
エンジニアリングシステムの切換え前は、第１エンジニアリングシステムが使用され、図２に示すように、第１制御機器１１１ａにより、被制御機器１１５の制御が行われている。エンジニアリングシステムの切換えを行う場合、例えば、切換え前の第１エンジニアリングシステムが使用されている状態において、切換え後の第２エンジニアリングシステムが設置される。つまり、第１エンジニアリングシステムが設置されているネットワーク１１４に対し、第２エンジニアリングシステムを構成する第２制御機器１１１ｂ及び第２ＥＷＳ１１３ｂが接続される。そして、第１エンジニアリングシステムが適用されているプラントが稼働を停止している間に、第２エンジニアリングシステムへの切換えが行われ、プラントの再稼働時には、第２エンジニアリングシステムにより制御が行われる。つまり、エンジニアリングシステムの切換え後は、第２エンジニアリングシステムの第２制御機器１１１ｂにより、被制御機器１１５の制御が行われる。
【００２８】
図３は、エンジニアリングシステムの他の一例を示す概略図である。具体的には、図３は、分散型のエンジニアリングシステムの一例を示す概略図である。
【００２９】
図３に示す分散型のエンジニアリングシステム１２０は、第１制御機器１２１ａと、第２制御機器１２１ｂと、監視装置１２２と、第１ＥＷＳ１２３ａと、第２ＥＷＳ１２３ｂとを備える。第１制御機器１２１ａと、第２制御機器１２１ｂと、監視装置１２２と、第１ＥＷＳ１２３ａと、第２ＥＷＳ１２３ｂとは、ネットワーク１２４に接続され、互いに情報通信可能に構成されている。
【００３０】
分散型のエンジニアリングシステム１２０では、第１制御機器１２１ａと、第２制御機器１２１ｂとが、それぞれ複数の被制御機器１２５を制御する。分散型のエンジニアリングシステム１２０において、第１制御機器１２１ａが制御する複数の被制御機器１２５と、第２制御機器１２１ｂが制御する複数の被制御機器１２５とは、それぞれ同一であってよい。一方、第１制御機器１２１ａによる制御内容と、第２制御機器１２１ｂによる制御内容とは、それぞれ異なってよい。つまり、第１制御機器１２１ａ及び第２制御機器１２１ｂは、同一の機能を提供可能な複数の被制御機器１２５を備える設備に対して、それぞれ異なる制御を実行してよい。このような分散型のエンジニアリングシステム１２０は、例えば、石油の井戸元における採掘の設備等の制御に用いられる。石油の井戸元では、油井ごとに異なる性質を有し、それぞれ異なる制御を行う必要がある場合がある。このような場合に、図３に示す分散型のエンジニアリングシステム１２０を用いることにより、各油井で使用される設備に対し、適切な制御を実行しやすくなる。
【００３１】
第１ＥＷＳ１２３ａ及び第２ＥＷＳ１２３ｂは、それぞれ第１制御機器１２１ａ及び第２制御機器１２１ｂで実行されるソフトウェアを作成する。従って、第１制御機器１２１ａは、第１ＥＷＳ１２３ａで作成されたソフトウェアをダウンロードして実行し、第２制御機器１２１ｂは、第２ＥＷＳ１２３ｂで作成されたソフトウェアをダウンロードして実行する。ただし、分散型のエンジニアリングシステム１２０において、第１制御機器１２１ａ及び第２制御機器１２１ｂでそれぞれ実行されるソフトウェアは、必ずしも別々のＥＷＳによって作成されなくてもよい。例えば、第１制御機器１２１ａ及び第２制御機器１２１ｂでそれぞれ実行されるソフトウェアは、いずれも１つのＥＷＳにおいて作成されてもよい。この場合、当該１つのＥＷＳは、第１制御機器１２１ａで使用されるソフトウェアと、第２制御機器１２１ｂで実行されるソフトウェアという２つのソフトウェアを、それぞれ作成する。
【００３２】
図３に示す分散型のエンジニアリングシステム１２０の監視装置１２２の機能及び構成は、図１を参照して説明した監視装置１０２と同様であってよい。
【００３３】
なお、図３に示す分散型のエンジニアリングシステム１２０は、第１制御機器１２１ａ及び第２制御機器１２１ｂという２つの制御機器を備えると説明したが、分散型のエンジニアリングシステム１２０が備える制御機器の個数は、エンジニアリングシステム１２０が使用される環境及び設備等に応じて適宜定められていてよく、３つ以上であってよい。
【００３４】
ここで、上述した例に示すようなエンジニアリングシステムにおいて、ＥＷＳで作成されたソフトウェアが制御機器にダウンロードされた後、ＥＷＳは、例えばソフトウェア環境を維持するために、エンジニアリングシステムが用いられる現場に設置されたままの状態となる。この場合、現場に設置されたＥＷＳの管理及び保守体制が問題となる。例えば、ソフトウェア環境を維持するためにＥＷＳが現場に設置されるが、制御機器による制御において誤制御等の問題が特に発生していない場合には、当該ＥＷＳは使用されない。一方、例えば制御機器による制御において問題が発生した場合に、当該問題を解決するためにＥＷＳが使用されるが、ＥＷＳはパーソナルコンピュータであるため、電源を入れてすぐにシステムに接続できるものではなく、また、セキュリティ対策など保守を随時行わねばならない。
【００３５】
また、制御機器による制御において問題が発生した場合、問題の原因を特定し、問題を解決するために、コンピュータを用いて現場の環境をソフトウェア的に再現し、制御の状態に関するシミュレーションが行われる。このとき、現場の機器の環境をコンピュータ上で作成することが必要となる。しかしながら、例えばコンピュータやソフトウェアのリビジョンが、実際の現場で用いられている機器やソフトウェアのリビジョンと異なる場合、コンピュータ上で現場の環境を再現することが難しくなる場合がある。
【００３６】
また、仮にコンピュータ上で現場の環境を再現することができたとしても、問題が発生する原因となったデータを特定することが難しい。そのため、例えば、エンジニアリングシステムが使用されている現場にエンジニアが出向き、問題が発生している制御状態を示すデータを確認するために、現場で問題が発生するまで待つ必要がある。さらに、実際に問題が発生し、そのときの制御状態をエンジニアが確認できたとしても、発生した問題に対する対処方法に関する知識が不足する等、現場に出向いたエンジニアの発生した問題に対する技能が十分でない場合には、そのエンジニアでは問題解決を行うことができない。また、エンジニアにより問題解決の対処が施された場合であっても、対処後の修正されたソフトウェアの実行により、問題が発生していない箇所への影響がないか等を確認するために、修正されたソフトウェアを用いた試験を行う必要がある。そのため、試験が終了するまで、エンジニアは現場に居続ける必要がある。
【００３７】
また、図２を参照して説明したように、エンジニアリングシステムの切換えを行う場合、切換え前の第１エンジニアリングシステムが使用されている状態において、切換え後の第２エンジニアリングシステムが設置される。また、切換え後の第２エンジニアリングシステムで用いる機器類の設定や、ネットワーク環境の変更等を行う必要がある。このように、エンジニアリングシステムの切換えに伴って、煩雑な作業が生じる。
【００３８】
また、エンジニアリングシステムの切換えは、プラントが稼働を停止している間に行われるが、通常、長期の停止期間が確保されることは少ない。そのため、切換え後のエンジニアリングシステムによる制御に関し、十分なデバッグを行う時間を確保することが難しい。また、停止期間は、プラントが稼働していないため、プラントの稼働時における制御に関する実際のデータを取得することができない。そのため、仮想入力によりデバッグを行う必要がある。しかしながら、仮想入力では、プラントの稼働時に発生し得る状態を完全に網羅することは難しく、仮想入力値の想定漏れがあると、十分なデバッグを完了することができない。
【００３９】
また、図３を参照して説明した分散型のエンジニアリングシステムでは、複数の制御機器がそれぞれ異なるソフトウェアを有するため、複数の制御機器のそれぞれについて、管理を行う必要がある。そのため、管理が煩雑になりやすい。
【００４０】
以下、本開示では、図１乃至図３を参照して説明したエンジニアリングシステムにおける課題を解決する、クラウド環境を用いたエンジニアリングシステムについて、説明する。
【００４１】
（第１実施形態）
図４は、第１実施形態に係るエンジニアリングシステムの一例を示す概略図である。図４に示すエンジニアリングシステム２００は、制御機器２０１と、複数のクライアントＰＣ２０２と、クラウド２１０とを有する。制御機器２０１と、複数のクライアントＰＣ２０２とは、ネットワークを介して、クラウド２１０と情報通信可能に構成されている。
【００４２】
制御機器２０１は、図１で説明した制御機器１０１と同様の機能及び構成を有する。すなわち、制御機器２０１は、所定のソフトウェアを実行することにより、被制御機器２０５を制御する。制御機器２０１で実行されるソフトウェアは、クラウド２１０に構築されたエンジニアリングツール２１１を用いて作成される。なお、被制御機器２０５の機能及び構成は、図１を参照して説明した被制御機器１０５と同様である。
【００４３】
本実施形態において、制御機器２０１は、センサ機器から取得した取得データを、クラウド２１０上のエンジニアリングツール２１１に送信（アップロード）する。また、制御機器２０１は、被制御機器２０５の制御状態に関する実際のデータ（以下、単に「実データ」ともいう）を、リアルタイムで、後述するクラウド２１０上のデジタルツイン２１２又はＳＣＡＤＡ（Supervisory Control And Data Acquisition）２１３に送信する。制御機器２０１は、実データとともに又は実データに代えて、模擬入力をデジタルツイン２１２又はＳＣＡＤＡ２１３に送信してもよい。実データは、例えば、制御機器２０１に入力される、センサ機器が取得した取得データと、制御機器２０１からセンサ機器に出力される信号に関する情報と、を含んでよい。
【００４４】
複数のクライアントＰＣ２０２は、例えばエンジニアにより使用されるパーソナルコンピュータ等により構成される。エンジニアは、クライアントＰＣ２０２からクラウド２１０上のエンジニアリングツール２１１にアクセスすることにより、エンジニアリングツール２１１において、エンジニアリングを行うことができる。すなわち、エンジニアは、クライアントＰＣ２０２に対して入力操作を行うことにより、制御機器２０１で実行されるソフトウェアの作成を、エンジニアリングツール２１１上で行うことができる。図４では、３つのクライアントＰＣ２０２が図示されているが、クライアントＰＣ２０２の個数は３台に限られず、適宜決定される任意の台数であってよい。
【００４５】
クラウド２１０は、当該クラウド２１０上に構築されたエンジニアリングツール２１１と、デジタルツイン２１２と、ＳＣＡＤＡ２１３とを有する。
【００４６】
エンジニアリングツール２１１は、制御機器２０１で実行されるソフトウェアを作成する。この点において、エンジニアリングツール２１１は、図１を参照して説明したエンジニアリングシステム１００におけるＥＷＳ１０３に相当する機能を有する。エンジニアリングツール２１１は、クライアントＰＣ２０２から取得した信号に基づいて、ソフトウェアの作成処理を実行する。
【００４７】
エンジニアリングツール２１１は、例えば図４に示すように、共有ライブラリ２１４と、データベース２１５とを有する。共有ライブラリ２１４には、例えば、エンジニアリングツール２１１において実行される諸々のプログラムが格納される。データベース２１５には、例えば、制御機器２０１からアップロードされた取得データが格納される。
【００４８】
デジタルツイン２１２は、制御機器２０１をクラウド２１０上で再現したソフトウェアである。つまり、デジタルツイン２１２は、制御機器２０１による制御状態を仮想環境に複製した仮想機器である。デジタルツイン２１２は、例えば公知のモデリング技術を用いて構築することができる。デジタルツイン２１２は、例えば、実データと、デジタルツイン２１２にダウンロードされたソフトウェアとに従って、制御機器２０１の作動状態をシミュレーションする。この場合に使用される実データは、制御機器２０１に入力される取得データであってよい。
【００４９】
ＳＣＡＤＡ２１３は、制御機器２０１により実行される制御を監視するシステムである。ＳＣＡＤＡ２１３には、制御機器２０１による制御に関する実データが、リアルタイムにアップロードされる。ＳＣＡＤＡ２１３は、アップロードされた実データを監視することにより、制御機器２０１による制御が正常に実行されているかを監視する。
【００５０】
次に、エンジニアリングシステム２００において実行される処理（エンジニアリング方法）の一例について、図５を参照しながら説明する。
【００５１】
エンジニアリングシステム２００では、まず、クラウド２１０上のエンジニアリングツール２１１において、制御機器２０１で使用するためのソフトウェアを作成する（ステップＳ１１）。エンジニアリングツール２１１は、例えば、エンジニアによる入力操作に応じてクライアントＰＣ２０２から送信される信号または模擬入力に基づいて、ソフトウェアを作成する。
【００５２】
ステップＳ１１でエンジニアリングツール２１１により作成されたソフトウェアは、制御機器２０１を再現したデジタルツイン２１２にダウンロードされる（ステップＳ１２）。
【００５３】
また、デジタルツイン２１２は、実データを制御機器２０１から取得する（ステップＳ１３）。デジタルツイン２１２は、例えば、図４の矢印Ａで示すように制御機器２０１からアップロードされる実データを直接取得してもよいし、図４の矢印Ｂで示すようにＳＣＡＤＡ２１３を介して、実データを取得してもよいし、内部の模擬入力を用いてもよい。
【００５４】
そして、デジタルツイン２１２において、デバッグが実行される（ステップＳ１４）。具体的には、デジタルツイン２１２は、まず、ステップＳ１３で取得した実データを用いて、ステップＳ１２でダウンロードしたソフトウェアを実行する。そして、デジタルツイン２１２は、ソフトウェアを実行することによって得られるシミュレーションの結果と、実データとに基づいてデバッグを実行する。この場合に使用される実データは、制御機器２０１からの出力（信号）であってよい。すなわち、デジタルツイン２１２は、シミュレーションの結果としての作動結果と、制御機器２０１からの出力とを比較することにより、デバッグを実行できる。このようにして、エンジニアリングシステム２００では、クラウド２１０上で、制御機器２０１による被制御機器２０５の制御状態に関する実際のデータを用いて、作成したソフトウェアのデバッグを実行することができる。つまり、クラウド２１０上で、作成したソフトウェアのシミュレーションが行われる。デバッグは、ソフトウェアにバグがあるか否かを判定可能な期間に亘って実行される。ソフトウェアにバグがあるか否かを判定可能な期間は、例えば制御機器２０１により制御される被制御機器２０５の仕様等に応じて、適宜定められてよい。
【００５５】
エンジニアリングツール２１１は、ステップＳ１４におけるデバッグの結果、バグがあるか否かを判定する（ステップＳ１５）。
【００５６】
バグがあると判定された場合（ステップＳ１５のＹｅｓ）、エンジニアリングツール２１１において、作成したソフトウェアの修正が行われる（ステップＳ１６）。この場合、修正されたソフトウェアがデジタルツイン２１２にダウンロードされ（ステップＳ１２）、修正されたソフトウェアを用いたデバッグが行われる。ソフトウェアの修正は、バグがないと判定されるまで繰り返し行われる。
【００５７】
バグがないと判定された場合（ステップＳ１５のＮｏ）、デバッグが終了する。この場合、例えばプラントの停止期間中に、エンジニアリングツール２１１で作成されたソフトウェアが、エンジニアリングツール２１１から制御機器２０１にダウンロードされる（ステップＳ１７）。そして、制御機器２０１により、ダウンロードされたソフトウェアが実行されて、被制御機器２０５の制御が行われる。
【００５８】
仮に、エンジニアリングツール２１１で作成されたソフトウェアが制御機器２０１によりダウンロードされ、当該ソフトウェアを用いて被制御機器２０５の制御が開始された後、制御機器１０１による制御において誤制御が発生した場合、エンジニアは、クラウド２１０上のデジタルツイン２１２で、誤制御が発生したときの実データを用いて、シミュレーションを行うことにより、誤制御の原因となったソフトウェアのバグを検出することができる。この場合、エンジニアは、ソフトウェアを修正し、修正したソフトウェアについて、エンジニアリングシステム２００を用いて、図５のステップＳ１２以降の処理を実行することにより、バグを修正したソフトウェアを作成できる。このようにして修正されたソフトウェアは、例えばプラントの停止期間中に、エンジニアリングツール２１１から制御機器２０１にダウンロードされ、被制御機器２０５の制御のために使用される。そのため、例えば誤制御が発生した場合に、現場で対応する必要がない。
【００５９】
このように、本実施形態に係るエンジニアリングシステム２００によれば、実データを用いて、デジタルツイン２１２でソフトウェアのデバッグを実行することができる。このように、エンジニアリングシステム２００では、模擬入力ではなく、実際にソフトウェアを使用する制御機器２０１における実データを用いてデバッグを行うため、より実際の使用環境に適合したデバッグを実行することができる。つまり、より再現性が高いデバッグを実行することができる。従って、エンジニアリングシステム２００は、より制御機器２０１に適したソフトウェアを作成することができる。このようにして、エンジニアリングシステム２００によれば、高品質なエンジニアリングを提供可能である。
【００６０】
また、本実施形態に係るエンジニアリングシステム２００によれば、クラウド２１０上でエンジニアリングを行うことができる。具体的には、クラウド２１０上のエンジニアリングツール２１１において、ソフトウェアが作成される。そのため、本実施形態に係るエンジニアリングシステム２００によれば、図１乃至図３を参照して説明したエンジニアリングシステムのようにＥＷＳの管理及び保守を行う、という必要がない。
【００６１】
また、制御機器２０１に対して、新たなソフトウェアを導入する場合、クラウド２１０上のエンジニアリングツール２１１で作成したソフトウェアについて、デジタルツイン２１２を用いて十分にデバッグを行った後、制御機器２０１にダウンロードすることができる。そのため、例えば新たなソフトウェアの導入に際し、導入後に誤制御が発生することを回避しやすくなる。
【００６２】
図６は、第１実施形態に係るエンジニアリングシステムの一変形例を示す概略図である。図６に示すエンジニアリングシステム３００において、図４に示すエンジニアリングシステム２００と同様の点については、同一の符号を付している。
【００６３】
図６に示すエンジニアリングシステム３００は、図４に示すエンジニアリングシステム２００が有する各構成要素に加え、さらにローカルエンジニアリングステーション２２０を備える。ローカルエンジニアリングステーション２２０は、例えばパーソナルコンピュータ等により構成される。ローカルエンジニアリングステーション２２０は、制御機器２０１とクラウド２１０上のエンジニアリングツール２１１との間の通信を仲介する。すなわち、エンジニアリングシステム３００では、制御機器２０１は、取得した取得データを、エンジニアリングツール２１１ではなく、ローカルエンジニアリングステーション２２０にアップロードする。ローカルエンジニアリングステーション２２０は、制御機器２０１から取得した取得データを、エンジニアリングツール２１１にアップロードする。また、エンジニアリングツール２１１は、デバッグが完了したソフトウェアを、ローカルエンジニアリングステーション２２０にダウンロードする。ソフトウェアは、例えばローカルエンジニアリングステーション２２０のメモリに格納される。そして、例えばプラントの停止期間中に、メモリに格納されたソフトウェアが、ローカルエンジニアリングステーション２２０から制御機器２０１にダウンロードされる。なお、エンジニアリングシステム３００により実行されるエンジニアリング方法は、図５で説明した方法と同様であってよい。
【００６４】
このように、ローカルエンジニアリングステーション２２０を介して通信を行う場合、例えば、エンジニアリングツール２１１は、作成したソフトウェアを、プラントが停止しているか否かにかかわらず、ローカルエンジニアリングステーション２２０にダウンロードすることができる。ローカルエンジニアリングステーション２２０は、例えばプラントの停止期間となるまで、ソフトウェアをメモリに格納しておき、プラントの停止期間となったときに、制御機器２０１にダウンロードすることができる。また、例えば技術的な要因によりエンジニアリングツール２１１から制御機器２０１に対して直接通信が実行できない場合にも、図６に示すエンジニアリングシステム３００を用いることによりソフトウェアを制御機器２０１にダウンロードすることができるため、有効である。
【００６５】
（第２実施形態）
図７は、第２実施形態に係るエンジニアリングシステムの一例を示す概略図である。第２実施形態に係るエンジニアリングシステム４００は、分散型のエンジニアリングシステムの一例を示す。図７に示すエンジニアリングシステム４００において、図４に示すエンジニアリングシステム２００と同様の点については、同一の符号を付している。
【００６６】
本実施形態に係るエンジニアリングシステム４００は、複数の制御機器を備える。図７に示す例では、エンジニアリングシステム４００は、３つの制御機器４０１、４０２及び４０３を備える。３つの制御機器４０１、４０２及び４０３は、それぞれ複数の被制御機器２０５を制御する。分散型のエンジニアリングシステム４００において、複数の被制御機器４０１、４０２及び４０３が制御する複数の被制御機器２０５は、それぞれ同一であってよい。一方、３つの制御機器４０１、４０２及び４０３による制御内容とは、それぞれ異なってよい。つまり、３つの制御機器４０１、４０２及び４０３は、同一の機能を提供可能な複数の被制御機器２０５を備える設備に対して、それぞれ異なる制御を実行してよい。
【００６７】
本実施形態に係るエンジニアリングシステム４００は、クラウド２１０上に３つのエンジニアリングツール４１１、４１２及び４１３を備える。３つのエンジニアリングツール４１１、４１２及び４１３は、それぞれ、制御機器４０１、４０２及び４０３で実行されるソフトウェアを作成する。エンジニアリングツール４１１、４１２及び４１３は、それぞれ、図４を参照して説明したエンジニアリングツール２１１と同様の機能を有する。従って、エンジニアリングツール４１１、４１２及び４１３は、それぞれ、クライアントＰＣ２０２から取得した信号に基づいて、ソフトウェアの作成処理を実行する。エンジニアリングツール４１１、４１２及び４１３で作成されたソフトウェアは、それぞれ制御機器４０１、４０２及び４０３にダウンロードされて、実行される。つまり、本実施形態に係るエンジニアリングシステム４００は、１対１に対応付けられた制御機器とエンジニアリングツールとの組を、２組以上有する。なお、エンジニアリングシステム４００により実行されるエンジニアリング方法は、エンジニアリングツール４１１、４１２及び４１３のそれぞれが、制御機器４０１、４０２及び４０３のそれぞれに対応付けられている点を除いて、図５で説明した方法と同様であってよい。
【００６８】
このような構成により、本実施形態に係る分散型のエンジニアリングシステム４００においても、第１実施形態で説明したエンジニアリングシステム２００と同様の効果を奏することができる。
【００６９】
図８は、第２実施形態に係るエンジニアリングシステムの一変形例を示す概略図である。図８に示すエンジニアリングシステム５００において、図７に示すエンジニアリングシステム４００と同様の点については、同一の符号を付している。
【００７０】
図８に示すエンジニアリングシステム５００は、図７に示すエンジニアリングシステム４００が有する各構成要素に加え、さらにローカルエンジニアリングステーション２３０を備える。ローカルエンジニアリングステーション２３０の機能及び構成は、図６を参照して説明したローカルエンジニアリングステーション２２０と同様であってよい。すなわち、ローカルエンジニアリングステーション２３０は、制御機器４０１、４０２及び４０３と、クラウド２１０上のエンジニアリングツール４１１、４１２及び４１３との間の通信を仲介する。従って、エンジニアリングシステム５００では、制御機器４０１、４０２及び４０３は、取得した取得データを、各エンジニアリングツール４１１、４１２及び４１３ではなく、ローカルエンジニアリングステーション２３０にアップロードする。ローカルエンジニアリングステーション２３０は、制御機器４０１、４０２及び４０３から取得した取得データを、対応するエンジニアリングツール４１１、４１２及び４１３にアップロードする。また、エンジニアリングツール４１１、４１２及び４１３は、デバッグが完了したソフトウェアを、ローカルエンジニアリングステーション２３０にダウンロードする。ソフトウェアは、例えばローカルエンジニアリングステーション２３０のメモリに格納される。そして、例えばプラントの停止期間中に、メモリに格納されたソフトウェアが、ローカルエンジニアリングステーション２３０から、対応する制御機器４０１、４０２又は４０３にダウンロードされる。なお、エンジニアリングシステム５００により実行されるエンジニアリング方法は、図７で説明した方法と同様であってよい。
【００７１】
このように、ローカルエンジニアリングステーション２３０を介して通信を行う場合、例えば、各エンジニアリングツール４１１、４１２及び４１３は、作成したソフトウェアを、プラントが停止しているか否かにかかわらず、ローカルエンジニアリングステーション２３０にダウンロードすることができる。ローカルエンジニアリングステーション２３０は、例えばプラントの停止期間となるまで、ソフトウェアをメモリに格納しておき、プラントの停止期間となったときに、制御機器４０１、４０２又は４０３にダウンロードすることができる。
【００７２】
本開示は、上述した実施形態で特定された構成に限定されず、特許請求の範囲に記載した開示の要旨を逸脱しない範囲内で種々の変形が可能である。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再構成可能であり、複数の構成部またはステップなどを１つに組み合わせたり、あるいは分割したりすることが可能である。
【符号の説明】
【００７３】
１００、１１０、１２０、２００、３００、４００、５００  エンジニアリングシステム
１０１、２０１、４０１  制御機器
１０２、１１２、１２２  監視装置
１０３  エンジニアリングワークステーション（ＥＷＳ）
１０４、１１４、１２４  ネットワーク
１０５、１１５、１２５、２０５  被制御機器
１１１ａ、１２１ａ  第１制御機器
１１１ｂ、１２１ｂ  第２制御機器
１１３ａ、１２３ａ  第１エンジニアリングワークステーション
１１３ｂ、１２３ｂ  第２エンジニアリングワークステーション
２０２  クライアントＰＣ
２１０  クラウド
２１１、４１１  エンジニアリングツール
２１２  デジタルツイン（仮想機器）
２１３  ＳＣＡＤＡ
２１４  共有ライブラリ
２１５  データベース
２２０、２３０  ローカルエンジニアリングステーション
【図１】
2020052812.tif 000003
【図２】
2020052812.tif 000004
【図３】
2020052812.tif 000005
【図４】
2020052812.tif 000006
【図５】
2020052812.tif 000007
【図６】
2020052812.tif 000008
【図７】
2020052812.tif 000009
【図８】
2020052812.tif 000010