以下、実施形態について、図面を参照して説明する。
図1に、本実施形態のエンジニアリング装置を搭載した制御システムの全体構成の一例を示す。プラント制御システムは、共有メモリ空間400を有するデータ伝送装置(図示せず)と、データ伝送装置のステーションST(ST1、ST2、…)と、複数のプログラムを稼動することが可能であってプログラム内部で使用可能な変数としてローカル変数、コントローラグローバル変数、ステーショングローバル変数、ネットワーク変数を有するコントローラPCと、全てのコントローラPCのローカル変数、コントローラグローバル変数、ステーショングローバル変数、および、ネットワーク変数のメモリアドレスと、データ伝送装置の共有メモリ空間のメモリアドレスと、全てのコントローラPCのプログラムと、を一元管理するエンジニアリング装置100とを備えている。
データ伝送装置は、ネットワーク300を介して制御対象であるプラントに接続されている。
エンジニアリング装置100は、設計変更支援部110と、システム構成が格納されたデータベースDBと、データベースDBを管理するデータベース管理部120と、ハードディスクHDと、を備えている。
データベースDBには、プラント制御システムのシステム構成情報が格納されている。システム構成情報とは、例えば、プラント制御システムのステーションSTの構成情報、各ステーションST内のコントローラの構成情報、各コントローラ内で実行されるプログラム構成情報、ネットワーク構成情報等である。
設計変更支援部110は、移動・変更画面112を表示させるとともに、後述する移動処理および変更処理を行うように構成されている。設計変更支援部110は、データベース管理部120から、データベースDBに格納された各種変数情報を取得する。また、設計変更支援部110は、移動処理および変更処理を行った場合、変更した情報を供給する。データベース管理部120は、設計変更支援部110から供給された情報に従って、データベースDBに格納された情報を更新する。
エンジニアリング装置100は、複数のテーブルを備え、プラント制御システムの構造に基づいて複数のテーブルを共通IDにより関連付けた階層構造を有するデータベースDBと、データベースDBの情報に基づいてユーザに提示する画面を生成する移動・変更画面112を含み、ユーザの操作に基づいてデータベースDBに格納されたデータを変更する設計変更支援部110と、を備えている。
エンジニアリング装置100には、マウス130、キーボード140、および、表示装置150が接続されている。マウス130およびキーボード140は、ユーザによって操作され、操作信号をエンジニアリング装置100へ出力する入力装置である。表示装置150は、図示しない表示部を備え、エンジニアリング装置100から供給される信号に基づいて表示部に画像を表示する出力装置である。なお、表示装置150の表示部にセンサを搭載し、ユーザが接触したことを検出して、ユーザの操作を入力可能に構成されてもよい。
エンジニアリング装置100は、データ伝送装置を介して、コントローラPCに変更新した情報をダウンロードするように構成されている。
ステーションST夫々は、複数のプログラマブルコントローラPCを備えることができる。プログラマブルコントローラPCは、それぞれ複数のプログラムを格納可能である。
データ伝送装置は、ネットワーク変数が記録された共有メモリ空間400を備えている。共有メモリ空間400は、ネットワーク変数が記録される複数の送信ブロックを備えている。送信ブロックは、複数のプログラマブルコントローラPC夫々についての送信データ領域として割り当てられている。
図2A乃至図2Cに、プラント制御システムの階層構成の一例を示す。2Bに示すプラント制御システムのステーションSTは、例えば、メインユニットとして2つのコントローラA、Bを備えている。
コントローラAにはI/Oバスが直接接続され、このI/OバスにはI/Oバスユニットが接続されている。I/Oバスユニットは、2つのI/Oモジュールを備えている。各I/Oモジュールには、モジュールパラメータとI/O変数とが設定されている。
図2Cの共有メモリ空間400の送信ブロックAには、ネットワーク変数A、ネットワーク変数B、および、ネットワーク変数Cが記録され、送信ブロックBにはネットワーク変数Dが記録されている。
データベースDBは、プラント制御システムと同様の階層構造で構成されている。
I/O基板のデータの階層構造は上位から下位に向かう順で「ステーション→メインユニット→コントローラ→I/Oバス→I/Oユニット→I/Oモジュール」となっている。コントローラがネットワーク200に出力するデータの階層構造は送信ブロックそれぞれの下位に複数のネットワーク変数が格納されるように構成されている。
階層構造でデータベースDBに格納された情報を管理するためにテーブルを関連付ける共通IDを設けている。例えばI/O基板を移動する場合、I/O基板の機種を変更する場合、および、送信元コントローラを移動する場合には、下位の階層の共通IDを変更することにより階層の紐付け(関連付け)を変更することが可能である。
図3に、エンジニアリング装置100の第1データベース部DB1、第2データベース部DB2、第3データベース部DB3、および、移動・変更画面(I/O基板の移動画面、I/O基板の機種の変更画面、送信元コントローラの移動画面)の一構成例を示す。図4に、データベースDB内における任意のI/O基板の移動に関係するデータの一例を示す。図5に、図4に示すデータベースDB内のテーブル名、共通IDフィールド名、およびその説明の一例を示す。
I/O基板に関するデータ階層構造の中のステーションSTのデータはテーブルStnsDB10に格納されている。一階層下のメインユニットのデータテーブルUnitsDB12とは、テーブルStnsとの共通IDであるStnIDで、紐付けられている。
I/O基板のデータ階層構造のなかのメインユニットのデータはテーブルUnitsDB12に格納されている。一階層下のコントローラのデータテーブルModulesDM13とは、テーブルUnitsDB12との共通IDであるUnitIDで、紐付けられている。
I/O基板のデータ階層構造のなかのコントローラのデータはテーブルModulesDB13に格納されている。一階層下のI/OバスのデータテーブルBusesDB11とは、テーブルModulesDB13との共通IDであるModuleIDで、紐付けられている。一階層下のデータの[モジュールパラメータ]の集合であるテーブルModulesParaDB14とは、テーブルModulesDB13との共通IDであるModuleIDで、紐付けられている。一階層下のコントローラで使用している[コントローラメモリブロック]の集合であるテーブルCntBlocksDB16とは、テーブルModulesDB13の共通IDであるModuleIDで、紐付けられている。
I/O基板のデータ階層構造のなかのI/Oバス部のデータはテーブルBusesDB11に格納されている。一階層下のI/OユニットのデータテーブルUnitsDB12とは、テーブルBusessDB11との共通IDであるBusIDで、紐付けられている。
I/O基板のデータ階層構造のなかのI/Oユニット部のデータはテーブルUnitsDB12に格納されている。一階層下のI/Oモジュール部のデータはテーブルModulesDB13とは、テーブルUnitsDB12の共通IDであるUnitIDで、紐付けられている。
I/O基板のデータ階層構造のなかのI/Oモジュール部のデータはテーブルModulesDB13に格納されている。コントローラで使用している[コントローラメモリブロック]の集合であるテーブルCntBlocksDB16とは、テーブルModulesDB13との共通IDであるで、紐付けられている。
コントローラメモリブロックは、一階層下の[コントローラ変数]の集合のデータテーブルCntVarsDB15とは、テーブルCntBlocksDB16とのの共通IDであるBlockIDで、紐付けられている。一階層下の[ネットワーク変数]の集合のデータテーブルSysVarsOutDB19とは、テーブルCntBlocksDB16との共通IDであるBlockIDで、紐付けられている。
[ネットワーク]の集合であるテーブルNetsDB17は、一階層下の[ネットワークブロック]の集合のデータテーブルSysBlocksDB18とは、テーブルNetsDB17との共通IDであるNetIDで、紐付けられている。
[ネットワークブロック]の集合であるテーブルSysBlocksDB18は、一階層下の[ネットワーク出力変数]の集合のデータテーブルSysVarsOutDB19とは、テーブルSysBlocksDB18との共通IDであるBlockIDで、紐付けられている。
[ネットワーク出力変数]の集合であるテーブルSysVarsOutDV19は、一階層下の[ネットワーク入力変数]の集合のデータテーブルSysVarsInDB100とは、テーブルSysVarsOutDB19との共通IDであるVarIDで、紐付けられている。
図6にI/O基板の機種の変更に関係するデータベースDB内の一構成例を示す。
図7に図6に示すデータベースDB内のテーブル名、共通IDフィールド名、およびその説明の一例を示す。
[機種情報]の集合であるテーブルCatcodeDB21は一階層下の[機種情報のプロファイル]の集合のデータテーブルCatcodeSpecsDB20とは、テーブルCatcodesDB21との共通IDであるCatCodeIDで、紐付けられている。同階層のI/O基板のデータ階層構造のなかのコントローラ部のデータテーブルModulesDB22とは、テーブルCatcodesDB21との共通IDであるCatCodeで、紐付けられている。
I/O基板のデータ階層構造のなかのコントローラ部のデータはテーブルModulesDB22に格納されている。一階層下のデータのコントローラで使用している[コントローラメモリブロック]の集合であるテーブルCntBlocksDB23とは、テーブルModulesDB22との共通IDであるModuleIDで、紐付けられている。
図8に、送信元コントローラの移動に関係するデータベースの一構成例を示す。
図9に、図8に示すデータベースDB内のテーブル名、共通IDフィールド名、およびその説明の一例を示す。
[ネットワークブロック]の集合であるテーブルSysBlocksDB30は、一階層下の[ネットワーク出力変数]の集合のデータテーブルSysVarsOutDB31とは、テーブルSysBlocksDB30との共通IDであるBlockIDで、紐付けられている。
次に、本実施形態に係るプログラマブル設計変更支援部を実現するための操作画面と、上記データベースDBへの変更の一例について説明する。本実施形態では、プログラマブルコントローラにI/Oユニットが直接接続されているときに、出力基板(デジタル信号出力基板,アナログ信号出力基板等)を移動する場合、入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する場合、および、フィールドバス基板(FlnetやDeviceNet等)を移動する場合について説明する。
図10に、プログラマブルコントローラにI/Oユニットが直接接続されているときに、出力基板(デジタル信号出力基板,アナログ信号出力基板等)を移動する動作の一例を説明するための図を示す。
プログラマブルコントローラに直接接続された出力基板を当該プログラマブルコントローラの配下で移動する際には、従来、まず出力基板(移動対象基板)を削除する。出力基板を削除すると自動的に出力信号“AAA”も削除される。
続いて、出力基板(移動対象基板)を移動対象位置に再登録する。
続いて、再登録した出力基板に出力信号“AAA”を再登録する。
その後、プログラマブルコントローラに格納されているプログラムをコンパイルする。従来はこれらをすべて手作業で行っていた。
図11に、プログラマブルコントローラにI/Oユニットが直接接続されているときに、入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する動作の一例を説明するための図を示す。
プログラマブルコントローラに直接接続された入力基板を当該プログラマブルコントローラの配下で移動する際には、従来、まず入力基板(移動対象基板)を削除する。入力基板を削除すると自動的に入力信号“BBB”も削除される。
続いて、入力基板(移動対象基板)を移動対象位置に再登録する。
続いて、再登録した入力基板に入力信号“BBB”を再登録する。
その後、プログラマブルコントローラに格納されているプログラムをコンパイルする。従来はこれらをすべて手作業で行っていた。
本実施形態では、上記のような手作業での移動を自動的に行えるようにしたものである。
図12に、プログラマブルコントローラにI/Oユニットが直接接続されているときに、フィールドバス基板を移動する動作の一例を説明するための図を示す。
図13に、表示装置150の表示部に表示される起動画面のシステムの階層構造の一例を示す。ここでは、第1データベースDB1に基づいて制御システム構成の階層が表示されている。
以下、本実施形態に係る設計変更支援部の動作の一例を添付図面を参照して説明する。起動方法は、起動画面で移動元のI/O基板をマウス130やキーボード140等の操作により選択後、表示されたポップアップメニューPUMから<移動>の項目を選択する。<移動>の項目が選択されると、設計変更支援部110は、移動・変更画面を表示装置150の表示部に表示する。
図14に、移動・変更画面112により表示される[I/Oモジュールの移動]画面の一例を示す。設計変更支援部110は、選択されたI/O基板の位置をデータベースDBの構成に基づいて検出し、[I/Oモジュールの移動]画面において、移動元のI/O基板が登録されているステーション、コントローラ、I/Oノード、および、I/Oモジュールの名称を表示する。
設計変更支援部110は、選択されたI/O基板を移動先として選択可能な位置をデータベースDBの構成から選択し、[I/Oモジュールの移動]画面において、移動先として選択可能なステーション、コントローラ、I/Oノード、および、I/O基板を実装可能なスロットNo.を、候補としてプルダウンボックスで表示する。
このとき、設計変更支援部110は、実装可能な(空きの)スロットがない場合、スロットNo.の欄を空白とする。
ユーザは、移動動作を取りやめる場合には、[キャンセル]ボタンを選択し、1つのI/O基板を移動する場合、まず、移動先のステーション、コントローラ、I/Oノード、および、スロットNo.を選択後、[OK]ボタンを選択する。設計変更支援部110は、ユーザによって[OK]ボタンが選択されると、確認ダイアログを表示する。
図15に確認ダイアログの一例を示す。図15に示すダイアログでは、I/Oモジュールの移動により、システムに多大な影響を与える可能性があることをユーザに確認する。ユーザが図15に示すダイアログの[OK]ボタンを選択すると、設計変更支援部110は、システムの編集権を獲得する。例えば、同時に複数のユーザが編集処理を行うと互いに干渉してシステムに問題が生じる場合があるため、編集権を獲得したユーザのみがシステムの構成を移動および変更することが可能とする。
図16に、システム編集権を獲得できなかったときに表示するダイアログを示す。このダイアログには現在システム編集権を有しているユーザと、システム編集権を獲得できなかったこととが表示される。設計変更支援部110は、システム編集権を獲得できなかった場合は、編集不可のダイアログを表示し、I/Oモジュールの移動処理を中止する。この場合、I/Oモジュールは移動要求前の元の状態が維持される。この場合、ユーザは図16に示すダイアログの[OK]ボタンを選択し、図14に示す[I/Oモジュールの移動]画面を閉じる。
設計変更支援部110は、システムの編集権を獲得することができた場合のみ、移動および変更の処理を行う。I/Oモジュールの移動を実現する際の、設計変更支援部110のデータベースへの具体的な動作について以下に説明する。
入出力信号をプログラムで使用するには入出力信号を共有メモリ空間に割り付ける必要があり、プログラムは参照時に共有メモリ空間に割り付いたメモリアドレスを指定する。
変数とは共有メモリ空間のメモリアドレスに名前を付けたもので、プログラム上で共有メモリ空間(入出力信号)を参照する際に共有メモリ空間の用途を明示しプログラムを見やすくする役割をもつ。
コントラーラ変数とは、プログラマブルコントラーラ内で参照可能な変数である。
ネットワーク変数とは、ステーションを跨ったプログラマブルコントラーラ間でも参照できる変数である。
設計変更支援部110は、まず、テーブルModulesで移動するI/Oモジュールの共通IDであるcUnitIDを、指定された移動先の共通IDであるUnitIDに変更する。このようにUnitIDを変更することにより、I/O基板の属するユニットを変更することができる。
続いて、設計変更支援部110は、テーブルModulesで移動するモジュールのスロットNo.であるSSを、指定された移動先のスロットNo.へ変更する。
続いて、設計変更支援部110は、テーブルCntBlocks内の移動先のコントローラでI/Oモジュールからの入力又は出力に用いることができるメモリブロックBlockNo、TopWordNoを求め直す。ここで、BlockNoは基板からの入出力信号を格納するためのメモリブロックであり、TopWordNoは基板からの入出力信号を格納するためのメモリブロック内の先頭ワードNo.である。これらのメモリブロックを求めなおすことにより、上記移動動作のうち、基板の入出力信号の削除および再登録を自動化することができる。
続いて、設計変更支援部110は、テーブルCntVars内の移動先のコントローラでI/Oモジュールの制御に用いることができるコントローラ変数IOBlockNo、IOWordNoを求め直す。ここでIOBlockNoは基板からの入出力信号を格納するためのメモリブロックであり、IOWordNoは基板からの入出力信号を格納するためのメモリブロック内のワードNo.である。これらの変数を求めなおすことにより、上記移動動作のうち、基板の入出力信号の削除および再登録を自動化することができる。
上記のようにデータベースDBを変更した後、設計変更支援部110はI/Oモジュールの移動が完了したことを表示するダイアログを表示する。図17に、データベースDBの変更中に表示されるダイアログの一例を示す。図18に、I/Oモジュール移動完了のダイアログの一例を示す。ユーザがI/Oモジュールの移動が完了したことを確認し、[OK]ボタンを選択すると、設計変更支援部110は[I/Oモジュールの移動]画面を閉じて再び図10に示す起動時の画面を表示する。
次に、複数のI/Oモジュールを移動する場合の設計変更支援部110の動作の一例について説明する。
まず、上記の1つのI/Oモジュールを移動する動作と同様に、図13に示す[I/Oモジュールの移動]画面を起動する。ユーザは、図13に示す[I/Oモジュールの移動]画面で、[一括処理]ボタンを選択する。
続いて、設計変更支援部110は、バッチファイル選択ダイアログを表示する。図19に、バッチファイル選択ダイアログの一例を示す。バッチファイルの構成は例えば下記の通りとする。
すなわち、ファイルの拡張子は「.txt」とし、中身は「csv」形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。なお、例えばハードアドレスは「メインスロットNo.-ノードNo.-ユニットNo.-スロットNo.」とする。書式の一例を記載すると、例えば、“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”となる。
設計変更支援部110は、選択したバッチファイルかた複数のI/Oモジュールを移動可能であるか否か判断する。設計変更支援部110は、移動不可が1つでもあった場合は、エラーダイアログを表示し、移動処理を中止する。なお、エラーダイアログは、移動不可であることが最初に検出されたときに表示する。
図20乃至図22にエラーダイアログの例を示す。図20に示すエラーダイアログでは、指定した移動元あるいは移動先が存在しない場合に表示される。図21に示すエラーダイアログは指定したI/Oモジュールが移動できない設定となっている場合に表示される。図22に示すエラーダイアログは、バッチファイルの書式が上記のようなものでなく不正である場合に表示される。ユーザは、エラーダイアログに表示された内容を確認して[OK]ボタンを選択する。
設計変更支援部110は移動不可が検出された場合には、移動処理が既に進められているときには移動要求前の元の状態に全て戻す。
選択された全てのI/Oモジュールを移動可能である場合には、システムの編集権を獲得する。例えば、同時に複数のユーザが編集処理を行うと互いに干渉してシステムに問題が生じる場合があるため、編集権を獲得したユーザのみがシステムの構成を移動および変更することが可能とする。
図16に、システム編集権を獲得できなかったときに表示するダイアログを示す。このダイアログには現在システム編集権を有しているユーザと、システム編集権を獲得できなかったこととが表示される。設計変更支援部110は、システム編集権を獲得できなかった場合は、編集不可のダイアログを表示し、I/Oモジュールの移動処理を中止する。この場合、I/Oモジュールは移動要求前の元の状態が維持される。この場合、ユーザは図16に示すダイアログの[OK]ボタンを選択し、図14に示す[I/Oモジュールの移動]画面を閉じて再び起動画面を表示する。
設計変更支援部110は、システムの編集権を獲得することができた場合、設計変更支援部110は例えば図15に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板を移動する場合には[OK]ボタンを選択する。I/O基板を移動しない場合には[キャンセル]ボタンを選択する。
設計変更支援部110は、ユーザが図15に示すダイアログの[OK]ボタンを選択すると、移動および変更の処理を行う。それぞれのI/Oモジュールの移動を実現する際の、設計変更支援部110のデータベースへの具体的な動作は、上記1つのI/Oモジュールを移動するときと同様である。
設計変更支援部110は、複数のI/O基板を移動している間、図17に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部110はI/O基板の移動処理を中止して、データベースDBをI/O基板の移動要求前の元の状態へ戻す。
全てのI/O基板の移動が完了すると、設計変更支援部110は図18に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて、起動画面を再表示する。
従来は出力基板を削除すると出力基板に登録された出力信号も自動的に削除されてしまうため、出力基板の削除・再登録後に出力信号を再登録する必要があった。そのため、1枚の出力基板に多数の出力信号が登録されている場合は出力信号の再登録に多大の作業時間を要したが、本実施形態によれば、基板の削除・基板の再登録・出力信号の再登録を自動的に行うことが可能になる。
また、従来は入力基板を削除すると入力基板に登録された入力信号も自動的に削除されてしまうため、入力基板の削除・再登録後に入力信号を再登録する必要があった。そのため1枚の入力基板に多数の入力信号が登録されている場合は入力信号の再登録に多大の作業時間を要したが、本実施形態によれば基板の削除・基板の再登録・入力信号の再登録を自動的に行うことが可能になる。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ID、スロット番号、メモリブロック、および各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第2実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、プログラマブルコントローラPCに直接接続されたI/Oモジュールにおいて、出力基板を同じ出力点数の他の出力基板へ変更する場合、および、プログラマブルコントローラPCに直接接続されたI/Oモジュールにおいて入力基板を同じ入力点数の他の入力基板へ変更する場合、について説明する。制御システムの構成およびデータベースDBの構成は上述の第1実施形態と同様である。
図23Aは、プログラマブルコントローラPCに直接接続されたI/Oモジュールにおいて、出力基板を同じ出力点数の他の出力基板へ変更する動作の一例を説明するための図である。
図23Bは、プログラマブルコントローラPCに直接接続されたI/Oモジュールにおいて、入力基板を同じ入力点数の他の入力基板へ変更する動作の一例を説明するための図である。
図24に、起動画面の一例を示す。I/O基板の機種を変更する場合、ユーザは起動画面において機種を変更するI/O基板を選択してポップアップメニューPUMを開き、ポップアップメニューPUMの項目から<機種の変更>を選択する。<機種の変更>が選択されると設計変更支援部110は、I/O基板の機種の変更を設定するダイアログを表示する。
図25に[機種を変更する]ダイアログの一例を示す。[機種を変更する]ダイアログには現在のI/O基板の名前と、機種の変更後の新しいI/O基板の名前の候補とが表示される。本実施形態では、新しいI/O基板の名前の候補はプルダウンボックスに表示される。なお、新しい名前は、入出力方向、ワード゛数が同じものを候補としてプルダウン表示する。
ユーザはプルダウンボックスに表示されたI/O基板の名前から機種の変更後の新しいI/O基板の名前を選択して。[OK]ボタンを選択する。設計変更支援部110は、[OK]ボタンが選択されると、システムの編集権を獲得する。ネットワークを介して複数個所から同時に編集処理を行うと、複数の編集内容がお互いに干渉してシステムに問題が生じる場合があるため編集権を獲得して干渉を回避している。
設計変更支援部110は、システムの編集権を獲得することができた場合、図26に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板の機種を変更する場合には[OK]ボタンを選択する。I/O基板の機種を変更しない場合には[キャンセル]ボタンを選択する。ユーザが確認ダイアログに表示された事項を確認し、[OK]ボタンを選択すると、設計変更支援部110は、機種の変更を実行する。
機種の変更を実現するための、設計変更支援部110が行うデータベースDBへの具体的な操作を以下に示す。
まず、設計変更支援部110は、図6に示すテーブルModulesに格納されたCatCodeを変更前のモジュール名から変更後のモジュール名へ変更する。また、設計変更支援部110は、図6に示すテーブルCntBlocksに格納されたNameを変更前のモジュール名から変更後のモジュール名へ変更する。これらの変更により、手作業での変更動作を自動化することができる。
なお、機種の変更において、システムの編集権が取れなかった場合は、編集不可のダイアログを表示し、処理を中止する。編集不可のダイアログは、例えば図13に示すダイアログのように、他のユーザが編集中であるため機種の変更を開始することができないことを表示する。
編集不可のダイアログにおいてユーザが[OK]ボタンを選択すると、設計変更支援部110は、既に変更を行っている場合にはモジュールの機種の変更要求前の元の状態に戻し、再び起動画面を表示する。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、モジュール名、および、コントローラメモリブロック名を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第3実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、リモートI/O用プログラマブルコントローラPC内で出力基板(デジタル信号出力基板,アナログ信号出力基盤等)を移動する場合、リモートI/O用プログラマブルコントローラPC内で入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する場合、リモートI/O用プログラマブルコントローラPC内でフィールドバス基板(FlnetやDeviceNet等)を移動する場合について説明する。
リモートI/O用プログラマブルコントローラPCは、自身に直接接続された入出力装置とデータ伝送装置を介して接続された他のプログラマブルコントローラPCとの間で入出力を実行する入出力専用のプログラマブルコントローラPCである。
図27は、プログラマブルコントローラPCとリモートI/O用プログラマブルコントローラPCとがデータ伝送装置を介して接続されている構成で、リモートI/O用プログラマブルコントローラPC内で出力基板(デジタル信号出力基板、アナログ信号出力基板等)を移動する動作の一例を説明するための図である。
図28は、プログラマブルコントローラPCとリモートI/O用プログラマブルコントローラPCがデータ伝送装置を介して接続されている構成で、リモートI/O用プログラマブルコントローラPC内で入力基板(デジタル信号入力基板、アナログ信号入力基板等)を移動する動作の一例を説明するための図である。
図29は、リモートI/O用プログラマブルコントローラPC内でフィールドバス基板(FlnetやDeviceNet等)を移動する動作の一例を説明するための図である。
図13に起動画面の一例を示す。ユーザは起動画面で移動元のI/O基板をマウス130やキーボード140を操作することにより選択し、開いたポップアップメニューPUMから<移動>の項目を選択する。<移動>の項目が選択されると、設計変更支援部110は[I/O基板の移動]画面を表示する。
図14に[I/O基板の移動]画面の一例を示す。[I/O基板の移動]画面の移動元の欄には、移動元のI/O基板が登録されているステーションと、移動元のI/O基板が登録されているコントロ−ラと、移動元のI/O基板が登録されているI/Oノードとが表示される。
[I/O基板の移動]画面の移動先のステーションは移動可能なステーションのみを候補としてプルダウン表示され、移動先のコントロ−ラには移動可能なコントローラのみを候補としてプルダウン表示され、移動先のI/Oノードには移動可能なノードのみを候補としてプルダウン表示され、移動先のスロットNo.には実装可能な(空きの)スロットNo.のみを候補としてプルダウン表示する。ここで、実装可能な(空きの)スロットがない場合は、プルダウン表示欄は空白とする。
1つのI/O基板の移動を行う場合の操作の一例について以下に説明する。
ユーザは、[I/O基板の移動]画面において、移動先のステーション、コントローラ、I/Oノード、スロットNo.を選択後、[OK]ボタンを選択する。
ユーザが確認ダイアログの[OK]ボタンを選択すると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行うことにより互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れなかった場合、設計変更支援部110は、例えば図16に示すような編集不可のダイアログを表示し、I/O基板の移動処理を中止する。このとき移動処理が進んでいた場合には、設計変更支援部110は、制御システムをI/O基板の移動要求前の元の状態に全て戻す。
システム編集権が取れた場合には、例えば図15に示すような確認ダイアログを表示する。ユーザが確認ダイアログの[OK]ボタンを選択したのち、設計変更支援部110はデータベースDBを変更して移動処理を進める。移動を実現するためのデータベースへの具体的な操作を以下に示す。
入出力信号をプログラムで使用するには入出力信号を共有メモリ空間に割り付ける必要があり、プログラムは参照時に共有メモリ空間に割り付いたメモリアドレスを指定する。
変数とは共有メモリ空間のメモリアドレスに名前を付けたもので、プログラム上で共有メモリ空間(入出力信号)を参照する際に共有メモリ空間の用途を明示しプログラムを見やすくする役割をもつ。
コントラーラ変数とは、プログラマブルコントラーラ内で参照可能な変数である。
ネットワーク変数とは、ステーションを跨ったプログラマブルコントラーラ間でも参照できる変数である。
設計変更支援部110は、まず、図4に示すテーブルModulesで移動するモジュールのcUnitIDを移動先のUnitIDに変更する。続いて、テーブルModulesで移動するモジュールのSSを移動先のスロットNo.に変更する。テーブルCntBlocksのBlockNo、TopWordNoを求め直す。これらのメモリブロックを求めなおすことにより、上記移動動作のうち、基板からの入出力信号の削除を自動化することができる。
テーブルCntVarsのIOBlockNo、IOWordNoを求め直す。これらの変数を求めなおすことにより、上記移動動作のうち、基板の入出力信号の削除を自動化することができる。
続いて、リモートI/O用プログラマブルコントローラPC内で出力基板(DO,AO等)を移動する場合、設計変更支援部110は、テーブルSysVarsOutのIOBlockNo、IOWordNoをテーブルCntVarsのIOBlockNo、IOWordNoからコピーする。ここでIOBlockNoは基板の入力信号を格納するためのメモリブロックであり、IOWordNoは基板からの入力信号を格納するためのメモリブロック内のワードNo.である。これらの変数を求めなおすことにより、上記移動動作のうち、データ伝送装置からの入力信号の削除を自動化することができる。
次に、移動先が移動元の自コントローラの時、テーブルSysVarsInのIOBlockNo、IOWordNoをテーブルCntVarsのIOBlockNo、IOWordNoからコピーする。これらをコピーすることにより、上記移動動作のうち、データ伝送装置からの出力信号の削除を自動化することができる。このとき、自コントローラであるか否かはテーブルSysVarsInのネットワーク変数cCntBlockIDで判断する。
リモートI/O用プログラマブルコントローラPC内で入力基板(DI,AI等)を移動する場合、設計変更支援部110は、テーブルSysVarsOutのIOBlockNo、IOWordNoをテーブルCntVarsのIOBlockNo、IOWordNoからコピーする。これらの変数をコピーすることにより、上記移動動作のうち、データ伝送装置からの入力信号の削除を自動化することができる。
リモートI/O用プログラマブルコントローラPC内でフィールドバス基板(FlnetやDeviceNet等)を移動する場合、設計変更支援部110は、出力時にはテーブルSysVarsOutのIOBlockNo、IOWordNoを求め直し、入力時にはテーブルSysVarsInのIOBlockNo、IOWordNoを求め直す。これらの変数をコピーすることにより、上記移動動作のうち、データ伝送装置からの出力信号の削除を自動化することができる。
なお、上記のデータベースDB変更により未定義となった変数があった場合には、設計変更支援部110は、未定義となった変数を表示する。
例えば図44および図45に、I/Oモジュールの移動により未定義となったネットワーク変数を提示するダイアログの一例を示す。このようにI/Oモジュールの移動が終了した後に、未定義となったネットワーク変数がある場合には、その旨をユーザに提示し、図45に示すように、未定義となった変数を図35に示す[ネットワーク変数]ダイアログの送信側にドラックして、再定義する必要がある。
上記のようにデータベースDBの変更が終了した後、設計変更支援部110は、例えば図18に示すようなI/O基板の移動の完了ダイログを表示する。ユーザは完了ダイアログを確認した後、マウス130やキーボード140を操作して[OK]ボタンを選択する。
完了ダイアログの[OK]ボタンが選択されると、設計変更支援部110は、[I/O基板の移動]画面を閉じて、起動画面を再表示する。
続いて、複数のI/O基板を移動する場合の操作の一例について以下に説明する。
複数のI/O基板を一括で移動する場合には、ユーザは、[I/O基板の移動]画面で、マウス130やキーボード140を操作して[一括処理]ボタンを選択する。
設計変更支援部110は、[一括処理]ボタンが選択されると、例えば図19に示すようなバッチファイル選択ダイアログを表示する。ユーザは、バッチファイル選択ダイアログにおいて、バッチファイルを選択する。ここでのバッチファイルの構成は、例えば第1実施形態の場合と同様である。すなわち、バッチファイルの拡張子は”.txt”とし、中身は”csv”形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。ハードアドレスはメインスロットNo.-ノードNo.-ユニットNo.-スロットNo.である。
書式は例えば下記のようになる。
“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”
設計変更支援部110は、移動不可であるI/O基板が1つでもあった場合はエラーダイアロを表示し、移動処理を中止する。図20乃至図22にエラーダイアログの例を示す。なお、これらのエラーダイアログは移動不可であるI/O基板が最初に検出されたときに表示される。設計変更支援部110は、ユーザがエラーダイアログの[OK]ボタンを選択すると、移動要求前の元の状態に全て戻す。
全てのI/O基板を移動可能である場合、設計変更支援部110は図15あるいは図30に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板を移動する場合には[OK]ボタンを選択する。I/O基板を移動しない場合には[キャンセル]ボタンを選択する。
確認ダイアログの[OK]ボタンが選択されると、設計変更支援部110はシステム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じること防ぐ。システムの編集権が取れなかった場合は、編集不可のダイアログを表示し、I/O基板の移動処理を中止し、I/O基板の移動要求前の元の状態に全て戻す。
個々のI/O基板の移動を実現するための設計変更支援部110のデータベースDBへの具体的な操作は、1つのI/O基板を移動する場合と同様である。
設計変更支援部110は、複数のI/O基板を移動している間、図17に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部110はI/O基板の移動処理を中止して、データベースDBをI/O基板の移動要求前の元の状態へ戻す。
全てのI/O基板の移動が完了すると、設計変更支援部110は図18に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて、起動画面を再表示する。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通ID、スロット番号、メモリブロック、および各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第4実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、リモートI/O用プログラマブルコントローラPCに接続されたI/Oモジュールにおいて、出力基板を同じ出力点数の出力基板へ変更する場合、および、入力基板を同じ入力点数の入力基板へ変更する場合について説明する。
図31に、リモートI/O用プログラマブルコントローラPCに接続されたI/Oモジュールにおいて、出力基板(デジタル信号出力基板,アナログ信号出力基板等)を同じ出力点数の出力基板へ変更する動作の一例を説明するための図を示す。
プログラマブルコントローラPCまたはリモートI/O用プログラマブルコントローラPCに接続された出力基板の型式を変更する際には、従来、以下のような作業を手作業にて行っていた。
まず、ステーション3のデータ伝送装置の共有メモリに出力信号として登録されているデータ“AAA”を削除する。ステーション3のデータ伝送装置の共有メモリに登録されているデータ“AAA”を削除することによりステーション1とステーション2とのデータ伝送装置の共有メモリに受信信号として登録されているデータ“AAA”は自動的に削除される。
続いて、ステーション1のリモートI/O用プログラマブルコントローラPCの出力基板(型式変更対象基板)に登録されている出力信号“AAA”を削除する。
ステーション1のリモートI/O用プログラマブルコントローラPCの出力基板(型式変更対象基板)を削除する。
続いて、ステーション2のリモートI/O用プログラマブルコントローラPCに出力基板(型式変更済基板)を登録する。
ステーション2のリモートI/O用プログラマブルコントローラPCに登録した出力基板(型式変更済基板)に出力信号“AAA”を再登録する。
ステーション3のデータ伝送装置の共有メモリに出力信号としてデータ“AAA”を再登録する。
その後、ステーション3のプログラマブルコントローラPCに格納されているプログラムをコンパイルする。
図32に、リモートI/O用プログラマブルコントローラPCに接続されたI/Oモジュールにおいて、入力基板(デジタル信号入力基板,アナログ信号入力基板等)を同じ入力点数の入力基板へ変更する動作の一例を説明する図を示す。
プログラマブルコントローラPCまたはリモートI/O用プログラマブルコントローラPCに接続された出力基板の型式を変更する際には、従来、以下のような作業を手作業にて行っていた。
まず、ステーション2のデータ伝送装置の共有メモリに受信信号として登録されているデータ“BBB”を削除する。
ステーション1のデータ伝送装置の共有メモリに出力信号として登録されているデータ“BBB”を削除する。
ステーション1のリモートI/O用プログラマブルコントローラPCの入力基板(型式変更対象基板)に登録されている入力信号“BBB”を削除する。
ステーション1のリモートI/O用プログラマブルコントローラPCの入力基板(型式変更対象基板)を削除する。
続いて、ステーション1のリモートI/O用プログラマブルコントローラPCに入力基板(型式変更済基板)を登録する。
ステーション1のリモートI/O用プログラマブルコントローラPCに登録した入力基板(型式変更済基板)に入力信号“BBB”を再登録する。
ステーション1のデータ伝送装置の共有メモリに出力信号としてデータ“BBB”を再登録する。
ステーション2のデータ伝送装置の共有メモリに受信信号としてデータ“BBB”を再登録する。
その後、ステーション2のプログラマブルコントローラPCに格納されているプログラムをコンパイルする。
本実施形態では、従来手作業で行っていた上記のそれぞれの作業による変更を自動的に行えるようにしたものである。
図24に起動画面の一例を示す。I/O基板の機種を変更する場合、ユーザは、マウス130やキーボード140を操作して起動画面で機種を変更するI/O基板を選択した後、ポップアップメニューPUMの項目から<機種の変更>を選択する。
設計変更支援部110は、<機種の変更>が選択されると、例えば図25に示すような[機種を変更する]ダイアログを表示する。[機種を変更する]ダイアログには、新しい機種の名前の候補として、入出力方向、ワード゛数が同じ機種の名称がプルダウン表示する。
ユーザは、[機種を変更する]ダイアログにおいて、変更後のI/O基板の機種の名前を選択した後、マウス130やキーボード140を操作して[OK]ボタンを選択する。
設計変更支援部110は、[機種を変更する]ダイアログにおいて[OK]ボタンが選択されると、システムの編集権を獲得し、同時に複数個所から編集処理を行った場合に互いに干渉してシステムに問題が生じることを防ぐ。システムの編集権が取れなかった場合は、設計変更支援部110は、例えば図16に示すような編集不可のダイアログを表示し、処理を中止して、データベースDBをモジュールの変更要求前の元の状態に全て戻す。
システム編集権が取れた場合には、例えば図26に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板の機種を変更する場合には[OK]ボタンを選択する。I/O基板の機種を変更しない場合には[キャンセル]ボタンを選択する。
ユーザが確認ダイアログの[OK]ボタンを選択したのち、設計変更支援部110はデータベースDBを変更して変更処理を進める。機種の変更を実現するためのデータベースへの具体的な操作を以下に示す。
まず、設計変更支援部110は、図6に示すテーブルModulesの構成要素であるCatCodeを変更前のモジュール名から変更後のモジュール名に変更する。続いて、テーブルCntBlocksのコントローラメモリブロックNameを変更前のモジュール名から変更後のモジュール名に変更する。これらの変更により、上記変更動作を自動化することができる。
I/O基板の機種の変更が終了すると、設計変更支援部110は、起動画面を再表示する。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、モジュールの名称、コントローラメモリブロックの名称を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第5実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、同じステーションのリモートI/O用プログラマブルコントローラPC間で出力基板(デジタル信号出力基板、アナログ信号出力基板等)を移動する場合、入力基板(デジタル信号入力基板、アナログ信号入力基板等)を移動する場合、フィールドバス基板(FlnetやDeviceNet等)を移動する場合について説明する。
図13に起動画面の一例を示す。I/O基板を移動する場合、ユーザは、マウス130やキーボード140を操作して起動画面で移動するI/O基板を選択した後、ポップアップメニューPUMの項目から<移動>を選択する。
設計変更支援部110は、ユーザにより<移動>が選択されると、例えば図14に示すような[I/O基板の移動]画面を表示する。[I/O基板の移動]画面には移動元のI/O基板が登録されているステーションと、移動元のI/O基板が登録されているコントロ−ラと、移動元のI/O基板が登録されているI/Oノードとが表示される。また、[I/O基板の移動]画面には、I/O基板を移動可能なステーションのみを移動先の候補としてプルダウン表示し、I/O基板を移動可能なコントローラのみを移動先の候補としてプルダウン表示し、I/O基板を移動可能なノードのみを移動先の候補としてプルダウン表示し、I/O基板を実装可能な(空きの)スロットNo.のみを移動先の候補としてプルダウン表示する。このとき、実装可能な(空きの)スロットがない場合は、プルダウン表示欄を空白とする。
1つのI/O基板を移動する場合には、ユーザは、[I/O基板の移動]画面において移動先のステーション、コントローラ、I/Oノード、スロットNo.を選択後、[OK]ボタンを選択する。
設計変更支援部110は、[I/O基板の移動]画面において[OK]ボタンが選択されると、図15あるいは図30に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板を移動する場合には[OK]ボタンを選択する。I/O基板を移動しない場合には[キャンセル]ボタンを選択する。
確認ダイアログで[OK]ボタンが選択されると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れなかった場合、設計変更支援部110は、例えば図16に示すような編集不可のダイアログを表示し、I/O基板の移動処理を中止し、データベースDBをI/O基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
システム編集権が取れた後、設計変更支援部110はデータベースDBを変更して移動処理を進める。I/O基板の移動を実現するためのデータベースDBへの具体的な操作を以下に示す。
まず、設計変更支援部110は、図4に示すテーブルModulesで移動するモジュールの共通IDであるcUnitIDを移動先のUnitIDに変更する。
続いて、設計変更支援部110は、図4に示すテーブルModulesで移動するモジュールのSSを移動先のスロットNo.に変更する。
続いて、設計変更支援部110は、図4に示すテーブルCntBlocksのコントローラメモリブロックBlockNo、TopWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルCntVarsのコントローラ変数IOBlockNo、IOWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルModulesのcSSを移動先のコントローラのスロットNo.に変更する。
続いて、設計変更支援部110は、図4に示すテーブルCntBlocksの共通IDであるcCntIDを移動先のコントローラのModuleIDに変更する。
続いて、設計変更支援部110は、図4に示すテーブルCntVarsの共通IDであるcModuleIDを移動先のコントローラのModuleIDに変更する。
同じステーションSTのリモートI/O用プログラマブルコントローラPC間で出力基板を移動する場合、続いて、設計変更支援部110は以下の処理を行う。
設計変更支援部110は、図4に示すテーブルSysVarsOutのIQNo、cBlockID、WordNo、cCntBlockIDをNullにする。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutのSpeedを再設定する。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutのネットワーク出力変数IOBlockNo、IOWordNoをテーブルCntVarsからコピーする。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsInのネットワーク入力変数IQNoをNullにする。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsInのネットワーク入力変数IOBlockNo、IOWordNoをテーブルCntVarsからコピーする。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsInの共通IDcCntBlockIDを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsInのネットワーク入力変数InCntSlotを移動先のコントローラのスロットNo.に変更する。
同じステーションのリモートI/O用プログラマブルコントローラPC間で入力基板を移動する場合、続いて、設計変更支援部110は、以下の処理を行う。
設計変更支援部110は。図4に示すテーブルSysVarsOutのIQNo、cBlockID、WordNoをNullにする。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutのSpeedを再設定する。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutのIOBlockNo、IOWordNoをテーブルCntVarsからコピーする。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutのcCntBlockIDを求め直す。
同じステーションのリモートI/O用プログラマブルコントローラPC間でフィールドバス基板(FlnetやDeviceNet等)を移動する場合、続いて、設計変更支援部110は以下の処理を行う。
フィールドバス基板が出力時には設計変更支援部110は、図4に示すテーブルSysVarsOutのIOBlockNo、IOWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutのcCntBlockIDを求め直す。
続いて設計変更支援部110は、図4に示すテーブルSysBlocksのOutCntSlotを移動先のコントローラのスロットNo.に変更する。
フィールドバス基板が入力時には、設計変更支援部110は、図4に示すテーブルSysVarsINのIOBlockNo、IOWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルのSysVarsInのcCntBlockID、InCntSlotを求め直す。
設計変更支援部110は、上記の移動処理が終了すると、例えば図18に示すようなI/Oモジュールの移動の完了ダイアログを表示する。ユーザは、完了ダイアログの[OK]ボタンを選択する。
完了ダイアログの[OK]ボタンが選択されると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
続いて、複数のI/O基板を移動する場合の操作の一例について以下に説明する。
複数のI/O基板を一括で移動する場合には、ユーザは、[I/O基板の移動]画面で、マウス130やキーボード140を操作して[一括処理]ボタンを選択する。
設計変更支援部110は、[一括処理]ボタンが選択されると、例えば図19に示すようなバッチファイル選択ダイアログを表示する。ユーザは、バッチファイル選択ダイアログからバッチファイルを選択する。
バッチファイルの構成は下記の通りとする。すなわち、ファイルの拡張子は”.txt”とし、中身は”csv”形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。ハードアドレスは、メインスロットNo.-ノードNo.-ユニットNo.-スロットNo.となる。書式例は“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”となる。
設計変更支援部110は、移動不可であるI/O基板が1つでもあった場合には例えば図20乃至図22に示すようなエラーダイアログを表示し、移動処理を中止して、データベースDBを移動要求前の元の状態に戻す。なお、エラーダイアログは、最初に移動不可であるI/O基板が検出されたタイミングで表示される。ユーザはエラーダイアログの内容を確認して[OK]ボタンを選択する。
移動不可であるI/O基板がなかった場合には、設計変更支援部110は、例えば図15および図30に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板を移動する場合には[OK]ボタンを選択する。I/O基板を移動しない場合には[キャンセル]ボタンを選択する。
確認ダイアログで[OK]ボタンが選択されると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れた後、設計変更支援部110はデータベースDBを変更して移動処理を進める。個々のI/O基板を移動するためのデータベースDBへの具体的な操作は、1つのI/O基板を変更する際と同様である。
設計変更支援部110は、複数のI/O基板を移動している間、図17に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部110はI/O基板の移動処理を中止して、データベースDBをI/O基板の移動要求前の元の状態へ戻す。
全てのI/O基板の移動が完了すると、設計変更支援部110は図18に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて、起動画面を再表示する。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通IDや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第6実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、異なるステーションのリモートI/O用プログラマブルコントローラPC間で出力基板(デジタル信号出力基板,アナログ信号出力基板等)を移動する場合、異なるステーションのリモートI/O用プログラマブルコントローラPC間で入力基板(デジタル信号入力基板,アナログ信号入力基板等)を移動する場合、および、異なるステーションのリモートI/O用プログラマブルコントローラPC間でフィールドバス基板(FL911等)を移動する場合について説明する。
図33に、リモートI/O構成(プログラマブルコントローラPCとリモートI/O用プログラマブルコントローラPCとがデータ伝送装置を介して接続されている構成)で異なるステーションのリモートI/O用プログラマブルコントローラPC間で出力基板を移動する際の作業の一例について説明する図を示す。
ステーションST3のプログラマブルコントローラPC内のプログラムが出力した信号AAAがステーションST3のデータ伝送装置の共有メモリAAAに転送される。ステーションST3のデータ伝送装置の共有メモリAAAのデータはステーションST1とステーション2の共有メモリに転送される。ステーションST1のデータ転送装置の共有メモリAAAのデータは、I/Oバスを介して出力基板から出力される。
ここで、ステーションST1のリモートI/O用プログラマブルコントローラPCに接続されている出力基板をステーションST2のリモートI/O用プログラマブルコントローラPCの配下に移動する例について説明する。
この場合、まず、ステーションST3のデータ伝送装置の共有メモリに出力信号として登録されているデータ“AAA”を削除する。ステーションST3のデータ伝送装置の共有メモリに登録されているデータ“AAA”を削除することによりステーションST1とステーションST2のデータ伝送装置の共有メモリに受信信号として登録されているデータ“AAA”は自動的に削除される。
続いて、ステーションST1のリモートI/O用プログラマブルコントローラPCの出力基板(移動対象基板)に登録されている出力信号“AAA”を削除する。
続いて、ステーションST1のリモートI/O用プログラマブルコントローラPCの出力基板(移動対象基板)を削除する。
続いて、ステーションST2のリモートI/O用プログラマブルコントローラPCに出力基板(移動対象基板)を登録する。
続いて、ステーションST2のリモートI/O用プログラマブルコントローラPCに登録した出力基板(移動対象基板)に出力信号“AAA”を再登録する。
続いて、ステーションST3のデータ伝送装置の共有メモリに出力信号としてデータ“AAA”を再登録する。
続いて、ステーションST3のプログラマブルコントローラPCに格納されているプログラムをコンパイルする。
図34に、リモートI/O構成(プログラマブルコントローラPCとリモートI/O用プログラマブルコントローラPCがデータ伝送装置を介して接続されている構成)で異なるステーションのリモートI/O用プログラマブルコントローラPC間で入力基板を移動する際の作業の一例を説明する図を示す。
ステーションST1のI/O用プログラマブルコントローラPCが出力した信号“BBB”はステーションST1のデータ伝送装置の共有メモリBBBに転送される。ステーションST1のデータ伝送装置の共有メモリBBBのデータはステーションST3の共有メモリに転送される。
ここで、ステーションST1のリモートI/O用プログラマブルコントローラPCに接続されている入力基板をステーションST2のリモートI/O用プログラマブルコントローラPCの配下に移動する例について説明する。
まず、ステーションST3のデータ伝送装置の共有メモリに受信信号として登録されているデータ“BBB”を削除する。
続いて、ステーションST1のデータ伝送装置の共有メモリに出力信号として登録されているデータ“BBB”を削除する。
続いて、ステーションST1のリモートI/O用プログラマブルコントローラPCの入力基板(移動対象基板)に登録されている入力信号“BBB”を削除する。
続いて、ステーションST1のリモートI/O用プログラマブルコントローラPCの入力基板(移動対象基板)を削除する。
続いて、ステーションST2のリモートI/O用プログラマブルコントローラPCに入力基板(移動対象基板)を登録する。
続いて、ステーションST2のリモートI/O用プログラマブルコントローラPCに登録した入力基板(移動対象基板)に入力信号“BBB”を再登録する。
続いて、ステーションST2のデータ伝送装置の共有メモリに出力信号としてデータ“BBB”を再登録する。
続いて、ステーションST3のデータ伝送装置の共有メモリに受信信号としてデータ“BBB”を再登録する。
続いて、ステーションST3のプログラマブルコントローラPCに格納されているプログラムをコンパイルする。
本実施形態では、従来手作業で行っていた上記のそれぞれの作業による変更を自動的に行えるようにしたものである。
図13に、起動画面の一例を示す。ユーザがマウス130やキーボード140を操作して起動画面において移動元のI/O基板を選択すると、ポップアップメニューPUMが開く。ユーザはポップアップメニューPUMの項目から<移動>を選択する。
ポップアップメニューPUMから<移動>の項目が選択されると、設計変更支援部110は、例えば図14に示すような[I/O基板の移動]画面を表示する。[I/O基板の移動]の画面には、移動元のI/O基板が登録されているステーションが表示され、移動元のI/O基板が登録されているコントロ−ラが表示され、移動元のI/O基板が登録されているI/Oノードが表示される。
また、[I/O基板の移動]画面には、移動先のステーションには移動可能なステーションのみ候補としてプルダウン表示され、移動先のコントロ−ラには移動可能なコントローラのみ候補としてプルダウン表示され、移動先のI/Oノードには移動可能なノードのみ候補としてプルダウン表示され、移動先のスロットNo.には実装可能な(空きの)スロットNo.のみ候補としてプルダウン表示する。なお、実装可能な(空きの)スロットがない場合は、スロットNo.の欄は空白とする。
1つのI/O基板を移動する場合には、ユーザは、[I/O基板の移動]画面において移動先のステーション、コントローラ、I/Oノード、スロットNo.を選択後、[OK]ボタンを選択する。
設計変更支援部110は、[I/O基板の移動]画面において[OK]ボタンが選択されると、図15あるいは図30に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板を移動する場合には[OK]ボタンを選択する。I/O基板を移動しない場合には[キャンセル]ボタンを選択する。
確認ダイアログで[OK]ボタンが選択されると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れなかった場合、設計変更支援部110は、例えば図16に示すような編集不可のダイアログを表示し、I/O基板の移動処理を中止し、データベースDBをI/O基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
システム編集権が取れた後、設計変更支援部110はデータベースDBを変更して移動処理を進める。I/O基板の移動を実現するためのデータベースDBへの具体的な操作を以下に示す。
設計変更支援部110は、図4に示すテーブルModulesで移動するI/Oモジュールの共通IDであるcUnitIDを移動先のUnitIDに変更する。
続いて、設計変更支援部110は、図4に示すテーブルModulesで移動するI/OモジュールのSSを移動先のスロットNo.に変更する。
続いて、設計変更支援部110は、図4に示すテーブルCntBlocksのBlockNo、TopWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルCntVarsのIOBlockNo、IOWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルModulesのcSSを移動先のコントローラのスロットNo.に変更する。
続いて、設計変更支援部110は、図4に示すテーブルCntBlockのcCntIDを移動先のコントローラのModuleIDに変更する。
続いて、設計変更支援部110は、図4に示すテーブルCntVarsの共通IDであるcModuleIDを移動先のコントローラの共通IDであるModuleIDに変更する。
異なるステーションのリモートI/O用プログラマブルコントローラPC間でネットワーク基板を移動する場合において、ネットワーク基板が出力時であるときには、設計変更支援部110は、図4に示すテーブルSysVarsOutのIOBlockNo、IOWordNoを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルSysVarsOutの共通IDであるcCntBlockIDを求め直す。
続いて、設計変更支援部110は、図4に示すテーブルSysBlocksのOutCntSlotを移動先のコントローラのスロットNo.に変更する。
続いて、設計変更支援部110は、テーブルSysVarsOutのIQNo求め直す。
異なるステーションのリモートI/O用プログラマブルコントローラPC間でネットワーク基板を移動する場合において、ネットワーク基板が入力時であるときには、設計変更支援部110は、テーブルSysVarsINのIOBlockNo、IOWordNoを求め直す。
続いて、設計変更支援部110は、テーブルのSysVarsInの共通IDであるcCntBlockID、InCntSlotを求め直す。
続いて、設計変更支援部110は、テーブルSysVarsOutのIQNo求め直す。
上記のようにデータベースDBを変更した後、設計変更支援部110は、例えば図18に示すようなI/O基板の移動の完了ダイログを表示する。ユーザがマウス130やキーボード140を操作することにより完了ダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
続いて、複数のI/O基板を移動する場合の操作の一例について以下に説明する。
複数のI/O基板を一括で移動する場合には、ユーザは、[I/O基板の移動]画面で、マウス130やキーボード140を操作して[一括処理]ボタンを選択する。
[一括処理]ボタンが選択されると、設計変更支援部110は、例えば図19に示すようなバッチファイル選択ダイアログを表示する。バッチファイルの拡張子は”.txt”とし、中身は”csv”形式とする。書式は、“移動元のステーション名”,”移動元のハードアドレス”,”移動先のステーション名”,”移動先のハードアドレス”とする。ここで、ハードアドレスはメインスロットNo.-ノードNo.-ユニットNo.-スロットNo.である。書式例は“03_MF01-Stn1”,”00-004-01-09”,”04_MF01-Stn2”,”00-003-01-01”となる。
ユーザはバッチファイル選択ダイアログにおいてバッチファイルを選択する。設計変更支援部110は、選択されたバッチファイルの中で移動不可であるものが1つでもあった場合には、例えば図20乃至図22に示すようなエラーダイアログを表示して、移動処理を中止する。なお、設計変更支援部110は、移動不可であるものを最初に検出したタイミングでエラーダイアログを表示して、データベースDBを移動要求前の元の状態に全て戻す。
移動不可であるI/O基板がなかった場合には、設計変更支援部110は、例えば図15および図30に示すような確認ダイアログを表示する。ユーザは、確認ダイアログにより提示された内容を確認した後、I/O基板を移動する場合には[OK]ボタンを選択する。I/O基板を移動しない場合には[キャンセル]ボタンを選択する。
確認ダイアログで[OK]ボタンが選択されると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れなかった場合、設計変更支援部110は、例えば図16に示すような編集不可のダイアログを表示し、I/O基板の移動処理を中止し、データベースDBをI/O基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
システム編集権が取れた後、設計変更支援部110はデータベースDBを変更して移動処理を進める。個々のI/O基板を移動するためのデータベースDBへの具体的な操作は、1つのI/O基板を変更する際と同様である。
設計変更支援部110は、複数のI/O基板を移動している間、図17に示すような移動中であることを示すダイアログを表示してもよい。移動中ダイアログにおいて、ユーザが[キャンセル]ボタンを選択すると、設計変更支援部110はI/O基板の移動処理を中止して、データベースDBをI/O基板の移動要求前の元の状態へ戻す。
全てのI/O基板の移動が完了すると、設計変更支援部110は図18に示すような完了ダイアログを表示する。ユーザが完了ダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて、起動画面を再表示する。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通IDや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第7実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、データ転送装置を介したプログラムコントローラ間インターフェース信号の送信元であるプログラマブルコントローラPCを、同じステーション内で変更する場合について説明する。
まず設計変更支援部110は、[ネットワーク変数]画面を表示する。図35に[ネットワーク変数]画面の一例を示す。[ネットワーク変数]画面には送信側のネットワーク変数と受信側のネットワーク変数とが表示される。[ネットワーク変数]画面には、[送信元の変更]ボタンが設けられている。
ユーザは、[ネットワーク変数]画面の送信側のネットワーク変数から送信元を変更したいネットワーク変数を選択した後、[送信元の変更]ボタンを選択する。[送信元の変更]ボタンが選択されると、設計変更支援部110は、[送信元の変更]ダイアログを表示する。ここで、RIO(リモートI/O)指定なしの変数とRIO指定ありの変数とが混在して送信元の変更対象に選択されている場合、混在不可のダイアログを表示し、[送信元の変更]画面を起動しない。図36に「タスク指定が異なる変数が混在して選択されています。送信元の変更ができません。」との表示をユーザに提示する混在不可のダイアログの一例を示す。
図37に[送信元の変更]ダイアログの一例を示す。[送信元の変更]ダイアログには、変更先候補のブロックNo.、そのワード長(空きサイズ)、伝送速度、送信ノード、および出力コントローラが表示される。変更先候補のブロックNo.はプルダウンボックスに表示される。なお、ワード長の括弧内の数字は空きサイズである。RIO指定なしの変数を送信元の変更対象に選択している場合、変更先のブロックNo.には、変更元以外のブロックNo.が候補として表示され、RIO指定ありの変数を送信元の変更対象に選択している場合、変更先のブロックNo.には、変更元と同じ出力コントローラで、変更元以外のブロックNo.が候補として表示される。
ユーザは、[送信元の変更]ダイアログの表示された候補から変更後のブロックNo.を選択した後、[OK]ボタンを選択する。設計変更支援部110は[送信元の変更]ダイアログの[OK]ボタンが選択されると、確認ダイアログを表示する。図38に確認ダイアログの一例を示す。ユーザは、確認ダイアログにより提示された内容を確認した後、送信元を変更する場合には[OK]ボタンを選択する。送信元を変更しない場合には[キャンセル]ボタンを選択する。
確認ダイアログで[OK]ボタンが選択されると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れなかった場合、設計変更支援部110は、例えば図39に示すような編集不可のダイアログを表示し、I/O基板の移動処理を中止し、データベースDBをI/O基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
システム編集権が取れた後、設計変更支援部110はデータベースDBを変更して移動処理を進める。I/O基板の移動を実現するためのデータベースDBへの具体的な操作を以下に示す。
まず、設計変更支援部110は、図6に示すテーブルSysVarsOutのIOWordNo、IQを求め直す。
続いて、設計変更支援部110は、図6に示すテーブルSysVarsOutの共通IDであるcBlockIDを変更する。
設計変更支援部110は、上記のようにデータベースDBを変更して送信元の変更している期間中に変更中ダイアログを表示する。図40に変更中ダイアログの一例を示す。変更中ダイアログの[キャンセル]ボタンが選択されると、設計変更支援部110は送信元の変更処理を中止してデータベースDBを変更要求前の状態に戻す。
送信元を変更することができなかった場合には、設計変更支援部110はエラーダイアログを表示する。図41にエラーダイアログの一例を示す。図41のエラーダイアログは、変更先の送信ブロックのエリアサイズが足りない場合に表示される。エラーダイアログの[OK]ボタンが選択されると、設計変更支援部110はデータベースDBを変更要求前の状態に戻す。エラーダイアログの[OK]ボタンが選択されると、設計変更支援部110は、変更先ブロックの空いているワードに自動的に割り付ける。
送信元の変更が完了すると、設計変更支援部110は完了ダイアログを表示する。図42に完了ダイアログの一例を示す。完了ダイアログの[OK]ボタンが選択されると、設計変更支援部110は[送信元の変更]画面を閉じて、[ネットワーク変数]画面を再表示する。
従来はデータ伝送装置の共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録が必要であった。プログラマブルコントローラPC間インターフェース信号が多数存在する場合は、共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録に多大の作業時間を要したが、本実施形態により共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録を対話形式で自動的に行うことが可能になる。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通IDや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
次に、第8実施形態に係る設計変更支援部を搭載した制御システムについて図面を参照して以下に説明する。なお、以下の説明において上述の第1実施形態に係る設計変更支援部を搭載した制御システムと同様の構成については、同一の符号を付して説明を省略する。
本実施形態では、データ転送装置を介したプログラムコントローラ間インターフェース信号の送信元であるプログラマブルコントローラPCを、異なるステーション間で変更する場合について説明する。
図43を用いて、データ伝送装置を介したプログラマブルコントローラPC間インターフェース信号の送信元のプログラマブルコントローラPCを変更する際の作業の一例について説明する。
まず、ステーションST3のデータ伝送装置の共有メモリに受信信号として登録されているデータ“CCC”を削除する。
続いて、ステーションST1のデータ伝送装置の共有メモリに出力信号として登録されているデータ“CCC”を削除する。
続いて、ステーションST2のデータ伝送装置の共有メモリに出力信号としてデータ“CCC”を再登録する。
続いて、ステーションST3のデータ伝送装置の共有メモリに受信信号としてデータ“CCC”を再登録する。
続いて、ステーションST3のプログラマブルコントローラPCに格納されているプログラムをコンパイルする。
本実施形態では、従来手作業で行っていた上記のそれぞれの作業による変更を自動的に行えるようにしたものである。
まず設計変更支援部110は、[ネットワーク変数]画面を表示する。図35に[ネットワーク変数]画面の一例を示す。[ネットワーク変数]画面には送信側のネットワーク変数と受信側のネットワーク変数とが表示される。[ネットワーク変数]画面には、[送信元の変更]ボタンが設けられている。
ユーザは、[ネットワーク変数]画面の送信側のネットワーク変数から送信元を変更したいネットワーク変数を選択した後、[送信元の変更]ボタンを選択する。[送信元の変更]ボタンが選択されると、設計変更支援部110は、[送信元の変更]ダイアログを表示する。ここで、RIO指定なしの変数とRIO指定ありの変数とが混在して送信元の変更対象に選択されている場合、混在不可のダイアログを表示し、[送信元の変更]画面を起動しない。図36に「タスク指定が異なる変数が混在して選択されています。送信元の変更ができません。」との表示をユーザに提示する混在不可のダイアログの一例を示す。
図37に[送信元の変更]ダイアログの一例を示す。[送信元の変更]ダイアログには、変更先候補のブロックNo.、そのワード長(空きサイズ)、伝送速度、送信ノード、および出力コントローラが表示される。変更先候補のブロックNo.はプルダウンボックスに表示される。なお、ワード長の括弧内の数字は空きサイズである。RIO指定なしの変数を送信元の変更対象に選択している場合、変更先のブロックNo.には、変更元以外のブロックNo.が候補として表示され、RIO指定ありの変数を送信元の変更対象に選択している場合、変更先のブロックNo.には、変更元と同じ出力コントローラで、変更元以外のブロックNo.が候補として表示される。
ユーザは、[送信元の変更]ダイアログの表示された候補から変更後のブロックNo.を選択した後、[OK]ボタンを選択する。設計変更支援部110は[送信元の変更]ダイアログの[OK]ボタンが選択されると、確認ダイアログを表示する。図38に確認ダイアログの一例を示す。ユーザは、確認ダイアログにより提示された内容を確認した後、送信元を変更する場合には[OK]ボタンを選択する。送信元を変更しない場合には[キャンセル]ボタンを選択する。
確認ダイアログで[OK]ボタンが選択されると、設計変更支援部110は、システム編集権を獲得し、同時に複数個所から編集処理を行った場合にお互いに干渉してシステムに問題が生じることを防ぐ。
システム編集権が取れなかった場合、設計変更支援部110は、例えば図39に示すような編集不可のダイアログを表示し、I/O基板の移動処理を中止し、データベースDBをI/O基板の移動要求前の元の状態に全て戻す。ユーザが編集不可のダイアログの[OK]ボタンを選択すると、設計変更支援部110は[I/O基板の移動]画面を閉じて起動画面を再表示する。
システム編集権が取れた後、設計変更支援部110はデータベースDBを変更して移動処理を進める。I/O基板の移動を実現するためのデータベースDBへの具体的な操作を以下に示す。
まず、設計変更支援部110は、図6に示すテーブルSysVarsOutのIOWordNo、IQを求め直す。
続いて、設計変更支援部110は、図6に示すテーブルSysVarsOutの共通IDであるcBlockIDを変更する。
設計変更支援部110は、上記のようにデータベースDBを変更して送信元の変更している期間中に変更中ダイアログを表示する。図40に変更中ダイアログの一例を示す。変更中ダイアログの[キャンセル]ボタンが選択されると、設計変更支援部110は送信元の変更処理を中止してデータベースDBを変更要求前の状態に戻す。
送信元を変更することができなかった場合には、設計変更支援部110はエラーダイアログを表示する。図41にエラーダイアログの一例を示す。図41のエラーダイアログは、変更先の送信ブロックのエリアサイズが足りない場合に表示される。エラーダイアログの[OK]ボタンが選択されると、設計変更支援部110はデータベースDBを変更要求前の状態に戻す。エラーダイアログの[OK]ボタンが選択されると、設計変更支援部110は、変更先ブロックの空いているワードに自動的に割り付ける。
送信元の変更が完了すると、設計変更支援部110は完了ダイアログを表示する。図42に完了ダイアログの一例を示す。完了ダイアログの[OK]ボタンが選択されると、設計変更支援部110は[送信元の変更]画面を閉じて、[ネットワーク変数]画面を再表示する。
従来はデータ伝送装置の共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録が必要であった。プログラマブルコントローラPC間インターフェース信号が多数存在する場合は、共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録に多大の作業時間を要したが、本実施形態により共有メモリ上の受信信号の削除・再登録と、共有メモリ上の送信信号の削除・再登録を対話形式で自動的に行うことが可能になる。
上記のように、本実施形態に係る設計変更支援部110を備える制御システムによれば、上記のように制御システムの設計変更を行う際に、共通IDや各種変数を変更して自動的に制御システムのデータベースを変更することにより、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業を行うこと実現することができる。
上記第1乃至第8実施形態に記載したエンジニアリング装置100は以下の機能を有している。
すなわち、入出力基板(入力基板・出力基板・フィールドバス基板)の移動に関する一連の設計作業を設計者と対話形式で進める機能と、入出力基板(入力基板・出力基板・フィールドバス基板)の移動に関する一連の設計作業を設計者が漏れなく行えるようなガイダンス機能と、設計者が必要な情報を設定した後は入出力基板(入力基板・出力基板・フィールドバス基板)の移動に関する一連の設計作業を自動的に行う機能と、入出力基板(入力基板・出力基板)の基板型式の変更に関する一連の設計作業を設計者と対話形式で進める機能と、入出力基板(入力基板・出力基板)の基板型式の変更に関する一連の設計作業を設計者が漏れなく行えるようなガイダンス機能と、設計者が必要な情報を設定した後は入出力基板(入力基板・出力基板)の基板型式変更に関する一連の設計作業を自動的に行う機能と、プログラマブルコントローラPC間インターフェース信号の送信元のプログラマブルコントローラPCを変更する際の一連の設計作業を設計者と対話形式で進める機能と、プログラマブルコントローラPC間インターフェース信号の送信元のプログラマブルコントローラPCを変更する際の一連の設計作業を設計者が漏れなく行えるようなガイダンス機能と、設計者が必要な情報を設定した後は、プログラマブルコントローラPC間インターフェース信号の送信元のプログラマブルコントローラPCを変更する際の一連の設計作業を自動的に行う機能と、を備えている。
上記本実施形態に係るエンジニアリング装置100によれば、入出力基板(入力基板・出力基板・フィールドバス基板)の移動・入出力基板型式変更・プログラマブルコントローラPC間インターフェースの変更に伴う複雑な設計変更作業を簡単に、漏れなく、間違えなく行うことが可能となるため、入出力基板(入力基板・出力基板・フィールドバス基板)の移動・入出力基板型式変更・プログラマブルコントローラPC間インターフェースの変更を行う際の設計時間短縮による大幅なコストダウンと、設計ミスの撲滅による制御システムの大幅な品質向上を達成できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。