(57)【特許請求の範囲】
【請求項１】
複数のプログラマブルコントローラを搭載したステーションと、
前記複数のプログラマブルコントローラで実行されるプログラムを管理するエンジニアリング装置と、
ユーザによって操作され、前記エンジニアリング装置に操作信号を供給する入力装置と、
前記エンジニアリング装置から出力された映像信号を表示する表示装置と、
前記複数のプログラマブルコントローラと前記エンジニアリング装置とを接続するデータ伝送装置と、を備え、
前記エンジニアリング装置は、各プログラマブルコントローラ内の複数のプログラム間でデータを共有させるためのコントローラグローバル変数と、前記ステーション内の複数のプログラム間でデータを共有させるためのステーショングローバル変数との変数情報を格納するデータベースと、前記データベース管理部と、前記プログラムを移動させるリロケート管理部と、を備え、
前記リロケート管理部は、前記入力装置からの操作信号に基づいて、移動元のプログラマブルコントローラ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラ、および、前記移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定する移動指定手段と、前記移動指定手段で指定されたように前記プログラムを移動させる手段と、前記プログラムを移動した際、前記プログラムが使用する前記コントローラグローバル変数および前記ステーショングローバル変数を移動あるいは複写して前記プログラムからアクセス可能とする変数変更手段と、
を備えたことを特徴とするプラント制御システム。
【請求項２】
ネットワークに接続され、複数の前記プログラマブルコントローラの複数のプログラム間でデータを共有可能とするネットワーク変数が記録された共有メモリ空間を有し、前記ネットワークと前記ステーションとの間でデータを送信および受信するデータ伝送装置をさらに備え、
前記データベースは、前記ネットワーク変数の変数情報をさらに格納し、
前記変数変更手段は、前記プログラムを移動した際、前記プログラムが使用する前記ネットワーク変数を移動あるいは複写して前記プログラムからアクセス可能とするように構成されたことを特徴とする請求項１記載のプラント制御システム。
【請求項３】
前記リロケート管理部は、前記プログラムがファンクションおよびファンクションブロックを使用している場合、ファンクションおよびファンクションブロックも移動可能とする手段をさらに備えたことを特徴とする請求項１または請求項２記載のプラント制御システム。
【請求項４】
前記プログラムで使用されているコントローラグローバル変数が、他のプログラムと入出力を行っていない場合、
前記変数変換手段は、前記コントローラグローバル変数の変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断する手段と、
重複している場合は移動対象のプログラムで使用しているコントローラグローバル変数の変数名称を設定させる手段と、
プログラムで使用されている変数名称を設定後の変数名称に自動的に変換する手段と、
をさらに備えたことを特徴とする請求項１乃至請求項３のいずれか１項記載のプラント制御システム。
【請求項５】
移動元のプログラマブルコントローラが複数のプログラムを備え、前記プログラムが他のプログラムと前記コントローラグローバル変数でデータの入出力を行っている場合、
前記変数変換手段は、変換規則を定義する手段と、
前記コントローラグローバル変数を前記ステーショングローバル変数に前記変換規則に基づき変換する手段と、
前記プログラムを変換する際に変数名称を変更可能とする手段と、
前記変数名称を変更した場合に既に存在するステーショングローバル変数の変数名称と重複するか否か判断する手段と、
前記変数名称が重複する場合に、変換対象となる前記変数名称を使用しているプログラムの変数名称を、変更後の変数名称に変換する手段と、
を備えたことを特徴とする請求項１乃至請求項４のいずれか１項記載のプラント制御システム。
【請求項６】
前記プログラムで使用されているステーショングローバル変数が他のプログラムと入出力を行っていない場合、
前記変数変換手段は、変換規則を定義する手段と、
前記ステーショングローバル変数をコントローラグローバル変数に前記変換規則に基づき変換する手段と、
前記ステーショングローバル変数を変換する際に変数名称を手動で変更可能とする手段と、
前記変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断する手段と、
前記変数名称が重複している場合に、前記プログラムで使用しているステーショングローバル変数の変数名称を変換する手段と、
前記変数名称を変更後の変数名称に変換する手段と、
を備えたことを特徴とする請求項１乃至請求項５のいずれか１項記載のプラント制御システム。
【請求項７】
移動元のプログラマブルコントローラが複数のプログラムを備え、かつ、前記プログラムが他のプログラムと前記コントローラグローバル変数でデータの入出力を行っている場合、
前記変数変換手段は、前記コントローラグローバル変数を前記ネットワーク変数に変換する手段と、
変数名称の変換規則を定義する手段と、
前記コントローラグローバル変数を変換する際に変数名称を前記変数名称変換規則に基づき変換する手段と、
変換する際に変数名称を手動で変更可能とする手段と、
変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否か判断する手段と、
前記変数名称が重複する場合に、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する手段と、
を備えたことを特徴とする請求項２記載のプラント制御システム。
【請求項８】
移動元の前記プログラマブルコントローラが複数のプログラムを備え、かつ、移動対象の１または複数のプログラムが他のプログラムと前記コントローラグローバル変数でデータの入出力を行っている場合、
前記変数変換手段は、前記コントローラグローバル変数を前記ネットワーク変数に変換する手段と、
前記変数名称の変換規則を定義する手段と、
前記コントローラグローバル変数を変換する際に変数名称を前記変換規則に基づき自動的に変換する手段と、
変換する際に前記変数名称を手動で変更可能とする手段と、
前記変数名称を変更した場合に既に存在する前記ネットワーク変数の変数名称と重複するか否か判断する手段と、
前記変数名称が重複する場合に、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する手段と、
を備えたことを特徴とする請求項２記載のプラント制御システム。
【請求項９】
移動元の前記プログラマブルコントローラが複数のプログラムを備え、かつ、前記プログラムが、前記プログラマブルコントローラと同じステーション内の他のプログラマブルコントローラに含まれるプログラムと、前記ステーショングローバル変数でデータの入出力を行っている場合、
前記変数変換手段は、前記ステーショングローバル変数を前記ネットワーク変数に変換する手段と、
前記変数名称の変換規則を定義する手段と、
前記変数を変換する際に変数名称を前記変換規則に基づき変換する手段と、
前記変数名称を手動で変更可能とする手段と、
変数名称を変更した場合に、既に存在するネットワーク変数の変数名称と重複するか否か判断する手段と、
変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する手段と、
を備えたことを特徴とする請求項２記載のプラント制御システム。
【請求項１０】
移動対象の１または複数のプログラムでネットワーク変数を使用している場合、
前記変数変換手段は、前記ネットワークにデータを出力しているネットワーク変数のデータ伝送装置内のアドレスを変換する手段をさらに備えたことを特徴とする請求項２記載のプラント制御システム。
【請求項１１】
移動元のプログラマブルコントローラ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラ、および、移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定し、
指定されたように前記プログラムを移動させ、
前記プログラムを移動した際、前記プログラムが使用するコントローラグローバル変数およびステーショングローバル変数を移動あるいは複写して前記プログラムからアクセス可能とするプログラムリロケート方法。
【請求項１２】
前記プログラムを移動した際、前記プログラムが使用するネットワーク変数を移動あるいは複写して前記プログラムからアクセス可能とする請求項１１記載のプログラムリロケート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプラント制御システムおよびプログラムリロケート方法に関する。
【背景技術】
【０００２】
プラント制御システムは、１又は複数のプログラマブルコントローラと、複数のプログラマブルコントローラの間でデータの送信および受信を行うデータ伝送装置と、を備える。プログラマブルコントローラの内部では複数のプログラムが実行される。各プログラムでは、例えば以下に示す４種類の変数が設定されている
すなわち、１つのプログラムの内部でのみ有効な変数であるローカル変数、１つのプログラマブルコントローラの内部において複数のプログラム間でデータを共有することを可能とする変数であるコントローラグローバル変数、データ伝送装置の１つのステーションの内部で複数のプログラマブルコントローラの複数のプログラムがデータを共有することを可能とする変数であるステーショングローバル変数、および、データ伝送装置の複数のステーションの複数のプログラマブルコントローラの複数のプログラム間でデータを共有することを可能とする変数であるネットワーク変数が設定されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−８５４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プラント制御システムを設計する段階、または既に稼動しているプラント制御システムに機能を追加改造する段階で、プログラマブルコントローラが想定した実行時間で動作しなくなる状況またはプログラマブルコントローラの使用可能なメモリが不足する状況が発生する場合がある。このようなときには当該プログラマブルコントローラ内の1つまたは複数のプログラムを他のプログラマブルコントローラに移動する必要がある。
【０００５】
プログラムを他のプログラマブルコントローラに移動する際に、例えば移動対象のプログラムが移動元のプログラマブルコントローラ内のプログラムとコントローラグローバル変数またはステーショングローバル変数と入出力を行っている場合は、当該コントローラグローバル変数またはステーショングローバル変数をネットワーク変数に変更する。また変数を変更する際、既存のネットワーク変数と変数名称が重複している場合は変数名称を変更し、かつ、移動対象プログラムと移動元のプログラマブルコントローラ内の当該プログラムの変数名称を変更する必要がある。
【０００６】
また移動対象プログラムがファンクション（複数のプログラムで共有して使用することが可能なプログラムであって、プログラム内部にデータを記憶するメモリ領域を持たない。）、および、ファンクションブロック（複数のプログラムで共有して使用することが可能なプログラムであって、プログラム内部にデータを記憶するメモリ領域を持つ。）を使用している場合はファンクションおよびファンクションブロックも同時に移動または複写することにより使用可能としなければならない。
【０００７】
従来は、このような一連の作業をプログラマブルコントローラのエンジニアリング装置を使用して、間違えが無いように細心の注意を払いながら一つ一つ手作業で実施しなければならなかった。
【０００８】
手作業によって変数等を移動させるため、多大な時間が必要となり設計作業のコストアップに繋がっていた。また、複雑な作業を手作業で行うため設計ミスによる制御システムの品質低下を招く恐れがあった。
【０００９】
本発明は上記事情に鑑みて成されたものであって、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様によるプラント制御システムは、複数のプログラマブルコントローラを搭載したステーションと、前記複数のプログラマブルコントローラで実行されるプログラムを管理するエンジニアリング装置と、ユーザによって操作され、前記エンジニアリング装置に操作信号を供給する入力装置と、前記エンジニアリング装置から出力された映像信号を表示する表示装置と、前記複数のプログラマブルコントローラと前記エンジニアリング装置とを接続するデータ伝送装置と、を備え、前記エンジニアリング装置は、各プログラマブルコントローラ内の複数のプログラム間でデータを共有させるためのコントローラグローバル変数と、前記ステーション内の複数のプログラム間でデータを共有させるためのステーショングローバル変数との変数情報を格納するデータベースと、前記データベース管理部と、前記プログラムを移動させるリロケート管理部と、を備え、前記リロケート管理部は、前記入力装置からの操作信号に基づいて、移動元のプログラマブルコントローラ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラ、および、前記移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定する移動指定手段と、前記移動指定手段で指定されたように前記プログラムを移動させる手段と、前記プログラムを移動した際、前記プログラムが使用する前記コントローラグローバル変数および前記ステーショングローバル変数を移動あるいは複写して前記プログラムからアクセス可能とする変数変更手段と、を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るプラント制御システムの一構成例を概略的に示す図である。
【図２Ａ】図１に示すプラント制御システムのリロケート管理部の一構成例を概略的に示す図である。
【図２Ｂ】図１に示すプラント制御システムのリロケート管理部の動作の一例を説明するためのフローチャートである。
【図３】図１に示すプラント制御システムにおいて、プログラムを移動させる際のリロケート画面の一例を示す図である。
【図４】図１に示すプラント制御システムにおいて、変数を移動または複写させる際のリロケート画面の一例を示す図である。
【図５】図１に示すプラント制御システムにおいて、変数を移動または複写させる際のリロケート画面の一例を示す図である。
【図６】図１に示すプラント制御システムにおいて、変数名称を変換する規則を設定する接頭語変換指定画面の一例を示す図である。
【図７】本発明の第２実施形態に係るプラント制御システムのリロケート管理部の一構成例を概略的に示す図である。
【図８】本発明の第２実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図９】本発明の第３実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１０】本発明の第４実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１１】本発明の第４実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１２】本発明の第５実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１３】本発明の第６実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１４】本発明の第７実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１５】本発明の第８実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１６】本発明の第９実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１７】本発明の第１０実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１８】本発明の第１０実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図１９】本発明の第１１実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図２０】本発明の第１２実施形態に係るプラント制御システムのリロケート管理部の一構成例を概略的に示す図である。
【図２１】本発明の第１２実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【図２２】本発明の第１３実施形態に係るプラント制御システムの動作の一例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の第１実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して詳細に説明する。
【００１４】
図１に、プラント制御システムの全体構成の一例を示す。プラント制御システムは、共有メモリ空間４００を有するデータ伝送装置５００と、データ伝送装置５００の１つのステーションＳＴ（ＳＴ１、ＳＴ２、…）に複数のプログラマブルコントローラを搭載可能なマルチコントローラと、複数のプログラムを稼動することが可能であってプログラム内部で使用可能な変数としてローカル変数、コントローラグローバル変数、ステーショングローバル変数、ネットワーク変数を有するプログラマブルコントローラＰＣ（ＰＣ１、ＰＣ２、ＰＣ３、…）と、全てのプログラマブルコントローラＰＣのローカル変数、コントローラグローバル変数、ステーショングローバル変数、および、ネットワーク変数のメモリアドレスと、データ伝送装置の共有メモリ空間のメモリアドレスと、伝送手段と、全てのプログラマブルコントローラＰＣのプログラムと、を一元管理するエンジニアリング装置１００とを備えている。
【００１５】
データ伝送装置５００は、ネットワーク３００を介して制御対象であるプラントに接続されている。
【００１６】
エンジニアリング装置１００は、リロケート管理部１１０と、プログラム情報・各種の変数情報が格納された第１データベースＤＢ１と、システム構成が格納された第２データベースＤＢ２と、第1データベースＤＢ１と第２データベースＤＢ２とを管理するデータベース管理部１２０と、ハードディスクＨＤと、を備えている。
【００１７】
第１データベースＤＢ１には、プログラム情報、および、各種変数情報として、プログラムソースと、プログラムオブジェクトと、ローカル変数と、コントローラグローバル変数と、ステーショングローバル変数と、ネットワーク変数とのアドレス等の情報が格納されている。第２データベースＤＢ２には、プラント制御システムのシステム構成情報が格納されている。システム構成情報とは、例えば、プラント制御システムのステーションを構成するプログラマブルコントローラの構成情報、各プログラマブルコントローラ内で実行されるプログラム構成情報等である。
【００１８】
リロケート管理部１１０は、リロケート画面１１２を表示させるとともに、後述するプログラムのリロケート処理を行うように構成されている。リロケート管理部１１０は、データベース管理部１２０から、第１データベースＤＢ１に格納されたプログラム情報および各種変数情報を取得する。またリロケート管理部１１０は、データベース管理部１２０から、第２データベースＤＢ２に格納されたシステム構成情報を取得する。また、リロケート管理部１１０は、プログラムのリロケート処理を行った場合、データベース管理部１２０にプログラムや変数の変更情報を供給する。データベース管理部１２０は、リロケート管理部１１０から供給された変更情報に従って、第１データベースＤＢ１および第２データベースＤＢ２に格納された情報を更新する。
【００１９】
エンジニアリング装置１００には、マウス１３０、キーボード１４０、および、表示装置１５０が接続されている。マウス１３０およびキーボード１４０は、ユーザによって操作され、操作信号をエンジニアリング装置１００へ出力する入力装置である。表示装置１５０は、図示しない表示部を備え、エンジニアリング装置１００から供給される信号に基づいて表示部に画像を表示する出力装置である。
【００２０】
エンジニアリング装置１００は、データ伝送装置６００を介して、プログラマブルコントローラＰＣ（ＰＣ０、ＰＣ１、…）にプログラム情報と変数情報とをダウンロードするように構成されている。
【００２１】
ステーションＳＴ１は、プログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２と、共有メモリ空間を備えたデータ伝送装置５００と、ステーショングローバル変数部７００と、データ伝送装置６００と、を備えている。
【００２２】
例えば、プログラマブルコントローラＰＣ０には、プログラムＭＳ０１０、ＭＳ０２０、…ＭＳ０ｎｎと、プログラムＭＳ０１０、ＭＳ０２０、…ＭＳ０ｎｎのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【００２３】
プログラマブルコントローラＰＣ１には、プログラムＭＳ１１０、ＭＳ１２０、…ＭＳ１ｎｎと、プログラムＭＳ１１０、ＭＳ１２０、…ＭＳ１ＮＮのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【００２４】
プログラマブルコントローラＰＣ２には、プログラムＭＳ２１０、ＭＳ２２０、…ＭＳ２ｎｎと、プログラムＭＳ２１０、ＭＳ２２０、…ＭＳ２ｎｎのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【００２５】
ステーションＳＴ２は、プログラマブルコントローラＰＣ３、ＰＣ４と、共有メモリ空間を備えたデータ伝送装置５００と、ステーショングローバル変数部７００と、データ伝送装置６００とを備えている。
【００２６】
プログラマブルコントローラＰＣ３には、プログラムＭＳ３１０、ＭＳ３２０、…ＭＳ３ｎｎと、プログラムＭＳ３１０、ＭＳ３２０、…ＭＳ３ｎｎのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【００２７】
プログラマブルコントローラＰＣ４には、プログラムＭＳ４１０、ＭＳ４２０、…ＭＳ４ｎｎと、プログラムＭＳ４１０、ＭＳ４２０、…ＭＳ４ｎｎのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【００２８】
ステーショングローバル変数部７００は、共通のステーションＳＴ内で異なるプログラマブルコントローラＰＣに含まれたプログラム間での、データの受け渡しを行うためのステーショングローバル変数を格納する複数のブロックＢＬＫ１、ＢＬＫ２、…ＢＬＫｎを備えている。
【００２９】
データ伝送装置５００は、ネットワーク変数が記録された共有メモリ空間を備えている。共有メモリ空間には、ネットワーク変数が記録される複数のトーカブロックＴＢＫ１、ＴＢＫ２、…、ＴＢＫｎを備えている。トーカブロックＴＢＫ１、ＴＢＫ２、…ＴＢＫｎは、複数のプログラマブルコントローラＰＣ０〜ＰＣ４夫々についての送信データ領域として割り当てられている。
【００３０】
図２Ａに、リロケート管理部１１０の一構成例を概略的に示す。
【００３１】
リロケート管理部１１０は、入力装置からの操作信号に基づいて、移動元のプログラマブルコントローラＰＣ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラＰＣ、および、移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定する移動指定手段１１４と、移動指定手段１１４で指定されたようにプログラムを移動させるプログラム移動手段１１６と、プログラムを移動した際、プログラムが使用する変数を移動あるいは複写してプログラムからアクセス可能とする変数変更手段１１８と、を備えている。
【００３２】
変数変更手段１１８は、変数を移動あるいは複写する変更手段１１８Ａ、変数名が重複するか否か判断する重複判断手段１１８Ｂ、変数名称を設定する名称設定手段１１８Ｃ、および、設定されたように変数名称を変更する名称変換手段１１８Ｄを備える。
【００３３】
変更手段１１８Ａは、移動対象のプログラムが使用する変数を検出する検出手段と、その変数が他のプログラムで使用されているか否かを判断する判断手段と、変数を複写する複写手段と、変数を移動する移動手段と、を備えている。
【００３４】
上記のようなプラント制御システムにおいて、例えば、プログラマブルコントローラＰＣ０内のプログラムＭＳ０１０とプログラムＭＳ０２０とがコントローラグローバル変数を介してデータの受け渡しを行っている場合、プログラムＭＳ０１０のみをステーションＳＴ１内の別のプログラマブルコントローラＰＣ１へ移動したとき、プログラムＭＳ０１０とプログラムＭＳ０２０との間でコントローラグローバル変数を介してのデータの受け渡しができなくなる。
【００３５】
そこで、本実施形態に係るプラント制御システムでは、プログラムを移動した際に、プログラムの移動だけではなく、変数によるデータの受け渡しについても変更するように構成されている。
【００３６】
図２Ｂに、リロケート管理部１１０の動作の一例を説明するためのフローチャートを示す。
【００３７】
リロケート管理部１１０は、プログラムを移動させるときに、入力装置からの操作信号に基づいて、移動元のプログラマブルコントローラＰＣ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラＰＣ、および、移動先のプログラマブルコントローラＰＣ内でのプログラムの実行順番を指定する（ステップＳＴ１）。
【００３８】
続いて、ステップＳＴ１で指定されたように移動対象のプログラムを移動させる（ステップＳＴ２）。このとき、移動対象のプログラムが使用する変数を検出し（ステップＳＴ３）、検出された変数が他のプログラムで使用されているか否か判断する（ステップＳＴ４）。そして、ユーザによって設定された変数変換規則に従って、検出された変数を移動あるいは複写して移動対象のプログラムからアクセス可能とする（ステップＳＴ５）。
【００３９】
以下、プログラムのリロケート処理を行う際のプラント制御システムの動作について説明する。プログラマブルコントローラＰＣ０に記録されたプログラムＭＳ０１０を、プログラマブルコントローラＰＣ１に移動する場合について説明する。
【００４０】
図３乃至図６に、プログラムの移動先を指定するリロケート画面の一例を示す。図３は、プログラムの移動先を指定する画面１１２Ａの一例である。画面１１２Ａは、移動指定手段１１４によって表示される。画面１１２Ａには、移動元のプログラムが表示される移動元欄と、移動先のステーションＳＴおよびプログラマブルコントローラＰＣを指定する移動先欄と、「ＯＫ」ボタンと、「キャンセル」ボタンと、が表示される。
【００４１】
移動元欄には、移動元のステーション名、プログラマブルコントローラ名、プログラムのタスク名を指定するプルダウン欄、「全て選択」ボタン、「全て解除」ボタン、および、プログラムの一覧が表示される。プログラムの一覧は、各プログラムについてタスクエントリＮｏ．と、プログラム名と、コメントとを表示するテーブルとして表示される。
【００４２】
移動先欄には、移動先のステーションを指定するプルダウン欄、プログラマブルコントローラを指定するプルダウン欄、プログラムのタスク名を指定するプルダウン欄、「クリア」ボタン、「全てクリア」ボタン、「移動開始」ボタン、および、プログラムの一覧が表示される。プログラムの一覧は、各プログラムについてタスクエントリＮｏ．と、プログラム名と、コメントとを表示項目とするテーブルで表示される。
【００４３】
移動先欄で移動先のステーションおよびコントローラを指定後、移動元欄のプログラム一覧から移動するプログラムを選択し、「移動先」欄の移動したい「タスクエントリＮｏ．」の行にマウスカーソルをドラッグおよびドロップする。移動先は仮決めとして、「タスクエントリＮｏ．」の行に“＊”を表示し、「移動開始」ボタンをクリックすると、プログラムの移動に伴って変更する変数の規則を定義する画面１１２Ｂが表示される。
【００４４】
図４に、プログラムの移動に伴い、変更が必要になった変数に対して、変換規則を定義する画面１１２Ｂの一例を示す。画面１１２Ｂは、移動指定手段１１４によって表示される。画面１１２Ｂ上部には、変更が必要な変数が種類別に分類して表示されている。ここで、変数の種類とは、コントローラグローバル変数をネットワーク変数へ移動、コントローラグローバル変数を別のプログラマブルコントローラのコントローラグローバル変数へ移動あるいは複写等、変数変更規則の種類である。画面１１２Ｂ上部には、この変数の種類に対応して、プログラムの入出力方向、および、ワード数が表示される。
【００４５】
画面１１２Ｂ上部において、任意の種類を選択すると、画面１１２Ｂの下部に必要な情報が表示される。図４に示す画面１１２Ｂの下部には、コントローラグローバル変数をネットワーク変数へ移動する場合に必要な情報が表示されている。
【００４６】
画面１１２Ｂ下部には、移動元のコントローラグローバル変数について、変数名称、および、データ型が表示される。その他、移動元のコントローラグローバル変数の値、および、コメントをさらにユーザに提示してもよい。これらの情報を提示することで、ユーザが移動元の変数を指定する作業を軽減することができる。
【００４７】
画面１１２Ｂ下部の移動元欄には、変数一覧の表示順を変更する表示順欄が表示される。ユーザが、マウス１３０等を操作して、例えば表示順欄の「アドレス」を選択すると、変数一覧には、変数のアドレスの順番に変数が並んで表示される。ユーザが、マウス１３０等を操作して、例えば表示順欄の「変数」を選択すると、変数一覧には、変数の名称がアルファベット順に表示される。
【００４８】
また移動先のネットワーク変数について、ブロックＮｏ．、および、ワード長が表示される。その他、ネットワーク変数について、空ワード長、伝達速度、および、送信ノードをさらにユーザに提示してもよい。移動先のブロックＮｏ．を指定すると、指定したトーカブロックＴＢＫに記録されたネットワーク変数の変数名称、および、データ型が移動先欄の下部に表示される。その他、ネットワーク変数のコメント、Ｉ／Ｏ速度、タスク指定、および、ワード長をさらに移動先欄の下部に表示してもよい。
【００４９】
移動先欄の下部には、変数一覧の表示順を変更する表示順欄が表示される。ユーザが、マウス１３０等を操作して、例えば表示順欄の「アドレス」を選択すると、変数一覧には、変数のアドレスの順番に変数が並んで表示される。ユーザが、マウス１３０等を操作して、例えば表示順欄の「変数」を選択すると、変数一覧には、変数名称がアルファベット順に表示される。ユーザが、マウス１３０等を操作して、例えば表示順欄の「重複」を選択すると、変数一覧には、変数名称が重複するものが一覧の上部に表示される。
【００５０】
予め、画面１１２Ｂ下部の移動先欄の上部において、移動先のネットワーク変数のトーカブロックＴＢＫを指定しておく。そして、ユーザは、「移動元」欄で移動する変数を選択（複数選択可）し、「移動先」の画面右下の移動を希望する位置にマウスをドラッグおよびドロップする。このとき、リロケート管理部１１０は、変数名称が重複するか否か判断し、移動先に同じ変数名称が存在するときは、反転表示などで、重複する変数名称が判るように表示する。また、変換が不要な場合は、ユーザがマウス等を操作して「変換不要」項目欄をクリックすることで、変換対象から除外することができる。
【００５１】
図５は、コントローラグローバル変数を別のプログラマブルコントローラＰＣのコントローラグローバル変数へ移動する画面の一例である。例えば、図４の画面１１２Ｂ下部が画面１１２Ｃように表示される。画面１１２Ｃは、移動指定手段１１４によって表示される。
【００５２】
画面１１２Ｃには、移動元欄と、移動先欄と、「一時保存」ボタンと、「印刷」ボタンと、「オプション」ボタンと、「戻る」ボタンと、「実行」ボタンと、「閉じる」ボタンと、が表示されている。
【００５３】
移動元欄には、「全て選択」ボタン、「全て解除」ボタン、移動元のコントローラグローバル変数の変数名称、データ型、値、および、コメントが表示される。移動先欄には、「クリア」ボタン、「全てクリア」ボタン、移動先のコントローラグローバル変数の変数名称、データ型、値、および、コメントが表示される。
【００５４】
ユーザは、移動元欄で移動する変数を選択（複数選択可）し、移動先欄の移動を希望する位置にマウスをドラッグおよびドロップする。このとき、リロケート管理部１１０は、変数名称が重複するか否か判断し、移動先に同じ変数名称が存在するときは、反転表示などで、重複する変数名称が判るように表示する。また、ユーザは、変換が不要な変数について、「変換不要」項目欄をクリックすることで、その変数を変換対象から除外することができる。
【００５５】
さらに、変数名称の変換規則の定義を行うときに、コントローラグローバル変数やネットワーク変数などは、プログラム上で、その違いが判るように、設計時に、変数名称の付け方にルールを決めることがある。例えば、コントローラグローバル変数の場合は、変数の接頭語を”Ｇ＿”、ネットワーク変数の場合は、変数名称の接頭語を”Ｌ＿”などとする。
【００５６】
すなわち、リロケート管理部１１０の名称設定手段１１８Ｃは、プログラムの移動を行う際に、変数名称の接頭語を変更するための画面を表示させる。すなわち、リロケート管理部１１０は、変換規則に基づき自動的に変数を変換（移動あるいは複写）する手段と、変換規則を定義する手段と、変換する際に変数名称を手動で変更させる手段と、変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否かを判断する重複判断手段１１８Ｂと、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する名称変換手段１１８Ｄとを備える。
【００５７】
図６に、プログラムの移動に伴い、変数をコントローラグローバル変数からネットワーク変数へ移動する場合、所定のルールに従って変数名称を変換するための設定画面の一例を示す。
【００５８】
本実施形態では、例えば、“Ｇ＿？Ａ”は“Ｌ＿？Ａ”と変換する規則である。文字パターン“？”は、任意の一文字である。したがって、“Ｇ＿ＡＡ”は“Ｌ＿ＡＡ”と変換される。また、“Ｇ＿＃Ａ”は“Ｌ＿＃Ａ”と変換する規則である。文字パターン“＃”は、任意の一文字の半角数字である。したがって“Ｇ＿1Ａ”は“Ｌ＿1Ａ”と変換される。また、“Ｇ＿＊Ａ”は“Ｌ＿＊Ａ”と変換する規則である。文字パターン“＊”は、任意の数の文字列である。したがって、“Ｇ＿ＸＹＺＡ”は“Ｌ＿ＸＹＺＡ”と変換される。
【００５９】
上記のように、変数名称の接頭語を変換することによって、プログラムの移動に伴って変数を移動させる場合に、変数名称を設計時の変数名称の付け方のルールに従ったものとすることができる。
【００６０】
上記のように、本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【００６１】
次に、本発明の第２実施形態に係るプラント制御システムについて図面を参照して以下に説明する。なお、以下の説明において、上述の第１実施形態に係るプラント制御システムおよびプログラムリロケート方法と同様の構成については、同一の符号を付して説明を省略する。
【００６２】
本実施形態に係るプラント制御システムは、下記の点以外は上記第１実施形態のプラント制御システムと同様の構成である。本実施形態に係るプラント制御システムは、プログラムを移動する際、プログラムで使用（ＣＡＬＬ）しているファンクションおよびファンクションブロックが存在する場合、ファンクションおよびファンクションブロックも同時に移動するように構成されている。
【００６３】
図７に、本実施形態に係るプラント制御システムの、リロケート管理部１１０の一構成例を概略的に示す。
【００６４】
本実施形態では、エンジニアリング装置１００のリロケート管理部１１０は、ファンクションおよびファンクションブロックを移動するファンクション・ファンクションブロック移動手段１１９をさらに備えている。
【００６５】
図８に、リロケート管理部１１０のプログラムＭＳ０１０を移動したとき、ファンクション・ファンクションブロック移動手段１１９がプログラムＭＳ０１０で使用しているファンクションおよびファンクションブロックを移動する一例を示している。
【００６６】
プログラムＭＳ０１０は、例えば、ファンクションＵｓｅｒＦｕｎ１とファンクションブロックＵｓｅｒＦＢＫ１を使用している。ここで、ファンクションブロックＵｓｅｒＦＢＫ１は、プログラムＭＳ０１２にも使用されている。
【００６７】
リロケート管理部１１０は、ファンクションＵｓｅｒＦＵＮ１は、プログラムＭＳ０１０しか使用していないため、プログラムＭＳ０１０と一緒に、移動先のプログラマブルコントローラへ移動する。ファンクションブロックＵｓｅｒＦＢＫ１は、プログラムＭＳ０１２でも使用しているため、移動先のプログラマブルコントローラへ複写される。
【００６８】
すなわち、リロケート管理部１１０は、プログラムＭＳ０１０の移動が実行される際に、プログラムＭＳ０１０によって使用されているファンクションおよびファンクションブロックを検出し、そのファンクションおよびファンクションブロックが他のプログラムにも使用されているか否かを判断する。
【００６９】
ファンクションおよびファンクションブロックが他のプログラムに使用されていない場合には、リロケート管理部１１０は、そのファンクションおよびファンクションブロックをプログラムの移動先に移動する。ファンクションおよびファンクションブロックが他のプログラムにも使用されている場合には、リロケート管理部１１０は、そのファンクションおよびファンクションブロックをプログラムの移動先に複写する。
【００７０】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ファンクションおよびファンクションブロックを、プログラムの移動する際に自動的に移動又は複写することによって、さらにユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【００７１】
次に、本発明の第３実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して以下に説明する。本実施形態に係るプラント制御システムは、上述の第１実施形態と同様の構成である。
【００７２】
本実施形態では、移動元のプログラマブルコントローラが複数のプログラムを備え、かつ、移動対象である１または複数のプログラムが移動対象でないプログラムと共通のコントローラグローバル変数でデータの入出力を行っている場合、共通のコントローラグローバル変数をネットワーク変数に変換するように構成されている。
【００７３】
また、リロケート管理部１１０の変更手段１１８Ａは、移動対象のプログラムが使用するコントローラグローバル変数を検出する検出手段と、そのコントローラグローバル変数が他のプログラムで使用されているか否かを判断する判断手段と、コントローラグローバル変数を複写する複写手段と、コントローラグローバル変数を移動する移動手段と、を備えている。
【００７４】
図９に、複数のプログラムに共通のコントローラグローバル変数をネットワーク変数に変換する場合の一例を示す。リロケート管理部１１０は、ステーションＳＴ１には、３つのプログラマブルコントローラコントローラＰＣ０、ＰＣ１、ＰＣ２が存在し、プログラマブルコントローラＰＣ０には、プログラムＭＳ０１０、および、プログラムＭＳ０１２が存在する。プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、プログラマブルコントローラＰＣ０内のコントローラグローバル変数のデータの入出力を行って、プラント制御を実行する。
【００７５】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０をプログラマブルコントローラＰＣ０からプログラマブルコントローラＰＣ１へ移動する。それに伴い、リロケート管理部１１０は、２つのプログラムＭＳ０１０、および、プログラムＭＳ０１２が使用しているコントローラグローバル変数を、プログラマブルコントローラＰＣ０、および、プログラマブルコントローラＰＣ１からアクセスが可能なネットワーク変数へ自動的に移動する。
【００７６】
このとき、リロケート管理部１１０は、共有メモリ空間４００に、プログラマブルコントローラＰＣ０のトーカブロックと、プログラマブルコントローラＰＣ１のトーカブロックとを追加する。リロケート管理部１１０は、上記プログラムのリロケート処理に伴い、データベース管理部１２０に変更情報を送信し、データベース管理部１２０は第１データベースＤＢ１および第２データベースＤＢ２に格納された情報を更新する。このとき、リロケート管理部１１０は、コントローラグローバル変数をネットワーク変数へ移動する際に、設定された変換規則にしたがって、変数名称を変更する。
【００７７】
またリロケート管理部１１０は、上記のように変換規則に従って変数を移動し、変数の変換規則を定義し、変数を変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否かを判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する。
【００７８】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、共通のコントローラグローバル変数をネットワーク変数に変換することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【００７９】
次に、本発明の第４実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【００８０】
本実施形態では、移動元のプログラマブルコントローラが複数のプログラムを備え、かつ、移動対象の１または複数のプログラムのみが使用するコントローラグローバル変数でデータの入出力を行っている場合、使用されるコントローラグローバル変数をプログラムと合わせて移動するように構成されている。
【００８１】
リロケート管理部１１０の変更手段１１８Ａは、移動対象のプログラムが使用するコントローラグローバル変数を検出する検出手段と、そのコントローラグローバル変数が他のプログラムで使用されているか否かを判断する判断手段と、他のプログラムと共通のコントローラグローバル変数を複写する複写手段と、移動対象のプログラムのみで使用されるコントローラグローバル変数を移動する移動手段と、をさらに備えている。
【００８２】
図１０に、移動対象の１または複数のプログラムで使用されているコントローラグローバル変数が移動対象でないプログラムと入出力を行っていない場合、コントローラグローバル変数を移動する例を示す。
【００８３】
ステーションＳＴ１には、２つのプログラマブルコントローラＰＣ０、および、プログラマブルコントローラＰＣ１が存在し、プログラマブルコントローラＰＣ０には、プログラムＭＳ０１０およびプログラムＭＳ０１２が存在する。プログラムＭＳ０１０およびプログラムＭＳ０１２は、それぞれがプログラマブルコントローラＰＣ０内のコントローラグローバル変数のデータの入出力を行っているが、プログラムＭＳ０１０およびプログラムＭＳ０１２の間ではデータのやり取りは行わず、同じ変数へのアクセスはない。
【００８４】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０をプログラマブルコントローラＰＣ１へ移動することに伴い、プログラムＭＳ０１０が使用しているコントローラグローバル変数をプログラマブルコントローラＰＣ０からプログラマブルコントローラＰＣ１へ移動する。
【００８５】
リロケート管理部１１０は、上記のように変換規則に従って変数を変換し、変換規則を定義し、変数を変換する際に変数名称を手動で変更可能とし、当該コントローラグローバル変数の変数名称が移動先のプログラマブルコントローラＰＣ１で既に使用されている変数名称と重複していないかチェックし、重複している場合は移動対象プログラムＭＳ０１０で使用しているコントローラグローバル変数の変数名称を変換し、プログラムＭＳ０１０で使用されている変数名称を変更後の変数名称に自動的に変換する。
【００８６】
図１１に、移動対象の１または複数のプログラムで使用されているコントローラグローバル変数が移動対象でないプログラムと入出力を行っていない場合、コントローラグローバル変数を移動する他の例を示す。
【００８７】
ここでは、プログラムＭＳ０１０およびプログラムＭＳ０１２を、プログラマブルコントローラＰＣ０からプログラマブルコントローラＰＣ１へ移動する例について説明する。プログラムＭＳ０１０およびプログラムＭＳ０１２は、共通のコントローラグローバル変数によりデータの入出力を行っている。このコントローラグローバル変数は、他のプログラムには使用されていない。
【００８８】
ここでは、プログラムＭＳ０１０およびプログラムＭＳ０１２を移動すると、これらのプログラムに元々使用していたコントローラグローバル変数を利用するプログラムは存在しなくなるため、リロケート管理部１１０は、コントローラグローバル変数も合わせてプログラマブルコントローラＰＣ１へ移動する。
【００８９】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、共通のコントローラグローバル変数をプログラムと合わせて移動することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【００９０】
次に、本発明の第５実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して以下に説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【００９１】
本実施形態では、移動元のプログラマブルコントローラが複数のプログラムを備え、かつ、移動対象の１または複数のプログラムが移動対象でないプログラムとコントローラグローバル変数でデータの入出力を行っている場合、コントローラグローバル変数をステーショングローバル変数に変換するように構成されている。
【００９２】
リロケート管理部１１０の変更手段１１８Ａは、移動対象のプログラムが使用するコントローラグローバル変数を検出する検出手段と、そのコントローラグローバル変数が他のプログラムで使用されているか否かを判断する判断手段と、他のプログラムと共通のコントローラグローバル変数をステーショングローバル変数に変換する移動手段と、を備えている。
【００９３】
図１２において、ステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備え、プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０、および、プログラムＭＳ０１２を備える。プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、プログラマブルコントローラＰＣ０内のコントローラグローバル変数のデータの入出力を行い、プラント制御を実行する。
【００９４】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を、プログラマブルコントローラＰＣ１へ移動する。プログラムの移動に伴い、リロケート管理部１１０は、プログラムＭＳ０１０、および、プログラムＭＳ０１２が使用しているコントローラグローバル変数を、プログラマブルコントローラＰＣ０およびプログラマブルコントローラＰＣ１からのアクセスが可能なステーショングローバル変数へ移動する。
【００９５】
リロケート管理部１１０は、上記のように変換規則に従って変数を移動し、変数の変換規則を定義し、変数を変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するステーショングローバル変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する。したがって、リロケート管理部１１０は、コントローラグローバル変数をステーショングローバル変数へ移動する際に、変換規則にしたがって、変数名称を変更する。
【００９６】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、共通のコントローラグローバル変数をステーショングローバル変数に変換することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【００９７】
次に、本発明の第６実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【００９８】
本実施形態のプラント制御システムにおいて、移動対象の１つまたは複数のプログラムで使用されているステーショングローバル変数が、移動対象でないプログラムと入出力を行っていない場合、当該ステーショングローバル変数をコントローラグローバル変数に変換するように構成されている。
【００９９】
リロケート管理部１１０の変更手段１１８Ａは、移動対象のプログラムが使用するステーショングローバル変数を検出する検出手段と、そのステーショングローバル変数が他のプログラムで使用されているか否かを判断する判断手段と、他のプログラムに使用されていないステーショングローバル変数をコントローラグローバル変数に変換する移動手段と、を備えている。
【０１００】
図１３においてステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。プログラマブルコントローラＰＣ０は、プログラムＭＳ０１２を備え、プログラマブルコントローラＰＣ１はプログラムＭＳ０１０を備える。
【０１０１】
プログラムＭＳ０１０、および、プログラムＭＳ０１２のそれぞれは、ステーショングローバル変数のデータの入出力を行い、プラント制御を実行する。また、そのステーショングローバル変数は、プログラムＭＳ０１０およびプログラムＭＳ０１２のみで使用され、他のプログラムでは使用していないものとする。
【０１０２】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０をプログラマブルコントローラＰＣ０へ移動する。それに伴い、リロケート管理部１１０は、プログラムＭＳ０１０およびプログラムＭＳ０１２が使用しているステーショングローバル変数を、プログラマブルコントローラＰＣ０のコントローラグローバル変数へ移動する。
【０１０３】
リロケート管理部１１０は、上記のように変換規則に基づき変数を変換し、変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するコントローラグローバル変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する。したがって、リロケート管理部１１０は、ステーショングローバル変数をコントローラグローバル変数へ移動する際に、変換規則にしたがって、変数名称を変更する。
【０１０４】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ステーショングローバル変数をコントローラグローバル変数に変換することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１０５】
次に、本発明の第７実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【０１０６】
本実施形態に係るプラント制御システムは、移動対象の１または複数のプログラムを、異なるステーションに設けられたプログラマブルコントローラ間で、プログラムを移動する。
【０１０７】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法は、プログラマブルコントローラの１または複数のプログラムをデータ伝送装置の同一のステーションに接続される他のプログラマブルコントローラにプログラムのロジックを変更すること無く移動するように構成されている。
【０１０８】
リロケート管理部１１０は、移動元のプログラマブルコントローラ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラ、および、移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定する移動指定手段１１４、を備えている。
【０１０９】
さらに、移動対象の１または複数のプログラムが移動対象でないプログラムとコントローラグローバル変数でデータの入出力を行っている場合、リロケート管理部１１０の変数変換手段１１８は、そのコントローラグローバル変数をネットワーク変数に変換し、変換する際に変数名称を変数名称変換規則に基づき自動的に変換し、変数名称変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。
【０１１０】
また、移動対象の１または複数のプログラムと移動対象でないプログラムとが、コントローラグローバル変数でデータの入出力を行っている場合、リロケート管理部１１０は、コントローラグローバル変数をステーショングローバル変数に変換規則に基づき変換し、変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するステーショングローバル変数の変数名称と重複するか否かを判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。
【０１１１】
以下、移動元のプログラマブルコントローラが複数のプログラムから構成されておりかつ移動対象の１つまたは複数のプログラムが移動対象でないプログラムとコントローラグローバル変数でデータの入出力を行っている場合において、プログラムを別のステーションへ移動した際のコントローラグローバル変数をネットワーク変数に変換する一例について説明する。
【０１１２】
図１４に、移動元のプログラマブルコントローラから異なるステーションのプログラマブルコントローラへプログラムを移動する際の、移動前と移動後とのプラント制御システムの構成例を示す。
【０１１３】
プラント制御システムは、２つのステーションＳＴ１、ＳＴ２を備える。ステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０、およびプログラムＭＳ０１２を備える。
【０１１４】
プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、プログラマブルコントローラＰＣ０内の共通のコントローラグローバル変数のデータの入出力を行い、プラント制御を実行する。
【０１１５】
ステーションＳＴ２は、３つのプログラマブルコントローラＰＣ３、ＰＣ４、ＰＣ５を備える。プログラマブルコントローラＰＣ３は、プログラムＭＳ２１２を備える。プログラマブルコントローラＰＣ５は、プログラムＭＳ２３２を備える。
【０１１６】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を別のステーションＳＴ２のプログラマブルコントローラＰＣ４へ移動する。それに伴い、２つのプログラムＭＳ０１０、および、プログラムＭＳ０１２が使用しているコントローラグローバル変数を異なるステーションの２つのプログラマブルコントローラＰＣ０、およびプログラマブルコントローラＰＣ４からのアクセスが可能なネットワーク変数へ移動する。
【０１１７】
このとき、リロケート管理部１１０は、共有メモリ空間４００に、プログラマブルコントローラＰＣ０のトーカブロックと、プログラマブルコントローラＰＣ４のトーカブロックとを追加して、追加したトーカブロックにコントローラグローバル変数を移動して、ネットワーク変数とする。さらに、共有メモリ空間４００の、プログラマブルコントローラＰＣ０のトーカブロックと、プログラマブルコントローラＰＣ５のトーカブロックとの出力元を変更する。
【０１１８】
リロケート管理部１１０の変更手段１１８Ａは、上記のように変換規則に基づき変数を変換し、変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。したがって、リロケート管理部１１０は、コントローラグローバル変数をネットワーク変数へ移動する際に、変換規則にしたがって、変数名称を変更する。
【０１１９】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、コントローラグローバル変数をネットワーク変数に変換することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１２０】
次に、本発明の第８実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第２実施形態と同様の構成である。
【０１２１】
本実施形態では、プログラムを移動する際、プログラムで使用しているファンクション及びファンクションブロックが存在する場合に、ファンクション及びファンクションブロックも同時に移動可能とする。
【０１２２】
本実施形態では、リロケート管理部１１０は、移動対象のプログラムで使用しているファンクションおよびファンクションブロックが存在する場合、ファンクション及びファンクションブロックも同時に移動可能とする手段を備える。
【０１２３】
図１５に、移動対象のプログラムと合わせてファンクションおよびファンクションブロックを移動する際の、ステーションＳＴ１およびステーションＳＴ２の構成例を示す。
【０１２４】
ステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。
【０１２５】
プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０、プログラムＭＳ０１２、ファンクションＵｓｅｒＦＵＮ１、ファンクションＵｓｅｒＦＵＮ２、および、ファンクションブロックＵｓｅｒＦＢＫ１を備える。プログラマブルコントローラＰＣ２は、プログラムＭＳ０１３を備える。
【０１２６】
ステーションＳＴ２は、３つのプログラマブルコントローラＰＣ３、ＰＣ４、ＰＣ５を備える。プログラマブルコントローラＰＣ３は、プログラムＭＳ２１１と、ファンクションＵｓｅｒＦＵＮ３を備える。プログラマブルコントローラＰＣ５は、プログラムＭＳ２２１を備える。
【０１２７】
本実施形態では、例えば、プログラムＭＳ０１０をステーションＳＴ１のプログラマブルコントローラＰＣ０からステーションＳＴ２のプログラマブルコントローラＰＣ３へ移動したとき、プログラムＭＳ０１０で使用（ＣＡＬＬ）しているファンクションＵｓｅｒＦｕｎ１およびファンクションブロックＵｓｅｒＦＢＫ１も移動対象とする。その際、他のプログラムで使用していない場合は移動し、他のプログラムで使用している場合は複写を行う。
【０１２８】
図１５の例では、ファンクションＵｓｅｒＦＵＮ１は、プログラムＭＳ０１０のみが使用しているため、ファンクション・ファンクション移動手段１１９は、プログラムＭＳ０１０と一緒にファンクションＵｓｅｒＦＵＮ１も、移動先のステーションＳＴ２へ移動する。
【０１２９】
ファンクションブロックＵｓｅｒＦＢＫ１は、プログラムＭＳ０１０だけでなくプログラムＭＳ０１２でも使用しているため、移動先のステーションＳＴ２へ複写される。
【０１３０】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ファンクションおよびファンクションブロックを、プログラムの移動する際に自動的に移動又は複写することによって、さらにユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１３１】
次に、本発明の第９実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【０１３２】
本実施形態では、移動元のプログラマブルコントローラが複数のプログラムを備え、かつ、移動対象の１または複数のプログラムが移動対象でないプログラムと共通のステーショングローバル変数でデータの入出力を行っている場合において、プログラムを別のステーションへ移動した際のステーショングローバル変数をネットワーク変数に変換する例について説明する。
【０１３３】
図１６に、移動対象の１つまたは複数のプログラムが、移動元のプログラマブルコントローラが装着されているステーション内の異なるプログラマブルコントローラに含まれるプログラムと、ステーショングローバル変数でデータの入出力を行っている場合のプラント制御システムの構成例を示す。
【０１３４】
本実施形態では、リロケート管理部１１０の変数変換手段１１８は、ステーショングローバル変数をネットワーク変数に自動的に変換する変更手段１１８Ａと、変換する際に変数名称を変数名称変換規則に基づき自動的に変換する手段と、変数名称変換規則を定義する手段と、変換する際に変数名称を手動で変更可能とする名称設定手段１１８Ｃと、変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否か判断する判断手段１１８Ｂと、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する名称変換手段１１８Ｄと、を備えている。
【０１３５】
ステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０およびプログラムＭＳ０１２を備える。
【０１３６】
プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、ステーションＳＴ１内のステーショングローバル変数のデータの入出力を行い、プラント制御を実行する。
【０１３７】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を別のステーションＳＴ２のプログラマブルコントローラＰＣ１へ移動する。それに伴い、２つのプログラムＭＳ０１０、および、プログラムＭＳ０１２が使用しているステーショングローバル変数を異なるステーションＳＴ２の２つのプログラマブルコントローラＰＣ３、ＰＣ４からのアクセスが可能なネットワーク変数へ移動する。
【０１３８】
このとき、リロケート管理部１１０は、共有メモリ空間４００に、プログラマブルコントローラＰＣ０のトーカブロックと、プログラマブルコントローラＰＣ４のトーカブロックとを追加して、追加したトーカブロックにステーショングローバル変数を移動して、ネットワーク変数とする。さらに、共有メモリ空間４００の、プログラマブルコントローラＰＣ０のトーカブロックと、プログラマブルコントローラＰＣ５のトーカブロックとの出力元を変更する。
【０１３９】
さらに、リロケート管理部１１０は、変数を変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するネットワーク変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。したがって、リロケート管理部１１０は、ステーショングローバル変数をネットワーク変数へ移動する際に、変換規則にしたがって、変数名称を変更する。
【０１４０】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ステーショングローバル変数をネットワーク変数に変換することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、手作業に伴うミスを防止し、品質の高いプログラムを設計することができる。
【０１４１】
また、移動対象の１つまたは複数のプログラムで使用されているステーショングローバル変数が移動対象でないプログラムと入出力を行っていない場合、リロケート管理部１１０は、当該ステーショングローバル変数をコントローラグローバル変数に変換規則に基づき変換し、変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断し、重複している場合は移動対象プログラムで使用しているステーショングローバル変数の変数名称を変換し、プログラムで使用されている変数名称を変更後の変数名称に変換する。
【０１４２】
上記のようにプラント制御システムおよびプログラムリロケート方法が構成された場合も、ステーショングローバル変数をコントローラグローバル変数に変換することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１４３】
次に、本発明の第１０実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【０１４４】
本実施形態では、移動対象の１または複数のプログラムで使用されているコントローラグローバル変数が、移動対象でないプログラムとの間で入出力を行っていない場合、コントローラグローバル変数を移動する。
【０１４５】
本実施形態に係るリロケート管理部１１０は、移動対象の１または複数のプログラムで使用されているコントローラグローバル変数が移動対象でないプログラムと入出力を行っていない場合、当該コントローラグローバル変数の変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断する重複判断手段１１８Ｂと、重複している場合は移動対象プログラムで使用しているコントローラグローバル変数の変数名称を変換する名称設定手段１１８Ｃと、プログラムで使用されている変数名称を変更後の変数名称に自動的に変換する名称変換手段１１８Ｄと、を備える。
【０１４６】
図１７に、プログラムの移動前と移動後とのステーションの構成例を示す。ステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０、および、プログラムＭＳ０１２を備える。プログラマブルコントローラＰＣ１は、プログラムＭＳ０２１を備える。
【０１４７】
プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、プログラマブルコントローラＰＣ０内のコントローラグローバル変数のデータの入出力を行っているが、２つのプログラム間ではデータの入出力を行っておらず、共通の変数へのアクセスがない。
【０１４８】
ステーションＳＴ２は、３つのプログラマブルコントローラＰＣ３、ＰＣ４、ＰＣ５を備える。プログラマブルコントローラＰＣ３は、プログラムＭＳ２１１を備える。プログラマブルコントローラＰＣ５は、プログラムＭＳ２２１を備える。
【０１４９】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を、異なるステーションＳＴ２のプログラマブルコントローラＰＣ４へ移動する。それに伴い、リロケート管理部１１０は、プログラムＭＳ０１０が使用しているコントローラグローバル変数をプログラマブルコントローラＰＣ０からプログラマブルコントローラＰＣ４へ移動する。
【０１５０】
さらに、図１８に、プログラムＭＳ０１０、および、プログラムＭＳ０１２の間だけで共通のコントローラグローバルを介してデータのやり取りをしている場合の例を示す。プログラムＭＳ０１０、および、プログラムＭＳ０１２をプログラマブルコントローラＰＣ０からプログラマブルコントローラＰＣ４へ移動すると、プログラマブルコントローラＰＣ０内で元々使用していたコントローラグローバル変数を利用するプログラムは存在しなくなる。この場合も、リロケート管理部１１０は、プログラムＭＳ０１０およびプログラムＭＳ０１２と合わせてコントローラグローバル変数もプログラマブルコントローラＰＣ４へ移動する。
【０１５１】
また、リロケート管理部１１０は、当該コントローラグローバル変数の変数名称が移動対象のプログラマブルコントローラＰＣ４で既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断し、重複している場合は移動対象プログラムで使用しているコントローラグローバル変数の変数名称を変換して、プログラムで使用されている変数名称を変更後の変数名称に変換する。したがって、リロケート管理部１１０は、コントローラグローバル変数を移動する際に、変換規則にしたがって、変数名称を変更する。
【０１５２】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、コントローラグローバル変数を移動することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１５３】
次に、本発明の第１１実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上述の第１実施形態と同様の構成である。
【０１５４】
本実施形態では、移動対象の１または複数のプログラムで使用されているステーショングローバル変数が、移動対象でないプログラムと入出力を行っていない場合において、異なるステーションのプログラマブルコントローラへ移動する際の当該ステーショングローバル変数をコントローラグローバル変数に変換する。
【０１５５】
本実施形態に係るプラント制御システムは、移動対象の１または複数のプログラムで使用されているステーショングローバル変数が、移動対象でないプログラムと入出力を行っていない場合、当該ステーショングローバル変数をコントローラグローバル変数に変換規則に基づき自動的に変換する手段と、変換規則を定義する手段と、変換する際に変数名称を手動で変更可能とする手段と、変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断する手段と、重複している場合に移動対象プログラムで使用しているステーショングローバル変数の変数名称を変換する手段と、プログラムで使用されている変数名称を変更後の変数名称に変換する手段と、を備える。
【０１５６】
図１９に、プログラムの移動前と移動後とのステーションの構成例を示す。ステーションＳＴ１は、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０を備え、プログラマブルコントローラＰＣ１は、プログラムＭＳ０２２を備える。
【０１５７】
プログラムＭＳ０１０、および、プログラムＭＳ０２２は、それぞれが、ステーショングローバル変数のデータの入出力を行い、プラント制御を実行する。プログラムＭＳ０１０は、プログラマブルコントローラＰＣ０用の出力メモリに記録されたステーショングローバル変数のデータの入出力を行う。プログラムＭＳ０２２は、プログラマブルコントローラＰＣ１用の出力メモリに記録されたステーショングローバル変数のデータの入出力を行う。また、これらのステーショングローバル変数は、プログラムＭＳ０１０、および、プログラムＭＳ０２２のみで使用し、他のプログラムでは使用されていない。
【０１５８】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０、および、プログラムＭＳ０２２を、ステーションＳＴ２のプログラマブルコントローラＰＣ４へ移動する。プログラムの移動に伴い、リロケート管理部１１０は、プログラムＭＳ０１０、および、プログラムＭＳ０２２が使用しているステーショングローバル変数をプログラマブルコントローラＰＣ４のコントローラグローバル変数へ移動する。
【０１５９】
さらに、リロケート管理部１１０は、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するコントローラグローバル変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。したがって、リロケート管理部１１０は、ステーショングローバル変数をコントローラグローバル変数へ移動する際に、変換規則にしたがって、変数名称を変更する。
【０１６０】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ステーショングローバル変数をコントローラグローバル変数へ移動することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１６１】
次に、本発明の第１２実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は、上述の第１実施形態と同様の構成である。
【０１６２】
図２０に、本実施形態に係るプラント制御システムのリロケート管理部１１０の一構成例を概略的に示す。
【０１６３】
本実施形態では、リロケート管理部１１０は、移動対象の１または複数のプログラムでネットワーク変数を使用している場合、リロケート管理部１１０が、ネットワークにデータを出力しているネットワーク変数のデータ伝送装置５００内のアドレスを変換するアドレス変換手段１１１を有する。
【０１６４】
図２１に、プログラムの移動前と移動後とのプラント制御システムの構成例を概略的に示す。ステーションＳＴ１は、プログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２を備える。プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０およびプログラムＭＳ０１２を備える。プログラマブルコントローラＰＣ１は、プログラムＭＳ０２１を備える。
【０１６５】
ステーションＳＴ２は、プログラマブルコントローラＰＣ３、ＰＣ４、ＰＣ５を備える。プログラマブルコントローラＰＣ３は、プログラムＭＳ２１１を備える。プログラマブルコントローラＰＣ４は、プログラムＭＳ２２１を備える。
【０１６６】
プログラムＭＳ０１０は、ネットワーク変数内の、プログラマブルコントローラＰＣ０の出力先トーカブロックへデータを書き込み、プログラマブルコントローラＰＣ３用のトーカブロックからデータを読み込む。
【０１６７】
プログラムＭＳ２１１は、ネットワーク変数内の、プログラマブルコントローラＰＣ３の出力先トーカブロックへデータを書き込み、プログラマブルコントローラＰＣ０用のトーカブロックからデータを読み込む。
【０１６８】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を、プログラマブルコントローラＰＣ４へ移動する。プログラムの移動に伴い、リロケート管理部１１０は、プログラムＭＳ０１０のトーカブロックを、プログラマブルコントローラＰＣ４の出力先トーカブロックへ変換する。そして、リロケート管理部１１０は、プログラムＭＳ２１１をプログラマブルコントローラＰＣ３のトーカブロックから読み出すように入力先を変更する。
【０１６９】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ネットワーク変数が記録されたトーカブロックの入力先および出力元を変更することによって、ユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１７０】
次に、本発明の第１３実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。
【０１７１】
本実施形態に係るプラント制御システムはデータ伝送装置を備えず、プログラマブルコントローラの１または複数のプログラムを同一のユニットに装着されている他のプログラマブルコントローラにプログラムのロジックを変更することなく移動する。本実施形態に係るプラント制御システムは、ネットワークを介さずに、制御対象であるプラントに接続される。
【０１７２】
図２２に本実施形態に係るプラント制御システムの構成例を示す。プラント制御システムは、複数のプログラマブルコントローラを搭載可能なステーションＳＴと、複数のプログラムを稼動することが可能であってプログラム内部で使用可能な変数としてローカル変数、コントローラグローバル変数、および、ステーショングローバル変数を有するプログラマブルコントローラＰＣ（ＰＣ１、ＰＣ２、ＰＣ３、…）と、全てのプログラマブルコントローラＰＣのローカル変数、コントローラグローバル変数、および、ステーショングローバル変数のメモリアドレスと、伝送手段と、全てのプログラマブルコントローラＰＣのプログラムと、を一元管理するエンジニアリング装置１００とを備えている。
【０１７３】
エンジニアリング装置１００は、図２に示すリロケート管理部１１０と、プログラム情報および各種の変数情報が格納された第１データベースＤＢ１と、システム構成が格納された第２データベースＤＢ２と、第1データベースＤＢ１と第２データベースＤＢ２とを管理するデータベース管理部１２０と、ハードディスクＨＤと、を備えている。
【０１７４】
リロケート管理部１１０は、リロケート画面１１２を表示させるとともに、後述するプログラムのリロケート処理を行うように構成されている。
【０１７５】
リロケート管理部１１０は、入力装置からの操作信号に基づいて、移動元のプログラマブルコントローラＰＣ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラＰＣ、および、移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定する移動指定手段１１４と、移動指定手段１１４で指定されたようにプログラムを移動させるプログラム移動手段１１６と、プログラムを移動した際、プログラムが使用する変数を移動あるいは複写してプログラムからアクセス可能とする変数変更手段１１８と、を備えている。
【０１７６】
変数変更手段１１８は、変数を移動あるいは複写する変更手段１１８Ａ、変数名が重複するか否か判断する重複判断手段１１８Ｂ、変数名称を設定する名称設定手段１１８Ｃ、および、設定されたように変数名称を変更する名称変換手段１１８Ｄを備える。
【０１７７】
第１データベースＤＢ１には、プログラム情報および各種変数情報として、プログラムソースと、プログラムオブジェクトと、ローカル変数と、コントローラグローバル変数と、ステーショングローバル変数との情報が格納されている。第２データベースＤＢ２には、プラント制御システムのシステム構成情報が格納されている。
【０１７８】
リロケート管理部１１０は、データベース管理部１２０から、第１データベースＤＢ１に格納されたプログラム情報および各種変数情報を取得する。またリロケート管理部１１０は、データベース管理部１２０から、第２データベースＤＢ２に格納されたシステム構成情報を取得する。また、リロケート管理部１１０は、プログラムのリロケート処理を行った場合、データベース管理部１２０にプログラムや変数の変更情報を供給する。データベース管理部１２０は、リロケート管理部１１０から供給された変更情報に従って、第１データベースＤＢ１および第２データベースＤＢ２に格納された情報を更新する。
【０１７９】
エンジニアリング装置１００には、マウス１３０、キーボード１４０、および、表示装置１５０が接続されている。マウス１３０およびキーボード１４０は、ユーザによって操作され、操作信号をエンジニアリング装置１００へ出力する入力装置である。表示装置１５０は、図示しない表示部を備え、エンジニアリング装置１００から供給される信号に基づいて表示部に画像を表示する出力装置である。
【０１８０】
エンジニアリング装置１００は、データ伝送装置６００を介して、プログラマブルコントローラＰＣ（ＰＣ０、ＰＣ１、…）にプログラム情報と変数情報とをダウンロードするように構成されている。
【０１８１】
ステーションＳＴは、プログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２と、ステーショングローバル変数７００と、データ伝送装置６００と、を備えている。例えば、プログラマブルコントローラＰＣ０には、プログラムＭＳ０１０、ＭＳ０２０、…ＭＳ０ｎｎと、プログラムＭＳ０１０、ＭＳ０２０、…ＭＳ０ｎｎのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【０１８２】
プログラマブルコントローラＰＣ１には、プログラムＭＳ１１０、ＭＳ１２０、…ＭＳ１ｎｎと、プログラムＭＳ１１０、ＭＳ１２０、…ＭＳ１ＮＮのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【０１８３】
プログラマブルコントローラＰＣ２には、プログラムＭＳ２１０、ＭＳ２２０、…ＭＳ２ｎｎと、プログラムＭＳ２１０、ＭＳ２２０、…ＭＳ２ｎｎのそれぞれに設定されたローカル変数と、コントローラグローバル変数とが記録されている。
【０１８４】
本実施形態では、リロケート管理部１１０は、移動元のプログラマブルコントローラ、移動対象の１または複数のプログラム、移動先のプログラマブルコントローラ、および、移動対象の１または複数のプログラムの移動先のプログラマブルコントローラ内でのプログラムの実行順番を指定する移動指定手段１１４を備えている。
【０１８５】
プログラマブルコントローラＰＣ０内の例えばプログラムＭＳ０１０およびプログラムＭＳ０１２はローカル変数を有し、プログラム間のデータの受け渡しはコントローラグローバル変数を利用する。
【０１８６】
このとき、プログラムＭＳ０１０をステーションＳＴ内の別のプログラマブルコントローラへ移動したとき、プログラマブルコントローラが異なるため、移動前と同様にコントローラグローバル変数を介してのデータの受け渡しができなくなる。
【０１８７】
そこで、本実施形態では、リロケート管理部１１０は、プログラムＭＳ０１０を移動した際、プログラムＭＳ０１０の移動だけではなく、データの受け渡しについても自動で変更するように構成されている。リロケート管理部１１０は、プログラムＭＳ０１０と合わせて、コントローラグローバル変数を移動もしくは複写する。
【０１８８】
本実施形態では、上述の第１実施形態に係るプラント制御システムと同様に、移動指定手段１１４は、リロケート画面１１２を表示させる。図３に、プログラムの移動先を指定する画面１１２Ａの一例を示す。ユーザは、移動先コントローラを指定後、移動元欄で移動するプログラムを選択し、移動先欄で移動したいタスクエントリＮｏ．の行にマウスカーソルをドラッグおよびドロップする。リロケート管理部１１０は、移動先は仮決めとして、タスクエントリＮｏ．に”＊”を表示し、［ＯＫ］ボタンがクリックされると、図４に示す画面１１２Ｂを表示する。
【０１８９】
図４に示す画面１１２Ｂでは、プログラムの移動に伴い、変更が必要になった変数に対して、変換規則を定義する。画面上部には、変更が必要な変数を種類別に分類して表示される。変数の種類とは、コントローラグローバル変数をステーショングローバル変数へ移動、コントローラグローバル変数を別のプログラマブルコントローラのコントローラグローバル変数へ移動等である。ユーザが任意の種類を選択すると、画面下部に必要な情報が表示される。
【０１９０】
図４の画面下部は、コントローラグローバル変数をステーショングローバル変数へ移動する場合の例である。移動元欄で移動する変数を選択（複数選択可）し、マウス１３０を操作して移動先欄の画面右下の移動を希望する位置にカーソルをドラッグおよびドロップする。このとき、変数名称が重複するか否か判断し、移動先に同じ変数名称が存在するときは、反転表示などで、重複している変数名称が判るようにする。また、変換が不要な場合は、ユーザはマウス１３０を操作して変換不要ボタンをクリックすることで、変換対象から除外することができる。
【０１９１】
図５はコントローラグローバル変数を別のプログラマブルコントローラのコントローラグローバル変数へ移動する場合の画面１１２Ｃの一例である。図４の画面下部を図５のように表示する。そして、移動元欄で移動する変数を選択（複数選択可）し、移動先欄の移動を希望する位置にマウス１３０をドラッグおよびドロップする。このとき、変数名称が重複するか否か判断し、移動先に同じ変数名称が存在するときは、反転表示などで、変数名称の重複が判るようにする。また、変換が不要な場合は、ユーザはマウス１３０を操作して変換不要ボタンをクリックすることで、変換対象から除外することができる。
【０１９２】
さらに、図６に変数名称を変更する際の変換定義を行う画面１１２Ｄを示す。本実施形態では、第１実施形態で説明したように、変数名称の変換定義を行う。例えば、コントローラグローバル変数の場合は、変数の接頭語を”Ｇ＿”、ステーショングローバル変数の場合は、変数の接頭語を”Ｓ＿”などとする。よって、プログラムの移動に伴い、変数をコントローラグローバル変数からステーショングローバル変数へ移動する場合、そのルールに従って自動変換を行うための設定を図６の画面１１２Ｄで定義する。
【０１９３】
上記のように、変数名称の接頭語を変換することによって、プログラムの移動に伴って変数を移動させる場合に、変数名称を設計時の変数名称の付け方のルールに従ったものとすることができる。
【０１９４】
上記のように、本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０１９５】
次に、本発明の第１４実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上記第１３実施形態と同様の構成である。
【０１９６】
本実施形態では、プログラムを移動する際、プログラムで使用しているファンクション及びファンクションブロックが存在する場合、ファンクション及びファンクションブロックも同時に移動可能とする例について説明する。
【０１９７】
図７に、本実施形態に係るプラント制御システムのリロケート管理部１１０の一構成例を概略的に示す。
【０１９８】
本実施形態では、リロケート管理部１１０は、ファンクションおよびファンクションブロックを移動するファンクション・ファンクションブロック移動手段１１９をさらに備えている。
【０１９９】
本実施形態に係るプラント制御システムは、移動対象プログラムで使用しているファンクション及びファンクションブロックが存在する場合、ファンクション及びファンクションブロックも同時に移動可能とする手段を備える。
【０２００】
図８は、リロケート管理部１１０は、プログラムＭＳ０１０を移動したとき、プログラムＭＳ０１０で使用（ＣＡＬＬ）しているファンクションおよびファンクションブロックも移動対象とする。このとき、リロケート管理部１１０は、他のプログラムで使用していない場合は移動し、他のプログラムで使用している場合は複写を行う。
【０２０１】
図８の例では、ファンクションＵｓｅｒＦＵＮ１は、プログラムＭＳ０１０しか使用していないため、プログラムＭＳ０１０と一緒に、移動先のプログラマブルコントローラへ移動する。ファンクションブロックＵｓｅｒＦＢＫ１は、プログラムＭＳ０１２でも使用しているため、移動先のプログラマブルコントローラへ複写を行う。
【０２０２】
本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、上記のように、ファンクションおよびファンクションブロックを、プログラムの移動する際に自動的に移動又は複写することによって、さらにユーザの手作業による処理を削減し、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０２０３】
次に、本発明の第１５実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は、上記第１３実施形態と同様の構成である。
【０２０４】
本実施形態では、移動対象の１または複数のプログラムで使用されているコントローラグローバル変数が、移動対象でないプログラムと入出力を行っていない場合、コントローラグローバルを移動する例について説明する。
【０２０５】
移動対象の１または複数のプログラムで使用されているコントローラグローバル変数が、移動対象でないプログラムと入出力を行っていない場合、リロケート管理部１１０は、当該コントローラグローバル変数の変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断する手段と、重複している場合は移動対象プログラムで使用しているコントローラグローバル変数の変数名称を変換する手段と、プログラムで使用されている変数名称を変更後の変数名称に自動的に変換する手段と、を備える。
【０２０６】
本実施形態に係るプラント制御システムにおける変数の移動について、図１０および図１１を用いて説明する。図１０において、ステーションＳＴには、２つのプログラマブルコントローラＰＣ０、ＰＣ１が存在し、プログラマブルコントローラＰＣ０は、プログラムＭＳ０１０、および、プログラムＭＳ０１２を備える。プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、プログラマブルコントローラＰＣ０内のコントローラグローバル変数のデータの入出力を行っているが、２つのプログラム間ではデータのやり取りは存在せず、同じ変数へのアクセスはない。
【０２０７】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を、プログラマブルコントローラＰＣ１へ移動する。それに伴い、プログラムＭＳ０１０が使用しているコントローラグローバル変数をプログラマブルコントローラＰＣ０からプログラマブルコントローラＰＣ１へ移動する。
【０２０８】
また、リロケート管理部１１０は、当該コントローラグローバル変数の変数名称が移動対象のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断し、重複している場合は移動対象プログラムで使用しているコントローラグローバル変数の変数名称を変換し、プログラムで使用されている変数名称を変更後の変数名称に変換する。
【０２０９】
また、図１１に、プログラムＭＳ０１０、および、プログラムＭＳ０１２の間だけでコントローラグローバルを介してデータのやり取りをしている場合の例を示す。プログラムＭＳ０１０、および、プログラムＭＳ０１２を移動すると、移動元のプログラマブルコントローラでは元々使用していたコントローラグローバル変数を利用するプログラムは存在しなくなるため、この場合、リロケート管理部１１０はコントローラグローバル変数も合わせて移動する。
【０２１０】
上記のように、本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０２１１】
次に、本発明の第１６実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上記第１３実施形態と同様の構成である。
【０２１２】
本実施形態では、移動元のプログラマブルコントローラが複数のプログラムから構成され、かつ、移動対象の１または複数のプログラムが移動対象でないプログラムとコントローラグローバル変数でデータの入出力を行っている場合、そのコントローラグローバル変数をステーショングローバル変数に変換する例について説明する。
【０２１３】
移動対象の１または複数のプログラムが移動対象でないプログラムとコントローラグローバル変数でデータの入出力を行っている場合、リロケート管理部１１０は、コントローラグローバル変数をステーショングローバル変数に変換規則に基づき変換する手段と、変換規則を定義する手段と、変換する際に変数名称を手動で変更できる手段と、変数名称を変更した場合に既に存在するステーショングローバル変数の変数名称と重複するか否か判断する手段と、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に自動的に変換する手段と、を備える。
【０２１４】
図１２において、ステーションＳＴには、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２が存在し、プログラマブルコントローラＰＣ０には、プログラムＭＳ０１０、および、プログラムＭＳ０１２が存在する。プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、プログラマブルコントローラＰＣ０内のコントローラグローバル変数のデータの入出力を行い、プラント制御を実行する。
【０２１５】
このとき、プログラムＭＳ０１０を、プログラマブルコントローラＰＣ１へ移動する。それに伴い、２つのプログラムＭＳ０１０、および、プログラムＭＳ０１２が使用しているコントローラグローバル変数を２つのプログラマブルコントローラＰＣ０、ＰＣ１からのアクセスが可能なステーショングローバル変数へ移動する。
【０２１６】
リロケート管理部１１０は、変換規則に基づき変数を変換し、変数の変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するステーショングローバル変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。
【０２１７】
上記のように、変数名称を変換することによって、プログラムの移動に伴って変数を移動させる場合に、変数名称を設計時の変数名称の付け方のルールに従ったものとすることができる。
【０２１８】
上記のように、本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０２１９】
次に、本発明の第１７実施形態に係るプラント制御システムおよびプログラムリロケート方法について図面を参照して説明する。本実施形態に係るプラント制御システムは、下記の点以外は上記第１３実施形態と同様の構成である。
【０２２０】
本実施形態では、移動対象の１または複数のプログラムで使用されているステーショングローバル変数が移動対象でないプログラムと入出力を行っていない場合、当該ステーショングローバル変数をコントローラグローバル変数に変換する例について説明する。
【０２２１】
移動対象の１または複数のプログラムで使用されているステーショングローバル変数が移動対象でないプログラムと入出力を行っていない場合、リロケート管理部１１０は、当該ステーショングローバル変数をコントローラグローバル変数に変換規則に基づき変換する手段と、変換規則を定義する手段と、変換する際に変数名称を手動で変更できる手段と、変数名称が移動先のプログラマブルコントローラで既に使用されているコントローラグローバル変数の変数名称と重複するか否か判断する手段と、重複している場合は移動対象プログラムで使用しているステーショングローバル変数の変数名称を変換する手段と、プログラムで使用されている変数名称を変更後の変数名称に変換する手段と、を備える。
【０２２２】
図１３において、ステーションＳＴには、３つのプログラマブルコントローラＰＣ０、ＰＣ１、ＰＣ２が存在し、プログラマブルコントローラＰＣ０は、プログラムＭＳ０１２を備える。プログラマブルコントローラＰＣ１は、プログラムＭＳ０１０を備える。プログラムＭＳ０１０、および、プログラムＭＳ０１２は、それぞれが、ステーショングローバル変数のデータの入出力を行い、プラント制御を実行する。また、そのステーショングローバル変数は、プログラムＭＳ０１０、および、プログラムＭＳ０１２のみで使用し、他のプログラムでは使用していないものとする。
【０２２３】
このとき、リロケート管理部１１０は、プログラムＭＳ０１０を、プログラマブルコントローラＰＣ０へ移動する。プログラムの移動に伴い、２つのプログラムＭＳ０１０、および、プログラムＭＳ０１２が使用しているステーショングローバル変数をプログラマブルコントローラＰＣ０のコントローラグローバル変数へ移動する。
【０２２４】
リロケート管理部１１０は、変換規則に基づき変数を変換し、変数の変換規則を定義し、変換する際に変数名称を手動で変更可能とし、変数名称を変更した場合に既に存在するコントローラグローバル変数の変数名称と重複するか否か判断し、変換対象となる変数名称を使用しているプログラムの変数名称を変更後の変数名称に変換する。
【０２２５】
上記のように、変数名称を変換することによって、プログラムの移動に伴って変数を移動させる場合に、変数名称を設計時の変数名称の付け方のルールに従ったものとすることができる。
【０２２６】
上記のように、本実施形態に係るプラント制御システムおよびプログラムリロケート方法によれば、設計作業のコストを低減するとともに、品質の高いプラント制御装置およびプログラムリロケート方法を提供することができる。
【０２２７】
上記第１乃至第１７実施形態に係るプラント制御システムによれば、リロケート画面１１２によりプログラムの移動に関する一連の設計作業を設計者と対話形式で進めることができる。プログラムの移動に関する一連の設計作業を設計者が漏れなく行えるようなガイダンス機能により、設計者が必要な情報を設定した後はプログラムの移動に関する一連の設計作業を自動的に行って、プログラムを他のプログラマブルコントローラに移動する際の設計時間短縮によるコストダウン、および、設計ミスの撲滅による制御システムの品質向上を図ることができる。
【０２２８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０２２９】
ＳＴ…ステーション、ＰＣ…プログラマブルコントローラ、ＨＤ…ハードディスク、ＤＢ１…データベース（第１データベース）、ＤＢ２…データベース、１００…エンジニアリング装置、１１０…リロケート管理部、１１２…リロケート画面、１２０…データベース管理部、１３０…マウス、１４０…キーボード、１５０…表示装置、３００…ネットワーク、４００…共有メモリ空間、５００…データ伝送装置、６００…データ伝送装置、７００…ステーショングローバル変数部、
【図１】
0005444112.tif 000002
【図２Ａ】
0005444112.tif 000003
【図２Ｂ】
0005444112.tif 000004
【図３】
0005444112.tif 000005
【図４】
0005444112.tif 000006
【図５】
0005444112.tif 000007
【図６】
0005444112.tif 000008
【図７】
0005444112.tif 000009
【図８】
0005444112.tif 000010
【図９】
0005444112.tif 000011
【図１０】
0005444112.tif 000012
【図１１】
0005444112.tif 000013
【図１２】
0005444112.tif 000014
【図１３】
0005444112.tif 000015
【図１４】
0005444112.tif 000016
【図１５】
0005444112.tif 000017
【図１６】
0005444112.tif 000018
【図１７】
0005444112.tif 000019
【図１８】
0005444112.tif 000020
【図１９】
0005444112.tif 000021
【図２０】
0005444112.tif 000022
【図２１】
0005444112.tif 000023
【図２２】
0005444112.tif 000024