(57)【要約】【課題】制御プログラムが変更された場合に、シミュレーションプログラムを用いることなく、変更後制御プログラムを組み込んだ制御装置が機器を正常に動作させるか否かを利用者に確認させる。【解決手段】保守装置２からテスト実行が要求された場合に、保守装置２から受信した変更後制御プログラムを機器３への出力を禁止しつつ実行するテスト実行手段１１ｂと、保守装置２から制御プログラムの切り替えが要求された場合に、変更後制御プログラムを制御プログラムとして実行するために、変更後制御プログラムと制御プログラムとを切り替える制御プログラム切り替え手段１１ｃとを備える。【選択図】図１
2008310640.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを実行することによって機器の制御を行うと共に、接続された保守装置から前記制御プログラムに基づいて生成された変更後制御プログラムを受信し、受信した変更後制御プログラムと前記制御プログラムとを切り替える制御装置であって、
前記保守装置からテスト実行が要求された場合に、前記保守装置から受信した前記変更後制御プログラムを前記機器への出力を禁止しつつ実行するテスト実行手段と、
前記保守装置から前記制御プログラムの切り替えが要求された場合に、前記変更後制御プログラムを前記制御プログラムとして実行するために、前記変更後制御プログラムと前記制御プログラムとを切り替える制御プログラム切り替え手段と、
を備えたことを特徴とする制御装置。
【請求項２】
前記制御プログラムと前記変更後制御プログラムとを少なくとも記憶する制御プログラム記憶手段と、
前記制御プログラム記憶手段に記憶された前記制御プログラムのアドレスをオフセット領域に記憶すると共に、少なくとも前記変更後制御プログラムのアドレスをテストオフセット領域に記憶する制御プログラム管理情報記憶手段と、
前記保守装置によりテスト実行が要求された場合に、前記保守装置から前記変更後制御プログラムを受信し、受信した変更後制御プログラムの出力命令を前記機器へ出力しないように変更し、この変更後のプログラムを出力変更後制御プログラムとして前記制御プログラム記憶手段に記憶させると共に、記憶させた該出力変更後制御プログラムのアドレスを前記制御プログラム管理情報記憶手段のテストオフセット記憶領域に記憶させる記憶制御手段とを更に備え、
前記テスト実行手段は、
前記記憶制御手段により前記テストオフセット記憶領域に記憶されたアドレスに基づいて、前記制御プログラム記憶手段に記憶された出力変更後制御プログラムを新たな変更後制御プログラムとして実行し、
前記制御プログラム切り替え手段は、
前記保守装置により制御プログラムの切り替えが要求された場合に、前記保守装置から再度、前記変更後制御プログラムを受信し、前記記憶制御手段によって記憶された前記出力変更後制御プログラムをこの再度受信した前記変更後制御プログラムで上書きさせると共に、この上書きした前記変更後制御プログラムを前記制御プログラムとして切替えて実行するために前記オフセット記憶領域に記憶されたアドレスを前記記憶制御手段によって前記テストオフセット記憶領域に記憶されたアドレスで上書きさせる
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御プログラムと前記変更後制御プログラムとを少なくとも記憶する制御プログラム記憶手段と、
前記制御プログラム記憶手段に記憶された前記制御プログラムのアドレスをオフセット領域に記憶すると共に、少なくとも前記変更後制御プログラムのアドレスをテストオフセット領域に記憶する制御プログラム管理情報記憶手段と、
前記保守装置によりテスト実行が要求された場合に、前記保守装置から受信した変更後制御プログラムを前記制御プログラム記憶手段に記憶させると共に、前記受信した変更後制御プログラムの出力命令を前記機器へ出力しないように変更し、この変更後のプログラムを出力変更後制御プログラムとして新たに前記制御プログラム記憶手段に記憶させ、この記憶させた該出力変更後制御プログラムのアドレスを前記制御プログラム管理情報記憶手段のテストオフセット記憶領域に記憶させる記憶制御手段とを更に備え、
前記テスト実行手段は、
前記記憶制御手段により前記テストオフセット記憶領域に記憶されたアドレスに基づいて、前記制御プログラム記憶手段に記憶された出力変更後制御プログラムを新たな変更後制御プログラムとして実行し、
前記制御プログラム切り替え手段は、
前記保守装置により制御プログラムの切り替えが要求された場合に、前記記憶制御手段により記憶された前記出力変更後制御プログラムを前記記憶制御手段により記憶された前記変更後制御プログラムで上書きさせると共に、この上書きした前記変更後制御プログラムを前記制御プログラムとして実行するために前記オフセット記憶領域に記憶されたアドレスを前記記憶制御手段によって前記テストオフセット記憶領域に記憶されたアドレスで上書きさせる
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記制御プログラムと前記変更後制御プログラムとを記憶する制御プログラム記憶手段と、
前記制御プログラム記憶手段に記憶された制御プログラムのアドレスをオフセット領域に記憶すると共に、前記変更後制御プログラムのアドレスをテストオフセット領域に記憶する制御プログラム管理情報記憶手段と、
前記保守装置によりテスト実行が要求された場合に、前記変更後制御プログラムを受信し、この受信した変更後制御プログラムを前記制御プログラム記憶手段に記憶させると共に、記憶させた変更後制御プログラムのアドレスを前記制御プログラム管理情報記憶手段のテストオフセット記憶領域に記憶させる記憶制御手段とを備え、
前記テスト実行手段は、
前記記憶制御手段により前記テストオフセット記憶領域に記憶されたアドレスに基づいて、前記制御プログラム記憶手段に記憶された変更後制御プログラムを前記機器へ出力しないように切り離して実行し、
前記制御プログラム切り替え手段は、
前記保守装置により制御プログラムの切り替えが要求された場合に、前記制御プログラム記憶手段に記憶された変更後制御プログラムを前記制御プログラムとして実行するために、前記オフセット記憶領域に記憶されたアドレスと前記テストオフセット記憶領域に記憶されたアドレスとを入れ替える
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
制御プログラムを実行することによって機器の制御を行う制御装置に接続された保守装置から、前記制御プログラムに基づいて生成された変更後制御プログラムを受信し、受信した変更後制御プログラムと前記制御プログラムとを切り替える制御プログラム切り替え方法であって、
前記保守装置からテスト実行が要求された場合に、前記保守装置から受信した前記変更後制御プログラムを前記機器への出力を禁止しつつ実行するテスト実行ステップと、
前記保守装置から制御プログラムの切り替えが要求された場合に、前記変更後制御プログラムを前記制御プログラムとして実行するために、前記変更後制御プログラムと前記制御プログラムとを切り替える制御プログラム切り替えステップと、
を有することを特徴とする制御プログラム切り替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントに影響を与えることなく、変更後の動作確認を行うことができる制御装置及び制御プログラム切り替え方法に関する。
【背景技術】
【０００２】
プラントを制御する一般的な制御装置において、制御装置の提供者はプラントを安定かつ安全に制御するための各種機器の起動、停止信号等からなる制御回路を制御プログラムとして制御装置に組み込み、プラント操業者へ提供する。
【０００３】
しかし、制御装置提供後に、提供者又はプラント操業者等の利用者は、運転条件の変更等何らかの理由により、組み込まれた制御プログラムを変更する場合がある。このような場合、利用者は保守装置を用いて制御プログラムの変更を行い、変更後の制御プログラムを制御装置にダウンロードさせて制御装置へ組み込んでいた。
【０００４】
図９は、従来の保守装置を用いて制御プログラムを制御装置へ組み込む手順を説明した模式図である。
【０００５】
図９に示すように、従来は、制御装置１０１に保守装置１０２を制御ＬＡＮ１０３を介して接続し、保守装置１０２によって変更された変更後制御プログラムを制御装置１０１にダウンロードすることにより、変更後制御プログラムを制御装置１０１に組み込んでいた。
【０００６】
例えば、利用者が、保守装置１０２上で制御プログラム１０４の一部を変更(ADD命令をDIV命令へ修正)する場合、保守装置１０２は変更後制御プログラムを保守装置１０２内に記憶し、コンパイル後に変更後制御プログラムを制御装置１０１へダウンロードする。そして、制御装置１０１は、ダウンロードされた変更後制御プログラムを実行する。
【０００７】
しかし、図９に示すように、プラントのセンサからの入力変数Ａの値が“０”であると、変更後制御プログラムの実行結果としてゼロ割が生じ、出力変数Ｚの値が無限大になる等プラント機器へ異常値が出力される場合がある。これにより、プラントが緊急停止してしまう等重大な影響が出る場合もあった。
【０００８】
そこで、このような異常値が出力された場合、保守装置１０２で変更後制御プログラムをUndoなどにより変更前の制御プログラムに戻し、変更前の制御プログラムを保守装置１０２から再度ダウンロードを行うことが考えられる。
【０００９】
しかしながら、このように再ダウンロードする場合、保守装置１０２は再度制御プログラムの保存・コンパイル・ダウンロードを行う必要があり、制御装置１０１を変更前の状態に復旧するためには相当の時間を要していた。
【００１０】
そこで、例えば、入力模擬信号を生成するシミュレータを備えたオフラインシステムを用いて、利用者が変更後制御プログラムが正常に動作することを事前に確認した後、実機の制御装置１０１に変更後制御プログラムをダウンロードすることが考えられる。
【００１１】
図１０は、変更後制御プログラムが組み込まれた制御装置が正常に動作するか否かを事前確認するためのオフラインシステムの概要を説明した模式図である。
【００１２】
図１０に示すように、従来技術のオフラインシステム１１０は制御プログラムを実行する制御プログラム実行部１１１と、プラント機器を模擬するシミュレーション実行部１１２と、シミュレーション実行部１１２及び制御プログラム実行部１１１とで用いられる入出力データを記憶するシミュレーションデータ記憶部１１３とを備えている。
【００１３】
シミュレーション実行部１１２は、シミュレーションプログラムを実行することによって、シミュレーションデータ記憶部１１３に記憶された出力信号に基づいて、プラントをシミュレートする。そして、シミュレーション実行部１１２は、シミュレーションプログラムの実行結果として入力信号を生成し、シミュレーションデータ記憶部１１３へ記憶させる。
【００１４】
制御プログラム実行部１１１は、シミュレーションデータ記憶部１１３に記憶された入力信号に基づいて、制御プログラムを実行する。そして、制御プログラムの実行結果として出力信号を生成し、シミュレーションデータ記憶部１１３に記憶させる。
【００１５】
そして、利用者は、制御プログラム実行部１１１の実行結果を確認した後、実機の制御装置１０１に変更後制御プログラムを反映させる。
【００１６】
しかしながら、上記のような入力信号を生成させるためのシミュレーションプログラムを作成するためには、利用者は、通常運転時及び予想外の事象発生時における全てのプラント機器の応答特性などを想定して作成する必要があり、これには多大なノウハウが必要になっていた。そのため、利用者がこのようなシミュレーションプログラムを作成するのは非常に困難であった。
【００１７】
また、特許文献１には、ソフトウェアプログラムの動作異常時を検出し、検出したときに異常時処理プログラムを起動し、異常の種類と異常時の処理を記憶する数値制御装置が提案されている。
【特許文献１】特開平５−１９７４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、特許文献１に記載の数値制御装置をプラントの制御装置に適用したとしても、ソフトウェアプログラム（制御プログラム）の異常が発生した場合、異常時処理プログラムを起動し、異常の種類と異常時の処理を記憶するが、制御装置を復旧するためには、再度ソフトウェアプログラムの保存・コンパイル・ダウンロードを行う必要があった。また、制御装置から異常値が出力されることによりプラントが緊急停止してしまう等重大な影響が出る場合もあった。
【００１９】
本発明は、上記課題に鑑みてなされたものであり、シミュレーションプログラムを用いることなく、利用者によって正常に動作することが確認された変更後制御プログラムを制御プログラムに替えて組み込むことができる制御装置及び制御プログラム切り替え方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するため、本発明に係る制御装置の第１の特徴は、制御プログラムを実行することによって機器の制御を行うと共に、接続された保守装置から制御プログラムに基づいて生成された変更後制御プログラムを受信し、受信した変更後制御プログラムと制御プログラムとを切り替える制御装置であって、保守装置からテスト実行が要求された場合に、保守装置から受信した変更後制御プログラムを機器への出力を禁止しつつ実行するテスト実行手段と、保守装置から制御プログラムの切り替えが要求された場合に、変更後制御プログラムを制御プログラムとして実行するために、変更後制御プログラムと制御プログラムとを切り替える制御プログラム切り替え手段とを備えたことにある。
【００２１】
上記目的を達成するため、本発明に係る制御装置の第２の特徴は、制御プログラムと変更後制御プログラムとを少なくとも記憶する制御プログラム記憶手段と、制御プログラム記憶手段に記憶された制御プログラムのアドレスをオフセット領域に記憶すると共に、少なくとも変更後制御プログラムのアドレスをテストオフセット領域に記憶する制御プログラム管理情報記憶手段と、保守装置によりテスト実行が要求された場合に、保守装置から変更後制御プログラムを受信し、受信した変更後制御プログラムの出力命令を機器へ出力しないように変更し、この変更後のプログラムを出力変更後制御プログラムとして制御プログラム記憶手段に記憶させると共に、記憶させた該出力変更後制御プログラムのアドレスを制御プログラム管理情報記憶手段のテストオフセット記憶領域に記憶させる記憶制御手段とを更に備え、テスト実行手段は、記憶制御手段によりテストオフセット記憶領域に記憶されたアドレスに基づいて、制御プログラム記憶手段に記憶された出力変更後制御プログラムを新たな変更後制御プログラムとして実行し、制御プログラム切り替え手段は、保守装置により制御プログラムの切り替えが要求された場合に、保守装置から再度、変更後制御プログラムを受信し、記憶制御手段により記憶された出力変更後制御プログラムをこの再度受信した変更後制御プログラムで上書きさせると共に、この上書きした変更後制御プログラムを制御プログラムとして切替えて実行するためにオフセット記憶領域に記憶されたアドレスを記憶制御手段によってテストオフセット記憶領域に記憶されたアドレスで上書きさせることにある。
【００２２】
上記目的を達成するため、本発明に係る制御装置の第３の特徴は、制御プログラムと変更後制御プログラムとを少なくとも記憶する制御プログラム記憶手段と、制御プログラム記憶手段に記憶された制御プログラムのアドレスをオフセット領域に記憶すると共に、少なくとも変更後制御プログラムのアドレスをテストオフセット領域に記憶する制御プログラム管理情報記憶手段と、保守装置によりテスト実行が要求された場合に、保守装置から受信した変更後制御プログラムを制御プログラム記憶手段に記憶させると共に、受信した変更後制御プログラムの出力命令を機器へ出力しないように変更し、この変更後のプログラムを出力変更後制御プログラムとして新たに制御プログラム記憶手段に記憶させ、この記憶させた該出力変更後制御プログラムのアドレスを制御プログラム管理情報記憶手段のテストオフセット記憶領域に記憶させる記憶制御手段とを更に備え、テスト実行手段は、記憶制御手段によりテストオフセット記憶領域に記憶されたアドレスに基づいて、制御プログラム記憶手段に記憶された出力変更後制御プログラムを新たな変更後制御プログラムとして実行し、制御プログラム切り替え手段は、保守装置により制御プログラムの切り替えが要求された場合に、記憶制御手段により記憶された出力変更後制御プログラムを記憶制御手段により記憶された変更後制御プログラムで上書きさせると共に、この上書きした変更後制御プログラムを制御プログラムとして実行するためにオフセット記憶領域に記憶されたアドレスを記憶制御手段によってテストオフセット記憶領域に記憶されたアドレスで上書きさせることにある。
【００２３】
上記目的を達成するため、本発明に係る制御装置の第４の特徴は、制御プログラムと変更後制御プログラムとを記憶する制御プログラム記憶手段と、制御プログラム記憶手段に記憶された制御プログラムのアドレスをオフセット領域に記憶すると共に、変更後制御プログラムのアドレスをテストオフセット領域に記憶する制御プログラム管理情報記憶手段と、保守装置によりテスト実行が要求された場合に、変更後制御プログラムを受信し、この受信した変更後制御プログラムを制御プログラム記憶手段に記憶させると共に、記憶させた変更後制御プログラムのアドレスを制御プログラム管理情報記憶手段のテストオフセット記憶領域に記憶させる記憶制御手段とを備え、テスト実行手段は、記憶制御手段によりテストオフセット記憶領域に記憶されたアドレスに基づいて、前記制御プログラム記憶手段に記憶された変更後制御プログラムを機器へ出力しないように切り離して実行し、制御プログラム切り替え手段は、保守装置により制御プログラムの切り替えが要求された場合に、制御プログラム記憶手段に記憶された変更後制御プログラムを制御プログラムとして実行するために、オフセット記憶領域に記憶されたアドレスとテストオフセット記憶領域に記憶されたアドレスとを入れ替えることにある。
【００２４】
上記目的を達成するため、本発明に係る制御プログラム切り替え方法の第１の特徴は、制御プログラムを実行することによって機器の制御を行う制御装置に接続された保守装置から、制御プログラムに基づいて生成された変更後制御プログラムを受信し、受信した変更後制御プログラムと制御プログラムとを切り替える制御プログラム切り替え方法であって、保守装置からテスト実行が要求された場合に、保守装置から受信した変更後制御プログラムを機器への出力を禁止しつつ実行するテスト実行ステップと、保守装置から制御プログラムの切り替えが要求された場合に、変更後制御プログラムを制御プログラムとして実行するために、変更後制御プログラムと前記制御プログラムとを切り替える制御プログラム切り替えステップとを有することにある。
【発明の効果】
【００２５】
本発明に係る制御装置及び制御プログラム切り替え方法によれば、シミュレーションプログラムを用いることなく、利用者によって正常に動作することが確認された変更後制御プログラムを制御プログラムに替えて制御装置に組み込むことができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を実施するための最良の形態について図面を参照して説明する。
【００２７】
＜第１の実施形態＞
図１は、本発明の第１の実施形態である制御装置１を適用した制御システム１０の構成を示した構成図である。
【００２８】
図１に示すように、制御システム１０はプラント機器３と接続されており、プラント機器３は制御システム１０からの制御信号に基づいて制御されると共に、センサ等によりプラント機器の状態信号等を制御システム１０へ送信する。
【００２９】
また、制御システム１０は、制御装置１及び保守装置２とを備えており、これら制御装置１と保守装置２とは、ネットワーク４を介して接続されている。
【００３０】
制御装置１は、装置全体の制御中枢となるＣＰＵ１１と、ＣＰＵ１１が実行するオペレーションシステムや保守制御プログラム等を記憶するプログラム記憶部１２と、制御装置１を動作させるために必要な各種データを記憶するデータメモリ１３とを備え、これらＣＰＵ１１、プログラム記憶部１２及びデータメモリ１３はバス１４を介して接続されている。また、このバス１４には、更にプラント機器３と接続するための入出力インタフェース１５と、保守装置２と接続するための通信インタフェース１６とが接続されている。
【００３１】
プログラム記憶部１２は、ハードディスク等で構成され、オペレーティングシステムなどのプログラムの他に、保守制御プログラムが記憶されている。
【００３２】
データメモリ１３には、保守制御プログラムの他にＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００３３】
通信インタフェース１６は、ＬＡＮカードやシリアルポートなどの通信装置であり、この通信インタフェース１６を介して保守装置２が接続される。
【００３４】
また、ＣＰＵ１１には、制御プログラム管理情報記憶手段１７と、制御プログラム記憶部１８とがバス１９を介して接続されている。
【００３５】
制御プログラム管理情報記憶部１７は、オフセット記憶領域１７４とテストオフセット記憶領域１７５とを有している。そして、制御プログラム記憶部１８に記憶された制御プログラムのアドレスをオフセット領域１７４に記憶すると共に、制御プログラムに基づいて変更された変更後制御プログラム、又は変更後制御プログラムに基づいて出力命令が変更された出力変更後制御プログラムのアドレスをテストオフセット領域１７５に記憶する。
【００３６】
図２は、制御プログラム管理情報記憶部１７に記憶された制御プログラム管理情報の一例を示した説明図である。
【００３７】
図２に示すように、制御プログラム管理情報は、「プログラムＮＯ」（符号１７１）と、「登録フラグ」（符号１７２）と、「名称」（符号１７３）と、オフセット記憶領域に記憶する「オフセットアドレス」（符号１７４）と、テストオフセット記憶領域に記憶する「テストオフセットアドレス」（符号１７５）とが関連付けて記憶されている。
【００３８】
ここで、「プログラムＮＯ」（符号１７１）は、Ｎ個まで管理されており、制御プログラムの実行される通し番号(１〜Ｎ)を示している。また、「登録フラグ」（符号１７２）は、制御プログラムが制御装置１に登録されているか否かを示しており、「名称」（符号１７３）は、保守装置２にて設定した制御プログラムの名称を示している。さらに、「オフセットアドレス」（符号１７４）は、制御プログラムの機械語が記憶された制御プログラム記憶部１８のアドレスを示しており、「テストオフセットアドレス」（符号１７５）は、変更後制御プログラム又は出力変更後制御プログラムの機械語が記憶された制御プログラム記憶部１８のアドレスを示している。なお、アドレスの値が、「FFFF」であれば、アドレスが記憶されていないことを示す。
【００３９】
制御プログラム記憶部１８は、制御プログラムと変更後制御プログラム又は出力変更後制御プログラムとを記憶する。
【００４０】
図３は、制御プログラム記憶部１８に記憶された制御プログラム、変更後制御プログラム、又は出力変更後制御プログラムの一例を示した説明図である。
【００４１】
図３に示すように、制御プログラム、変更後制御プログラム、又は出力変更後制御プログラムは、各種命令等が記述された「オペコード」（符号１８１）と、変数等が記述された「オペランド」（符号１８２）が関連付けて記憶されている。
【００４２】
ＣＰＵ１１は、プログラム記憶部１２に記憶されている保守制御プログラムを読み出し、読み出した保守制御プログラムを実行することによって記憶制御手段１１ａとテスト実行手段１１ｂと制御プログラム切り替え手段１１ｃとを実装する。
【００４３】
記憶制御手段１１ａは、保守装置２によりテスト実行が要求された場合に、保守装置２から変更後制御プログラムを受信し、受信した変更後制御プログラムの出力命令を機器へ出力しないように変更し、この変更後のプログラムを出力変更後制御プログラムとして制御プログラム記憶手段１８に記憶させると共に、記憶させた出力変更後制御プログラムのアドレスを制御プログラム管理情報記憶手段１７のテストオフセット記憶領域に記憶させる。
【００４４】
テスト実行手段１１ｂは、記憶制御手段１１ａによりテストオフセット記憶領域に記憶されたアドレスに基づいて、制御プログラム記憶手段１８に記憶された出力変更後制御プログラムを新たな変更後制御プログラムとして実行する。
【００４５】
制御プログラム切り替え手段１１ｃは、保守装置２により制御プログラムの切り替えが要求された場合に、保守装置２から再度、変更後制御プログラムを受信し、記憶制御手段１１ａによって記憶された出力変更後制御プログラムをこの受信した変更後制御プログラムで上書きさせると共に、この上書きした変更後制御プログラムを制御プログラムとして実行するためにオフセット記憶領域に記憶されたアドレスを記憶制御手段１１ａによってテストオフセット記憶領域に記憶されたアドレスで上書きさせる。
【００４６】
保守装置２は、制御装置１が実行する制御プログラムの保守用の端末であり、ＣＰＵ２１、メインメモリ２２、記憶部２３、及び通信インタフェース２４を備え、各々はバス２５を介して相互に接続されている。
【００４７】
ＣＰＵ２１は、利用者の入力操作により制御プログラムの変更等やコンパイル等を行い、コンパイルした変更後制御プログラムを制御装置１へ送信する。
【００４８】
メインメモリ２２には、ＣＰＵ２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００４９】
記憶部２３は、ハードディスク等で構成され、オペレーティングシステムなどのプログラムの他に、制御プログラム等が記憶されている。
【００５０】
通信インタフェース２４は、ＬＡＮカードやシリアルポートなどの通信装置であり、この通信インタフェース２４を介して保守装置２が制御装置１に接続される。
【００５１】
＜作用＞
次に、本発明の第１の実施形態である制御装置１を適用した制御システム１０の作用について説明する。
【００５２】
図４は、制御システム１０の保守装置２の処理手順を示したフローチャートである。
【００５３】
まず、保守装置２のＣＰＵ２１は、利用者の入力操作により制御プログラムのテスト実行が要求されると、（ステップＳ１０１）、テスト実行要求信号を通信インタフェース２４を介して制御装置１に送信する。さらに、ＣＰＵ２１は、記憶部２３に記憶された制御プログラムを読み出し、読み出した制御プログラムを新たな制御プログラムとして生成し、記憶部２３に記憶する（ステップＳ１０２）。
【００５４】
そして、利用者の入力操作により、ＣＰＵ２１は、ステップＳ１０２において生成された新たな制御プログラムを記憶部２３から読み出す。そして、利用者の入力操作により、読み出した制御プログラムが変更されると、ＣＰＵ２１は、この変更後制御プログラムを記憶部２３に記憶すると共に、この変更後制御プログラムを通信インタフェース２４を介して、制御装置１へ送信する（ステップＳ１０３）。
【００５５】
次に、ＣＰＵ２１は、利用者の入力操作により制御プログラムの切り替えが要求されると（ステップＳ１０４）、切り替え要求信号を通信インタフェース２４を介して、制御装置１へを送信する（ステップＳ１０５）。さらに、ＣＰＵ２１は、記憶部２３に記憶された変更後制御プログラムを読み出し、読み出した変更後制御プログラムを通信インタフェース２４を介して、制御装置１へ送信する（ステップＳ１０６）。
【００５６】
そして、ＣＰＵ２１は、記憶部２３に記憶されている変更前の制御プログラムをステップＳ１０６において送信した変更後制御プログラムで上書きする（ステップＳ１０７）。
【００５７】
図５は、制御システム１０の制御装置１の処理手順を示したフローチャートである。
【００５８】
制御装置１のＣＰＵ１１の記憶制御手段１１ａは、保守装置２から要求信号を受信すると、受信した要求信号が書き換え要求信号かテスト実行要求信号かを判定する（ステップＳ２０１）。
【００５９】
そして、記憶制御手段１１ａは、受信した要求信号が書き換え要求信号である場合には、保守装置２から通信インタフェース１６を介して制御プログラムを受信し、受信した制御プログラムを制御プログラム記憶部１８に記憶させる（ステップＳ２０２）。さらに、記憶制御手段１１ａは、制御プログラム記憶部１８に記憶させた制御プログラムのアドレスを制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶させる（ステップＳ２０３）。
【００６０】
次に、ＣＰＵ１１は、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスに示される制御プログラム記憶部１８に記憶された制御プログラムを実行する（ステップＳ２０４）。具体的には、ＣＰＵ１１は、制御プログラム管理情報のプログラムＮＯ（符号１７１）の“１”から“Ｎ”までの登録フラグ（符号１７２）の値が“Ｙｅｓ”であるオフセットアドレス（符号１７４）を順に読み込み、読み込んだオフセットアドレス（符号１７４）に対応する制御プログラムを制御プログラム記憶部１８から読み込み、実行する。
【００６１】
一方、ステップＳ２０１において、受信した要求信号がテスト実行要求信号であると判定された場合、記憶制御手段１１ａは、変更後制御プログラムを保守装置２から通信インタフェース１６を介して受信する（ステップＳ２０５）。
【００６２】
そして、記憶制御手段１１ａは、受信した変更後制御プログラムを制御プログラム記憶部１８に記憶させると共に（ステップＳ２０６）、制御プログラム記憶部１８に記憶させた変更後制御プログラムのアドレスを制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５に記憶させる（ステップＳ２０７）。
【００６３】
次に、記憶制御手段１１ａは、変更後制御プログラムの出力命令をプラント機器３へ出力しないように変更する（ステップＳ２０８）。具体的には、記憶制御手段１１ａは、制御プログラム記憶部１８に記憶させた変更後制御プログラムを読み出す。そして、プラント機器へ出力しないように、読み出した変更後制御プログラムに記述されたオペコード１８１のうち出力命令を“ＮＯＰ”に変更し、出力変更後制御プログラムとして制御プログラム記憶部１８に記憶させる。
【００６４】
次に、ＣＰＵ１１は、変更前の制御プログラムを実行する（ステップＳ２０９）。具体的には、ＣＰＵ１１は、制御プログラム管理情報のプログラムＮＯ（符号１７１）の“１”から“Ｎ”までの登録フラグ（符号１７２）の値が“Ｙｅｓ”であるオフセットアドレス（符号１７４）を順に読み込み、読み込んだオフセットアドレス（符号１７４）に対応する制御プログラムを制御プログラム記憶部１８から読み込み、実行する。
【００６５】
そして、ＣＰＵ１１のテスト実行手段１１ｂは、制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５にアドレスが記憶されている場合（ステップＳ２１０）、このテストオフセット記憶領域１７５に記憶されたアドレスが示す出力変更後制御プログラムを制御プログラム記憶部１８から読み出し、実行する（ステップＳ２１１）。具体的には、ＣＰＵ１１のテスト実行手段１１ｂは、制御プログラム管理情報記憶部１７に記憶された制御プログラム管理情報のテストオフセットアドレス（符号１７５）の値を読み込み、この値が“ＦＦＦＦ”ではないテストオフセットアドレス（符号１７５）に対応する出力変更後制御プログラムを制御プログラム記憶部１８から読み込み、実行する。
【００６６】
次に、ＣＰＵ１１の制御プログラム切り替え手段１１ｃが、保守装置２から通信インタフェース１６を介して切り替え要求信号を受信した場合（ステップＳ２１２）、記憶制御手段１１ａは、再度、変更後制御プログラムを保守装置２から通信インタフェース１６を介して受信する（ステップＳ２１３）。
【００６７】
そして、制御プログラム切り替え手段１１ｃは、ステップＳ２０８において制御プログラム記憶部１８が記憶した出力変更後制御プログラムを、ステップＳ２１３において受信した変更後制御プログラムで上書きさせる（ステップＳ２１４）。さらに、制御プログラム切り替え手段１１ｃは、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスを、テストオフセット記憶領域１７５に記憶されたアドレスで上書きさせる（ステップＳ２１５）。
【００６８】
次に、制御プログラム切り替え手段１１ｃは、制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５に記憶されたアドレスを削除させる（ステップＳ２１６）。
【００６９】
図６は、制御システム１０の処理の一例を説明した模式図である。
【００７０】
図６に示すように、まず、保守装置２は、利用者の入力操作により制御プログラムのテスト実行が要求されると、記憶部２３に記憶された変更前の制御プログラム２６をコピーして新たな制御プログラムを生成する。
【００７１】
そして、利用者の入力操作により、生成された新たな制御プログラムが変更されて変更後制御プログラムが生成される。図６に示した例では、制御プログラム２６の「ＡＤＤ」命令が「ＤＩＶ」命令に変更されて変更後制御プログラム２７が生成される。保守装置２は、この変更された変更後制御プログラム２７を記憶部２３に記憶する。
【００７２】
次に、保守装置２は、テスト実行要求信号と変更後制御プログラム２７とをネットワーク４を介して制御装置１へ送信する。
【００７３】
制御装置１は、テスト実行要求信号を受信した場合には、保守装置２から受信した変更後制御プログラム２７を制御プログラム記憶部１８に記憶させると共に、制御プログラム記憶部１８に記憶させた制御プログラム２７のアドレスを制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５に記憶させる。
【００７４】
次に、制御装置１は、変更後制御プログラム２７の出力変数を機器へ出力しないように、例えば“ＳＴ”等の出力命令であるオペコード１８１を “ＮＯＰ”に変更した後、出力変更後制御プログラム２８として制御プログラム記憶部１８の同じアドレスに記憶する。
【００７５】
そして、制御装置１は、制御プログラム記憶部１８に記憶された制御プログラム２６を実行し、制御プログラム管理情報記憶部１７のテストオフセット領域１７５にデータが記憶されている場合は、このテストオフセット領域１７５に記憶されたアドレスに対応する出力変更後制御プログラム２８を実行する。
【００７６】
次に、保守装置２は、利用者の入力操作により制御プログラムの切り替えが要求されると、切り替え要求信号を制御装置１へを送信すると共に、記憶部２３に記憶された変更後制御プログラム２７を読み出し、読み出した変更後制御プログラム２７を制御装置１へ送信する。
【００７７】
次に、切り替え要求信号と変更後制御プログラム２７とを受信した制御装置１は、制御プログラム記憶部１８に記憶された出力変更後制御プログラム２８を、受信した変更後制御プログラム２７で上書きする。さらに、制御装置１は、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスを、テストオフセット記憶領域１７５に記憶されたアドレスで上書きする。図６に示した例では、例えば、制御プログラム管理情報記憶部１７の「プログラムＮＯ」（符号１７１）が“１”の「オフセットアドレス」（符号１７４）の値“offset1”を、「テストオフセットアドレス」（符号１７５）の値“offset_x”で上書きする。
【００７８】
そして、制御装置１は、制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５に記憶されたアドレスを削除する。
【００７９】
以上のように、第１の実施形態である制御装置１によれば、制御プログラム２６を変更した場合、利用者はプラント機器３からの入力信号を用いて出力変更後制御プログラム２８に基づいて実行された実行結果を確認した後、制御装置１に変更後制御プログラム２７を制御装置１に反映することができる。そのため、プラント機器３に悪影響を与えることなく、変更後制御プログラム２７に基づいて制御装置１を正常に動作させることができる。
【００８０】
なお、第１の実施形態である制御装置１では、保守装置２によりテスト実行が要求された場合に、変更後制御プログラムを出力変更後制御プログラムで上書きさせる記憶制御手段１１ａと、保守装置２により制御プログラムの切り替えが要求された場合に、保守装置２から再度、変更後制御プログラムを受信する制御プログラム切り替え手段１１ｃとを有する構成としたが、本発明に係る制御装置はこれに限らない。
【００８１】
例えば、保守装置２によりテスト実行が要求された場合に、保守装置２から受信した変更後制御プログラムを制御プログラム記憶手段１８に記憶させると共に、出力変更後制御プログラムを新たに制御プログラム記憶手段１８に記憶させる記憶制御手段１１ａと、保守装置２により制御プログラムの切り替えが要求された場合に、再度、変更後制御プログラムを受信することなく、出力変更後制御プログラムを記憶された変更後制御プログラムで上書きさせると共に、この上書きした変更後制御プログラムを制御プログラムとして実行するためにオフセット記憶領域に記憶されたアドレスを記憶制御手段１１ａによってテストオフセット記憶領域に記憶されたアドレスで上書きさせる制御プログラム切り替え手段１１ｃとを備える構成としても良い。
【００８２】
＜第２の実施形態＞
本発明の第１の実施形態である制御装置１は、切り替え要求信号を受信した場合に、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスを、テストオフセット記憶領域１７５に記憶されたアドレスで上書きすることにより、変更後制御プログラムを制御装置１に反映したが、本発明に係る制御装置はこれに限らない。
【００８３】
例えば、本発明の第２の実施形態である制御装置５では、切り替え要求信号を受信した場合に、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスと、テストオフセット記憶領域１７５に記憶されたアドレスとを入れ替えることにより、変更後の制御プログラムを制御装置５に反映する。
【００８４】
図７は、本発明の第２の実施形態である制御装置５の処理手順を示したフローチャートである。
【００８５】
制御装置５のＣＰＵ１１の記憶制御手段１１ａは、保守装置２から要求信号を受信すると、受信した要求信号が書き換え要求信号かテスト実行要求信号かを判定する（ステップＳ３０１）。
【００８６】
そして、記憶制御手段１１ａは、受信した要求信号が書き換え要求信号である場合には、保守装置２から通信インタフェース１６を介して制御プログラムを受信し、受信した制御プログラムを制御プログラム記憶部１８に記憶させる（ステップＳ３０２）。さらに、記憶制御手段１１ａは、制御プログラム記憶部１８に記憶させた制御プログラムのアドレスを制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶させる（ステップＳ３０３）。
【００８７】
次に、ＣＰＵ１１は、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスに示される制御プログラム記憶部１８に記憶された制御プログラムを実行する（ステップＳ３０４）。具体的には、ＣＰＵ１１は、制御プログラム管理情報のプログラムＮＯ（符号１７１）の“１”から“Ｎ”までの登録フラグ（符号１７２）の値が“Ｙｅｓ”であるオフセットアドレス（符号１７４）を順に読み込み、読み込んだオフセットアドレス（符号１７４）に対応する制御プログラムを制御プログラム記憶部１８から読み込み、実行する。
【００８８】
一方、ステップＳ３０１において、受信した要求信号がテスト実行要求信号であると判定された場合、記憶制御手段１１ａは、変更後制御プログラムを保守装置２から通信インタフェース１６を介して受信する（ステップＳ３０５）。
【００８９】
そして、記憶制御手段１１ａは、受信した変更後制御プログラムを制御プログラム記憶部１８に記憶させると共に（ステップＳ３０６）、制御プログラム記憶部１８に記憶させた変更後制御プログラムのアドレスを制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５に記憶させる（ステップＳ３０７）。
【００９０】
次に、ＣＰＵ１１は、変更前の制御プログラムを実行する（ステップＳ３０８）。具体的には、ＣＰＵ１１は、制御プログラム管理情報のプログラムＮＯ（符号１７１）の“１”から“Ｎ”までの登録フラグ（符号１７２）の値が“Ｙｅｓ”であるオフセットアドレス（符号１７４）を順に読み込み、読み込んだオフセットアドレス（符号１７４）に対応する制御プログラムを制御プログラム記憶部１８から読み込み、実行する。
【００９１】
そして、ＣＰＵ１１のテスト実行手段１１ｂは、制御プログラム管理情報記憶部１７のテストオフセット領域１７５にデータが記憶されている場合（ステップＳ３０９）、変更後制御プログラムの出力変数をプラント機器３へ出力しないように出力を切り離した上で（ステップＳ３１０）、テストオフセット領域１７５に記憶されたアドレスが示す変更後制御プログラムを制御プログラム記憶部１８から読み出し、実行する（ステップＳ３１１）。具体的には、ＣＰＵ１１のテスト実行手段１１ｃは、制御プログラム管理情報記憶部１７に記憶された制御プログラム管理情報のテストオフセットアドレス（符号１７５）の値を読み込み、この値が“ＦＦＦＦ”ではないテストオフセットアドレス（符号１７５）に対応する変更後制御プログラムを制御プログラム記憶部１８から読み込み、出力を切り離した上で、実行する。これにより、オフセットアドレス（符号１７４）に対応する制御プログラムの機器へ出力を許可し、テストオフセットアドレス（符号１７５）に対応する変更後制御プログラムの機器への出力を禁止することができる。
【００９２】
次に、ＣＰＵ１１の制御プログラム切り替え手段１１ｃは、保守装置２から通信インタフェース１６を介して、切り替え要求信号を受信した場合（ステップＳ３１２）、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスと、テストオフセット記憶領域１７５に記憶されたアドレスとを入れ替える（ステップＳ３１３）。具体的には、制御プログラム切り替え手段１１ｃは、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスをコピーして、制御プログラム管理情報記憶部１７内に一時的に記憶させておく。そして、制御プログラム切り替え手段１１ｃは、テストオフセット記憶領域１７５に記憶されたアドレスをオフセット記憶領域１７４に記憶されたアドレスに上書きさせた後に、一時的に記憶させたアドレスを、テストオフセット記憶領域１７５に記憶されたアドレスに上書きさせる。
【００９３】
図８は、制御装置５を備えた制御システム１０の処理の一例を説明した模式図である。
【００９４】
図８に示すように、まず、保守装置２は、利用者の入力操作により制御プログラムのテスト実行が要求されると、記憶部２３に記憶された変更前の制御プログラム２６をコピーして新たな制御プログラムを生成する。
【００９５】
そして、利用者の入力操作により、生成された新たな制御プログラムが変更されて、変更後制御プログラム２７が生成される。図８に示した例では、制御プログラム２６の「ＡＤＤ」命令が「ＤＩＶ」命令に変更されて、変更後制御プログラム２７が生成されている。保守装置２は、この変更された変更後制御プログラム２７を記憶部２３に記憶する。
【００９６】
次に、保守装置２は、テスト実行要求信号とこの変更後制御プログラム２７とをネットワーク４を介して制御装置５へ送信する。
【００９７】
制御装置５は、テスト実行要求信号を受信した場合には、保守装置２から受信した変更後制御プログラム２７を制御プログラム記憶部１８に記憶させると共に、制御プログラム記憶部１８に記憶させた変更後制御プログラム２７のアドレスを制御プログラム管理情報記憶部１７のテストオフセット記憶領域１７５に記憶させる。
【００９８】
そして、制御装置５は、制御プログラム記憶部１８に記憶された制御プログラム２６を実行し、制御プログラム管理情報記憶部１７のテストオフセット領域１７５にデータが記憶されている場合は、このテストオフセット領域１７５に記憶されたアドレスに対応する変更後制御プログラム２７を出力を切り離して実行する。
【００９９】
次に、保守装置２は、利用者の入力操作により制御プログラムの切り替えが要求されると、切り替え要求信号を制御装置５へ送信する。
【０１００】
そして、制御装置５は、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスと、テストオフセット記憶領域１７５に記憶されたアドレスとを入れ替える。図８に示した例では、例えば、制御プログラム管理情報記憶部１７の「プログラムＮＯ」（符号１７１）が“１”の「オフセットアドレス」（符号１７４）の値“offset1”と、「テストオフセットアドレス」（符号１７５）の値“offset_x”とを入れ替える。
【０１０１】
このように、制御プログラム管理情報記憶部１７のオフセット記憶領域１７４に記憶されたアドレスと、テストオフセット記憶領域１７５に記憶されたアドレスとを入れ替えるので、入れ替えた後も、入れ替え前の制御プログラム及びアドレスが、各々制御プログラム記憶部１８及び制御プログラム管理情報記憶部１７に記憶されている。
【０１０２】
そのため、制御プログラムの入れ替え後にプラント機器に想定外の動作が発生した場合、制御装置５は、再度制御プログラムの入れ替えを行うことにより、制御装置５は、記憶されている変更前の制御プログラムに基づいて、プラント機器を制御することができる。
【０１０３】
この場合、制御装置５は、入れ替え直前の入力値に基づいて変更前の制御プログラムを実行するので、ローカル変数の初期値等の影響により出力値が急変することを防止ことができる。
【図面の簡単な説明】
【０１０４】
【図１】本発明の第１の実施形態である制御装置を適用した制御システム１０の構成を示した構成図である。
【図２】制御プログラム管理情報記憶部に記憶された制御プログラム管理情報の一例を示した説明図である。
【図３】制御プログラム記憶部に記憶された制御プログラム及び変更後の制御プログラムの一例を示した説明図である。
【図４】制御システムの保守装置の処理手順を示したフローチャートである。
【図５】制御システムの制御装置の処理手順を示したフローチャートである。
【図６】制御システムの処理の一例を説明した模式図である。
【図７】本発明の第２の実施形態である制御装置の処理手順を示したフローチャートである。
【図８】制御装置を備えた制御システムの処理の一例を説明した模式図である。
【図９】従来の制御装置と保守装置を用いて制御プログラムを制御装置へ組み込む手順を説明した模式図である。
【図１０】変更後制御プログラムが組み込まれた制御装置が正常に動作するか否かを事前確認するためのオフラインシステムの概要を説明した模式図である。
【符号の説明】
【０１０５】
１，５…制御装置
２…保守装置
３…プラント機器
４…ネットワーク
１０…制御システム
１１…ＣＰＵ
１１ａ…記憶制御手段
１１ｂ…制御プログラム切り替え手段
１２…プログラム記憶部
１３…データメモリ
１５…入出力インタフェース
１６…通信インタフェース
１７…制御プログラム管理情報記憶部（制御プログラム管理情報記憶手段）
１８…制御プログラム記憶部（制御プログラム記憶手段）
【図１】
2008310640.tif 000003
【図２】
2008310640.tif 000004
【図３】
2008310640.tif 000005
【図４】
2008310640.tif 000006
【図５】
2008310640.tif 000007
【図６】
2008310640.tif 000008
【図７】
2008310640.tif 000009
【図８】
2008310640.tif 000010
【図９】
2008310640.tif 000011
【図１０】
2008310640.tif 000012