(57)【特許請求の範囲】
【請求項１】
ネットワークを介して制御対象からの信号入力を行う入力装置と、ネットワークを介して制御対象へ信号出力を行う出力装置と、前記入力装置から入力された入力信号を元に前記出力装置に対して出力信号を出力するプログラムを少なくとも１つ格納するプログラマブルコントローラと、を備えた制御システムとネットワークを介して接続されたエンジニアリング装置であって、
複数のテーブルを備え、前記制御システムの構造に基づいて前記複数のテーブルを共通ＩＤにより関連付けた階層構造を有するデータベースと、
前記データベースの情報に基づいてユーザに提示する画面を生成する移動・変更画面を含み、ユーザの操作に基づいて前記データベースに格納されたデータを変更する設計変更支援部と、を備え、
前記設計変更支援部は、ユーザにより指定された移動対象と移動先のハードウェア位置とに基づいて、前記共通ＩＤを変更して前記データベースの階層構造を変更して前記移動対象を別のハードウェア位置に移動可能とすることを特徴とするエンジニアリング装置。
【請求項２】
リモートＩ／Ｏ用プログラマブルコントローラと、ネットワークを介して制御対象からの信号入力を行う入力装置と、ネットワークを介して制御対象へ信号出力を行う出力装置と、前記リモートＩ／Ｏ用プログラマブルコントローラを介して前記入力装置から入力された入力信号を元に、前記リモートＩ／Ｏ用プログラマブルコントローラを介して前記出力装置に対して出力信号を出力するプログラムを少なくとも１つ格納するプログラマブルコントローラと、を備えた制御システムとネットワークを介して接続されたエンジニアリング装置であって、
複数のテーブルを備え、前記制御システムの構造に基づいて前記複数のテーブルを共通ＩＤにより関連付けた階層構造を有するデータベースと、
前記データベースの情報に基づいてユーザに提示する画面を生成する移動・変更画面を含み、ユーザの操作に基づいて前記データベースに格納されたデータを変更する設計変更支援部と、を備え、
前記設計変更支援部は、ユーザにより指定された移動対象と移動先のハードウェア位置とに基づいて、前記共通ＩＤを変更して前記データベースの階層構造を変更して前記移動対象を別のハードウェア位置に移動可能とすることを特徴とするエンジニアリング装置。
【請求項３】
前記設計変更支援部は、ユーザにより指定された複数の移動対象の移動元と移動先との情報を含むファイルを読み込み、前記複数の移動対象のそれぞれについて前記共通ＩＤを変更して前記データベースの階層構造を変更して前記移動対象を指定された移動先のハードウェア位置に移動可能とすることを特徴とする請求項１又は請求項２記載のエンジニアリング装置。
【請求項４】
ネットワークを介して制御対象からの信号入力を行う入力装置と、ネットワークを介して制御対象へ信号出力を行う出力装置と、前記入力装置から入力された入力信号を元に前記出力装置に対して出力信号を出力するプログラムを少なくとも１つ格納するプログラマブルコントローラと、を備えた制御システムとネットワークを介して接続されたエンジニアリング装置であって、
前記制御システムの構成の型式を格納するテーブルを備えたデータベースと、
前記データベースの情報に基づいてユーザに提示する画面を生成する移動・変更画面を含み、ユーザの操作に基づいて前記データベースに格納されたデータを変更する設計変更支援部と、を備え、
前記設計変更支援部は、ユーザにより指定された変更対象と変更後の型式とに基づいて、前記テーブルに格納された型式を変更して前記変更対象を別の型式へ変更可能とすることを特徴とするエンジニアリング装置。
【請求項５】
前記入力装置に対して入力信号を設定する機能と、
前記出力装置に対して出力信号を設定する機能と、
前記入力信号と前記出力信号を用いてプログラムを作成する機能と、
前記入力信号に関する設定情報と前記出力信号に関する設定情報と前記プログラムとを伝送するデータ伝送装置を経由して前記制御システムへダウンロードする機能と、をさらに備えることを特徴とする請求項１乃至請求項４のいずれか１項記載のエンジニアリング装置。
【請求項６】
ネットワークを介して制御対象からの信号入力を行う入力装置と、ネットワークを介して制御対象へ信号出力を行う出力装置と、前記入力装置から入力された入力信号を元に前記出力装置に対して出力信号を出力するプログラムを少なくとも１つ格納する複数のプログラマブルコントローラと、各プログラマブルコントローラに割り当てられたネットワーク変数を格納したブロックを含む共有メモリ空間を有するデータ伝送装置と、を備えた制御システムとネットワークを介して接続されたエンジニアリング装置であって、
前記制御システムの構成が使用する前記ネットワーク変数を格納するテーブルを備えたデータベースと、
前記データベースに格納されたデータに基づいてユーザに提示する画面を生成する移動・変更画面を含み、ユーザの操作に基づいて前記データベースに格納されたデータを変更する設計変更支援部と、を備え、
前記設計変更支援部は、ユーザにより指定された前記ネットワーク変数と変更先情報とに基づいて、前記テーブルに格納された前記ネットワーク変数を変更して前記複数のプログラマブルコントローラ間での信号の送信元を変更するエンジニアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、エンジニアリング装置に関する。
【背景技術】
【０００２】
鉄鋼・製紙プラントや自動車産業などの組み立て作業を含むＦＡ分野、化学プラントなどのＰＡ分野、そして上下水道などの公共システムなど、様々な分野で制御システムが広く用いられている。
【０００３】
例えばプラント制御システムは、少なくとも１つのプログラマブルコントローラと、プログラマブルコントローラに接続された入力装置（制御対象設備に設置されたセンサ等から信号が入力される）と、出力装置（制御対象設備のアクチュエータ等に対して出力を行う）と、フィールド用データ伝送装置とを備えている。
【０００４】
また、プラント制御システムがさらに少なくとも１つのリモートＩ／Ｏ用プログラマブルコントローラを備える場合には、リモートＩ／Ｏ用プログラマブルコントローラに接続された入力装置（制御対象設備からセンサー等の入力を行う）と、出力装置（制御対象設備のアクチュエータ等に対して出力を行う）と、フィールド用データ伝送装置と、プログラマブルコントローラとリモートＩ／Ｏ用プログラマブルコントローラとを接続するデータ伝送装置と、を備えている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−８５４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プラント制御システムを設計する段階、または、既に稼動しているプラント制御システムに機能を追加したり改造したりする場合、例えば下記設計変更が発生することがあった。
【０００７】
プログラマブルコントローラに接続された出力装置を別のプログラマブルコントローラの配下への移動。  
プログラマブルコントローラに接続された入力装置を別のプログラマブルコントローラの配下への移動。  
プログラマブルコントローラに接続されたフィールド用データ伝送装置を別のプログラマブルコントローラの配下への移動。  
プログラマブルコントローラに接続された出力装置を別の型式の出力装置への変更。  
プログラマブルコントローラに接続された入力装置を別の型式の入力装置への変更。  
リモートＩ／Ｏ用プログラマブルコントローラに接続された出力装置を別のリモートＩ／Ｏ用プログラマブルコントローラの配下への移動。  
リモートＩ／Ｏ用プログラマブルコントローラに接続された入力装置を別のリモートＩ／Ｏ用プログラマブルコントローラの配下への移動。  
リモートＩ／Ｏ用プログラマブルコントローラに接続されたフィールド用データ伝送装置を別のリモートＩ／Ｏ用プログラマブルコントローラの配下への移動。  
リモートＩ／Ｏ用プログラマブルコントローラに接続された出力装置を別の型式の出力装置へ変更。  
リモートＩ／Ｏ用プログラマブルコントローラに接続された入力装置を別の型式の入力装置へ変更。  
データ伝送装置を介したプログラマブルコントローラ間インターフェースにおいて、送信元のプログラマブルコントローラを変更。
【０００８】
プログラマブルコントローラやリモートＩ／Ｏ用プログラマブルコントローラに接続された、出力装置、入力装置、およびフィールド用データ伝送装置を、別のプログラマブルコントローラやリモートＩ／Ｏ用プログラマブルコントローラの配下に移動する場合は、下記手順を踏む必要があった。
【０００９】
すなわち、データ伝送装置に設定された入力装置の入力信号情報を削除し、データ伝送装置に設定された出力装置の出力信号情報を削除し、入力装置に設定された入力信号情報を削除し、出力装置に設定された出力信号情報を削除し、入力装置を削除し、出力装置を削除し、移動対象位置に入力装置を追加（再登録）し、移動対象位置に出力装置を追加（再登録）し、入力装置に入力信号情報を追加（再登録）し、出力装置に出力信号情報を追加（再登録）し、データ伝送装置に入力装置の入力信号情報を追加（再設定）し、データ伝送装置に入力装置の出力信号情報を追加（再設定）し、プログラマブルコントローラのプログラムを再コンパイルする。
【００１０】
上記の移動および変更の一連の作業は、プログラマブルコントローラのエンジニアリング装置を使用し、間違えが無いように細心の注意を払いながら一つ一つ手作業で行われていた。
【００１１】
そのため、作業に多大な時間が必要となり、設計作業のコストアップとなっていた。また、複雑な作業を手作業で行うことになるため、設計ミスによる制御システムの品質低下を招く場合があった。
【００１２】
本発明は上述の事情を考慮してなされたものであって、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現するエンジニアリング装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
実施形態によれば、ネットワークを介して制御対象からの信号入力を行う入力装置と、ネットワークを介して制御対象へ信号出力を行う出力装置と、前記入力装置から入力された入力信号を元に前記出力装置に対して出力信号を出力するプログラムを少なくとも１つ格納するプログラマブルコントローラと、を備えた制御システムとネットワークを介して接続されたエンジニアリング装置であって、複数のテーブルを備え、前記制御システムの構造に基づいて前記複数のテーブルを共通ＩＤにより関連付けた階層構造を有するデータベースと、前記データベースの情報に基づいてユーザに提示する画面を生成する移動・変更画面を含み、ユーザの操作に基づいて前記データベースに格納されたデータを変更する設計変更支援部と、を備え、前記設計変更支援部は、ユーザにより指定された移動対象と移動先のハードウェア位置とに基づいて、前記共通ＩＤを変更して前記データベースの階層構造を変更して前記移動対象を別のハードウェア位置に移動可能とすることを特徴とするエンジニアリング装置が提供される。
【図面の簡単な説明】
【００１４】
【図１】実施形態のエンジニアリング装置を搭載した制御システムの一構成例を説明するための図である。
【図２Ａ】ネットワークに接続された複数のステーションおよび各ステーションの送信ブロックの一例について説明するための図である。
【図２Ｂ】各ステーションの階層構成の一例を説明するための図である。
【図２Ｃ】送信ブロックの階層構成の一例を説明するための図である。
【図３】図１のエンジニアリング装置の一構成例を説明するための図である。
【図４】図３に示すエンジニアリング装置の第１データベース部の一構成例を示す図である。
【図５】図４に示す第１データベースのテーブル名と、共通ＩＤフィールド名との一例を示す図である。
【図６】図３に示すエンジニアリング装置の第２データベース部の一構成例を示す図である。
【図７】図６に示す第２データベース部のテーブル名と、共通ＩＤフィールド名との一例を示す図である。
【図８】図３に示すエンジニアリング装置の第３データベース部の一構成例を示す図である。
【図９】図８に示す第３データベース部のテーブル名と共通ＩＤフィールド名との一例を示す図である。
【図１０】プログラマブルコントローラに直接接続された出力基板を移動する場合の動作例を説明するための図である。
【図１１】プログラマブルコントローラに直接接続された入力基板を移動する場合の動作例を説明するための図である。
【図１２】プログラマブルコントローラに直接接続されたフィールドバス基板を移動する場合の動作例を説明するための図である。
【図１３】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する場合の起動画面の例を説明するための図である。
【図１４】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する場合の操作例を説明するための図である。
【図１５】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する場合の操作例を説明するための図である。
【図１６】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する場合に編集権限が取れなかったことを提示する画面例を説明するための図である。
【図１７】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する場合に、移動処理中に提示される画面例を示す図である。
【図１８】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する場合に、移動処理が完了した後に提示される画面例を示す図である。
【図１９】実施形態のエンジニアリング装置において、移動する複数のＩ／Ｏ基板を指定する画面例を示す図である。
【図２０】実施形態のエンジニアリング装置において、指定した複数のＩ／Ｏ基板の移動元あるいは移動先がなかった場合に提示する画面例を示す図である。
【図２１】実施形態のエンジニアリング装置において、指定した複数のＩ／Ｏ基板が移動できない設定である場合に提示する画面例を示す図である。
【図２２】実施形態のエンジニアリング装置において、指定した複数のＩ／Ｏ基板の書式が不正である場合に提示する画面例を示す図である。
【図２３Ａ】プログラマブルコントローラに直接接続された出力基板を変更する場合の動作例を説明するための図である。
【図２３Ｂ】プログラマブルコントローラに直接接続された入力基板を変更する場合の動作例を説明するための図である。
【図２４】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を変更する場合の起動画面の例を説明するための図である。
【図２５】実施形態のエンジニアリング装置において、変更するＩ／Ｏ基板を指定する画面例を示す図である。
【図２６】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を変更する際に変更を確認する画面例を示す図である。
【図２７】ＲＩＯ転送機能を介してプログラマブルコントローラに接続された出力基板を移動する場合の動作例を説明するための図である。
【図２８】ＲＩＯ転送機能を介してプログラマブルコントローラに接続された入力基板を移動する場合の動作例を説明するための図である。
【図２９】ＲＩＯ転送機能を介してプログラマブルコントローラに接続されたフィールドバス基板を移動する場合の動作例を説明するための図である。
【図３０】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板を移動する際に移動を確認する画面例を示す図である。
【図３１】ＲＩＯ転送機能を介してプログラマブルコントローラに接続された出力基板を変更する場合の動作例を説明するための図である。
【図３２】ＲＩＯ転送機能を介してプログラマブルコントローラに接続された入力基板を変更する場合の動作例を説明するための図である。
【図３３】ＲＩＯ転送機能を介してプログラマブルコントローラに接続された出力基板を異なるステーションに移動する場合の動作例を説明するための図である。
【図３４】ＲＩＯ転送機能を介してプログラマブルコントローラに接続された入力基板を異なるステーションに移動する場合の動作例を説明するための図である。
【図３５】実施形態のエンジニアリング装置において、信号の送信元を変更する際に提示される画面例を示す図である。
【図３６】実施形態のエンジニアリング装置において、信号の送信元を変更する際にタスク指定が異なる変数が混在している場合に表示される画面例を示す図である。
【図３７】実施形態のエンジニアリング装置において、信号の送信元の変更先を指定する画面例を示す図である。
【図３８】実施形態のエンジニアリング装置において、信号の送信元を変更することを確認する画面例を示す図である。
【図３９】実施形態のエンジニアリング装置において、信号の送信元を変更する際に編集権限が取れなかったことを提示する画面例を説明するための図である。
【図４０】実施形態のエンジニアリング装置において、信号の送信元を変更処理中に提示される画面例を示す図である。
【図４１】実施形態のエンジニアリング装置において、信号の送信元を変更する際に、送信先の送信ブロックのエリアサイズが足りない場合の表示画面例を示す図である。
【図４２】実施形態のエンジニアリング装置において、信号の送信元を変更処理が完了した後に表示される画面例を示す図である。
【図４３】実施形態のエンジニアリング装置において、信号の送信元を変更する際の動作例を説明するための図である。
【図４４】実施形態のエンジニアリング装置において、Ｉ／Ｏ基板の移動により未定義となった変数を提示する画面例を示す図である。
【図４５】実施形態のエンジニアリング装置において、未定義のネットワーク変数を提示する画面例を示す図である。
【発明を実施するための形態】
【００１５】
以下、実施形態について、図面を参照して説明する。  
図１に、本実施形態のエンジニアリング装置を搭載した制御システムの全体構成の一例を示す。プラント制御システムは、共有メモリ空間４００を有するデータ伝送装置（図示せず）と、データ伝送装置のステーションＳＴ（ＳＴ１、ＳＴ２、…）と、複数のプログラムを稼動することが可能であってプログラム内部で使用可能な変数としてローカル変数、コントローラグローバル変数、ステーショングローバル変数、ネットワーク変数を有するコントローラＰＣと、全てのコントローラＰＣのローカル変数、コントローラグローバル変数、ステーショングローバル変数、および、ネットワーク変数のメモリアドレスと、データ伝送装置の共有メモリ空間のメモリアドレスと、全てのコントローラＰＣのプログラムと、を一元管理するエンジニアリング装置１００とを備えている。
【００１６】
データ伝送装置は、ネットワーク３００を介して制御対象であるプラントに接続されている。
【００１７】
エンジニアリング装置１００は、設計変更支援部１１０と、システム構成が格納されたデータベースＤＢと、データベースＤＢを管理するデータベース管理部１２０と、ハードディスクＨＤと、を備えている。
【００１８】
データベースＤＢには、プラント制御システムのシステム構成情報が格納されている。システム構成情報とは、例えば、プラント制御システムのステーションＳＴの構成情報、各ステーションＳＴ内のコントローラの構成情報、各コントローラ内で実行されるプログラム構成情報、ネットワーク構成情報等である。
【００１９】
設計変更支援部１１０は、移動・変更画面１１２を表示させるとともに、後述する移動処理および変更処理を行うように構成されている。設計変更支援部１１０は、データベース管理部１２０から、データベースＤＢに格納された各種変数情報を取得する。また、設計変更支援部１１０は、移動処理および変更処理を行った場合、変更した情報を供給する。データベース管理部１２０は、設計変更支援部１１０から供給された情報に従って、データベースＤＢに格納された情報を更新する。
【００２０】
エンジニアリング装置１００は、複数のテーブルを備え、プラント制御システムの構造に基づいて複数のテーブルを共通ＩＤにより関連付けた階層構造を有するデータベースＤＢと、データベースＤＢの情報に基づいてユーザに提示する画面を生成する移動・変更画面１１２を含み、ユーザの操作に基づいてデータベースＤＢに格納されたデータを変更する設計変更支援部１１０と、を備えている。
【００２１】
エンジニアリング装置１００には、マウス１３０、キーボード１４０、および、表示装置１５０が接続されている。マウス１３０およびキーボード１４０は、ユーザによって操作され、操作信号をエンジニアリング装置１００へ出力する入力装置である。表示装置１５０は、図示しない表示部を備え、エンジニアリング装置１００から供給される信号に基づいて表示部に画像を表示する出力装置である。なお、表示装置１５０の表示部にセンサを搭載し、ユーザが接触したことを検出して、ユーザの操作を入力可能に構成されてもよい。
【００２２】
エンジニアリング装置１００は、データ伝送装置を介して、コントローラＰＣに変更新した情報をダウンロードするように構成されている。
【００２３】
ステーションＳＴ夫々は、複数のプログラマブルコントローラＰＣを備えることができる。プログラマブルコントローラＰＣは、それぞれ複数のプログラムを格納可能である。
【００２４】
データ伝送装置は、ネットワーク変数が記録された共有メモリ空間４００を備えている。共有メモリ空間４００は、ネットワーク変数が記録される複数の送信ブロックを備えている。送信ブロックは、複数のプログラマブルコントローラＰＣ夫々についての送信データ領域として割り当てられている。
【００２５】
図２Ａ乃至図２Ｃに、プラント制御システムの階層構成の一例を示す。２Ｂに示すプラント制御システムのステーションＳＴは、例えば、メインユニットとして２つのコントローラＡ、Ｂを備えている。
【００２６】
コントローラＡにはＩ／Ｏバスが直接接続され、このＩ／ＯバスにはＩ／Ｏバスユニットが接続されている。Ｉ／Ｏバスユニットは、２つのＩ／Ｏモジュールを備えている。各Ｉ／Ｏモジュールには、モジュールパラメータとＩ／Ｏ変数とが設定されている。
【００２７】
図２Ｃの共有メモリ空間４００の送信ブロックＡには、ネットワーク変数Ａ、ネットワーク変数Ｂ、および、ネットワーク変数Ｃが記録され、送信ブロックＢにはネットワーク変数Ｄが記録されている。
【００２８】
データベースＤＢは、プラント制御システムと同様の階層構造で構成されている。
【００２９】
Ｉ／Ｏ基板のデータの階層構造は上位から下位に向かう順で「ステーション→メインユニット→コントローラ→Ｉ／Ｏバス→Ｉ／Ｏユニット→Ｉ／Ｏモジュール」となっている。コントローラがネットワーク２００に出力するデータの階層構造は送信ブロックそれぞれの下位に複数のネットワーク変数が格納されるように構成されている。
【００３０】
階層構造でデータベースＤＢに格納された情報を管理するためにテーブルを関連付ける共通ＩＤを設けている。例えばＩ／Ｏ基板を移動する場合、Ｉ／Ｏ基板の機種を変更する場合、および、送信元コントローラを移動する場合には、下位の階層の共通ＩＤを変更することにより階層の紐付け（関連付け）を変更することが可能である。
【００３１】
図３に、エンジニアリング装置１００の第１データベース部ＤＢ１、第２データベース部ＤＢ２、第３データベース部ＤＢ３、および、移動・変更画面（Ｉ／Ｏ基板の移動画面、Ｉ／Ｏ基板の機種の変更画面、送信元コントローラの移動画面）の一構成例を示す。図４に、データベースＤＢ内における任意のＩ／Ｏ基板の移動に関係するデータの一例を示す。図５に、図４に示すデータベースＤＢ内のテーブル名、共通ＩＤフィールド名、およびその説明の一例を示す。
【００３２】
Ｉ／Ｏ基板に関するデータ階層構造の中のステーションＳＴのデータはテーブルStnsＤＢ１０に格納されている。一階層下のメインユニットのデータテーブルUnitsＤＢ１２とは、テーブルStnsとの共通ＩＤであるStnIDで、紐付けられている。
【００３３】
Ｉ／Ｏ基板のデータ階層構造のなかのメインユニットのデータはテーブルUnitsＤＢ１２に格納されている。一階層下のコントローラのデータテーブルModulesＤＭ１３とは、テーブルUnitsＤＢ１２との共通ＩＤであるUnitIDで、紐付けられている。
【００３４】
Ｉ／Ｏ基板のデータ階層構造のなかのコントローラのデータはテーブルModulesＤＢ１３に格納されている。一階層下のＩ／ＯバスのデータテーブルBusesＤＢ１１とは、テーブルModulesＤＢ１３との共通ＩＤであるModuleIDで、紐付けられている。一階層下のデータの[モジュールパラメータ]の集合であるテーブルModulesParaＤＢ１４とは、テーブルModulesＤＢ１３との共通ＩＤであるModuleIDで、紐付けられている。一階層下のコントローラで使用している[コントローラメモリブロック]の集合であるテーブルCntBlocksＤＢ１６とは、テーブルModulesＤＢ１３の共通ＩＤであるModuleIDで、紐付けられている。
【００３５】
Ｉ／Ｏ基板のデータ階層構造のなかのＩ／Ｏバス部のデータはテーブルBusesＤＢ１１に格納されている。一階層下のＩ／ＯユニットのデータテーブルUnitsＤＢ１２とは、テーブルBusessＤＢ１１との共通ＩＤであるBusIDで、紐付けられている。
【００３６】
Ｉ／Ｏ基板のデータ階層構造のなかのＩ／Ｏユニット部のデータはテーブルUnitsＤＢ１２に格納されている。一階層下のＩ／Ｏモジュール部のデータはテーブルModulesＤＢ１３とは、テーブルUnitsＤＢ１２の共通ＩＤであるUnitIDで、紐付けられている。
【００３７】
Ｉ／Ｏ基板のデータ階層構造のなかのＩ／Ｏモジュール部のデータはテーブルModulesＤＢ１３に格納されている。コントローラで使用している[コントローラメモリブロック]の集合であるテーブルCntBlocksＤＢ１６とは、テーブルModulesＤＢ１３との共通ＩＤであるで、紐付けられている。
【００３８】
コントローラメモリブロックは、一階層下の[コントローラ変数]の集合のデータテーブルCntVarsＤＢ１５とは、テーブルCntBlocksＤＢ１６とのの共通ＩＤであるBlockIDで、紐付けられている。一階層下の[ネットワーク変数]の集合のデータテーブルSysVarsOutＤＢ１９とは、テーブルCntBlocksＤＢ１６との共通ＩＤであるBlockIDで、紐付けられている。
【００３９】
[ネットワーク]の集合であるテーブルNetsＤＢ１７は、一階層下の[ネットワークブロック]の集合のデータテーブルSysBlocksＤＢ１８とは、テーブルNetsＤＢ１７との共通ＩＤであるNetIDで、紐付けられている。
【００４０】
[ネットワークブロック]の集合であるテーブルSysBlocksＤＢ１８は、一階層下の[ネットワーク出力変数]の集合のデータテーブルSysVarsOutＤＢ１９とは、テーブルSysBlocksＤＢ１８との共通ＩＤであるBlockIDで、紐付けられている。
【００４１】
[ネットワーク出力変数]の集合であるテーブルSysVarsOutＤＶ１９は、一階層下の[ネットワーク入力変数]の集合のデータテーブルSysVarsInＤＢ１００とは、テーブルSysVarsOutＤＢ１９との共通ＩＤであるVarIDで、紐付けられている。
【００４２】
図６にＩ／Ｏ基板の機種の変更に関係するデータベースＤＢ内の一構成例を示す。  
図７に図６に示すデータベースＤＢ内のテーブル名、共通ＩＤフィールド名、およびその説明の一例を示す。
【００４３】
[機種情報]の集合であるテーブルCatcodeＤＢ２１は一階層下の[機種情報のプロファイル]の集合のデータテーブルCatcodeSpecsＤＢ２０とは、テーブルCatcodesＤＢ２１との共通ＩＤであるCatCodeIDで、紐付けられている。同階層のＩ／Ｏ基板のデータ階層構造のなかのコントローラ部のデータテーブルModulesＤＢ２２とは、テーブルCatcodesＤＢ２１との共通ＩＤであるCatCodeで、紐付けられている。
【００４４】
Ｉ／Ｏ基板のデータ階層構造のなかのコントローラ部のデータはテーブルModulesＤＢ２２に格納されている。一階層下のデータのコントローラで使用している[コントローラメモリブロック]の集合であるテーブルCntBlocksＤＢ２３とは、テーブルModulesＤＢ２２との共通ＩＤであるModuleIDで、紐付けられている。
【００４５】
図８に、送信元コントローラの移動に関係するデータベースの一構成例を示す。  
図９に、図８に示すデータベースＤＢ内のテーブル名、共通ＩＤフィールド名、およびその説明の一例を示す。
【００４６】
[ネットワークブロック]の集合であるテーブルSysBlocksＤＢ３０は、一階層下の[ネットワーク出力変数]の集合のデータテーブルSysVarsOutＤＢ３１とは、テーブルSysBlocksＤＢ３０との共通ＩＤであるBlockIDで、紐付けられている。
【００４７】
次に、本実施形態に係るプログラマブル設計変更支援部を実現するための操作画面と、上記データベースＤＢへの変更の一例について説明する。本実施形態では、プログラマブルコントローラにＩ／Ｏユニットが直接接続されているときに、出力基板(デジタル信号出力基板,アナログ信号出力基板等)を移動する場合、入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する場合、および、フィールドバス基板(FlnetやDeviceNet等)を移動する場合について説明する。
【００４８】
図１０に、プログラマブルコントローラにＩ／Ｏユニットが直接接続されているときに、出力基板(デジタル信号出力基板,アナログ信号出力基板等)を移動する動作の一例を説明するための図を示す。  
プログラマブルコントローラに直接接続された出力基板を当該プログラマブルコントローラの配下で移動する際には、従来、まず出力基板（移動対象基板）を削除する。出力基板を削除すると自動的に出力信号“ＡＡＡ”も削除される。  
続いて、出力基板（移動対象基板）を移動対象位置に再登録する。  
続いて、再登録した出力基板に出力信号“ＡＡＡ”を再登録する。
【００４９】
その後、プログラマブルコントローラに格納されているプログラムをコンパイルする。従来はこれらをすべて手作業で行っていた。
【００５０】
図１１に、プログラマブルコントローラにＩ／Ｏユニットが直接接続されているときに、入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する動作の一例を説明するための図を示す。  
プログラマブルコントローラに直接接続された入力基板を当該プログラマブルコントローラの配下で移動する際には、従来、まず入力基板（移動対象基板）を削除する。入力基板を削除すると自動的に入力信号“ＢＢＢ”も削除される。
【００５１】
続いて、入力基板（移動対象基板）を移動対象位置に再登録する。  
続いて、再登録した入力基板に入力信号“ＢＢＢ”を再登録する。  
その後、プログラマブルコントローラに格納されているプログラムをコンパイルする。従来はこれらをすべて手作業で行っていた。
【００５２】
本実施形態では、上記のような手作業での移動を自動的に行えるようにしたものである。  
図１２に、プログラマブルコントローラにＩ／Ｏユニットが直接接続されているときに、フィールドバス基板を移動する動作の一例を説明するための図を示す。
【００５３】
図１３に、表示装置１５０の表示部に表示される起動画面のシステムの階層構造の一例を示す。ここでは、第１データベースＤＢ１に基づいて制御システム構成の階層が表示されている。
【００５４】
以下、本実施形態に係る設計変更支援部の動作の一例を添付図面を参照して説明する。起動方法は、起動画面で移動元のＩ／Ｏ基板をマウス１３０やキーボード１４０等の操作により選択後、表示されたポップアップメニューＰＵＭから<移動>の項目を選択する。＜移動＞の項目が選択されると、設計変更支援部１１０は、移動・変更画面を表示装置１５０の表示部に表示する。
【００５５】
図１４に、移動・変更画面１１２により表示される[Ｉ／Ｏモジュールの移動]画面の一例を示す。設計変更支援部１１０は、選択されたＩ／Ｏ基板の位置をデータベースＤＢの構成に基づいて検出し、[Ｉ／Ｏモジュールの移動]画面において、移動元のＩ／Ｏ基板が登録されているステーション、コントローラ、Ｉ／Ｏノード、および、Ｉ／Ｏモジュールの名称を表示する。
【００５６】
設計変更支援部１１０は、選択されたＩ／Ｏ基板を移動先として選択可能な位置をデータベースＤＢの構成から選択し、[Ｉ／Ｏモジュールの移動]画面において、移動先として選択可能なステーション、コントローラ、Ｉ／Ｏノード、および、Ｉ／Ｏ基板を実装可能なスロットＮｏ．を、候補としてプルダウンボックスで表示する。
【００５７】
このとき、設計変更支援部１１０は、実装可能な(空きの)スロットがない場合、スロットＮｏ．の欄を空白とする。
【００５８】
ユーザは、移動動作を取りやめる場合には、[キャンセル]ボタンを選択し、１つのＩ／Ｏ基板を移動する場合、まず、移動先のステーション、コントローラ、Ｉ／Ｏノード、および、スロットＮｏ．を選択後、［ＯＫ］ボタンを選択する。設計変更支援部１１０は、ユーザによって[ＯＫ]ボタンが選択されると、確認ダイアログを表示する。
【００５９】
図１５に確認ダイアログの一例を示す。図１５に示すダイアログでは、Ｉ／Ｏモジュールの移動により、システムに多大な影響を与える可能性があることをユーザに確認する。ユーザが図１５に示すダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は、システムの編集権を獲得する。例えば、同時に複数のユーザが編集処理を行うと互いに干渉してシステムに問題が生じる場合があるため、編集権を獲得したユーザのみがシステムの構成を移動および変更することが可能とする。
【００６０】
図１６に、システム編集権を獲得できなかったときに表示するダイアログを示す。このダイアログには現在システム編集権を有しているユーザと、システム編集権を獲得できなかったこととが表示される。設計変更支援部１１０は、システム編集権を獲得できなかった場合は、編集不可のダイアログを表示し、Ｉ／Ｏモジュールの移動処理を中止する。この場合、Ｉ／Ｏモジュールは移動要求前の元の状態が維持される。この場合、ユーザは図１６に示すダイアログの［ＯＫ］ボタンを選択し、図１４に示す［Ｉ／Ｏモジュールの移動］画面を閉じる。
【００６１】
設計変更支援部１１０は、システムの編集権を獲得することができた場合のみ、移動および変更の処理を行う。Ｉ／Ｏモジュールの移動を実現する際の、設計変更支援部１１０のデータベースへの具体的な動作について以下に説明する。
【００６２】
入出力信号をプログラムで使用するには入出力信号を共有メモリ空間に割り付ける必要があり、プログラムは参照時に共有メモリ空間に割り付いたメモリアドレスを指定する。  
変数とは共有メモリ空間のメモリアドレスに名前を付けたもので、プログラム上で共有メモリ空間(入出力信号)を参照する際に共有メモリ空間の用途を明示しプログラムを見やすくする役割をもつ。  
コントラーラ変数とは、プログラマブルコントラーラ内で参照可能な変数である。  
ネットワーク変数とは、ステーションを跨ったプログラマブルコントラーラ間でも参照できる変数である。
【００６３】
設計変更支援部１１０は、まず、テーブルModulesで移動するＩ／Ｏモジュールの共通ＩＤであるcUnitIDを、指定された移動先の共通ＩＤであるUnitIDに変更する。このようにUnitIDを変更することにより、Ｉ／Ｏ基板の属するユニットを変更することができる。
【００６４】
続いて、設計変更支援部１１０は、テーブルModulesで移動するモジュールのスロットＮｏ．であるSSを、指定された移動先のスロットNo.へ変更する。
【００６５】
続いて、設計変更支援部１１０は、テーブルCntBlocks内の移動先のコントローラでＩ／Ｏモジュールからの入力又は出力に用いることができるメモリブロックBlockNo、TopWordNoを求め直す。ここで、BlockNoは基板からの入出力信号を格納するためのメモリブロックであり、TopWordNoは基板からの入出力信号を格納するためのメモリブロック内の先頭ワードNo.である。これらのメモリブロックを求めなおすことにより、上記移動動作のうち、基板の入出力信号の削除および再登録を自動化することができる。
【００６６】
続いて、設計変更支援部１１０は、テーブルCntVars内の移動先のコントローラでＩ／Ｏモジュールの制御に用いることができるコントローラ変数IOBlockNo、IOWordNoを求め直す。ここでIOBlockNoは基板からの入出力信号を格納するためのメモリブロックであり、IOWordNoは基板からの入出力信号を格納するためのメモリブロック内のワードNo.である。これらの変数を求めなおすことにより、上記移動動作のうち、基板の入出力信号の削除および再登録を自動化することができる。
【００６７】
上記のようにデータベースＤＢを変更した後、設計変更支援部１１０はＩ／Ｏモジュールの移動が完了したことを表示するダイアログを表示する。図１７に、データベースＤＢの変更中に表示されるダイアログの一例を示す。図１８に、Ｉ／Ｏモジュール移動完了のダイアログの一例を示す。ユーザがＩ／Ｏモジュールの移動が完了したことを確認し、［ＯＫ］ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏモジュールの移動]画面を閉じて再び図１０に示す起動時の画面を表示する。
【００６８】
次に、複数のＩ／Ｏモジュールを移動する場合の設計変更支援部１１０の動作の一例について説明する。
【００６９】
まず、上記の１つのＩ／Ｏモジュールを移動する動作と同様に、図１３に示す［Ｉ／Ｏモジュールの移動］画面を起動する。ユーザは、図１３に示す［Ｉ／Ｏモジュールの移動］画面で、［一括処理］ボタンを選択する。
【００７０】
続いて、設計変更支援部１１０は、バッチファイル選択ダイアログを表示する。図１９に、バッチファイル選択ダイアログの一例を示す。バッチファイルの構成は例えば下記の通りとする。
【００７１】
すなわち、ファイルの拡張子は「.txt」とし、中身は「csv」形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。なお、例えばハードアドレスは「メインスロットNo.-ノードNo.-ユニットNo.-スロットNo.」とする。書式の一例を記載すると、例えば、“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”となる。
【００７２】
設計変更支援部１１０は、選択したバッチファイルかた複数のＩ／Ｏモジュールを移動可能であるか否か判断する。設計変更支援部１１０は、移動不可が1つでもあった場合は、エラーダイアログを表示し、移動処理を中止する。なお、エラーダイアログは、移動不可であることが最初に検出されたときに表示する。
【００７３】
図２０乃至図２２にエラーダイアログの例を示す。図２０に示すエラーダイアログでは、指定した移動元あるいは移動先が存在しない場合に表示される。図２１に示すエラーダイアログは指定したＩ／Ｏモジュールが移動できない設定となっている場合に表示される。図２２に示すエラーダイアログは、バッチファイルの書式が上記のようなものでなく不正である場合に表示される。ユーザは、エラーダイアログに表示された内容を確認して［ＯＫ］ボタンを選択する。
【００７４】
設計変更支援部１１０は移動不可が検出された場合には、移動処理が既に進められているときには移動要求前の元の状態に全て戻す。
【００７５】
選択された全てのＩ／Ｏモジュールを移動可能である場合には、システムの編集権を獲得する。例えば、同時に複数のユーザが編集処理を行うと互いに干渉してシステムに問題が生じる場合があるため、編集権を獲得したユーザのみがシステムの構成を移動および変更することが可能とする。
【００７６】
図１６に、システム編集権を獲得できなかったときに表示するダイアログを示す。このダイアログには現在システム編集権を有しているユーザと、システム編集権を獲得できなかったこととが表示される。設計変更支援部１１０は、システム編集権を獲得できなかった場合は、編集不可のダイアログを表示し、Ｉ／Ｏモジュールの移動処理を中止する。この場合、Ｉ／Ｏモジュールは移動要求前の元の状態が維持される。この場合、ユーザは図１６に示すダイアログの［ＯＫ］ボタンを選択し、図１４に示す［Ｉ／Ｏモジュールの移動］画面を閉じて再び起動画面を表示する。
【００７７】
設計変更支援部１１０は、システムの編集権を獲得することができた場合、設計変更支援部１１０は例えば図１５に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板を移動する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板を移動しない場合には[キャンセル]ボタンを選択する。
【００７８】
設計変更支援部１１０は、ユーザが図１５に示すダイアログの[ＯＫ]ボタンを選択すると、移動および変更の処理を行う。それぞれのＩ／Ｏモジュールの移動を実現する際の、設計変更支援部１１０のデータベースへの具体的な動作は、上記１つのＩ／Ｏモジュールを移動するときと同様である。
【００７９】
設計変更支援部１１０は、複数のＩ／Ｏ基板を移動している間、図１７に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部１１０はＩ／Ｏ基板の移動処理を中止して、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態へ戻す。
【００８０】
全てのＩ／Ｏ基板の移動が完了すると、設計変更支援部１１０は図１８に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて、起動画面を再表示する。
【００８１】
従来は出力基板を削除すると出力基板に登録された出力信号も自動的に削除されてしまうため、出力基板の削除・再登録後に出力信号を再登録する必要があった。そのため、１枚の出力基板に多数の出力信号が登録されている場合は出力信号の再登録に多大の作業時間を要したが、本実施形態によれば、基板の削除・基板の再登録・出力信号の再登録を自動的に行うことが可能になる。
【００８２】
また、従来は入力基板を削除すると入力基板に登録された入力信号も自動的に削除されてしまうため、入力基板の削除・再登録後に入力信号を再登録する必要があった。そのため１枚の入力基板に多数の入力信号が登録されている場合は入力信号の再登録に多大の作業時間を要したが、本実施形態によれば基板の削除・基板の再登録・入力信号の再登録を自動的に行うことが可能になる。
【００８３】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ＩＤ、スロット番号、メモリブロック、および各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【００８４】
次に、第２実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【００８５】
本実施形態では、プログラマブルコントローラＰＣに直接接続されたＩ／Ｏモジュールにおいて、出力基板を同じ出力点数の他の出力基板へ変更する場合、および、プログラマブルコントローラＰＣに直接接続されたＩ／Ｏモジュールにおいて入力基板を同じ入力点数の他の入力基板へ変更する場合、について説明する。制御システムの構成およびデータベースＤＢの構成は上述の第１実施形態と同様である。
【００８６】
図２３Ａは、プログラマブルコントローラＰＣに直接接続されたＩ／Ｏモジュールにおいて、出力基板を同じ出力点数の他の出力基板へ変更する動作の一例を説明するための図である。
【００８７】
図２３Ｂは、プログラマブルコントローラＰＣに直接接続されたＩ／Ｏモジュールにおいて、入力基板を同じ入力点数の他の入力基板へ変更する動作の一例を説明するための図である。
【００８８】
図２４に、起動画面の一例を示す。Ｉ／Ｏ基板の機種を変更する場合、ユーザは起動画面において機種を変更するＩ／Ｏ基板を選択してポップアップメニューＰＵＭを開き、ポップアップメニューＰＵＭの項目から＜機種の変更＞を選択する。＜機種の変更＞が選択されると設計変更支援部１１０は、Ｉ／Ｏ基板の機種の変更を設定するダイアログを表示する。
【００８９】
図２５に［機種を変更する］ダイアログの一例を示す。［機種を変更する］ダイアログには現在のＩ／Ｏ基板の名前と、機種の変更後の新しいＩ／Ｏ基板の名前の候補とが表示される。本実施形態では、新しいＩ／Ｏ基板の名前の候補はプルダウンボックスに表示される。なお、新しい名前は、入出力方向、ワード゛数が同じものを候補としてプルダウン表示する。
【００９０】
ユーザはプルダウンボックスに表示されたＩ／Ｏ基板の名前から機種の変更後の新しいＩ／Ｏ基板の名前を選択して。［ＯＫ］ボタンを選択する。設計変更支援部１１０は、［ＯＫ］ボタンが選択されると、システムの編集権を獲得する。ネットワークを介して複数個所から同時に編集処理を行うと、複数の編集内容がお互いに干渉してシステムに問題が生じる場合があるため編集権を獲得して干渉を回避している。
【００９１】
設計変更支援部１１０は、システムの編集権を獲得することができた場合、図２６に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板の機種を変更する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板の機種を変更しない場合には[キャンセル]ボタンを選択する。ユーザが確認ダイアログに表示された事項を確認し、［ＯＫ］ボタンを選択すると、設計変更支援部１１０は、機種の変更を実行する。
【００９２】
機種の変更を実現するための、設計変更支援部１１０が行うデータベースＤＢへの具体的な操作を以下に示す。
【００９３】
まず、設計変更支援部１１０は、図６に示すテーブルModulesに格納されたCatCodeを変更前のモジュール名から変更後のモジュール名へ変更する。また、設計変更支援部１１０は、図６に示すテーブルCntBlocksに格納されたNameを変更前のモジュール名から変更後のモジュール名へ変更する。これらの変更により、手作業での変更動作を自動化することができる。
【００９４】
なお、機種の変更において、システムの編集権が取れなかった場合は、編集不可のダイアログを表示し、処理を中止する。編集不可のダイアログは、例えば図１３に示すダイアログのように、他のユーザが編集中であるため機種の変更を開始することができないことを表示する。
【００９５】
編集不可のダイアログにおいてユーザが［ＯＫ］ボタンを選択すると、設計変更支援部１１０は、既に変更を行っている場合にはモジュールの機種の変更要求前の元の状態に戻し、再び起動画面を表示する。
【００９６】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、モジュール名、および、コントローラメモリブロック名を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【００９７】
次に、第３実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【００９８】
本実施形態では、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内で出力基板(デジタル信号出力基板,アナログ信号出力基盤等)を移動する場合、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内で入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する場合、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内でフィールドバス基板(FlnetやDeviceNet等)を移動する場合について説明する。
【００９９】
リモートＩ／Ｏ用プログラマブルコントローラＰＣは、自身に直接接続された入出力装置とデータ伝送装置を介して接続された他のプログラマブルコントローラＰＣとの間で入出力を実行する入出力専用のプログラマブルコントローラＰＣである。
【０１００】
図２７は、プログラマブルコントローラＰＣとリモートＩ／Ｏ用プログラマブルコントローラＰＣとがデータ伝送装置を介して接続されている構成で、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内で出力基板（デジタル信号出力基板、アナログ信号出力基板等）を移動する動作の一例を説明するための図である。
【０１０１】
図２８は、プログラマブルコントローラＰＣとリモートＩ／Ｏ用プログラマブルコントローラＰＣがデータ伝送装置を介して接続されている構成で、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内で入力基板（デジタル信号入力基板、アナログ信号入力基板等）を移動する動作の一例を説明するための図である。
【０１０２】
図２９は、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内でフィールドバス基板(FlnetやDeviceNet等)を移動する動作の一例を説明するための図である。
【０１０３】
図１３に起動画面の一例を示す。ユーザは起動画面で移動元のＩ／Ｏ基板をマウス１３０やキーボード１４０を操作することにより選択し、開いたポップアップメニューＰＵＭから＜移動＞の項目を選択する。＜移動＞の項目が選択されると、設計変更支援部１１０は［Ｉ／Ｏ基板の移動］画面を表示する。
【０１０４】
図１４に［Ｉ／Ｏ基板の移動］画面の一例を示す。[Ｉ／Ｏ基板の移動]画面の移動元の欄には、移動元のＩ／Ｏ基板が登録されているステーションと、移動元のＩ／Ｏ基板が登録されているコントロ−ラと、移動元のＩ／Ｏ基板が登録されているＩ／Ｏノードとが表示される。
【０１０５】
[Ｉ／Ｏ基板の移動]画面の移動先のステーションは移動可能なステーションのみを候補としてプルダウン表示され、移動先のコントロ−ラには移動可能なコントローラのみを候補としてプルダウン表示され、移動先のＩ／Ｏノードには移動可能なノードのみを候補としてプルダウン表示され、移動先のスロットNo.には実装可能な(空きの)スロットNo.のみを候補としてプルダウン表示する。ここで、実装可能な(空きの)スロットがない場合は、プルダウン表示欄は空白とする。
【０１０６】
１つのＩ／Ｏ基板の移動を行う場合の操作の一例について以下に説明する。  
ユーザは、[Ｉ／Ｏ基板の移動]画面において、移動先のステーション、コントローラ、Ｉ／Ｏノード、スロットＮｏ．を選択後、[ＯＫ]ボタンを選択する。
【０１０７】
ユーザが確認ダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行うことにより互いに干渉してシステムに問題が生じることを防ぐ。
【０１０８】
システム編集権が取れなかった場合、設計変更支援部１１０は、例えば図１６に示すような編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止する。このとき移動処理が進んでいた場合には、設計変更支援部１１０は、制御システムをＩ／Ｏ基板の移動要求前の元の状態に全て戻す。
【０１０９】
システム編集権が取れた場合には、例えば図１５に示すような確認ダイアログを表示する。ユーザが確認ダイアログの[ＯＫ]ボタンを選択したのち、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。移動を実現するためのデータベースへの具体的な操作を以下に示す。
【０１１０】
入出力信号をプログラムで使用するには入出力信号を共有メモリ空間に割り付ける必要があり、プログラムは参照時に共有メモリ空間に割り付いたメモリアドレスを指定する。  
変数とは共有メモリ空間のメモリアドレスに名前を付けたもので、プログラム上で共有メモリ空間(入出力信号)を参照する際に共有メモリ空間の用途を明示しプログラムを見やすくする役割をもつ。  
コントラーラ変数とは、プログラマブルコントラーラ内で参照可能な変数である。  
ネットワーク変数とは、ステーションを跨ったプログラマブルコントラーラ間でも参照できる変数である。
【０１１１】
設計変更支援部１１０は、まず、図４に示すテーブルModulesで移動するモジュールのcUnitＩＤを移動先のUnitＩＤに変更する。続いて、テーブルModulesで移動するモジュールのSSを移動先のスロットNo.に変更する。テーブルCntBlocksのBlockNo、TopWordNoを求め直す。これらのメモリブロックを求めなおすことにより、上記移動動作のうち、基板からの入出力信号の削除を自動化することができる。
【０１１２】
テーブルCntVarsのIOBlockNo、IOWordNoを求め直す。これらの変数を求めなおすことにより、上記移動動作のうち、基板の入出力信号の削除を自動化することができる。
【０１１３】
続いて、リモートＩ／Ｏ用プログラマブルコントローラＰＣ内で出力基板(DO,AO等)を移動する場合、設計変更支援部１１０は、テーブルSysVarsOutのIOBlockNo、IOWordNoをテーブルCntVarsのIOBlockNo、IOWordNoからコピーする。ここでIOBlockNoは基板の入力信号を格納するためのメモリブロックであり、IOWordNoは基板からの入力信号を格納するためのメモリブロック内のワードNo.である。これらの変数を求めなおすことにより、上記移動動作のうち、データ伝送装置からの入力信号の削除を自動化することができる。
【０１１４】
次に、移動先が移動元の自コントローラの時、テーブルSysVarsInのIOBlockNo、IOWordNoをテーブルCntVarsのIOBlockNo、IOWordNoからコピーする。これらをコピーすることにより、上記移動動作のうち、データ伝送装置からの出力信号の削除を自動化することができる。このとき、自コントローラであるか否かはテーブルSysVarsInのネットワーク変数cCntBlockＩＤで判断する。
【０１１５】
リモートＩ／Ｏ用プログラマブルコントローラＰＣ内で入力基板(DI,AI等)を移動する場合、設計変更支援部１１０は、テーブルSysVarsOutのIOBlockNo、IOWordNoをテーブルCntVarsのIOBlockNo、IOWordNoからコピーする。これらの変数をコピーすることにより、上記移動動作のうち、データ伝送装置からの入力信号の削除を自動化することができる。
【０１１６】
リモートＩ／Ｏ用プログラマブルコントローラＰＣ内でフィールドバス基板(FlnetやDeviceNet等)を移動する場合、設計変更支援部１１０は、出力時にはテーブルSysVarsOutのIOBlockNo、IOWordNoを求め直し、入力時にはテーブルSysVarsInのIOBlockNo、IOWordNoを求め直す。これらの変数をコピーすることにより、上記移動動作のうち、データ伝送装置からの出力信号の削除を自動化することができる。
【０１１７】
なお、上記のデータベースＤＢ変更により未定義となった変数があった場合には、設計変更支援部１１０は、未定義となった変数を表示する。
【０１１８】
例えば図４４および図４５に、Ｉ／Ｏモジュールの移動により未定義となったネットワーク変数を提示するダイアログの一例を示す。このようにＩ／Ｏモジュールの移動が終了した後に、未定義となったネットワーク変数がある場合には、その旨をユーザに提示し、図４５に示すように、未定義となった変数を図３５に示す［ネットワーク変数］ダイアログの送信側にドラックして、再定義する必要がある。
【０１１９】
上記のようにデータベースＤＢの変更が終了した後、設計変更支援部１１０は、例えば図１８に示すようなＩ／Ｏ基板の移動の完了ダイログを表示する。ユーザは完了ダイアログを確認した後、マウス１３０やキーボード１４０を操作して[ＯＫ]ボタンを選択する。
【０１２０】
完了ダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、[Ｉ／Ｏ基板の移動]画面を閉じて、起動画面を再表示する。
【０１２１】
続いて、複数のＩ／Ｏ基板を移動する場合の操作の一例について以下に説明する。  
複数のＩ／Ｏ基板を一括で移動する場合には、ユーザは、[Ｉ／Ｏ基板の移動]画面で、マウス１３０やキーボード１４０を操作して[一括処理]ボタンを選択する。
【０１２２】
設計変更支援部１１０は、[一括処理]ボタンが選択されると、例えば図１９に示すようなバッチファイル選択ダイアログを表示する。ユーザは、バッチファイル選択ダイアログにおいて、バッチファイルを選択する。ここでのバッチファイルの構成は、例えば第１実施形態の場合と同様である。すなわち、バッチファイルの拡張子は”.txt”とし、中身は”csv”形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。ハードアドレスはメインスロットNo.-ノードNo.-ユニットNo.-スロットNo.である。
【０１２３】
書式は例えば下記のようになる。  
“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”
設計変更支援部１１０は、移動不可であるＩ／Ｏ基板が1つでもあった場合はエラーダイアロを表示し、移動処理を中止する。図２０乃至図２２にエラーダイアログの例を示す。なお、これらのエラーダイアログは移動不可であるＩ／Ｏ基板が最初に検出されたときに表示される。設計変更支援部１１０は、ユーザがエラーダイアログの[ＯＫ]ボタンを選択すると、移動要求前の元の状態に全て戻す。
【０１２４】
全てのＩ／Ｏ基板を移動可能である場合、設計変更支援部１１０は図１５あるいは図３０に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板を移動する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板を移動しない場合には[キャンセル]ボタンを選択する。
【０１２５】
確認ダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０はシステム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じること防ぐ。システムの編集権が取れなかった場合は、編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止し、Ｉ／Ｏ基板の移動要求前の元の状態に全て戻す。
【０１２６】
個々のＩ／Ｏ基板の移動を実現するための設計変更支援部１１０のデータベースＤＢへの具体的な操作は、１つのＩ／Ｏ基板を移動する場合と同様である。
【０１２７】
設計変更支援部１１０は、複数のＩ／Ｏ基板を移動している間、図１７に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部１１０はＩ／Ｏ基板の移動処理を中止して、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態へ戻す。
【０１２８】
全てのＩ／Ｏ基板の移動が完了すると、設計変更支援部１１０は図１８に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて、起動画面を再表示する。
【０１２９】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ＩＤ、スロット番号、メモリブロック、および各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【０１３０】
次に、第４実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【０１３１】
本実施形態では、リモートＩ／Ｏ用プログラマブルコントローラＰＣに接続されたＩ／Ｏモジュールにおいて、出力基板を同じ出力点数の出力基板へ変更する場合、および、入力基板を同じ入力点数の入力基板へ変更する場合について説明する。
【０１３２】
図３１に、リモートＩ／Ｏ用プログラマブルコントローラＰＣに接続されたＩ／Ｏモジュールにおいて、出力基板(デジタル信号出力基板,アナログ信号出力基板等)を同じ出力点数の出力基板へ変更する動作の一例を説明するための図を示す。
【０１３３】
プログラマブルコントローラＰＣまたはリモートＩ／Ｏ用プログラマブルコントローラＰＣに接続された出力基板の型式を変更する際には、従来、以下のような作業を手作業にて行っていた。
【０１３４】
まず、ステーション３のデータ伝送装置の共有メモリに出力信号として登録されているデータ“ＡＡＡ”を削除する。ステーション３のデータ伝送装置の共有メモリに登録されているデータ“ＡＡＡ”を削除することによりステーション１とステーション２とのデータ伝送装置の共有メモリに受信信号として登録されているデータ“ＡＡＡ”は自動的に削除される。  
続いて、ステーション１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの出力基板（型式変更対象基板）に登録されている出力信号“ＡＡＡ”を削除する。  
ステーション１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの出力基板（型式変更対象基板）を削除する。
【０１３５】
続いて、ステーション２のリモートＩ／Ｏ用プログラマブルコントローラＰＣに出力基板（型式変更済基板）を登録する。  
ステーション２のリモートＩ／Ｏ用プログラマブルコントローラＰＣに登録した出力基板（型式変更済基板）に出力信号“ＡＡＡ”を再登録する。  
ステーション３のデータ伝送装置の共有メモリに出力信号としてデータ“ＡＡＡ”を再登録する。  
その後、ステーション３のプログラマブルコントローラＰＣに格納されているプログラムをコンパイルする。
【０１３６】
図３２に、リモートＩ／Ｏ用プログラマブルコントローラＰＣに接続されたＩ／Ｏモジュールにおいて、入力基板(デジタル信号入力基板,アナログ信号入力基板等)を同じ入力点数の入力基板へ変更する動作の一例を説明する図を示す。
【０１３７】
プログラマブルコントローラＰＣまたはリモートＩ／Ｏ用プログラマブルコントローラＰＣに接続された出力基板の型式を変更する際には、従来、以下のような作業を手作業にて行っていた。
【０１３８】
まず、ステーション２のデータ伝送装置の共有メモリに受信信号として登録されているデータ“ＢＢＢ”を削除する。  
ステーション１のデータ伝送装置の共有メモリに出力信号として登録されているデータ“ＢＢＢ”を削除する。  
ステーション１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの入力基板（型式変更対象基板）に登録されている入力信号“ＢＢＢ”を削除する。  
ステーション１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの入力基板（型式変更対象基板）を削除する。  
続いて、ステーション１のリモートＩ／Ｏ用プログラマブルコントローラＰＣに入力基板（型式変更済基板）を登録する。  
ステーション１のリモートＩ／Ｏ用プログラマブルコントローラＰＣに登録した入力基板（型式変更済基板）に入力信号“ＢＢＢ”を再登録する。  
ステーション１のデータ伝送装置の共有メモリに出力信号としてデータ“ＢＢＢ”を再登録する。  
ステーション２のデータ伝送装置の共有メモリに受信信号としてデータ“ＢＢＢ”を再登録する。  
その後、ステーション２のプログラマブルコントローラＰＣに格納されているプログラムをコンパイルする。
【０１３９】
本実施形態では、従来手作業で行っていた上記のそれぞれの作業による変更を自動的に行えるようにしたものである。
【０１４０】
図２４に起動画面の一例を示す。Ｉ／Ｏ基板の機種を変更する場合、ユーザは、マウス１３０やキーボード１４０を操作して起動画面で機種を変更するＩ／Ｏ基板を選択した後、ポップアップメニューＰＵＭの項目から＜機種の変更＞を選択する。
【０１４１】
設計変更支援部１１０は、＜機種の変更＞が選択されると、例えば図２５に示すような[機種を変更する]ダイアログを表示する。[機種を変更する]ダイアログには、新しい機種の名前の候補として、入出力方向、ワード゛数が同じ機種の名称がプルダウン表示する。
【０１４２】
ユーザは、[機種を変更する]ダイアログにおいて、変更後のＩ／Ｏ基板の機種の名前を選択した後、マウス１３０やキーボード１４０を操作して[ＯＫ]ボタンを選択する。
【０１４３】
設計変更支援部１１０は、[機種を変更する]ダイアログにおいて[ＯＫ]ボタンが選択されると、システムの編集権を獲得し、同時に複数個所から編集処理を行った場合に互いに干渉してシステムに問題が生じることを防ぐ。システムの編集権が取れなかった場合は、設計変更支援部１１０は、例えば図１６に示すような編集不可のダイアログを表示し、処理を中止して、データベースＤＢをモジュールの変更要求前の元の状態に全て戻す。
【０１４４】
システム編集権が取れた場合には、例えば図２６に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板の機種を変更する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板の機種を変更しない場合には[キャンセル]ボタンを選択する。
【０１４５】
ユーザが確認ダイアログの[ＯＫ]ボタンを選択したのち、設計変更支援部１１０はデータベースＤＢを変更して変更処理を進める。機種の変更を実現するためのデータベースへの具体的な操作を以下に示す。
【０１４６】
まず、設計変更支援部１１０は、図６に示すテーブルModulesの構成要素であるCatCodeを変更前のモジュール名から変更後のモジュール名に変更する。続いて、テーブルCntBlocksのコントローラメモリブロックNameを変更前のモジュール名から変更後のモジュール名に変更する。これらの変更により、上記変更動作を自動化することができる。
【０１４７】
Ｉ／Ｏ基板の機種の変更が終了すると、設計変更支援部１１０は、起動画面を再表示する。
【０１４８】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、モジュールの名称、コントローラメモリブロックの名称を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【０１４９】
次に、第５実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【０１５０】
本実施形態では、同じステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で出力基板(デジタル信号出力基板、アナログ信号出力基板等)を移動する場合、入力基板(デジタル信号入力基板、アナログ信号入力基板等)を移動する場合、フィールドバス基板(FlnetやDeviceNet等)を移動する場合について説明する。
【０１５１】
図１３に起動画面の一例を示す。Ｉ／Ｏ基板を移動する場合、ユーザは、マウス１３０やキーボード１４０を操作して起動画面で移動するＩ／Ｏ基板を選択した後、ポップアップメニューＰＵＭの項目から＜移動＞を選択する。
【０１５２】
設計変更支援部１１０は、ユーザにより＜移動＞が選択されると、例えば図１４に示すような[Ｉ／Ｏ基板の移動]画面を表示する。[Ｉ／Ｏ基板の移動]画面には移動元のＩ／Ｏ基板が登録されているステーションと、移動元のＩ／Ｏ基板が登録されているコントロ−ラと、移動元のＩ／Ｏ基板が登録されているＩ／Ｏノードとが表示される。また、[Ｉ／Ｏ基板の移動]画面には、Ｉ／Ｏ基板を移動可能なステーションのみを移動先の候補としてプルダウン表示し、Ｉ／Ｏ基板を移動可能なコントローラのみを移動先の候補としてプルダウン表示し、Ｉ／Ｏ基板を移動可能なノードのみを移動先の候補としてプルダウン表示し、Ｉ／Ｏ基板を実装可能な(空きの)スロットＮｏ．のみを移動先の候補としてプルダウン表示する。このとき、実装可能な(空きの)スロットがない場合は、プルダウン表示欄を空白とする。
【０１５３】
１つのＩ／Ｏ基板を移動する場合には、ユーザは、[Ｉ／Ｏ基板の移動]画面において移動先のステーション、コントローラ、Ｉ／Ｏノード、スロットＮｏ．を選択後、[ＯＫ]ボタンを選択する。
【０１５４】
設計変更支援部１１０は、[Ｉ／Ｏ基板の移動]画面において[ＯＫ]ボタンが選択されると、図１５あるいは図３０に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板を移動する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板を移動しない場合には[キャンセル]ボタンを選択する。
【０１５５】
確認ダイアログで[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
【０１５６】
システム編集権が取れなかった場合、設計変更支援部１１０は、例えば図１６に示すような編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止し、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０１５７】
システム編集権が取れた後、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。Ｉ／Ｏ基板の移動を実現するためのデータベースＤＢへの具体的な操作を以下に示す。
【０１５８】
まず、設計変更支援部１１０は、図４に示すテーブルModulesで移動するモジュールの共通ＩＤであるcUnitＩＤを移動先のUnitＩＤに変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルModulesで移動するモジュールのSSを移動先のスロットＮｏ．に変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntBlocksのコントローラメモリブロックBlockNo、TopWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntVarsのコントローラ変数IOBlockNo、IOWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルModulesのcSSを移動先のコントローラのスロットNo.に変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntBlocksの共通ＩＤであるcCntＩＤを移動先のコントローラのModuleＩＤに変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntVarsの共通ＩＤであるcModuleＩＤを移動先のコントローラのModuleＩＤに変更する。  
同じステーションＳＴのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で出力基板を移動する場合、続いて、設計変更支援部１１０は以下の処理を行う。  
設計変更支援部１１０は、図４に示すテーブルSysVarsOutのIQNo、cBlockＩＤ、WordNo、ｃCntBlockＩＤをNullにする。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのSpeedを再設定する。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのネットワーク出力変数IOBlockNo、IOWordNoをテーブルCntVarsからコピーする。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsInのネットワーク入力変数IQNoをNullにする。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsInのネットワーク入力変数IOBlockNo、IOWordNoをテーブルCntVarsからコピーする。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsInの共通ＩＤcCntBlockＩＤを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsInのネットワーク入力変数InCntSlotを移動先のコントローラのスロットＮｏ．に変更する。  
同じステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で入力基板を移動する場合、続いて、設計変更支援部１１０は、以下の処理を行う。  
設計変更支援部１１０は。図４に示すテーブルSysVarsOutのIQNo、cBlockＩＤ、WordNoをNullにする。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのSpeedを再設定する。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのIOBlockNo、IOWordNoをテーブルCntVarsからコピーする。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのcCntBlockＩＤを求め直す。
【０１５９】
同じステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間でフィールドバス基板(FlnetやDeviceNet等)を移動する場合、続いて、設計変更支援部１１０は以下の処理を行う。
【０１６０】
フィールドバス基板が出力時には設計変更支援部１１０は、図４に示すテーブルSysVarsOutのIOBlockNo、IOWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのcCntBlockＩＤを求め直す。  
続いて設計変更支援部１１０は、図４に示すテーブルSysBlocksのOutCntSlotを移動先のコントローラのスロットＮｏ．に変更する。  
フィールドバス基板が入力時には、設計変更支援部１１０は、図４に示すテーブルSysVarsINのIOBlockNo、IOWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルのSysVarsInのcCntBlockＩＤ、InCntSlotを求め直す。  
設計変更支援部１１０は、上記の移動処理が終了すると、例えば図１８に示すようなＩ／Ｏモジュールの移動の完了ダイアログを表示する。ユーザは、完了ダイアログの[ＯＫ]ボタンを選択する。  
完了ダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０１６１】
続いて、複数のＩ／Ｏ基板を移動する場合の操作の一例について以下に説明する。  
複数のＩ／Ｏ基板を一括で移動する場合には、ユーザは、[Ｉ／Ｏ基板の移動]画面で、マウス１３０やキーボード１４０を操作して[一括処理]ボタンを選択する。
【０１６２】
設計変更支援部１１０は、[一括処理]ボタンが選択されると、例えば図１９に示すようなバッチファイル選択ダイアログを表示する。ユーザは、バッチファイル選択ダイアログからバッチファイルを選択する。
【０１６３】
バッチファイルの構成は下記の通りとする。すなわち、ファイルの拡張子は”.txt”とし、中身は”csv”形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。ハードアドレスは、メインスロットNo.-ノードNo.-ユニットNo.-スロットNo.となる。書式例は“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”となる。
【０１６４】
設計変更支援部１１０は、移動不可であるＩ／Ｏ基板が１つでもあった場合には例えば図２０乃至図２２に示すようなエラーダイアログを表示し、移動処理を中止して、データベースＤＢを移動要求前の元の状態に戻す。なお、エラーダイアログは、最初に移動不可であるＩ／Ｏ基板が検出されたタイミングで表示される。ユーザはエラーダイアログの内容を確認して[ＯＫ]ボタンを選択する。
【０１６５】
移動不可であるＩ／Ｏ基板がなかった場合には、設計変更支援部１１０は、例えば図１５および図３０に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板を移動する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板を移動しない場合には[キャンセル]ボタンを選択する。
【０１６６】
確認ダイアログで[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
【０１６７】
システム編集権が取れた後、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。個々のＩ／Ｏ基板を移動するためのデータベースＤＢへの具体的な操作は、１つのＩ／Ｏ基板を変更する際と同様である。
【０１６８】
設計変更支援部１１０は、複数のＩ／Ｏ基板を移動している間、図１７に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部１１０はＩ／Ｏ基板の移動処理を中止して、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態へ戻す。
【０１６９】
全てのＩ／Ｏ基板の移動が完了すると、設計変更支援部１１０は図１８に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて、起動画面を再表示する。
【０１７０】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ＩＤや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【０１７１】
次に、第６実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【０１７２】
本実施形態では、異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で出力基板(デジタル信号出力基板,アナログ信号出力基板等)を移動する場合、異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する場合、および、異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間でフィールドバス基板(FL911等)を移動する場合について説明する。
【０１７３】
図３３に、リモートＩ／Ｏ構成（プログラマブルコントローラＰＣとリモートＩ／Ｏ用プログラマブルコントローラＰＣとがデータ伝送装置を介して接続されている構成）で異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で出力基板を移動する際の作業の一例について説明する図を示す。
【０１７４】
ステーションＳＴ３のプログラマブルコントローラＰＣ内のプログラムが出力した信号ＡＡＡがステーションＳＴ３のデータ伝送装置の共有メモリＡＡＡに転送される。ステーションＳＴ３のデータ伝送装置の共有メモリＡＡＡのデータはステーションＳＴ１とステーション２の共有メモリに転送される。ステーションＳＴ１のデータ転送装置の共有メモリＡＡＡのデータは、Ｉ／Ｏバスを介して出力基板から出力される。
【０１７５】
ここで、ステーションＳＴ１のリモートＩ／Ｏ用プログラマブルコントローラＰＣに接続されている出力基板をステーションＳＴ２のリモートＩ／Ｏ用プログラマブルコントローラＰＣの配下に移動する例について説明する。
【０１７６】
この場合、まず、ステーションＳＴ３のデータ伝送装置の共有メモリに出力信号として登録されているデータ“ＡＡＡ”を削除する。ステーションＳＴ３のデータ伝送装置の共有メモリに登録されているデータ“ＡＡＡ”を削除することによりステーションＳＴ１とステーションＳＴ２のデータ伝送装置の共有メモリに受信信号として登録されているデータ“ＡＡＡ”は自動的に削除される。
【０１７７】
続いて、ステーションＳＴ１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの出力基板（移動対象基板）に登録されている出力信号“ＡＡＡ”を削除する。  
続いて、ステーションＳＴ１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの出力基板（移動対象基板）を削除する。
【０１７８】
続いて、ステーションＳＴ２のリモートＩ／Ｏ用プログラマブルコントローラＰＣに出力基板（移動対象基板）を登録する。  
続いて、ステーションＳＴ２のリモートＩ／Ｏ用プログラマブルコントローラＰＣに登録した出力基板（移動対象基板）に出力信号“ＡＡＡ”を再登録する。  
続いて、ステーションＳＴ３のデータ伝送装置の共有メモリに出力信号としてデータ“ＡＡＡ”を再登録する。  
続いて、ステーションＳＴ３のプログラマブルコントローラＰＣに格納されているプログラムをコンパイルする。
【０１７９】
図３４に、リモートＩ／Ｏ構成（プログラマブルコントローラＰＣとリモートＩ／Ｏ用プログラマブルコントローラＰＣがデータ伝送装置を介して接続されている構成）で異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間で入力基板を移動する際の作業の一例を説明する図を示す。
【０１８０】
ステーションＳＴ１のＩ／Ｏ用プログラマブルコントローラＰＣが出力した信号“ＢＢＢ”はステーションＳＴ１のデータ伝送装置の共有メモリＢＢＢに転送される。ステーションＳＴ１のデータ伝送装置の共有メモリＢＢＢのデータはステーションＳＴ３の共有メモリに転送される。
【０１８１】
ここで、ステーションＳＴ１のリモートＩ／Ｏ用プログラマブルコントローラＰＣに接続されている入力基板をステーションＳＴ２のリモートＩ／Ｏ用プログラマブルコントローラＰＣの配下に移動する例について説明する。
【０１８２】
まず、ステーションＳＴ３のデータ伝送装置の共有メモリに受信信号として登録されているデータ“ＢＢＢ”を削除する。  
続いて、ステーションＳＴ１のデータ伝送装置の共有メモリに出力信号として登録されているデータ“ＢＢＢ”を削除する。  
続いて、ステーションＳＴ１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの入力基板（移動対象基板）に登録されている入力信号“ＢＢＢ”を削除する。  
続いて、ステーションＳＴ１のリモートＩ／Ｏ用プログラマブルコントローラＰＣの入力基板（移動対象基板）を削除する。  
続いて、ステーションＳＴ２のリモートＩ／Ｏ用プログラマブルコントローラＰＣに入力基板（移動対象基板）を登録する。  
続いて、ステーションＳＴ２のリモートＩ／Ｏ用プログラマブルコントローラＰＣに登録した入力基板（移動対象基板）に入力信号“ＢＢＢ”を再登録する。  
続いて、ステーションＳＴ２のデータ伝送装置の共有メモリに出力信号としてデータ“ＢＢＢ”を再登録する。  
続いて、ステーションＳＴ３のデータ伝送装置の共有メモリに受信信号としてデータ“ＢＢＢ”を再登録する。  
続いて、ステーションＳＴ３のプログラマブルコントローラＰＣに格納されているプログラムをコンパイルする。
【０１８３】
本実施形態では、従来手作業で行っていた上記のそれぞれの作業による変更を自動的に行えるようにしたものである。
【０１８４】
図１３に、起動画面の一例を示す。ユーザがマウス１３０やキーボード１４０を操作して起動画面において移動元のＩ／Ｏ基板を選択すると、ポップアップメニューＰＵＭが開く。ユーザはポップアップメニューＰＵＭの項目から＜移動＞を選択する。
【０１８５】
ポップアップメニューＰＵＭから＜移動＞の項目が選択されると、設計変更支援部１１０は、例えば図１４に示すような[Ｉ／Ｏ基板の移動]画面を表示する。[Ｉ／Ｏ基板の移動]の画面には、移動元のＩ／Ｏ基板が登録されているステーションが表示され、移動元のＩ／Ｏ基板が登録されているコントロ−ラが表示され、移動元のＩ／Ｏ基板が登録されているＩ／Ｏノードが表示される。
【０１８６】
また、[Ｉ／Ｏ基板の移動]画面には、移動先のステーションには移動可能なステーションのみ候補としてプルダウン表示され、移動先のコントロ−ラには移動可能なコントローラのみ候補としてプルダウン表示され、移動先のＩ／Ｏノードには移動可能なノードのみ候補としてプルダウン表示され、移動先のスロットＮｏ．には実装可能な（空きの）スロットＮｏ．のみ候補としてプルダウン表示する。なお、実装可能な(空きの)スロットがない場合は、スロットＮｏ．の欄は空白とする。
【０１８７】
１つのＩ／Ｏ基板を移動する場合には、ユーザは、[Ｉ／Ｏ基板の移動]画面において移動先のステーション、コントローラ、Ｉ／Ｏノード、スロットＮｏ．を選択後、[ＯＫ]ボタンを選択する。
【０１８８】
設計変更支援部１１０は、[Ｉ／Ｏ基板の移動]画面において[ＯＫ]ボタンが選択されると、図１５あるいは図３０に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板を移動する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板を移動しない場合には[キャンセル]ボタンを選択する。
【０１８９】
確認ダイアログで[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
【０１９０】
システム編集権が取れなかった場合、設計変更支援部１１０は、例えば図１６に示すような編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止し、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０１９１】
システム編集権が取れた後、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。Ｉ／Ｏ基板の移動を実現するためのデータベースＤＢへの具体的な操作を以下に示す。
【０１９２】
設計変更支援部１１０は、図４に示すテーブルModulesで移動するＩ／Ｏモジュールの共通ＩＤであるcUnitIDを移動先のUnitIDに変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルModulesで移動するＩ／ＯモジュールのSSを移動先のスロットＮｏ．に変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntBlocksのBlockNo、TopWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntVarsのIOBlockNo、IOWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルModulesのcSSを移動先のコントローラのスロットＮｏ．に変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntBlockのcCntIDを移動先のコントローラのModuleIDに変更する。  
続いて、設計変更支援部１１０は、図４に示すテーブルCntVarsの共通ＩＤであるcModuleIDを移動先のコントローラの共通ＩＤであるModuleIDに変更する。  
異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間でネットワーク基板を移動する場合において、ネットワーク基板が出力時であるときには、設計変更支援部１１０は、図４に示すテーブルSysVarsOutのIOBlockNo、IOWordNoを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysVarsOutの共通ＩＤであるcCntBlockIDを求め直す。  
続いて、設計変更支援部１１０は、図４に示すテーブルSysBlocksのOutCntSlotを移動先のコントローラのスロットＮｏ．に変更する。  
続いて、設計変更支援部１１０は、テーブルSysVarsOutのIQNo求め直す。  
異なるステーションのリモートＩ／Ｏ用プログラマブルコントローラＰＣ間でネットワーク基板を移動する場合において、ネットワーク基板が入力時であるときには、設計変更支援部１１０は、テーブルSysVarsINのIOBlockNo、IOWordNoを求め直す。  
続いて、設計変更支援部１１０は、テーブルのSysVarsInの共通ＩＤであるcCntBlockID、InCntSlotを求め直す。  
続いて、設計変更支援部１１０は、テーブルSysVarsOutのIQNo求め直す。
【０１９３】
上記のようにデータベースＤＢを変更した後、設計変更支援部１１０は、例えば図１８に示すようなＩ／Ｏ基板の移動の完了ダイログを表示する。ユーザがマウス１３０やキーボード１４０を操作することにより完了ダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０１９４】
続いて、複数のＩ／Ｏ基板を移動する場合の操作の一例について以下に説明する。  
複数のＩ／Ｏ基板を一括で移動する場合には、ユーザは、[Ｉ／Ｏ基板の移動]画面で、マウス１３０やキーボード１４０を操作して[一括処理]ボタンを選択する。
【０１９５】
[一括処理]ボタンが選択されると、設計変更支援部１１０は、例えば図１９に示すようなバッチファイル選択ダイアログを表示する。バッチファイルの拡張子は”.txt”とし、中身は”csv”形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。ここで、ハードアドレスはメインスロットNo.-ノードNo.-ユニットNo.-スロットNo.である。書式例は“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”となる。
【０１９６】
ユーザはバッチファイル選択ダイアログにおいてバッチファイルを選択する。設計変更支援部１１０は、選択されたバッチファイルの中で移動不可であるものが１つでもあった場合には、例えば図２０乃至図２２に示すようなエラーダイアログを表示して、移動処理を中止する。なお、設計変更支援部１１０は、移動不可であるものを最初に検出したタイミングでエラーダイアログを表示して、データベースＤＢを移動要求前の元の状態に全て戻す。
【０１９７】
移動不可であるＩ／Ｏ基板がなかった場合には、設計変更支援部１１０は、例えば図１５および図３０に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、Ｉ／Ｏ基板を移動する場合には[ＯＫ]ボタンを選択する。Ｉ／Ｏ基板を移動しない場合には[キャンセル]ボタンを選択する。
【０１９８】
確認ダイアログで[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
【０１９９】
システム編集権が取れなかった場合、設計変更支援部１１０は、例えば図１６に示すような編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止し、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０２００】
システム編集権が取れた後、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。個々のＩ／Ｏ基板を移動するためのデータベースＤＢへの具体的な操作は、１つのＩ／Ｏ基板を変更する際と同様である。
【０２０１】
設計変更支援部１１０は、複数のＩ／Ｏ基板を移動している間、図１７に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部１１０はＩ／Ｏ基板の移動処理を中止して、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態へ戻す。
【０２０２】
全てのＩ／Ｏ基板の移動が完了すると、設計変更支援部１１０は図１８に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて、起動画面を再表示する。
【０２０３】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ＩＤや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【０２０４】
次に、第７実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【０２０５】
本実施形態では、データ転送装置を介したプログラムコントローラ間インターフェース信号の送信元であるプログラマブルコントローラＰＣを、同じステーション内で変更する場合について説明する。
【０２０６】
まず設計変更支援部１１０は、[ネットワーク変数]画面を表示する。図３５に[ネットワーク変数]画面の一例を示す。[ネットワーク変数]画面には送信側のネットワーク変数と受信側のネットワーク変数とが表示される。[ネットワーク変数]画面には、[送信元の変更]ボタンが設けられている。
【０２０７】
ユーザは、[ネットワーク変数]画面の送信側のネットワーク変数から送信元を変更したいネットワーク変数を選択した後、[送信元の変更]ボタンを選択する。[送信元の変更]ボタンが選択されると、設計変更支援部１１０は、[送信元の変更]ダイアログを表示する。ここで、ＲＩＯ（リモートＩ／Ｏ）指定なしの変数とＲＩＯ指定ありの変数とが混在して送信元の変更対象に選択されている場合、混在不可のダイアログを表示し、［送信元の変更］画面を起動しない。図３６に「タスク指定が異なる変数が混在して選択されています。送信元の変更ができません。」との表示をユーザに提示する混在不可のダイアログの一例を示す。
【０２０８】
図３７に[送信元の変更]ダイアログの一例を示す。[送信元の変更]ダイアログには、変更先候補のブロックＮｏ．、そのワード長（空きサイズ）、伝送速度、送信ノード、および出力コントローラが表示される。変更先候補のブロックＮｏ．はプルダウンボックスに表示される。なお、ワード長の括弧内の数字は空きサイズである。ＲＩＯ指定なしの変数を送信元の変更対象に選択している場合、変更先のブロックＮｏ．には、変更元以外のブロックＮｏ．が候補として表示され、ＲＩＯ指定ありの変数を送信元の変更対象に選択している場合、変更先のブロックＮｏ．には、変更元と同じ出力コントローラで、変更元以外のブロックＮｏ．が候補として表示される。
【０２０９】
ユーザは、[送信元の変更]ダイアログの表示された候補から変更後のブロックＮｏ．を選択した後、[ＯＫ]ボタンを選択する。設計変更支援部１１０は[送信元の変更]ダイアログの[ＯＫ]ボタンが選択されると、確認ダイアログを表示する。図３８に確認ダイアログの一例を示す。ユーザは、確認ダイアログにより提示された内容を確認した後、送信元を変更する場合には[ＯＫ]ボタンを選択する。送信元を変更しない場合には[キャンセル]ボタンを選択する。
【０２１０】
確認ダイアログで[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
【０２１１】
システム編集権が取れなかった場合、設計変更支援部１１０は、例えば図３９に示すような編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止し、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０２１２】
システム編集権が取れた後、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。Ｉ／Ｏ基板の移動を実現するためのデータベースＤＢへの具体的な操作を以下に示す。
【０２１３】
まず、設計変更支援部１１０は、図６に示すテーブルSysVarsOutのIOWordNo、IQを求め直す。  
続いて、設計変更支援部１１０は、図６に示すテーブルSysVarsOutの共通ＩＤであるcBlockＩＤを変更する。
【０２１４】
設計変更支援部１１０は、上記のようにデータベースＤＢを変更して送信元の変更している期間中に変更中ダイアログを表示する。図４０に変更中ダイアログの一例を示す。変更中ダイアログの[キャンセル]ボタンが選択されると、設計変更支援部１１０は送信元の変更処理を中止してデータベースＤＢを変更要求前の状態に戻す。
【０２１５】
送信元を変更することができなかった場合には、設計変更支援部１１０はエラーダイアログを表示する。図４１にエラーダイアログの一例を示す。図４１のエラーダイアログは、変更先の送信ブロックのエリアサイズが足りない場合に表示される。エラーダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０はデータベースＤＢを変更要求前の状態に戻す。エラーダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、変更先ブロックの空いているワードに自動的に割り付ける。
【０２１６】
送信元の変更が完了すると、設計変更支援部１１０は完了ダイアログを表示する。図４２に完了ダイアログの一例を示す。完了ダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０は[送信元の変更]画面を閉じて、[ネットワーク変数]画面を再表示する。
【０２１７】
従来はデータ伝送装置の共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録が必要であった。プログラマブルコントローラＰＣ間インターフェース信号が多数存在する場合は、共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録に多大の作業時間を要したが、本実施形態により共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録を対話形式で自動的に行うことが可能になる。
【０２１８】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ＩＤや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【０２１９】
次に、第８実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第１実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
【０２２０】
本実施形態では、データ転送装置を介したプログラムコントローラ間インターフェース信号の送信元であるプログラマブルコントローラＰＣを、異なるステーション間で変更する場合について説明する。
【０２２１】
図４３を用いて、データ伝送装置を介したプログラマブルコントローラＰＣ間インターフェース信号の送信元のプログラマブルコントローラＰＣを変更する際の作業の一例について説明する。
【０２２２】
まず、ステーションＳＴ３のデータ伝送装置の共有メモリに受信信号として登録されているデータ“ＣＣＣ”を削除する。  
続いて、ステーションＳＴ１のデータ伝送装置の共有メモリに出力信号として登録されているデータ“ＣＣＣ”を削除する。  
続いて、ステーションＳＴ２のデータ伝送装置の共有メモリに出力信号としてデータ“ＣＣＣ”を再登録する。  
続いて、ステーションＳＴ３のデータ伝送装置の共有メモリに受信信号としてデータ“ＣＣＣ”を再登録する。  
続いて、ステーションＳＴ３のプログラマブルコントローラＰＣに格納されているプログラムをコンパイルする。
【０２２３】
本実施形態では、従来手作業で行っていた上記のそれぞれの作業による変更を自動的に行えるようにしたものである。
【０２２４】
まず設計変更支援部１１０は、[ネットワーク変数]画面を表示する。図３５に[ネットワーク変数]画面の一例を示す。[ネットワーク変数]画面には送信側のネットワーク変数と受信側のネットワーク変数とが表示される。[ネットワーク変数]画面には、[送信元の変更]ボタンが設けられている。
【０２２５】
ユーザは、[ネットワーク変数]画面の送信側のネットワーク変数から送信元を変更したいネットワーク変数を選択した後、[送信元の変更]ボタンを選択する。[送信元の変更]ボタンが選択されると、設計変更支援部１１０は、[送信元の変更]ダイアログを表示する。ここで、ＲＩＯ指定なしの変数とＲＩＯ指定ありの変数とが混在して送信元の変更対象に選択されている場合、混在不可のダイアログを表示し、［送信元の変更］画面を起動しない。図３６に「タスク指定が異なる変数が混在して選択されています。送信元の変更ができません。」との表示をユーザに提示する混在不可のダイアログの一例を示す。
【０２２６】
図３７に[送信元の変更]ダイアログの一例を示す。[送信元の変更]ダイアログには、変更先候補のブロックＮｏ．、そのワード長（空きサイズ）、伝送速度、送信ノード、および出力コントローラが表示される。変更先候補のブロックＮｏ．はプルダウンボックスに表示される。なお、ワード長の括弧内の数字は空きサイズである。ＲＩＯ指定なしの変数を送信元の変更対象に選択している場合、変更先のブロックＮｏ．には、変更元以外のブロックＮｏ．が候補として表示され、ＲＩＯ指定ありの変数を送信元の変更対象に選択している場合、変更先のブロックＮｏ．には、変更元と同じ出力コントローラで、変更元以外のブロックＮｏ．が候補として表示される。
【０２２７】
ユーザは、[送信元の変更]ダイアログの表示された候補から変更後のブロックＮｏ．を選択した後、[ＯＫ]ボタンを選択する。設計変更支援部１１０は[送信元の変更]ダイアログの[ＯＫ]ボタンが選択されると、確認ダイアログを表示する。図３８に確認ダイアログの一例を示す。ユーザは、確認ダイアログにより提示された内容を確認した後、送信元を変更する場合には[ＯＫ]ボタンを選択する。送信元を変更しない場合には[キャンセル]ボタンを選択する。
【０２２８】
確認ダイアログで[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
【０２２９】
システム編集権が取れなかった場合、設計変更支援部１１０は、例えば図３９に示すような編集不可のダイアログを表示し、Ｉ／Ｏ基板の移動処理を中止し、データベースＤＢをＩ／Ｏ基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[ＯＫ]ボタンを選択すると、設計変更支援部１１０は[Ｉ／Ｏ基板の移動]画面を閉じて起動画面を再表示する。
【０２３０】
システム編集権が取れた後、設計変更支援部１１０はデータベースＤＢを変更して移動処理を進める。Ｉ／Ｏ基板の移動を実現するためのデータベースＤＢへの具体的な操作を以下に示す。
【０２３１】
まず、設計変更支援部１１０は、図６に示すテーブルSysVarsOutのIOWordNo、IQを求め直す。  
続いて、設計変更支援部１１０は、図６に示すテーブルSysVarsOutの共通ＩＤであるcBlockＩＤを変更する。
【０２３２】
設計変更支援部１１０は、上記のようにデータベースＤＢを変更して送信元の変更している期間中に変更中ダイアログを表示する。図４０に変更中ダイアログの一例を示す。変更中ダイアログの[キャンセル]ボタンが選択されると、設計変更支援部１１０は送信元の変更処理を中止してデータベースＤＢを変更要求前の状態に戻す。
【０２３３】
送信元を変更することができなかった場合には、設計変更支援部１１０はエラーダイアログを表示する。図４１にエラーダイアログの一例を示す。図４１のエラーダイアログは、変更先の送信ブロックのエリアサイズが足りない場合に表示される。エラーダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０はデータベースＤＢを変更要求前の状態に戻す。エラーダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０は、変更先ブロックの空いているワードに自動的に割り付ける。
【０２３４】
送信元の変更が完了すると、設計変更支援部１１０は完了ダイアログを表示する。図４２に完了ダイアログの一例を示す。完了ダイアログの[ＯＫ]ボタンが選択されると、設計変更支援部１１０は[送信元の変更]画面を閉じて、[ネットワーク変数]画面を再表示する。
【０２３５】
従来はデータ伝送装置の共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録が必要であった。プログラマブルコントローラＰＣ間インターフェース信号が多数存在する場合は、共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録に多大の作業時間を要したが、本実施形態により共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録を対話形式で自動的に行うことが可能になる。
【０２３６】
上記のように、本実施形態に係る設計変更支援部１１０を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ＩＤや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
【０２３７】
上記第１乃至第８実施形態に記載したエンジニアリング装置１００は以下の機能を有している。
【０２３８】
すなわち、入出力基板（入力基板・出力基板・フィールドバス基板）の移動に関する一連の設計作業を設計者と対話形式で進める機能と、入出力基板（入力基板・出力基板・フィールドバス基板）の移動に関する一連の設計作業を設計者が漏れなく行えるようなガイダンス機能と、設計者が必要な情報を設定した後は入出力基板（入力基板・出力基板・フィールドバス基板）の移動に関する一連の設計作業を自動的に行う機能と、入出力基板（入力基板・出力基板）の基板型式の変更に関する一連の設計作業を設計者と対話形式で進める機能と、入出力基板（入力基板・出力基板）の基板型式の変更に関する一連の設計作業を設計者が漏れなく行えるようなガイダンス機能と、設計者が必要な情報を設定した後は入出力基板（入力基板・出力基板）の基板型式変更に関する一連の設計作業を自動的に行う機能と、プログラマブルコントローラＰＣ間インターフェース信号の送信元のプログラマブルコントローラＰＣを変更する際の一連の設計作業を設計者と対話形式で進める機能と、プログラマブルコントローラＰＣ間インターフェース信号の送信元のプログラマブルコントローラＰＣを変更する際の一連の設計作業を設計者が漏れなく行えるようなガイダンス機能と、設計者が必要な情報を設定した後は、プログラマブルコントローラＰＣ間インターフェース信号の送信元のプログラマブルコントローラＰＣを変更する際の一連の設計作業を自動的に行う機能と、を備えている。
【０２３９】
上記本実施形態に係るエンジニアリング装置１００によれば、入出力基板（入力基板・出力基板・フィールドバス基板）の移動・入出力基板型式変更・プログラマブルコントローラＰＣ間インターフェースの変更に伴う複雑な設計変更作業を簡単に、漏れなく、間違えなく行うことが可能となるため、入出力基板（入力基板・出力基板・フィールドバス基板）の移動・入出力基板型式変更・プログラマブルコントローラＰＣ間インターフェースの変更を行う際の設計時間短縮による大幅なコストダウンと、設計ミスの撲滅による制御システムの大幅な品質向上を達成できる。
【０２４０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２４１】
ＳＴ…ステーション、ＰＣ…プログラマブルコントローラ、ＤＢ…データベース、ＨＤ…ハードディスク、ＰＵＭ…ポップアップメニュー、ＤＢ１…第１データベース部、ＤＢ２…第２データベース部、ＤＢ３…第３データベース部、１００…エンジニアリング装置、１００…データ転送装置、１１０…設計変更支援部、１１２…移動・変更画面、１２０…データベース管理部、１３０…マウス、１４０…キーボード、１５０…表示装置、２００…ネットワーク、３００…ネットワーク、４００…共有メモリ空間。
【図１】
0005826636.tif 000002
【図２Ａ】
0005826636.tif 000003
【図２Ｂ】
0005826636.tif 000004
【図２Ｃ】
0005826636.tif 000005
【図３】
0005826636.tif 000006
【図４】
0005826636.tif 000007
【図５】
0005826636.tif 000008
【図６】
0005826636.tif 000009
【図７】
0005826636.tif 000010
【図８】
0005826636.tif 000011
【図９】
0005826636.tif 000012
【図１０】
0005826636.tif 000013
【図１１】
0005826636.tif 000014
【図１２】
0005826636.tif 000015
【図１３】
0005826636.tif 000016
【図１４】
0005826636.tif 000017
【図１５】
0005826636.tif 000018
【図１６】
0005826636.tif 000019
【図１７】
0005826636.tif 000020
【図１８】
0005826636.tif 000021
【図１９】
0005826636.tif 000022
【図２０】
0005826636.tif 000023
【図２１】
0005826636.tif 000024
【図２２】
0005826636.tif 000025
【図２３Ａ】
0005826636.tif 000026
【図２３Ｂ】
0005826636.tif 000027
【図２４】
0005826636.tif 000028
【図２５】
0005826636.tif 000029
【図２６】
0005826636.tif 000030
【図２７】
0005826636.tif 000031
【図２８】
0005826636.tif 000032
【図２９】
0005826636.tif 000033
【図３０】
0005826636.tif 000034
【図３１】
0005826636.tif 000035
【図３２】
0005826636.tif 000036
【図３３】
0005826636.tif 000037
【図３４】
0005826636.tif 000038
【図３５】
0005826636.tif 000039
【図３６】
0005826636.tif 000040
【図３７】
0005826636.tif 000041
【図３８】
0005826636.tif 000042
【図３９】
0005826636.tif 000043
【図４０】
0005826636.tif 000044
【図４１】
0005826636.tif 000045
【図４２】
0005826636.tif 000046
【図４３】
0005826636.tif 000047
【図４４】
0005826636.tif 000048
【図４５】
0005826636.tif 000049