(57)【要約】【課題】コントローラとプロセス入出力カードとの接続関係を事前に決定しておく必要のないプラント監視制御システムを得る。【解決手段】制御ネットワーク４を介してＨＭＩ３１、３２とコントローラ２１〜２４とエンジニアリングツール１とが接続され、ＩＯネットワーク５を介してコントローラ２１〜２４とプロセス入力カード及びプロセス出力カードが接続された構成であり、コントローラ２１〜２４は、それぞれプロセス入出力カードごとのデータとアドレスとを関連付けたＩＯカード設定情報をエンジニアリングツール１からダウンロードし、これを参照して全てのプロセス入力カードに入力されたデータを自コントローラのＩＯメモリにコピーしておき、このコピーしたデータを参照できるようにした。【選択図】図１
2010250435.tif 000002
【特許請求の範囲】
【請求項１】
プラントのデータが入力され、この入力されたデータ（以下、入力データという）を格納するＩＯデータメモリを有する複数のプロセス入力カード、
このプロセス入力カードとＩＯネットワークにより接続され、上記入力データを用いて上記プラントの制御を行う複数のプログラマブルコントローラ（以下、コントローラという）、
上記コントローラからのライトデータが入力され、この入力されたライトデータを格納するＩＯデータメモリを有し、上記ＩＯデータメモリに格納された上記ライトデータを上記プラントに出力する複数のプロセス出力カード、
このコントローラと制御ネットワークを介して接続され、上記コントローラで実行されるプログラムを作成するエンジニアリングツールを備え、
複数の上記プロセス入力カード及び上記プロセス出力カード並びに複数の上記コントローラは、１本の上記ＩＯネットワークにより接続され、
上記コントローラは、
ＩＯマスターカード及びＣＰＵカードを有し、
上記ＩＯマスターカードは、
上記プロセス入力カードに格納された入力データ及び上記プロセス出力カードに格納されるライトデータを一時的に格納するＩＯ中継メモリと、
上記プロセス入力カードの上記ＩＯデータメモリに格納された入力データを、上記ＩＯ中継用メモリにコピーするとともに、上記ＩＯ中継用メモリに格納された上記ライトデータを上記プロセス出力カードの上記ＩＯデータメモリにコピーするＩＯカードリフレッシュ器とを有し、
上記ＣＰＵカードは、
上記プロセス入力カードごとにかつ上記入力データの計測点を示す信号情報ごとに、上記ＩＯデータメモリのアドレスを関連付けるとともに、上記プロセス出力カードごとにかつ上記ライトデータの制御対象を示す信号情報ごとに、上記ＩＯデータメモリのアドレスを関連付けたＩＯカード設定情報が記憶され、
上記入力データが格納されるとともに上記ライトデータが書き込まれるＩＯメモリと、
実行モジュールにより上記ＩＯメモリへのライト処理が行われたことを検出するＩＯメモリライト検出器と、
上記ライト処理が行われた上記ＩＯメモリのアドレスを特定したＩＯメモリライト情報を記憶し、
上記ＩＯカード設定情報を参照して、上記ＩＯ中継用メモリにコピーされた上記入力データを上記ＩＯメモリにコピーするとともに、上記ＩＯメモリライト情報で特定されたアドレスの上記ＩＯメモリのライトデータを上記ＩＯ中継用メモリにコピーするＩＯメモリリフレッシュ器とを有し、
上記エンジニアリングツールは、
上記ＩＯカード設定情報を生成するためのＩＯカード設定エディタと、
上記コントローラで実行されるプログラムを作成するためのプログラムエディタと、
このプログラムエディタによって作成されたプログラムを上記コントローラで実行可能な形式の実行モジュールに変換するコンパイラと、
上記ＩＯカード設定エディタにより生成されたＩＯカード設定情報及び上記実行モジュールを上記コントローラにダウンロードするダウンローダとを有することを特徴とするプラント監視制御システム。
【請求項２】
上記ＩＯカードリフレッシュ器は、他のコントローラによってライト処理された上記プロセス出力カードの上記ライトデータを、上記ＩＯ中継用メモリにコピーするよう拡張され、
上記ＩＯメモリリフレッシュ器は、上記ＩＯカード設定情報を参照して、上記拡張されたＩＯカードリフレッシュ器によって上記ＩＯ中継用メモリにコピーされた上記ライトデータを上記ＩＯメモリにコピーするよう拡張されていることを特徴とする請求項１記載のプラント監視制御システム。
【請求項３】
各コントローラは、全コントローラの実行モジュールがダウンロードされるとともに、
他のコントローラに対して、正常に動作しているかどうかを確認するライブチェックを行う送受信器を有する制御ネットワークカードを有し、
上記送受信器によるライブチェックにより動作を停止しているコントローラが検出された場合に、上記動作を停止したコントローラの実行モジュールを用いて、上記動作を停止したコントローラの処理を継続することを特徴とする請求項１または請求項２記載のプラント監視制御システム。
【請求項４】
上記コントローラと制御ネットワークにより接続され、上記プラントの監視及び操作を行うためのヒューマンマシンインターフェース（以下、ＨＭＩという）を備え、
上記ＨＭＩは、
上記ＩＯカード設定エディタにより生成されたＩＯカード設定情報が記憶され、
上記プラント入力カードに入力されたデータをＨＭＩ画面として表示するための表示手段と、
上記ＩＯカード設定情報を参照して、上記表示するデータのアドレスを解析するサーバー手段と、
このサーバー手段によって解析されたアドレスを用いて、上記コントローラのＩＯメモリから上記表示するためのデータを収集する通信手段とを有することを特徴とする請求項１〜請求項３のいずれかに記載のプラント監視制御システム。
【請求項５】
上記コントローラと制御ネットワークにより接続され、上記プラントの監視及び操作を行うためのＨＭＩを備え、
上記ＨＭＩは、
上記ＩＯカード設定エディタにより生成されたＩＯカード設定情報が記憶され、
上記プラント出力カードに出力されたライトデータをＨＭＩ画面として表示するための表示手段と、
上記ＩＯカード設定情報を参照して、上記表示するライトデータのアドレスを解析するサーバー手段と、
このサーバー手段によって解析されたアドレスを用いて、上記コントローラのＩＯメモリから上記表示するためのライトデータを収集する通信手段とを有することを特徴とする請求項２記載のプラント監視制御システム。
【請求項６】
上記ＩＯネットワークを二重化したことを特徴とする請求項１〜請求項５のいずれかに記載のプラント監視制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、発電プラント、水処理プラント、産業プラントなどのプラントの監視や制御を行うプラント監視制御システムに関するものである。
【背景技術】
【０００２】
従来のプラント監視制御システムでは、システム内に複数のコントローラが存在する場合、プロセス入出力は、それらを使用するコントローラ毎に接続されているので、使用するコントローラを変更する場合には、人手により物理的な接続を変更することにより対処していた。（例えば、特許文献１参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２３１９２７号公報（第５〜１１頁、図４）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のプラント監視制御システムは、以上のように構成されているので、コントローラのプログラムを作成するよりも前に、どのコントローラがどのプロセス入出力を使用するのかを決定しておく必要があった。
また、他のコントローラに接続されたプロセス入出力の値を別のコントローラで使用する場合には、コントローラ上のアプリケーションプログラムを個別に作成し、必要なデータを、伝送装置を経由してコントローラ間で送受信する必要があった。
また、プロセス入出力を使用するコントローラを変更する場合には、プロセス入出力とコントローラとの物理的な接続を人手により変更する必要があった。
また、複数のコントローラの内のいずれかが故障などのために動作を停止した場合には、故障したコントローラが行っていたプラント制御はできなくなるという問題もあった。
また、複数のコントローラの内のいずれかが故障などのために動作を停止した場合には、故障したコントローラに接続されているプロセス入出力の値を監視装置から監視できなくなるなどの問題があった。
【０００５】
この発明は、上記のような課題を解決するためになされたものであり、コントローラとプロセス入出力カードとの接続関係を事前に決定しておく必要のないプラント監視制御システムを得ることを目的にしている。
【課題を解決するための手段】
【０００６】
この発明に係わるプラント監視制御システムにおいては、
プラントのデータが入力され、この入力されたデータ（以下、入力データという）を格納するＩＯデータメモリを有する複数のプロセス入力カード、
このプロセス入力カードとＩＯネットワークにより接続され、入力データを用いてプラントの制御を行う複数のプログラマブルコントローラ（以下、コントローラという）、
コントローラからのライトデータが入力され、この入力されたライトデータを格納するＩＯデータメモリを有し、ＩＯデータメモリに格納されたライトデータをプラントに出力する複数のプロセス出力カード、
このコントローラと制御ネットワークを介して接続され、コントローラで実行されるプログラムを作成するエンジニアリングツールを備え、
複数のプロセス入力カード及びプロセス出力カード並びに複数のコントローラは、１本のＩＯネットワークにより接続され、
コントローラは、
ＩＯマスターカード及びＣＰＵカードを有し、
ＩＯマスターカードは、
プロセス入力カードに格納された入力データ及びプロセス出力カードに格納されるライトデータを一時的に格納するＩＯ中継メモリと、
プロセス入力カードのＩＯデータメモリに格納された入力データを、ＩＯ中継用メモリにコピーするとともに、ＩＯ中継用メモリに格納されたライトデータをプロセス出力カードのＩＯデータメモリにコピーするＩＯカードリフレッシュ器とを有し、
ＣＰＵカードは、
プロセス入力カードごとにかつ入力データの計測点を示す信号情報ごとに、ＩＯデータメモリのアドレスを関連付けるとともに、プロセス出力カードごとにかつライトデータの制御対象を示す信号情報ごとに、ＩＯデータメモリのアドレスを関連付けたＩＯカード設定情報が記憶され、
入力データが格納されるとともにライトデータが書き込まれるＩＯメモリと、
実行モジュールによりＩＯメモリへのライト処理が行われたことを検出するＩＯメモリライト検出器と、
ライト処理が行われたＩＯメモリのアドレスを特定したＩＯメモリライト情報を記憶し、
ＩＯカード設定情報を参照して、ＩＯ中継用メモリにコピーされた入力データをＩＯメモリにコピーするとともに、ＩＯメモリライト情報で特定されたアドレスのＩＯメモリのライトデータをＩＯ中継用メモリにコピーするＩＯメモリリフレッシュ器とを有し、
エンジニアリングツールは、
ＩＯカード設定情報を生成するためのＩＯカード設定エディタと、
コントローラで実行されるプログラムを作成するためのプログラムエディタと、
このプログラムエディタによって作成されたプログラムをコントローラで実行可能な形式の実行モジュールに変換するコンパイラと、
ＩＯカード設定エディタにより生成されたＩＯカード設定情報及び実行モジュールをコントローラにダウンロードするダウンローダとを有するものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、プラントのデータが入力され、この入力されたデータ（以下、入力データという）を格納するＩＯデータメモリを有する複数のプロセス入力カード、
このプロセス入力カードとＩＯネットワークにより接続され、入力データを用いてプラントの制御を行う複数のプログラマブルコントローラ（以下、コントローラという）、
コントローラからのライトデータが入力され、この入力されたライトデータを格納するＩＯデータメモリを有し、ＩＯデータメモリに格納されたライトデータをプラントに出力する複数のプロセス出力カード、
このコントローラと制御ネットワークを介して接続され、コントローラで実行されるプログラムを作成するエンジニアリングツールを備え、
複数のプロセス入力カード及びプロセス出力カード並びに複数のコントローラは、１本のＩＯネットワークにより接続され、
コントローラは、
ＩＯマスターカード及びＣＰＵカードを有し、
ＩＯマスターカードは、
プロセス入力カードに格納された入力データ及びプロセス出力カードに格納されるライトデータを一時的に格納するＩＯ中継メモリと、
プロセス入力カードのＩＯデータメモリに格納された入力データを、ＩＯ中継用メモリにコピーするとともに、ＩＯ中継用メモリに格納されたライトデータをプロセス出力カードのＩＯデータメモリにコピーするＩＯカードリフレッシュ器とを有し、
ＣＰＵカードは、
プロセス入力カードごとにかつ入力データの計測点を示す信号情報ごとに、ＩＯデータメモリのアドレスを関連付けるとともに、プロセス出力カードごとにかつライトデータの制御対象を示す信号情報ごとに、ＩＯデータメモリのアドレスを関連付けたＩＯカード設定情報が記憶され、
入力データが格納されるとともにライトデータが書き込まれるＩＯメモリと、
実行モジュールによりＩＯメモリへのライト処理が行われたことを検出するＩＯメモリライト検出器と、
ライト処理が行われたＩＯメモリのアドレスを特定したＩＯメモリライト情報を記憶し、
ＩＯカード設定情報を参照して、ＩＯ中継用メモリにコピーされた入力データをＩＯメモリにコピーするとともに、ＩＯメモリライト情報で特定されたアドレスのＩＯメモリのライトデータをＩＯ中継用メモリにコピーするＩＯメモリリフレッシュ器とを有し、
エンジニアリングツールは、
ＩＯカード設定情報を生成するためのＩＯカード設定エディタと、
コントローラで実行されるプログラムを作成するためのプログラムエディタと、
このプログラムエディタによって作成されたプログラムをコントローラで実行可能な形式の実行モジュールに変換するコンパイラと、
ＩＯカード設定エディタにより生成されたＩＯカード設定情報及び実行モジュールをコントローラにダウンロードするダウンローダとを有するので、コントローラで実行するプログラムは、すべてのプロセス入力カードのデータにアクセス可能となるため、コントローラとプロセス入力カードとの接続関係を事前に決定しておく必要がなくなる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１によるプラント監視制御システムを示すシステム構成図である。
【図２】この発明の実施の形態１によるプラント監視制御システムのＩＯカード設定情報を示す図である。
【図３】この発明の実施の形態１によるプラント監視制御システムのコントローラのプログラムを示す図である。
【図４】この発明の実施の形態１によるプラント監視制御システムのエンジニアリングツールを示す内部構成図である。
【図５】この発明の実施の形態１によるプラント監視制御システムのコントローラを示す内部ブロック図である。
【図６】この発明の実施の形態１によるプラント監視制御システムのコントローラの動作を示すタイミングチャートである。
【図７】この発明の実施の形態１によるプラント監視制御システムのＩＯメモリライト情報の詳細を示す図である。
【図８】この発明の実施の形態２によるプラント監視制御システムのコントローラを示す内部ブロック図である。
【図９】この発明の実施の形態３によるプラント監視制御システムのエンジニアリングツールを示す内部構成図である。
【図１０】この発明の実施の形態３によるプラント監視制御システムのコントローラ間のライブチェックを示す関係図である。
【図１１】この発明の実施の形態３によるプラント監視制御システムのコントローラを示す内部ブロック図である。
【図１２】この発明の実施の形態３によるプラント監視制御システムのコントローラの正常時の動作を示すタイミングチャートである。
【図１３】この発明の実施の形態３によるプラント監視制御システムの正常時のライブチェック情報の詳細を示す図である。
【図１４】この発明の実施の形態３によるプラント監視制御システムのコントローラの異常時の動作を示すタイミングチャートである。
【図１５】この発明の実施の形態３によるプラント監視制御システムの異常時のライブチェック情報の詳細を示す図である。
【図１６】この発明の実施の形態４によるプラント監視制御システムのＨＭＩ画面例を示す図である。
【図１７】この発明の実施の形態４によるプラント監視制御システムのエンジニアリングツールを示す内部構成図である。
【図１８】この発明の実施の形態４によるプラント監視制御システムのＨＭＩを示す内部構成図である。
【図１９】この発明の実施の形態４によるプラント監視制御システムのＨＭＩ内の動作を示すフロー図である。
【図２０】この発明の実施の形態５によるプラント監視制御システムのＨＭＩ画面例を示す図である。
【図２１】この発明の実施の形態５によるプラント監視制御システムのＨＭＩ内の動作を示すフロー図である。
【図２２】この発明の実施の形態６によるプラント監視制御システムを示すシステム構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１によるプラント監視制御システムを示すシステム構成図である。
図１において、エンジニアリングツール１は、パーソナルコンピュータなどにより構成され、制御ネットワーク４を介して、プログラマブルコントローラ（以下、コントローラ）２１、２２、２３、２４と接続されている。制御ネットワーク４には、監視装置であるヒューマンマシンインターフェース（以下、ＨＭＩ）３１、３２が接続されている。
プロセス入力カード７１、７３、７４、７６、７７、７８は、プラントからのデータ入力を行う。プロセス出力カード７２、７５は、プラントへのデータ出力を行う。プロセス入力カード７１、７３、７４、７６、７７、７８及びプロセス出力カード７２、７５は、システムで共通のＩＯネットワーク５（Ｉｎｐｕｔ  Ｏｕｔｐｕｔネットワーク）によって、コントローラ２１、２２、２３、２４と接続されている。
なお、ＨＭＩ３１、３２は、それぞれ、ＨＭＩ１、ＨＭＩ２という名称で、またコントローラ２１、２２、２３、２４は、それぞれ、ＰＬＣ１、ＰＬＣ２、ＰＬＣ３、ＰＬＣ４という名称で、図１中に図示されている。
また、図１においては、制御ネットワーク４は、ループ型、ＩＯネットワーク５は、バス型のネットワークとして示されているが、それぞれ、バス型の制御ネットワーク、ループ型のＩＯネットワークであってもよい。
【００１０】
タンク１１及びボイラー１２は、プラント内の監視制御対象である。センサー８１、８２、８７、９０、９１、９２は、プラント内の温度、圧力、流用などを測定する。バルブ８３、８４、８５は、水や燃料などの流量を制御する。さらにスイッチ８６と、ランプ８８が設けられている。
【００１１】
図１では、タンク１１の液位を一定値に保つための制御、スイッチ８６が押されたときの警報用のランプ８８の点灯制御、ボイラー１２の温度の監視を行う例を示している。
これらの制御や監視は、エンジニアリングツール１において定義される設定情報、プログラムなどのエンジニアリングデータに基づき実行される。エンジニアリングツール１には、図２に示すＩＯカード設定情報１０９が保存される。
【００１２】
図２は、この発明の実施の形態１によるプラント監視制御システムのＩＯカード設定情報を示す図である。
図２において、ＩＯカード設定情報１０９には、ＩＯネットワーク５に接続されるプロセス入力カード７１、７３、７４、７６、７７、７８、及びプロセス出力カード７２、７５のカードＩＤ、カード種別、それぞれのプロセス入出力カードに接続される信号の信号名称、コントローラ２１、２２、２３、２４のアプリケーションソフトウェアからアクセスする際のＩＯアドレス（Ｉｎｐｕｔ  Ｏｕｔｐｕｔアドレス）が格納されている。
【００１３】
例えば、カードＩＤが１のカードは、４点のアナログ入力を持つカードであり、１点目の信号は、ＩＯアドレスがＩＯＷ−０００１で、タンク１１内の液体の液位を測定した結果が、タンク液位という信号名称で入力され、同様に２点目の信号は、ＩＯアドレスがＩＯＷ−０００２で、ＡＡＡという信号名称で入力され、３点目、４点目の信号は、ＩＯアドレスが、それぞれ、ＩＯＷ−０００３、ＩＯＷ−０００４で、使用されておらず空きであることを示している。
【００１４】
同様に、タンク１１への液体の流量を制御するバルブ８３へのバルブ開度指令、スイッチ８６のスイッチ入力状態、ランプ８８へのランプ点灯指令、センサー９２により計測したボイラー１２のボイラー温度は、それぞれ、ＩＯアドレス  ＩＯＷ−０００５、ＩＯＷ−０００９、ＩＯＷ−００１３、ＩＯＷ−００２１に割り当てられている。ＩＯネットワーク５は、システムで共通的に１本のネットワークで構成されているため、このように、各入出力のＩＯアドレスは、システム全体で一意に割り当てられる。
【００１５】
図３は、この発明の実施の形態１によるプラント監視制御システムのコントローラのプログラムを示す図である。
図３において、コントローラのプログラム例として、上から順に、センサー８１により測定されたタンク１１のタンク液位信号とタンク液位の目標値１０．０とを使用して、ＰＩＤ制御演算を行い、バルブ８３のバルブ開度指令を変化させ、タンク１１への液体の流量を制御するもの、スイッチ８６のスイッチ入力状態を取り込んだデジタル入力であるスイッチ入力信号により、スイッチ８６がＯＮしているとき、ランプ８８のランプ点灯を行うため、ランプ点灯指令信号にＯＮを出力するもの、ボイラー１２に取り付けられたセンサー９２より、０から６５５３６の間のカウント値として入力されるボイラー温度信号を０から１０００度の温度に変換し、ＨＭＩ３１、３２に表示するためのボイラー温度ＨＭＩ表示データ信号を出力するものが示されている。
【００１６】
これらのプログラムは、どの処理をどのコントローラで行うのか、あるいは、どの入出力をどのコントローラで使用するのか、といったこととは関係なく、プラント全体で行うべき監視・制御のための処理が記述される。なお、図３は、プログラムの一部を示したものであり、図示していない部分は記載を省略している。
図３に示すコントローラのプログラムは、それぞれどの部位をどのコントローラで実行するかについては破線枠で囲まれた範囲で指定される。例えば、タンク１１の液位制御は、ＰＬＣ１、すなわち、コントローラ２１で実行し、ランプの点灯制御、ボイラー温度の監視は、ＰＬＣ２、すなわち、コントローラ２２で実行することを示している。
また、図３に示すプログラムは、エンジニアリングツール１にてコンパイルされ、コントローラ２１、２２、２３、２４にダウンロードされ、実行される。コンパイル及びダウンロードの全体フローは、図４に示すとおりである。
【００１７】
図４は、この発明の実施の形態１によるプラント監視制御システムのエンジニアリングツールを示す内部構成図である。
図４において、プログラムエディタ１０１は、コントローラのプログラムを作成する。
プログラム１０３は、プログラムエディタ１０１によって作成される。図３で示したとおりのものである。ＩＯカード設定エディタ１０２は、図２に例示したＩＯカード設定情報１０９を設定する。コンパイラ１０４は、プログラム１０３とＩＯカード設定情報１０９からコントローラ２１、２２、２３、２４で実行可能な実行モジュールを生成する。ＰＬＣ１用実行モジュール１０５、ＰＬＣ２用実行モジュール１０６、ＰＬＣ３用実行モジュール１０７、ＰＬＣ４用実行モジュール１０８は、それぞれ、コンパイラ１０４によって生成される。
【００１８】
コンパイラ１０４は、図３内の破線枠で囲まれた情報を基に、プログラム１０３をコントローラ単位に分割する。分割されたプログラムは、コントローラ単位にコンパイルされる。コンパイルは、プログラムの左上に記載されたものからプログラムの右下に向かって順に実行され、コントローラで実行可能な形式に変換される。
このとき、プログラムで使用している信号名称とＩＯカード設定情報１０９とを随時比較し、ＩＯカード設定情報１０９に定義されている信号名称が使用されているときは、該当の信号へのアクセスは、ＩＯカード設定情報１０９内のＩＯアドレス欄のＩＯアドレスにアクセスするようにコンパイルを行う。このコンパイルにより、ＰＬＣ１用実行モジュール１０５、ＰＣＬ２用実行モジュール１０６、ＰＬＣ３用実行モジュール１０７、ＰＬＣ４用実行モジュール１０８が生成される。
【００１９】
その後、ダウンローダ１１０が、ＩＯカード設定情報１０９をすべてのコントローラにダウンロードし、実行モジュール１０５、１０６、１０７、１０８をそれぞれのコントローラ２１、２２、２３、２４にダウンロードする。
【００２０】
コントローラ２１は、ＣＰＵカード４１と、ＩＯマスターカード４２とを有している。なお、電源カードや制御ネットワークカードなど、コントローラ２１のその他のカードは、図示していない。コントローラ２２、２３、２４も同様の構成である。図示するとおり、例えば、コントローラ２１のＣＰＵカード４１には、エンジニアリングツール１上のＰＬＣ１用実行モジュール１０５がそのままＰＬＣ１用実行モジュール１１５としてダウンロードされ、エンジニアリングツール１上のＩＯカード設定情報１０９がそのままＩＯカード設定情報６１としてダウンロードされている。
【００２１】
コントローラ２１、２２、２３、２４にダウンロードされた実行モジュール１０５、１０６、１０７、１０８は、コントローラ２１、２２、２３、２４で実行され、図１で示すプラントの場合には、タンク１１の液位を一定に保つ制御、スイッチ８６が押された場合にランプ８８を点灯する制御、ボイラー１２の温度を測定し、ＨＭＩ３１、３２に表示するためのデータを生成する処理などが実行される。
【００２２】
図５は、この発明の実施の形態１によるプラント監視制御システムのコントローラを示す内部ブロック図である。
図５において、図１〜図４と同一のものは、同一の符号を付している。また、電源カードや制御ネットワークカードなど、コントローラのその他のカードは、図示していない。
内部バス４３は、ＣＰＵカード４１とＩＯマスターカード４２との間でデータの授受を行うためのバスである。
ＣＰＵカード４１は、ＣＰＵチップ５１、プログラムメモリ５２、データメモリ５３、ＩＯメモリ５４を有している。ＣＰＵカード４１にダウンロードされたＰＬＣ１用実行モジュール１１５は、プログラムメモリ５２に展開され、ＣＰＵチップ５１にて実行される。プログラムの実行において使用するデータは、データメモリ５３に格納され、プロセス入出力用のデータは、ＩＯメモリ５４に格納され、ＰＬＣ１用実行モジュール１１５により使用される。
【００２３】
ＣＰＵカード４１は、さらに、ＣＰＵチップ５１で実行されるＰＬＣ１用実行モジュール１１５が、ＩＯメモリへのライト処理（書き込み処理）を行ったことを検出するＩＯメモリライト検出器５６と、ＩＯメモリライト検出器５６により検出されたライト情報が格納されるＩＯメモリライト情報５９と、ＣＰＵカード４１内のＩＯメモリ５４とＩＯマスターカード４２内のＩＯ中継用メモリ５５との間でデータのコピー処理を行うＩＯメモリリフレッシュ器５７とを有している。
【００２４】
プロセス入力カード７１、７３、７４、７６、７７、７８、プロセス出力カード７２、７５内のＩＯデータメモリ１７１、１７２、１７３、１７４、１７５、１７６、１７７、１７８には、プラントから入力されたデータ、あるいは、プラントに出力するデータが格納されている。
【００２５】
ＩＯマスターカード４２は、プロセス入力カード７１、７３、７４、７６、７７、７８、及び、プロセス出力カード７２、７５とＣＰＵカード４１との間でＩＯデータをコピーする際の中継用として使用するＩＯ中継用メモリ５５と、プロセス入力カード７１、７３、７４、７６、７７、７８、及び、プロセス出力カード７２、７５内のＩＯデータメモリ１７１、１７２、１７３、１７４、１７５、１７６、１７７、１７８とＩＯ中継用メモリ５５との間でデータのコピー処理（リフレッシュ処理）を行うＩＯカードリフレッシュ器５８とを有している。
【００２６】
図６は、この発明の実施の形態１によるプラント監視制御システムのコントローラの動作を示すタイミングチャートであり、図５で示すブロック図内の各ブロックの動作を、横軸に時間を取り時系列に示したものである。
【００２７】
図７は、この発明の実施の形態１によるプラント監視制御システムのＩＯメモリライト情報の詳細を示す図である。
図７において、ＩＯメモリライト情報５９１、５９２、５９３、５９４は、それぞれ、コントローラ２１、２２、２３、２４内のＣＰＵカード上のＩＯメモリライト情報であり、例えば、ＩＯメモリライト情報５９１は、ＩＯメモリライト情報５９の詳細を示したものである。
【００２８】
以下に、図５、図６を用いて、動作について説明する。
ＣＰＵチップ５１には、図示しないファームウェアが実装されており、図６のＣＰＵチップ５１の行に示すように、エンジニアリングツール１からダウンロードされたＰＬＣ１用実行モジュール１１５の実行、ＩＯメモリのリフレッシュ（リフレッシュ指示とリフレッシュ完了待ちから構成される）を繰り返し実行する。
また、ＰＬＣ１用実行モジュール１１５が、プロセス入力カード７１、７３、７４、７６、７７、７８のデータの参照、または、プロセス出力カード７２、７５へのデータの書き込みを行う場合は、ＰＬＣ１用実行モジュール１１５は、ＣＰＵカード４１上のＩＯメモリ５４を参照したり、ＩＯメモリ５４に書き込んだりする。
【００２９】
次に、ＩＯリフレッシュの動作について説明する。
プロセス入力カード７１、７３、７４、７６、７７、７８内には、センサーやスイッチなどから入力されたデータが格納されるＩＯデータ１７１、１７３、１７４、１７６、１７７、１７８が実装されており、センサーやスイッチからの入力データにより、時々刻々と更新されている。これらのＩＯデータは、ＩＯマスターカード４２上のＩＯカードリフレッシュ器５８により、ＩＯネットワーク５を経由して、ＩＯ中継用メモリ５５上に、ＰＬＣ１用実行モジュール１１５の実行周期よりも十分に短い時間の定周期でコピー（リフレッシュ）される。
この定周期コピーにおいては、ＩＯカードリフレッシュ器５８は、ＣＰＵカード４１上
にダウンロードされたＩＯカード設定情報６１（詳細は図２に記載）のカード種別に基づきプロセス入力カードを抽出後、プロセス入力カードに対してのみ、ＩＯネットワーク５を経由してコピー処理を実行する。図５では、例えば、カードＩＤ１のカードは、アナログ入力カードであるため、入力リフレッシュの対象として抽出され、さらに、本プロセス入力カードが使用するＩＯアドレスが抽出され、４点のアナログデータが格納されたＩＯデータ１７１は、ＩＯ中継用メモリ５５内のＩＯＷ−０００１、ＩＯＷ−０００２、ＩＯＷ−０００３、ＩＯＷ−０００４と記載した４箇所にコピーされる。他のプロセス入力カードについても同様にコピーされる。
【００３０】
ＩＯ中継用メモリ５５までリフレッシュされたＩＯデータは、ＣＰＵカード４１上のＩＯメモリリフレッシュ器５７により、内部バス４３を経由して、ＣＰＵカード上のＩＯメモリ５４にコピーされる。このコピーは、図６に示すとおり、ＰＬＣ１用実行モジュール１１５の実行周期と同期して行われる。
ＣＰＵチップ５１上の図示しないファームウェアは、ＰＬＣ１用実行モジュール１１５の実行が完了したら、ＩＯメモリリフレッシュ器５７に対して、リフレッシュ指示を行う。リフレッシュ指示を受けたＩＯメモリリフレッシュ器５７は、まず、ＩＯカード設定情報６１（詳細は図２に記載）のカード種別に基づきプロセス入力カードを抽出し、さらに、プロセス入力カードで使用するＩＯアドレスを抽出する。抽出した情報を基に、プロセス入力カードで使用するＩＯアドレスに対してのみ、ＩＯ中継用メモリ５５からＩＯメモリ５４にデータのコピー処理を実行する。図５では、例えば、カードＩＤ１のカードは、アナログ入力カードであるため、入力リフレッシュの対象として抽出され、さらに、使用するＩＯアドレスＩＯＷ−０００１、ＩＯＷ−０００２、ＩＯＷ−０００３、ＩＯＷ−０００４が抽出され、これら４箇所のデータが、ＩＯメモリ５４の該当する箇所にコピーされる。
【００３１】
この結果、ＰＬＣ１用実行モジュール１１５は、実行中にプロセス入力カード７１、７３、７４、７６、７７、７８に直接アクセスすることなく、ＣＰＵカード４１上のＩＯメモリ５４にアクセスするのみで、センサーやスイッチなどからの入力データを参照することができる。
また、プラント内のすべてのプロセス入力データが、ＩＯメモリ５４に定周期でコピーされているため、コントローラのアプリケーションプログラムを個別に作成し、コントローラ間で入力データを送受信するなどの処理を行うことなく、どのコントローラからもプラント内のすべての入力データにアクセスし、使用することができる。
【００３２】
一方、出力データのリフレッシュは、以下の手順で行われる。
本実施の形態１の例では、コントローラ２１は、図３に示す通り、アナログ出力であるバルブ開度信号には出力を行うが、デジタル出力であるランプ点灯指令信号には出力を行わない。ランプ点灯指令信号に出力するのは、コントローラ２２である。
このとき、カードＩＤ２のアナログ出力カードのバルブ開度信号が接続された点へのリフレッシュ処理は、コントローラ２１のみが行い、カードＩＤ５のデジタル出力カードのランプ点灯指令信号が接続された点へのリフレッシュは、コントローラ２２のみが行うようにする必要がある。
【００３３】
各々の出力データに関して、出力すべきコントローラの特定は、ＣＰＵカード４１内のＩＯメモリライト検出器５６が行う。ＩＯメモリライト検出器５６は、内部バス４３に接続されており、内部バス４３にて発生するアクセスを常時監視し、ライトアクセス、かつ、アクセスするアドレスがＩＯメモリ５４のアドレスの範囲である場合、ＩＯメモリ５４へのライトであると判断し、ＣＰＵカード４１上のＩＯメモリライト情報５９に、その結果を格納する。
【００３４】
図７は、ＩＯメモリライト情報の詳細を示したものであり、ＩＯメモリライト情報５９１、５９２、５９３、５９４は、それぞれ、コントローラ２１、２２、２３、２４内のＣＰＵカード上のＩＯメモリライト情報の詳細を示している。
コントローラ２１は、ＰＬＣ１用実行モジュール１１５が、ＩＯアドレス  ＩＯＷ−０００５にアサインされたバルブ開度信号へのライトを行うため、このアクセスを検出したＩＯメモリライト検出器５６が、ＩＯメモリライト情報５９１のＩＯポイント  ０００５の行に、ライトが発生したことを示す情報（図７では、「有」と記載）を格納する。
【００３５】
同様に、コントローラ２２は、ＩＯアドレスＩＯＷ−００１３にアサインされたランプ点灯指令信号へのライトを行うため、ＩＯメモリライト情報５９２のＩＯポイント  ００１３の行に、ライトが発生したことを示す情報（図７では、「有」と記載）を格納する。
コントローラ２３、２４についても同様に、それぞれのコントローラで実行される実行モジュールがライトする信号のＩＯアドレスに対応した行に、ライトが発生したことを示す情報を格納する。
【００３６】
これらのＩＯメモリライト検出処理は、図６に示すとおり、ＰＬＣ１用実行モジュール１１５の実行中にリアルタイムに実行される。ＰＬＣ１用実行モジュール１１５の実行中に複数のライト処理があれば、同様にライト処理が検出され、ＩＯメモリライト検出器５６が、ＩＯメモリライト情報５９１の該当するＩＯポイントの行に、ライトが発生したことを示す情報（図７では、「有」と記載）を格納する。
【００３７】
ＰＬＣ１用実行モジュール１１５の実行が完了すると、ＣＰＵチップ５１に搭載された図示しないファームウェアは、ＩＯメモリリフレッシュ器５７に対して、入力リフレッシュ指示を行う。リフレッシュ指示を受けたＩＯメモリリフレッシュ器５７は、前述のとおり入力リフレッシュを行う。入力リフレッシュ完了後、ＩＯリフレッシュ器５７は、ＩＯメモリライト情報５９（詳細はＩＯメモリライト情報５９１）を参照し、ライト有無列の情報に基づき、ＰＬＣ１用実行モジュールがライト処理を行った出力点を抽出する。
図７に示すＩＯメモリライト情報５９１の場合は、ＩＯポイント０００５の点のライト有無欄が「有」に設定されており、ＩＯポイント０００５の点が、出力点として抽出される。
【００３８】
ＩＯメモリリフレッシュ器５７は、抽出した出力点であるＩＯポイント０００５のデータのコピー（リフレッシュ）処理を行う。具体的には、図５、図６に示すとおり、ＩＯメモリ５４上のＩＯＷ−０００５のデータをＩＯ中継用メモリ５５のＩＯＷ−０００５のエリアにコピーする。コピー処理の完了後、ＩＯメモリリフレッシュ器５７は、ＩＯマスターカード４２上のＩＯカードリフレッシュ器５８に対して、出力リフレッシュ指示を行う。
【００３９】
出力リフレッシュ指示を受信したＩＯカードリフレッシュ器５８は、ＣＰＵカード４１上のＩＯメモリライト情報５９（詳細はＩＯメモリライト情報５９１）を参照し、ライト有無列の情報に基づき、ＰＬＣ１用実行モジュールがライト処理を行った出力点を抽出する。図７に示すＩＯメモリライト情報５９１の場合は、ＩＯポイント０００５の点のライト有無欄が「有」に設定されており、ＩＯポイント０００５の点が、出力点として抽出される。また、抽出した出力点が、アサインされている出力カードのＩＤ、および、出力カード内の点を特定するため、ＩＯカード設定情報６１（図２に示す１０９に同じ）を参照し、ＩＯＷ−０００５であるカードＩＤと信号の位置（出力カード内の先頭からの位置）を検索する。
【００４０】
ＩＯカードリフレッシュ器５８は、抽出した出力点であるＩＯポイント０００５のデータのコピー（リフレッシュ）処理を行う。具体的には、図５、図６に示すとおり、ＩＯ中
継用メモリ５５上のＩＯＷ−０００５のデータをカードＩＤ２の出力ユニット７２のＩＯデータメモリ１７２のアナログ出力１のエリアにコピーする。コピー処理の完了後、図６に示すとおり、ＩＯメモリリフレッシュ器５８は、ＣＰＵカード４１上のＣＰＵチップ５１で実行されている図示しないファームウェアに対して、リフレッシュ完了通知を行う。
【００４１】
リフレッシュ完了通知を受信したＣＰＵチップ５１上の図示しないファームウェアは、ＰＬＣ１用実行モジュール１１５の実行から同様の処理を繰り返す。また、ＩＯカードリフレッシュ器５８は、再度、入力リフレッシュから同様の処理を繰り返す。
【００４２】
実施の形態１によれば、このように、複数のコントローラ２１、２２、２３、２４を共通のＩＯネットワーク５で接続し、エンジニアリングツール１からＩＯカード設定情報をコントローラにダウンロードするとともに、コントローラ内には、ＩＯメモリライト検出器５６、ＩＯメモリリフレッシュ器５７、ＩＯカードリフレッシュ器５８を設け、エンジニアリングツール１からダウンロードされたＩＯカード設定情報６１、ＩＯメモリライト検出器５６により生成されるＩＯメモリライト情報５９に基づき、ＩＯメモリリフレッシュ器５７、ＩＯカードリフレッシュ器５８がＩＯデータを定周期でコピー（リフレッシュ）するようにしたので、コントローラで実行するプログラムは、システム内のすべてのプロセス入出力カードのＩＯデータにアクセス可能となるため、コントローラとプロセス入出力カードとの接続関係を事前に決定しておく必要もない。
【００４３】
また、同様の理由により、コントローラとプロセス入出力カードとの物理的な接続を変更することなく、プログラムを実行するコントローラの変更（例えば、ＰＬＣ１で実行しようとしていたタンクの液位制御をＰＬＣ２などで実行するように変更）を行うことができる。
また、コントローラで実行するプログラムは、システム内のすべてのプロセス入力カードのＩＯデータを参照可能となるため、従来、他のコントローラのみに接続されているプロセス入力カードのＩＯデータを参照する場合に必要となっていたコントローラ間のデータ送受信のためのプログラム作成、および、制御ネットワーク４を経由したコントローラ間のデータ送受信も必要なくなる。
【００４４】
実施の形態２．
実施の形態２について、実施の形態１と同一のプラントを同一のシステム構成、同一のプログラムで監視制御する場合を例に、図８を用いて説明する。
図８は、この発明の実施の形態２によるプラント監視制御システムのコントローラを示す内部ブロック図である。
図８において、図１〜図７と同一のものは、同一の符号を付している。拡張ＩＯメモリリフレッシュ器１５７は、図５で説明したＩＯメモリリフレッシュ器５７の機能を拡張したものであり、拡張ＩＯカードリフレッシュ器１５８は、図５で説明したＩＯカードリフレッシュ器５８の機能を拡張したものである。
【００４５】
拡張ＩＯカードリフレッシュ器１５８は、ＩＯメモリライト情報５９、および、ＩＯカード設定情報６１に基づき、実施の形態１で説明したコピー（リフレッシュ）処理に加え、出力カードのエリアであり、かつ、自コントローラがライトしていないエリアのＩＯデータをＩＯ中継用メモリ５５を経由し、ＩＯメモリ５４にコピーするようにしている。
すなわち、本実施の形態の場合は、ＢＢＢ信号がアサインされたＩＯＷ−０００６、ＣＣＣ信号がアサインされたＩＯＷ−０００７、ランプ点灯指令信号がアサインされたＩＯＷ−００１３は、出力信号であるが、他の入力リフレッシュと同一タイミングで、拡張ＩＯカードリフレッシュ器１５８により、出力カード７２、７５のＩＯデータ１７２、１７５からＩＯマスターカード４２上のＩＯ中継用メモリ５５にコピー（リフレッシュ）し、同様に、拡張ＩＯメモリリフレッシュ器１５７により、ＩＯマスターカード４２上のＩＯ
中継用メモリ５５からＣＰＵカード４１上のＩＯメモリ５４にコピー（リフレッシュ）する。
【００４６】
実施の形態１では、すべての入力データと自コントローラがライトした出力データのコピー（リフレッシュ）を行う場合について述べたが、実施の形態２では、自コントローラがライトしていないエリアのＩＯデータをもＩＯメモリ５４にコピーするようにした。
実施の形態２によれば、図８に示すように、出力カードのエリアであり、かつ、自コントローラがライトしていないエリアのＩＯデータをＩＯ中継用メモリ５５を経由し、ＩＯメモリ５４にコピーするようにしたので、コントローラ上のプログラムは、他のコントローラが出力したデータを参照することが可能となる。
例えば、図３に示すとおり、ランプ点灯指令信号は、ＰＬＣ２が出力するが、ランプ点灯指令信号の状態は、他のコントローラからも自由に参照することができるため、ランプ点灯指令信号がＯＮしているときのプラントの制御と、ランプ点灯指令信号がＯＦＦしているときのプラントの制御とを切り替えるといった用途に容易に使用できる。
【００４７】
また、コントローラ上のプログラムは、ＣＰＵカード４１上のＩＯメモリ５４を参照するのみで、他のコントローラが出力したデータを参照することが可能となるため、従来、他のコントローラが出力したデータを参照する場合に必要となっていたコントローラ間のデータ送受信のためのプログラム作成、および、制御ネットワーク４を経由したコントローラ間のデータ送受信も必要なくなる。
【００４８】
実施の形態３．
実施の形態３について、実施の形態１と同一のプラントを同一のシステム構成、同一のプログラムで監視制御する場合を例に、図を用いて説明する。
図９は、この発明の実施の形態３によるプラント監視制御システムのエンジニアリングツールを示す内部構成図である。
図９において、図４と同一のものは、同一の符号を付している。拡張ダウンローダ１１１は、図４にて示したダウンローダ１１０の機能を拡張し、システム内のすべてのコントローラに対して、システム内のすべてのコントローラ用の実行モジュールをダウンロードするようにしたものである。
ＰＬＣ２用実行モジュール１１６、ＰＬＣ３用実行モジュール１１７、ＰＬＣ４用実行モジュール１１８は、それぞれ、拡張ダウンローダ１１１により、コントローラ２１にダウンロードされた実行モジュールである。
コントローラ２２、２３、２４に対しても同様に、ＰＬＣ１用実行モジュール、ＰＬＣ２用実行モジュール、ＰＬＣ３用実行モジュール、ＰＬＣ４用実行モジュールのすべてがダウンロードされる。通常時は、網掛けされた実行モジュールのみが実行される。例えば、コントローラ２１では、網掛けされたＰＬＣ１用実行モジュール１１５のみが実行される。
【００４９】
図１０は、この発明の実施の形態３によるプラント監視制御システムのコントローラ間のライブチェックを示す関係図である。
図１０においては、図１のシステム構成図から制御ネットワーク４とコントローラ２１、２２、２３、２４のみをピックアップして示したものである。図１０に示すとおり、各コントローラ２１〜２４は、自コントローラ以外のすべてのコントローラとの間で、各コントローラが正常に動作しているかどうかを確認するためのライブチェックを定周期で実施している。
【００５０】
図１１は、この発明の実施の形態３によるプラント監視制御システムのコントローラを示す内部ブロック図である。
図１１において、図５と同一のものは、同一の符号を付している。ライブチェック情報
６２は、コントローラのライブチェック結果を格納している。制御ネットワークカード４４は、制御ネットワーク４に接続するためのカードである。送受信器４５は、制御ネットワーク４を使用して実際に通信を行う。なお、電源カードなど、コントローラのその他のカードは、記載していない。
【００５１】
図１２は、この発明の実施の形態３によるプラント監視制御システムのコントローラの正常時の動作を示すタイミングチャートである。
【００５２】
図１３は、この発明の実施の形態３によるプラント監視制御システムの正常時のライブチェック情報の詳細を示す図である。
図１３において、システム内のすべてのコントローラごとに、コントローラ名称とライブチェック結果が示され、ライブチェック結果として動作中か停止かが示されている。図１３では、全てのコントローラが動作中である。
【００５３】
図１４は、この発明の実施の形態３によるプラント監視制御システムのコントローラの異常時の動作を示すタイミングチャートである。
【００５４】
図１５は、この発明の実施の形態３によるプラント監視制御システムの異常時のライブチェック情報の詳細を示す図である。
図１５において、システム内のすべてのコントローラごとに、コントローラ名称とライブチェック結果が示され、ライブチェック結果として動作中か停止かが示されている。図１５では、ＰＬＣ１が停止しており、他は動作中である。
【００５５】
次に、具体的な動作を図１２、図１４を用いて説明する。
図１２、図１４は、図６で示したタイミングチャートと同様のものであり、図１１で示すブロック図内の各ブロックの動作を、横軸に時間を取り、時系列に示している。
なお、図１２、図１４では、ＣＰＵカード内のＣＰＵチップ、ライブチェック情報、および、制御ネットワークカード内の送受信器のみを抜き出して示している。
また、システム内のすべてのコントローラについて記載している。また、ライブチェック処理に関しては、コントローラ２２が実行するライブチェックのみを抜き出して記述しており、ライブチェック情報も、コントローラ２２のもののみを記載している。
【００５６】
図１２は、通常時、すなわち、すべてのコントローラが正常に動作している場合のタイミングチャートである。それぞれのコントローラのＣＰＵチップに実装される図示しないファームウェアは、図６で説明した動作に加え、リフレッシュ完了待ちに引き続き、ライブチェック処理（ライブチェック指示とライブチェック完了待ちとから構成される）を行うように構成されている。
【００５７】
コントローラ２２のＣＰＵチップ上のファームウェアは、リフレッシュ完了後、自コントローラ以外のすべてのコントローラに対してライブチェックを行うよう、制御ネットワークカード上の送受信器にライブチェック指示を発行する。
ライブチェック指示を受けた送受信器は、自コントローラ以外のすべてのコントローラに対して、制御ネットワーク４を経由して、順にライブチェック要求を発行する。図１２の例では、まず、コントローラ２１に対してライブチェック要求を発行し、コントローラ２１の送受信器からのライブチェック応答を受信し、コントローラ２１は正常であると判断する。
次に、同様の方法で、コントローラ２３のライブチェックを行い、コントローラ２３は正常であると判断し、最後に、コントローラ２４のライブチェックを行い、コントローラ２４は正常であると判断し、ライブチェックを終了する。
【００５８】
ライブチェック終了後、送受信器は、内部バス４３経由で、ＣＰＵカード上のライブチェック情報にライブチェック結果を書き込むと共に、ＣＰＵチップ上のファームウェアに対して、ライブチェック完了通知を内部バス４３経由で通知する。
なお、ライブチェック情報の詳細は、図１３に示すとおりであり、システム内のすべてのコントローラのコントローラ名称がリストアップされたテーブルに、ライブチェックの結果が書き込まれるものであり、図１３の場合は、すべてのコントローラに対して、ライブチェック結果が正常であったことを示す「動作中」という情報が書き込まれる。
図示していないが、コントローラ２２以外のコントローラも、同様のライブチェック処理を実施している。
【００５９】
ライブチェック完了通知を受け取ったＣＰＵチップ上のファームウェアは、ライブチェック結果を参照し、すべてのコントローラが正常に動作中であるため、通常の処理として、ＰＬＣ２用実行モジュールの実行から同一の処理を繰り返す。
【００６０】
図１４は、図１２と同一のものであるが、コントローラ２１に故障などの異常が発生し、途中で動作を停止した場合のタイミングチャートであり、図１２と同一のものは、同一の符号を付している。異常発生タイミング１３０は、コントローラ２１で故障などの異常が発生し、コントローラ２１が動作を停止したタイミングを示すものである。
図１４では、図１２と同様に、コントローラ２２の送受信器は、自コントローラ以外のコントローラに対して、順にライブチェックを行う。図１４では、コントローラ２１にて、ＰＬＣ１用実行モジュールの実行中に故障などの異常が発生し、コントローラ２１は、動作を停止しているため、コントローラ２２からのライブチェック要求に応答することができない。
【００６１】
このとき、コントローラ２２の送受信器は、ライブチェック応答のタイムアウト監視を行い、規定時間内に応答がなければ、コントローラ２１は動作停止中と判断し、次のコントローラのライブチェックに移る。すべてのコントローラのライブチェックが完了すると、図１２で示したのと同様に、送受信器は、内部バス４３経由で、ＣＰＵカード上のライブチェック情報にライブチェック結果、すなわち、図１４の場合には、コントローラ２１が動作停止していることを書き込むと共に、ＣＰＵチップ上のファームウェアに対して、ライブチェック完了通知を内部バス４３経由で通知する。
なお、ライブチェック情報の詳細は、図１５に示すとおりであり、図１４の場合は、コントローラ２１（ＰＬＣ１）からのライブチェック応答がなかったため、ＰＬＣ１については、「停止」という情報が書き込まれ、その他のコントローラに対しては、ライブチェック結果が正常であったことを示す「動作中」という情報が書き込まれる。
【００６２】
ライブチェック完了通知を受け取ったＣＰＵチップ上のファームウェアは、ライブチェック結果を参照し、コントローラ２１の動作停止を検出し、コントローラ２１で実行していたプログラムであるＰＬＣ１用実行モジュールを、次の周期からコントローラ２２で実行するように処理を変更する。
実施の形態１で説明したとおり、すべてのコントローラを共通のＩＯネットワーク５で接続し、どのコントローラからもすべてのプロセス入力カードのＩＯデータの参照、および、すべてのプロセス出力カードへのデータのライトを可能としているため、他のコントローラで実行していた実行モジュールの実行は問題なく行うことができる。
その結果、図１４に示すとおり、コントローラ２２では、ＰＬＣ１用実行モジュールの実行、ＰＬＣ２用の実行モジュールの実行、リフレッシュ指示、リフレッシュ完了待ち、ライブチェック指示、ライブチェック完了待ちを繰り返すようになる。
【００６３】
いずれかのコントローラが動作停止した場合に、肩代わり実行するコントローラは、コントローラの名称の順番により決定される。本実施の形態の場合は、ＰＬＣ１が動作停止
したため、ＰＬＣ１の次のコントローラであるＰＬＣ２が肩代わり実行する。もし、ＰＬＣ２も動作停止している場合は、その次のＰＬＣ３が肩代わり実行する。
【００６４】
なお、上記の説明では、実施の形態１を基に、機能拡張する例で説明したが、実施の形態２の構成であっても、同様の拡張ができることは言うまでもない。また、肩代わり実行するコントローラは、コントローラの名称の順番により決定する場合の例を示したが、他の方法により肩代わり実行するコントローラを決定してもよいことは言うまでもない。
【００６５】
実施の形態１、２では、各コントローラが独立して動作する場合を示したが、実施の形態３によれば、制御ネットワークカード４４上の送受信器４５によるライブチェック処理を行い、動作停止しているコントローラが検出された場合には、動作停止したコントローラで実行していたプログラムを他のコントローラで肩代わり実行するようにしたので、例えば、一般に行われているようなコントローラの二重化などを行うことなく、プラント制御を継続できるようになる。
【００６６】
実施の形態４．
実施の形態４について、実施の形態１と同一のプラントを同一のシステム構成、同一のコントローラのプログラムで監視制御する場合を例に、図を用いて説明する。
図１６は、この発明の実施の形態４によるプラント監視制御システムのＨＭＩ画面例を示す図である。
図１６において、トレンド画面２０１、グラフィック画面２０２は、プラントの監視を行うために、ＨＭＩ３１、３２に表示される監視画面の例である。監視画面には、他にもアラーム画面などの複数の画面があり、ここでは、トレンド画面、グラフィック画面を例として示したが、他の種類の画面であっても同様に実現できる。また、ＨＭＩでの監視は、プロセス入力信号を対象としている。
トレンド画面２０１では、プラント内の各種データを時系列の折れ線グラフとして表示する。図１６では、タンク１１内の液体の液位とボイラー１２の温度を時系列の折れ線グラフで表示した例を示している。
グラフィック画面２０２は、タンク１１内の液体の液位をグラフィカルに描画したタンクの形状の左に、タンクの液位を数値で表示し、その横に単位である「ｍ（メートル）」を同時に表示した例である。
【００６７】
図１７は、この発明の実施の形態４によるプラント監視制御システムのエンジニアリングツールを示す内部構成図である。
図１７において、図１、図４と同一のものは、同一の符号を付している。図１７は、図４の構成に加えて、エンジニアリングツール１の内部ブロックとしてＨＭＩのエンジニアリング機能を追加しており、図ではこのＨＭＩのエンジニアリング機能のみ抜き出して記載している。
ＨＭＩ画面エディタ２１０は、ＨＭＩ画面を作成するためのものである。図１６で示したトレンド画面２０１、グラフィック画面２０２を作成する場合に、トレンド画面２０１であれば、ＩＯカード設定情報に格納されているタンク液位信号とボイラー温度信号のＩＯアドレスの入力データを表示するということを、またグラフィック画面２０２であれば、ＩＯカード設定情報に格納されているタンク液位信号のＩＯアドレスの入力データを数値表示する、ということを定義し、ＨＭＩ画面データを形成する。
ＨＭＩ画面エディタ２１０で定義されたＨＭＩ画面データは、ＨＭＩ画面データ２１１として格納される。また、ＩＯカード設定情報１０９、ＨＭＩ画面データ２１１は、ＨＭＩダウンローダ２１２により、システム内のすべてのＨＭＩにダウンロードされる。
【００６８】
図１８は、この発明の実施の形態４によるプラント監視制御システムのＨＭＩを示す内部構成図である。
図１８において、図１７と同一のものは、同一の符号を付している。図１８は、図１７のエンジニアリングツール１の内部ブロックの代わりに、ＨＭＩ３１の内部ブロックを示している。
ＨＭＩ３１には、エンジニアリングツール１からダウンロードされたＨＭＩ画面データ２１１とＩＯカード設定情報１０９が格納されている。トレンド表示手段３０１は、トレンドグラフをＨＭＩ３１上に表示する。グラフィック表示手段３０２は、グラフィック画面をＨＭＩ３１上に表示する。サーバー手段３０３は、トレンド表示手段３０１、グラフィック表示手段３０２から受けた信号名称によるデータ収集要求を、ＩＯカード設定情報１０９を参照し、ＩＯアドレスによるデータ収集要求に変換した上で、通信手段３０４にそのデータ収集要求を送る。通信手段３０４は、サーバー手段３０３から受けたデータ収集要求に基づき、コントローラからデータ収集する。
なお、表示手段は、図１６と同様に、トレンド画面とグラフィック画面のみを抜き出して記載しており、アラーム画面など、他の機能についても同様の構成となる。
【００６９】
図１９は、この発明の実施の形態４によるプラント監視制御システムのＨＭＩ内の動作を示すフロー図であり、ＨＭＩにグラフィック画面が表示されている場合を例にしている。
【００７０】
次に、図１９を用いて、ＨＭＩ内の動作フローについて説明する。
ＨＭＩに、グラフィック画面が表示されると、グラフィック表示手段３０２は、ステップＳ１１の開始から処理を始める。グラフィック画面では、プラント内のプロセス入力データを表示するが、これらの表示は、ある一定の時間間隔で更新される。図１９では、１秒間隔で更新を行う例を示しており、グラフィック表示手段３０２は、ステップＳ１２にて、この１秒の間隔を計測するためのタイマーをリセットする。
次に、ステップＳ１３にて、ＨＭＩ画面データ２１１を参照し、グラフィック画面に表示する信号をリストアップする。すなわち、グラフィック画面に表示するために、コントローラからデータを収集すべきプロセス入力信号を抽出する。本例では、図１６に示すグラフィック画面を表示するため、タンク液位信号が抽出される。
収集対象信号の抽出完了後、ステップＳ１４にて、サーバー手段３０３に対して、タンク液位信号のデータ収集要求を行う。データ収集要求の発行後は、ステップＳ１５に進み、データ収集要求したデータの受信待ちとなる。
【００７１】
グラフィック表示手段３０２から発行されたデータ収集要求は、サーバー手段３０３のステップＳ２２にて受信され、サーバー手段３０３は、次のステップＳ２３に進む。
ステップＳ２３では、サーバー手段３０３は、ＩＯカード設定情報１０９を参照し、データ収集要求のあったタンク液位信号のＩＯアドレスを解析する。ＩＯカード設定情報１０９は、図２に示すとおりであり、タンク液位信号のＩＯアドレスは、ＩＯＷ−０００１であると解析される。
ＩＯアドレスの解析完了後、ステップＳ２４にて、通信手段３０４に対して、ＩＯＷ−０００１のデータ収集要求を行う。データ収集要求の発行後は、ステップＳ２５に進み、データ収集要求したデータの受信待ちとなる。
【００７２】
サーバー手段３０３から発行されたデータ収集要求は、通信手段３０４のステップＳ３２にて受信され、通信手段３０４は、次のステップＳ３３に進む。
ステップＳ３３では、通信手段３０４は、システム内のすべてのコントローラに対して、コントローラのライブチェックを行う。正常に動作しているコントローラが１台検出されれば、ステップＳ３４に進み、正常であると検出したコントローラをデータ収集対象コントローラとして決定する。ＩＯネットワーク５は、すべてのコントローラで共通のネットワークとして接続されており、また、システム内のプロセス入力データが、システム内のすべてのコントローラに入力リフレッシュされているため、どのプロセス入力データで
あっても、どのコントローラからでもデータ収集できる。
コントローラの決定後、ステップＳ３５に進み、通信手段３０４は、ステップＳ３４で決定したコントローラからＩＯＷ−０００１のデータを収集する。その後、ステップＳ３６にて、サーバー手段３０３に対して、収集データを送信する。
【００７３】
サーバー手段３０３は、通信手段３０４からの収集データ送信を受け、ステップＳ２５にて、受信データあり、と判断し、ステップＳ２６に進む。ステップＳ２６にて、サーバー手段３０３は、グラフィック表示手段３０２に対して、通信手段３０４から受信したデータを送信する。
【００７４】
グラフィック表示手段３０２は、サーバー手段３０３からのデータ送信を受け、ステップＳ１５にて、受信データあり、と判断し、ステップＳ１６に進む。ステップＳ１６では、ＨＭＩ画面上に表示するタンク液位信号の数値をサーバー手段３０３から受信したデータを使用して表示更新する。
その後、ステップＳ１２でリセットしたタイマーが１秒経過したかどうかのチェックを、ステップＳ１７で行い、１秒経過した時点で、先頭のステップＳ１１に戻り、同一の処理を繰り返す。
【００７５】
なお、上述では、通信手段３０４が、データ収集対象コントローラとして決定するコントローラは、通信手段３０４によるライブチェックで最初に正常と検出されたコントローラを使用する例で説明したが、正常に動作しているコントローラであれば、どのコントローラと通信してもよいことは言うまでもない。
【００７６】
実施の形態４によれば、このように、複数のコントローラ２１、２２、２３、２４を共通のＩＯネットワーク５で接続し、エンジニアリングツール１からＩＯカード設定情報をＨＭＩにダウンロードするとともに、ＨＭＩには、サーバー手段３０３、通信手段３０４を設け、ＨＭＩで監視のために表示する信号名称からＩＯアドレスを解析し、また、システム内のコントローラの中から正常動作しているコントローラを検出し、正常動作しているコントローラからすべてのプロセス入力データを収集可能としたので、システム内に故障などで動作を停止したコントローラが存在していても、プラント内のすべてのプロセス入力の監視が可能となる。
また、同様の理由により、ＨＭＩ画面の作成時に、従来、必要であったコントローラとプロセス入力カードとの接続関係を事前に決定しておく必要もなくなる。
また、同様の理由により、プログラムを実行するコントローラの変更（例えば、ＰＬＣ１で実行しようとしていたタンクの液位制御をＰＬＣ２などで実行するように変更）を行った場合でも、ＨＭＩ画面の変更を行う必要もなくなる。
【００７７】
実施の形態５．
図２０は、この発明の実施の形態５によるプラント監視制御システムのＨＭＩ画面例を示す図である。
図２０において、トレンド画面２０１、グラフィック画面２０３は、プラントの監視を行うために、ＨＭＩ３１、３２に表示する監視画面の例である。監視画面には、他にもアラーム画面などの複数の画面があり、ここでは、トレンド画面、グラフィック画面を例として示しているが、他の種類の画面であっても同様に実現できる。図２０におけるＨＭＩでの監視は、プロセス入力信号に加え、プロセス出力信号を対象としている。
図２０のトレンド画面２０１は、実施の形態３で示した図１６におけるものと同一のものである。グラフィック画面２０３は、実施の形態３で示した図１６のグラフィック画面２０２に、タンク１１に流入する液体の量を調節するためのバルブを追加し、コントローラからバルブへの開度指令であるバルブ開度指令信号を数値で表示し、その横に単位である「パーセント」を同時に表示する場合の例である。
また、図示していないが、エンジニアリングツール１、ＨＭＩ３１、３２の内部構成は、実施の形態４で示した図１７、１８と同一であり、同様に、図示していないが、コントローラは、実施の形態２の図８の内部ブロック図で示した構成と同じである。
【００７８】
図２１は、この発明の実施の形態５によるプラント監視制御システムのＨＭＩ内の動作を示すフロー図であり、ＨＭＩにグラフィック画面が表示されている場合を例として記載している。
【００７９】
次に、ＨＭＩ内の動作フローについて図２１を用いて説明する。
全体の動作フローは、実施の形態４の図１９と同一であり、グラフィック表示手段のステップＳ１１３のみ、実施の形態４のステップＳ１３と異なる動作を行う。
ステップＳ１１３では、プロセス入力信号の抽出に加え、プロセス出力信号の抽出も同時に行う。抽出したプロセス出力信号は、プロセス入力信号と同様に、ステップＳ１４にて、サーバー手段３０３に対して、データ収集要求を発行する。その後の動作は、実施の形態４と同様である。
【００８０】
実施の形態４では、ＨＭＩで監視する信号をプロセス入力信号に限定したが、実施の形態５では、プロセス出力信号も監視するようにしている。
実施の形態５によれば、実施の形態２の図８の内部ブロック図で示した構成を持つコントローラを使用することにより、ＨＭＩでプロセス出力信号をも監視する場合に、システム内に故障などで動作を停止したコントローラが存在していても、プラント内のすべてのプロセス入力、プロセス出力の監視が可能となる。
また、同様の理由により、ＨＭＩ画面の作成時に、従来、必要であったコントローラとプロセス入力、プロセス出力カードとの接続関係を事前に決定しておく必要もなくなる。
また、同様の理由により、プログラムを実行するコントローラの変更（例えば、ＰＬＣ１で実行しようとしていたタンクの液位制御をＰＬＣ２などで実行するように変更）を行った場合でも、ＨＭＩ画面の変更を行う必要もなくなる。
【００８１】
実施の形態６．
図２２は、この発明の実施の形態６によるプラント監視制御システムを示すシステム構成図である。
図２２においては、実施の形態１〜実施の形態５に示したシステム構成図中のＩＯネットワーク５を二重化した二重化ＩＯネットワーク５０１を備えている。
【００８２】
実施の形態６のコントローラは、プロセス入力カード、プロセス出力カードとのデータコピー（リフレッシュ）を行う際に、二重化ＩＯネットワーク５０１の１本を使用してライブチェックを行い、正常であることが確認されれば、コピー（リフレッシュ）を行い、異常が検出された場合には、二重化ＩＯネットワークのもう１本を使用してライブチェックを行い、もう１本を使用したライブチェックが正常であることを確認の上、コピー（リフレッシュ）を行う。
【００８３】
実施の形態６によれば、このように、ＩＯネットワークを二重化したため、１本のＩＯネットワークが切断された場合でも、コントローラによるプラントの制御が継続できるだけでなく、ＨＭＩからの監視も継続することが可能となる。
【符号の説明】
【００８４】
１  エンジニアリングツール
４  制御ネットワーク
５  ＩＯネットワーク（Ｉｎｐｕｔ  Ｏｕｔｐｕｔネットワーク）
１１  タンク
１２  ボイラー
２１、２２、２３、２４  プログラマブルコントローラ（コントローラ）
３１、３２  ヒューマンマシンインターフェース（ＨＭＩ）
４１  ＣＰＵカード
４２  ＩＯマスターカード
４３  内部バス
４４  制御ネットワークカード
４５  送受信器
５１  ＣＰＵチップ
５２  プログラムメモリ
５３  データメモリ
５４  ＩＯメモリ
５５  ＩＯ中継用メモリ
５６  ＩＯメモリライト検出器
５７  ＩＯメモリリフレッシュ器
５８  ＩＯカードリフレッシュ器
５９  ＩＯメモリライト情報
６１  ＣＰＵカード上のＩＯカード設定情報
６２  ライブチェック情報
７１、７３、７４、７６、７７、７８  プロセス入力カード
７２、７５  プロセス出力カード
８１、８２、８７  センサー
８３、８４、８５  バルブ
８６  スイッチ
８８  ランプ
９０、９１、９２  センサー
１０１  プログラムエディタ
１０２  ＩＯカード設定エディタ
１０３  プログラム
１０４  コンパイラ
１０５  ＰＬＣ１用実行モジュール
１０６  ＰＬＣ２用実行モジュール
１０７  ＰＬＣ３用実行モジュール
１０８  ＰＬＣ４用実行モジュール
１０９  ＩＯカード設定情報
１１０  ダウンローダ
１１１  拡張ダウンローダ
１１５  ＣＰＵカード上のＰＬＣ１用実行モジュール
１１６  ＣＰＵカード上のＰＬＣ２用実行モジュール
１１７  ＣＰＵカード上のＰＬＣ３用実行モジュール
１１８  ＣＰＵカード上のＰＬＣ４用実行モジュール
１３０  コントローラ２１での異常発生タイミング
１５７  拡張ＩＯメモリリフレッシュ器
１５８  拡張ＩＯカードリフレッシュ器
１７１、１７２、１７３、１７４、１７５、１７６、１７７、１７８  ＩＯデータメモリ２０１  トレンド画面例
２０２  グラフィック画面例（プロセス入力のみ）
２０３  グラフィック画面例（プロセス出力あり）
２１０  ＨＭＩ画面エディタ
２１１  ＨＭＩ画面データ
２１２  ＨＭＩダウンローダ
３０１  トレンド表示手段
３０２  グラフィック表示手段
３０３  サーバー手段
３０４  通信手段
５９１、５９２、５９３、５９４  ＣＰＵカード上のＩＯメモリライト情報（詳細）
【図１】
2010250435.tif 000003
【図２】
2010250435.tif 000004
【図３】
2010250435.tif 000005
【図４】
2010250435.tif 000006
【図５】
2010250435.tif 000007
【図６】
2010250435.tif 000008
【図７】
2010250435.tif 000009
【図８】
2010250435.tif 000010
【図９】
2010250435.tif 000011
【図１０】
2010250435.tif 000012
【図１１】
2010250435.tif 000013
【図１２】
2010250435.tif 000014
【図１３】
2010250435.tif 000015
【図１４】
2010250435.tif 000016
【図１５】
2010250435.tif 000017
【図１６】
2010250435.tif 000018
【図１７】
2010250435.tif 000019
【図１８】
2010250435.tif 000020
【図１９】
2010250435.tif 000021
【図２０】
2010250435.tif 000022
【図２１】
2010250435.tif 000023
【図２２】
2010250435.tif 000024