以下に添付図面を参照して、この発明にかかる制御システムエンジニアリング装置の好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
この実施の形態1では、複数のPLCがネットワークを介して接続された生産設備などの制御システムからオンラインでネットワーク構成情報と接続経路情報を収集し、これらのネットワーク構成情報と接続経路情報から制御システムを構成するネットワーク構成やPLCのシステム構成全体を表示する制御システムエンジニアリング装置および制御システムエンジニアリング方法について説明する。
図1は、制御システムのネットワーク構成の一例を模式的に示す図である。この制御システムは、たとえば生産設備を構成し、複数のPLCがネットワークによって接続される構成を有する。この例では、PLC10−1,10−2が情報系ネットワーク21に接続され、PLC10−1,10−3,10−4がコントローラ間ネットワーク22Aに接続され、PLC10−1,10−2,10−5がコントローラ間ネットワーク22Bに接続され、PLC10−4,10−5がフィールドネットワーク23で接続されている。また、コントローラ間ネットワーク22AのPLC10−3には、USB(Universal Serial Bus)ケーブル30を介してこの発明による制御システムエンジニアリング装置100が接続される。
ここで、情報系ネットワークとは、PLCと、パーソナルコンピュータなどの情報処理端末と、が混在して接続されるネットワークであり、イーサネット(登録商標)などを例示することができる。また、コントローラ間ネットワークは、PLCのみが接続されるネットワークであり、フィールドネットワークは、PLCと、サーボモータなどのPLCの制御対象と、が混在して接続されるネットワークである。一般的に、フィールドネットワーク23よりもコントローラ間ネットワーク22の方が通信速度の速い回線によって構成される。また、情報系ネットワーク21とコントローラ間ネットワーク22には、ネットワーク番号を付すことができるが、フィールドネットワーク23には、ネットワーク番号を付すことができないものとする。この図1では、コントローラ間ネットワーク22Aには、ネットワーク番号「No.1」が付され、コントローラ間ネットワーク22Bには、ネットワーク番号「No.2」が付され、情報系ネットワーク21には、ネットワーク番号「No.3」が付されている。
PLC10−1のベースには、通信ユニットとして、コントローラ間ネットワーク22A,22Bで通信するための通信ユニット11−1A,11−1Bと、情報系ネットワーク21で通信するための通信ユニット11−1Cと、が設けられている。
ここで、一般的にネットワークを構成するPLCを局という。また、コントローラ間ネットワークでは、局の中で特にコントローラ間ネットワークの各局を管理する局で、自身の局番号とどれだけの局を管理するのかの情報(総局数)を保持する局を管理局という。この管理局は1つのコントローラ間ネットワークに1つとする。さらに、コントローラ間ネットワークにおけるそれ以外の局で、自身の局番号を保持する局を通常局という。また、コントローラ間ネットワーク22A,22Bで通信を行うための通信ユニット11の図中における表記は、以下の意味を有するものとする。たとえば「M1−3通」の場合には、「M」はコントローラ間ネットワークで通信を行うための通信ユニットを示し、「1」はコントローラ間ネットワークに付されているネットワーク番号を示し、ハイフン「−」の後の数字「3」はコントローラ間ネットワークにおけるそのPLC(通信ユニット11)の局番号を示し、最後の文字は管理局か通常局かを示し、管理局の場合には「管」と表記され、通常局の場合には「通」と表記される。
また、情報系ネットワーク21で通信を行うための通信ユニット11の図中の表記、たとえば「E3−1」で、「E」は情報系ネットワークで通信を行うための通信ユニットを示し、「3」は情報系ネットワークに付されているネットワーク番号を示し、ハイフン「−」の後の数字「1」は情報系ネットワークにおけるそのPLC(通信ユニット11)の局番号を示している。
そのため、通信ユニット11−1Aは、コントローラ間ネットワーク22Aに対して局番3の通常局として接続される通信ユニットであり、通信ユニット11−1Bは、コントローラ間ネットワーク22Bに対して局番2の通常局として接続される通信ユニットである。また、通信ユニットE3−1は、情報系ネットワーク21に対して局番1として接続される通信ユニットである。
PLC10−2のベースには、通信ユニットとして、コントローラ間ネットワーク22Bで通信するための通信ユニット11−2Aと、情報系ネットワーク21で通信するための通信ユニット11−2Bと、が設けられている。通信ユニット11−2Aは、コントローラ間ネットワーク22Bに対して局番1の管理局として接続される通信ユニットである。また、通信ユニット11−2Bは、情報系ネットワーク21に対して局番2として接続される通信ユニットである。
PLC10−3のベースには、通信ユニットとして、コントローラ間ネットワーク22Aで通信するための通信ユニット11−3が設けられている。この通信ユニット11−3は、コントローラ間ネットワーク22Aに対して局番1の管理局として接続される通信ユニットである。また、PLC10−3のベースには、入出力(I/O)ユニット12−3が設けられているとともに、2つの入出力ユニット12−3が装着された増設ベース13−3が取り付けられている。
PLC10−4のベースには、入出力ユニット12−4のほかに、通信ユニットとして、フィールドネットワーク23で通信するための通信ユニット11−4Aと、コントローラ間ネットワーク22Aで通信するための通信ユニット11−4Bと、が設けられている。
ここで、フィールドネットワーク23で通信を行うための通信ユニット11の図中の表記、たとえば「Cマスタ」で、「C」はフィールドネットワークで通信を行うための通信ユニットを示し、その後の文字はマスタ局かローカル局かを示し、ローカル局の場合にはさらにその後にフィールドネットワークにおけるそのPLC(通信ユニット11)の局番号が付される。なお、マスタ局、ローカル局は、フィールドネットワークにおける局の呼び名であり、マスタ局はコントローラ間ネットワークの管理局に相当し、ローカル局は同じく通常局に相当する。
そのため、通信ユニット11−4Aは、フィールドネットワーク23に対してマスタ局として接続される通信ユニットであり、通信ユニット11−4Bは、コントローラ間ネットワーク22Aに対して局番2の通常局として接続される通信ユニットである。
PLC10−5のベースには、入出力ユニット12−5のほかに、通信ユニットとして、フィールドネットワーク23で通信するための通信ユニット11−5Aと、コントローラ間ネットワーク22Bで通信するための通信ユニット11−5Bと、が設けられている。通信ユニット11−5Aは、フィールドネットワーク23に対して局番1のローカル局として接続される通信ユニットであり、通信ユニット11−5Bは、コントローラ間ネットワーク22Bに対して局番3の通常局として接続される通信ユニットである。
なお、各PLCは、PLCを動作させるためにPLCに設定したベース情報や、そのPLCが属するネットワークに関する接続ネットワーク情報、プログラムを含むプロジェクト情報を保持している。ベース情報は、PLCのベースに装着されているユニットの数(スロット数)やベースの各スロットに装着されているユニットの種類、ベースに接続されている増設ベースに関する情報を含む。また、接続ネットワーク情報は、そのPLCが属するネットワークの種別、ネットワーク番号、ネットワークにおける局番と管理局か通常局かの種別、総局数を含む。なお、以下の説明では、これらのベース情報と接続ネットワーク情報を合わせたものをシステム構成情報ともいう。
図2は、制御システムエンジニアリング装置のハードウェア構成を模式的に示すブロック図である。制御システムエンジニアリング装置100は、パーソナルコンピュータなどの情報処理端末によって構成され、エンジニアリングツールの処理(すなわち、システム構成の設定および管理の処理)をプログラムに基づいて行うためのマイクロプロセッサ101と、その処理に伴う一時データを格納するためのデータ格納メモリ102と、PLC10と通信を行うための通信ポート103と、エンジニアリグツール(ツリーやアイコンなどのウィンドウ)を表示するための表示部104と、キーボードやマウスなどの入力部105と、エンジニアリングツールで設定したデータ(すなわち、システム構成の設定)を記憶するハードディスク装置などの記憶部106と、がバス107を介して接続される構成を有する。
図1の例では、この制御システムエンジニアリング装置100が、PLC10−3とUSBケーブル30を介して接続されている。そして、後述する制約の下で、制御システムに関するPLCデータや各PLC10への接続経路などの情報を収集し、システム構成をグラフィカルに表示する。
図3は、この発明にかかる制御システムエンジニアリング装置の実施の形態1の機能構成を模式的に示すブロック図である。この制御システムエンジニアリング装置100は、通信部111と、表示部112と、起点PLC指定部113と、オンラインネットワーク構成情報収集部114と、オンライン接続経路保持部115と、オンラインネットワーク構成情報保持部116と、表示オブジェクト座標算出部117と、システム構成表示部118と、これらの各処理部を制御する制御部119と、を備える。
通信部111は、制御システムを構成する1つのPLCと接続し、通信を行う。また、表示部112は、システム構成表示部118によって作成されたシステム構成情報を表示する手段である。なお、通信部111は、請求の範囲における通信手段に対応し、表示部112は、同じく表示手段に対応している。
起点PLC指定部113は、当該制御システムエンジニアリング装置100をどのPLCに接続するかを指定する。この起点PLC指定部113による処理は、たとえば、特許第3587099号公報に記載されているものなどを用いることができる。なお、起点PLC指定部113は、請求の範囲における起点制御装置指定手段に対応している。
オンラインネットワーク構成情報収集部114は、起点PLC指定部113で指定されたPLCを起点として制御システムを構成するPLCに接続するネットワークを示す接続ネットワーク情報やPLCのシステム構成(ベース上に装着されているユニットの構成)を示すベース情報を含むシステム構成情報と、各PLCへの接続経路である接続経路情報と、を収集する。また、収集したシステム構成情報から、ネットワークの構成、すなわちネットワークに接続するPLCを示すネットワーク情報を作成する機能も有する。そして、収集した接続ネットワーク情報とベース情報をPLCデータとして、作成したネットワークをネットワークデータとして、オンラインネットワーク構成情報保持部116に格納し、収集した接続経路情報をオンライン接続経路保持部115に格納する。なお、このオンラインネットワーク構成情報収集部114は、請求の範囲におけるオンラインネットワーク構成情報収集手段に対応している。
オンライン接続経路保持部115は、オンラインネットワーク構成情報収集部114の処理の中で用いられた、それぞれのPLCへの接続経路である接続経路情報を保持する。接続経路情報は、当該制御システムエンジニアリング装置100が接続されたPLCからあるPLCへアクセスする際の通信経路を示すものである。
オンラインネットワーク構成情報保持部116は、オンラインネットワーク構成情報収集部114によって収集された接続ネットワーク情報やベース情報と、オンラインネットワーク構成情報収集部114によって作成されたネットワーク情報と、をネットワーク構成情報として保持する。上述したように、接続ネットワーク情報は、制御システムを構成するPLCに接続するネットワークを示す情報であり、ベース情報は、各PLCと同じベース上に装着されるユニットの数(スロット数)と種類とその属性、そのベースに接続される増設ベースとこの増設ベースに装着されるユニットの数と種類とその属性を示す情報である。また、ネットワーク情報は、ネットワークを構成するPLCとその通信ユニットに設定された属性を含む情報である。
表示オブジェクト座標算出部117は、オンラインネットワーク構成情報保持部116に保持されているネットワーク構成情報を読み出して、その内容を解析し、制御システムを構成するネットワークやPLCのシステム構成全体を表示するために、それぞれの表示オブジェクト(以下、単にオブジェクトともいう)の座標を算出する。この表示オブジェクト座標算出部117は、請求の範囲における表示オブジェクト座標算出手段に対応している。
システム構成表示部118は、表示オブジェクト座標算出部117で算出された座標に基づいて表示オブジェクトを表示部112に表示する。このシステム構成表示部118は、請求の範囲におけるシステム構成表示手段に対応している。
ここで、表示オブジェクト座標算出部117についてさらに詳しく説明する。表示オブジェクト座標算出部117は、システム構成表示部118で表示処理されるオブジェクトの座標を最終的に算出するまでの中間段階として、グリッドモデルによる配置情報を算出する機能を有する。
このグリッドモデルとは、矩形セルによってオブジェクト間の配置関係を表すモデルのことをいう。ここではグリッドモデルとして、ネットワークグリッドと、PLCグリッドと、配線グリッドの3種類のグリッドを用いる。
ネットワークグリッドは、ネットワークを表す矩形セル(グリッド)である。ネットワークグリッドの左右に別のグリッドが配置されることはなく、複数のネットワークグリッドが存在する場合には、ネットワークグリッドは上下に配置するものとする。
PLCグリッドは、PLCを表す矩形セル(グリッド)である。PLCグリッドはPLCが接続するネットワークのネットワークグリッドの下に、後述する配線グリッドを伴って配置される。このPLCグリッドは、請求の範囲における制御装置グリッドに対応している。
配線グリッドは、PLCとネットワークとを接続するための配線を表す矩形セル(グリッド)である。配線グリッドはネットワークグリッドとPLCグリッドとの間に配置され、PLCグリッドからは必ず上方向にのみ延びるものとする。
また、このほかに、追加したPLCグリッド上部にある全てのネットワークグリッドは、追加した下部のPLCグリッドを包含するように横方向に伸びるものとする。
つぎに、グリッドモデルの具体例を説明する。図4−1〜図7−4は、制御システムの構成の一例と、それに対応するグリッドモデルの一例を示す図である。図4−1に示されるネットワークNo.1に接続するPLC3を、グリッドモデルで表したものが、図4−2である。この図4−2に示されるように、ネットワークグリッド1の下にPLCグリッド3が配置され、このPLCグリッド3からネットワークグリッド1に向けて配線グリッドが配置される。
図5−1に示されるように、PLC3がネットワークNo.1,No.2の2つのネットワークに接続する場合のグリッドモデルは、図5−2に示されるように、PLCグリッド3から、上下に配置されたネットワークグリッド1とネットワークグリッド2に対して配線グリッドが上方向に配置される。
図6−1に示されるように、2つのPLC3,4が1つのネットワークNo.1に接続される場合のグリッドモデルは、図6−2に示されるように、左右に並べて配置された2つのPLCグリッド3,4のそれぞれからネットワークグリッド1に向けて配線グリッドが配置される。このとき、図6−1に示されるようにネットワークNo.1には2つのPLC3,4が接続されているので、図6−2で、ネットワークグリッド1は、2つのPLCグリッド3,4を含むように左右方向に伸びた形となっている。
図7−1または図7−2に示されるようにPLC−3がネットワークNo.1に接続し、PLC4がネットワークNo.2に接続し、PLC5が2つのネットワークNo.1,No.2に接続している場合のグリッドモデルは、図7−3または図7−4に示されるようになる。すなわち、2つのネットワークNo.1,No.2が存在するので、上下方向に2つのネットワークグリッド1,2が配置される。ここでは、ネットワークグリッド1がネットワークグリッド2よりも上に配置されている。また、PLC3はネットワークNo.1にのみ接続されるので、PLCグリッド3は、ネットワークグリッド1とネットワークグリッド2との間に配置され、PLCグリッド1からネットワークグリッド1に向けて配線グリッドが配置される。また、PLC4はネットワークNo.2にのみ接続されるので、PLCグリッド4は、ネットワークグリッド2の下方に配置され、PLCグリッド4からネットワークグリッド2に向けて配線グリッドが配置される。さらに、PLC5は、ネットワークNo.1,No.2の両方に接続されるので、PLCグリッド5は、ネットワークグリッド2の下方に配置され、ネットワークグリッド1とネットワークグリッド2に向けて配線グリッドが配置される。また、ネットワークグリッド1は、PLCグリッド3,5を含むように、ネットワークグリッド2は、PLCグリッド4,5を含むように左右方向に伸びた形となっている。
このようなグリッドモデルの規則の下に表示オブジェクト座標算出部117は、グリッドを用いてシステム構成表示部118で表示処理される制御システムを構成するオブジェクトの座標を算出する。
図8は、表示オブジェクト座標算出部の機能構成を模式的に示すブロック図である。この図に示されるように、表示オブジェクト座標算出部117は、グリッドモデル保持機能1171と、ネットワークグリッド配置機能1172と、PLCグリッド配置機能1173と、グリッドサイズ算出機能1174と、グリッド座標算出機能1175と、を備える。
グリッドモデル保持機能1171は、ネットワークグリッド配置機能1172とPLCグリッド配置機能1173とによって配置されたグリッドモデルや、グリッドサイズ算出機能1174によって算出されたグリッドサイズを含むグリッドモデルを保持する。
ネットワークグリッド配置機能1172は、オンラインネットワーク構成情報保持部116に保持されているネットワーク構成情報を読み出して、その内容からネットワーク間の配置関係を解析し、ネットワークのグリッドモデルを算出して配置する。その結果は、グリッドモデル保持機能1171に格納される。
PLCグリッド配置機能1173は、オンラインネットワーク構成情報保持部116に保持されているネットワーク構成情報を読み出して、その内容からPLCとそのネットワークとの接続関係を解析し、PLCと配線のグリッドモデルを算出して配置する。このとき、ネットワークグリッド配置機能1172によって算出され、グリッドモデル保持機能1171に格納されたグリッドモデルに対して、PLCグリッドと配線グリッドとが配置される。そして、その結果は、グリッドモデル保持機能1171に格納される。なお、このPLCグリッド配置機能1173は、請求の範囲における制御装置グリッド配置機能に対応している。
グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に保持されているグリッドモデル中の各グリッド、特にPLCグリッドについて、オンラインネットワーク構成情報保持部116の対応するPLCのベース情報を用いて、PLCの表示に必要なサイズを算出する。ここで用いられるグリッドモデルは、ネットワークグリッドとPLCグリッドと配線グリッドとが配置されたグリッドモデルである。また、ベース情報としては、対応するPLCのベースに装着されているユニットの個数とその種類、また増設ベースの有無と、その増設ベースに装着されているユニットの個数とその種類が利用される。そして、その結果は、グリッドモデル保持機能1171中のグリッドモデルに付加されて格納される。
グリッド座標算出機能1175は、グリッドモデル保持機能1171に保持されているグリッドサイズを含むグリッドモデル中のPLCグリッドに対して、左上のPLCグリッドから順にグリッドサイズを加算してグリッド座標を算出する。そして、算出した結果が、グリッドモデルとともにシステム構成表示部118に出力される。
つぎに、上記のような構成を有する制御システムエンジニアリング装置100での、ネットワーク構成情報の収集処理からシステム構成情報の表示処理について順に説明する。
(ネットワーク構成情報収集処理)
(1)処理の概要
図9−1〜図9−3は、ネットワーク構成情報収集処理手順の一例を示すフローチャートである。まず、制御システムエンジニアリング装置100の使用者が、起点PLC指定部113から当該制御システムエンジニアリング装置100をどのPLCに接続するかを指定する(ステップS11)。このとき指定されたPLCを、ネットワーク構成情報を収集する起点となるので、起点PLCという。
オンラインネットワーク構成情報収集部114は、指定された起点PLCが保持するプロジェクト情報のうち、システム構成情報を読み出す(ステップS12)。また、同時にオンラインネットワーク構成情報収集部114は、この起点PLCへの接続経路を出力し(ステップS13)、接続経路情報としてオンライン接続経路保持部115に格納する。
ついで、オンラインネットワーク構成情報収集部114は、ステップS12で読み出したシステム構成情報からベース情報と接続ネットワーク情報とを抽出し(ステップS14)、これらをPLCデータとして、オンラインネットワーク構成情報保持部116に出力する(ステップS15)。その後、オンラインネットワーク構成情報収集部114は、起点PLCを処理対象PLCとして選択し(ステップS16)、図9−2に示されるA1処理を実行する(ステップS17)。
図9−2は、図9−1のステップS17におけるA1処理の手順を示すフローチャートである。まず、オンラインネットワーク構成情報収集部114は、起点PLCが接続するすべてのネットワークに対して、図9−3に示されるA2処理を実行したか否かを判定する(ステップS31)。対象となるPLCに接続するすべてのネットワークに対してA2処理を行っている場合(ステップS31でYesの場合)には、A1処理を終了し、図9−1のフローチャートへと戻る。
また、対象となるPLCに接続するすべてのネットワークに対してA2処理を行っていない場合(ステップS31でNoの場合)には、それぞれのネットワークは、さらに情報収集できるか否かを判定する(ステップS32)。このネットワークの情報収集処理実行の可否の判定は、予め定義されたネットワークの情報収集処理が可能な範囲についての制約に基づいて行われる。そして、それぞれのネットワークについてさらに情報収集できる場合(ステップS32でYesの場合)には、図9−3のA2処理をまだ実行していないネットワークから1つのネットワークを処理対象のネットワークとして選択し(ステップS33)、このネットワークに対して、図9−3に示されるネットワーク情報出力処理を実行する(ステップS34)。
その後、A2処理がまだのネットワークがあるかを判定し(ステップS35)、A2処理がまだのネットワークがある場合(ステップS35でYesの場合)には、ステップS33へと戻り、上述した処理が繰り返し実行される。一方、A2処理がまだのネットワークがない場合(ステップS35でNoの場合)には、A1処理が終了し、図9−1に処理が戻る。
また、ステップS32で、それぞれのネットワークについてさらに情報収集することができない場合(ステップS32でNoの場合)には、出力されたPLCデータを用いて、ネットワーク情報を作成し、これをネットワークデータとしてオンラインネットワーク構成情報保持部116に出力する(ステップS36)。このネットワーク情報は、各ネットワークについて、そのネットワークを構成するPLCと、そのPLCについて設定されている情報をまとめたものである。
図9−3は、図9−2のステップS34におけるA2処理の手順の一例を示すフローチャートである。このA2処理では、オンラインネットワーク構成情報収集部114は、まず、ネットワークに接続している管理局(コントローラ間ネットワークの場合)またはマスタ局(フィールドネットワークの場合)のPLCが保持するプロジェクト情報のうちシステム構成情報を読み出す(ステップS51)。ついで、読み出したシステム構成情報の接続ネットワーク情報から総局数を抽出する(ステップS52)。
その後、オンラインネットワーク構成情報収集部114は、ネットワークに接続している各PLCが保持するプロジェクト情報のうちシステム構成情報を読み出す(ステップS53)。ついで、読み出したシステム構成情報の中からベース情報と接続ネットワーク情報を抽出し(ステップS54)、これらの情報を用いて、そのネットワークを構成するPLCについての設定情報をまとめたネットワーク情報を作成し、オンラインネットワーク構成情報保持部116にネットワークデータとして出力する(ステップS55)。
ついで、オンラインネットワーク構成情報収集部114は、情報収集されたすべてのPLCに対して、データを出力したか否かを判定する(ステップS56)。すべてのPLCに対してデータを出力している場合(ステップS56でYesの場合)には、対象としているネットワークに関するA2処理を終了し、図9−2のA1処理に戻る。また、すべてのPLCに対してデータを出力していない場合(ステップS56でNoの場合)には、各PLCまでの接続経路をオンライン接続経路保持部115に対して出力するとともに(ステップS57)、オンラインネットワーク構成情報保持部116に対して、ステップS54で抽出した各PLCのPLCデータを出力する(ステップS58)。
ついで、各PLCに対してネットワークについてさらに情報収集可能か否かを、所定の制約に基づいて判定する(ステップS59)。ネットワークについて情報収集が可能である場合(ステップS59でYesの場合)には、図9−2に示されるA1処理について未実施のPLCを処理対象のPLCとして選択し(ステップS60)、図9−2に示したA1処理を実行する(ステップS61)。そして、A1処理がまだのPLCが存在するかを判定し(ステップS62)、A1処理がまだのPLCが存在する場合(ステップS62でYesの場合)には、ステップS60へと戻り、上述した処理が繰り返し実行される。また、A1処理がまだのPLCが存在しない場合(ステップS62でNoの場合)には、A2処理が終了する。さらに、ステップS59で、ネットワークについて情報収集が可能でない場合(ステップS59でNoの場合)にも、A2処理が終了する。
その後、図9−1に戻り、ステップS17のA1処理の後、オンラインネットワーク構成情報収集部114は、出力されたデータの整合性の処理を行う(ステップS18)。このデータの整合性の処理として、たとえば、同じネットワークについて、制約によって2つのネットワークデータがオンラインネットワーク構成情報保持部116に存在する場合に、これらの2つのデータをまとめて1つのネットワークについてのネットワークデータとする処理などを挙げることができる。以上により、ネットワーク構成情報収集処理を終了する。
以上に示した処理によって、オンライン接続経路保持部115には、制御システムエンジニアリング装置100が接続されたPLCから情報収集が可能なネットワークの各PLCまでの接続経路情報が格納され、オンラインネットワーク構成情報保持部116には、情報収集が可能なネットワークの各PLCに関する接続ネットワーク情報とベース情報と、各PLCによって構成されるネットワーク情報と、を含むネットワーク構成情報が格納される。
(2)処理の具体例
上述した説明では、ネットワーク構成情報収集処理の概要を述べたものであるので、この処理の具体例を図1の構成を有する制御システムの場合を例に挙げて以下に説明する。図10は、ネットワーク構成情報収集処理の結果、オンライン接続経路保持部に保持される接続経路情報の一例を示す図であり、図11は、同じくオンラインネットワーク構成情報格納部に格納されるネットワーク構成情報の一例を示す図である。なお、これらの図10と図11では、データが生成される順に示されている。また、これらの図中では、ネットワークは図1に示される符号ではなく、「ネットワーク種類+ネットワーク番号」の形で表記している。
図10に示されるように、接続経路情報は、格納されるデータの種類を示す「データ種別」と、終点PLCとなる「名称」と、「起点PLC」と、途中の経路であるネットワークまたはノード(PLC)を示す「データ1」、「データ2」、・・・、とを含む。ここでは、nを自然数として、「データ(2n−1)」の欄にはネットワークが入り、「データ(2n)」の欄にはPLCが入る。
また、図11に示されるように、ネットワーク構成情報は、格納されるデータの種別を示す「データ種別」と、対象となるPLCを示す「名称」と、そのPLCについてデータ種別ごとに規定された内容を示す「データ1」、「データ2」、・・・、とを含む。ネットワーク構成情報は、上述したようにベース情報、接続ネットワーク情報およびネットワーク情報の3種類からなるので、これらのデータ種類によって、格納されるデータの内容が異なる。
たとえば、ベース情報を格納する場合には、データ種別には「PLCベース」と格納され、各データ欄には各スロットに装着されるユニットの種別が格納される。増設ベースを有する場合には、増設ベースの各スロットに装着されるユニットの種別も格納される。また、接続ネットワーク情報を格納する場合には、データ種別には「PLCネットワーク」と格納され、各データ欄には、「名称」に示されるPLCのベースに装着されている各通信ユニットに関する情報が格納される。さらに、ネットワーク情報を格納する場合には、データ種別には「ネットワーク」と格納され、各データ欄には、「名称」に示されるネットワークを構成するPLCの通信ユニットに関する情報が格納される。ここでは、局番順に格納されるものとする。
(2−1)起点PLCについて
図1では、PLC10−3に制御システムエンジニアリング装置100が接続されているので、まず、制御システムエンジニアリング装置100の起点PLC指定部113から、使用者はPLC10−3を起点PLCに指定する。その後、オンラインネットワーク構成情報収集部114は、USBケーブル30を介して接続される起点PLCが保持するプロジェクト情報のうちシステム構成情報を読み出すとともに、起点PLCへの接続経路P3cを、オンライン接続経路保持部115に出力する。
ここで読み出したシステム構成情報には、ベース情報として、スロット1にCPUユニット、スロット2にI/Oユニット12−3、スロット3にコントローラ間ネットワークユニット11−3、増設ベース13−3のスロット1,2にI/Oユニット12−3がそれぞれ装着されているという情報が含まれている。また、接続ネットワーク情報として、ネットワーク種別がコントローラ間ネットワークNo.1であり、コントローラ間ネットワークユニット11−3が局番1で、管理局であり、コントローラ間ネットワークNo.1の総局数は3であるという情報が含まれている。
そこで、オンラインネットワーク構成情報収集部114は、接続経路情報として、図10の接続経路P3cに示される内容をオンライン接続経路保持部115に出力し、図11に示されるPLCデータP3b,P3nに示される内容をオンラインネットワーク構成情報保持部116に出力する。そして、起点PLCであるPLC10−3を処理対象として選択し、図9−2に示されるA1処理を実行する。
(2−2)PLC10−3に接続されるネットワーク
PLC10−3を処理の対象とした図9−2のA1処理では、PLC10−3に接続するコントローラ間ネットワークNo.1(22A)は、図9−3のA2処理をまだ実行していないので、ネットワークをさらに情報収集できるか制約を確認する。図12は、ネットワークの情報収集の制約の一例を示す図である。図1のPLC10−3に接続するネットワークであるコントローラ間ネットワークNo.1(22A)は、図12のどの制約にも該当しないので、オンラインネットワーク構成情報収集部114は、コントローラ間ネットワークNo.1(22A)をA2処理の対象として選択し、図9−3に示されるA2処理を実行する。
(2−3)コントローラ間ネットワークNo.1について
コントローラ間ネットワークNo.1(22A)を処理の対象とした図9−3のA2処理では、まず、オンラインネットワーク構成情報収集部114は、コントローラ間ネットワークNo.1に接続している管理局であるPLC10−3が保持するプロジェクト情報のうちシステム構成情報を読み出す。しかし、ここでは既にPLC10−3のシステム構成情報のうち、図11にPLCデータP3b,P3nが出力されているため、改めて読み出す必要がない。そこで、管理局PLC(すなわち、PLC10−3)のシステム構成情報のうち接続ネットワーク情報P3nには、コントローラ間ネットワークNo.1に接続するPLCの総局数に関する情報が含まれているので、総局数「3」を抽出する。
その後、オンラインネットワーク構成情報収集部114は、「PLC10−3→コントローラ間ネットワークNo.1→各局」の経路で、それぞれの局番のPLCが保持するプロジェクト情報のうちシステム構成情報を読み出す。つまり、ここでは新たにPLC10−4とPLC10−1の情報が収集される。
その後、オンラインネットワーク構成情報収集部114は、これら抽出した情報から、ネットワーク情報を生成し、ネットワークデータM1として、オンラインネットワーク構成情報保持部116に出力する。つまり、オンラインネットワーク構成情報収集部114は、既にオンラインネットワーク構成情報保持部116に格納されているPLC10−3の通信ユニット11−3についての情報と、抽出したPLC10−4,10−1の通信ユニット11−1A,11−4Bについての情報と、を用いて、図11のネットワークデータM1に示されるコントローラ間ネットワークNo.1についてのネットワーク情報を作成する。
ついで、オンラインネットワーク構成情報収集部114は、新たに収集されたPLC10−4,10−1に関するデータのうち全てのデータについて、オンライン接続経路保持部115またはオンラインネットワーク構成情報保持部116に対してデータを出力したか否かを判定する。ここでは、PLC10−4,10−1のどちらのデータも、オンライン接続経路保持部115とオンラインネットワーク構成情報保持部116にまだ出力されていない。そのため、それぞれのPLC10−4,10−1の読み出しを行った経路をそれぞれ接続経路P4c,P1cとしてオンライン接続経路保持部115に出力し、それぞれのPLC10−4,10−1のPLCデータを、オンラインネットワーク構成情報保持部116にそれぞれベース情報P4b,P1b、接続ネットワーク情報P4n,P1nとして出力する。
その後、オンラインネットワーク構成情報収集部114は、情報収集を行ったPLC10−4,10−1に関してネットワークをさらに情報収集できるか判定する。なお、ここでは、ネットワークをさらに情報収集できるか判定を行うPLCがPLC10−4(局番2)とPLC10−1(局番3)であるが、どちらのPLCから処理を行ってもよい。つまり、処理の優先度はない。この例では、局番順に処理を行うものとし、局番2のPLC10−4についての処理が終了した後に、局番3のPLC10−1についての処理を行うものとする。
(2−4)PLC10−4
まずPLC10−4に関して、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。PLC10−4に関しては、図12の制約に該当しないので、PLC10−4を処理の対象として選択し、図9−2のA1処理を実行する。
(2−4−1)A1処理
PLC10−4を処理の対象としたA1処理では、PLC10−4の接続するネットワークのうち、コントローラ間ネットワークNo.1のデータは、オンラインネットワーク構成情報保持部116に既にネットワークデータM1として出力されており、A2処理が実行されているが、フィールドネットワーク23についてはまだA2処理が実行されていない。そのため、オンラインネットワーク構成情報収集部114は、フィールドネットワーク23について、ネットワークをさらに情報収集できるか図12を用いて制約を確認する。ここでは制約に該当しないので、フィールドネットワーク23を処理の対象として選択し、図9−3のA2処理を実行する。
(2−4−2)A2処理
ついで、フィールドネットワーク23を処理の対象としたA2処理では、フィールドネットワーク23に接続しているマスタ局PLCであるPLC10−4が保持するプロジェクト情報のうちシステム構成情報を読み出す。しかし、PLC10−4のシステム構成情報のうち、ベース情報P4bと接続ネットワーク情報P4nのデータは既に出力しているため、改めて読み出す必要がない。そこで、すでに出力しているマスタ局のPLC10−4のシステム構成情報の接続ネットワーク情報P4nから、フィールドネットワーク23に接続するPLCの総局数「2」を抽出する。
その後、オンラインネットワーク構成情報収集部114は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−4→フィールドネットワーク23→各局」の経路で、それぞれの局番のPLCが保持するプロジェクト情報のうちシステム構成情報を読み出す。つまり、ここでは新たにPLC10−5の情報が収集される。
(2−4−3)フィールドネットワーク23→PLC10−5
新たに読み出したPLC10−5のシステム構成情報には、ベース情報として、スロット1にCPUユニット、スロット2にI/Oユニット12−5、スロット3にフィールドネットワーク23で通信するための通信ユニット11−5A、スロット4にコントローラ間ネットワーク22Bで通信するための通信ユニット11−5B、という情報が含まれている。また、接続ネットワーク情報として、フィールドネットワーク23、ローカル局1、という情報と、コントローラ間ネットワークNo.2、局番3、通常局、という情報が含まれている。そして、オンラインネットワーク構成情報収集部114は、これらの抽出したシステム構成情報と、既に出力されたPLC10−4についてのシステム構成情報とから、フィールドネットワーク23に関するネットワーク情報を作成し、図11に示されるネットワークデータCとしてオンラインネットワーク構成情報保持部116に出力する。
ついで、オンラインネットワーク構成情報収集部114は、新たに情報収集されたPLC10−5に関して、オンライン接続経路保持部115またはオンラインネットワーク構成情報保持部116に対してデータを出力したか否かを判定する。ここでは、PLC10−5のデータを出力していないので、読み出しを行った経路をオンライン接続経路保持部115に接続経路P5cとして出力し、PLCデータをオンラインネットワーク構成情報保持部116にベース情報P5b、接続ネットワーク情報P5nとして出力する。
その後、オンラインネットワーク構成情報収集部114は、情報収集を行ったPLC10−5に関して、ネットワークをさらに情報収集できるか図12の制約に基づいて確認する。ここでは制約Bに該当するので、フィールドネットワーク23を処理の対象としたA2処理を終了する。そして、(2−4)のPLC10−4を処理の対象としたA1処理も終了する。
(2−5)PLC10−1
つぎに、PLC10−1に関して、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。PLC10−1に関しては、図12の制約に該当しないので、PLC10−1を処理の対象として選択し、図9−2のA1処理を実行する。
PLC10−1を処理の対象としたA1処理では、PLC10−1の接続するネットワークのうちコントローラ間ネットワークNo.2も情報系ネットワークNo.3も、まだA2処理が実行されていない。そのため、オンラインネットワーク構成情報収集部114は、所定の基準で設定された優先度に基づいて処理の対象となるPLCを選択し、処理を行う。図13は、ネットワーク情報出力処理の優先度の一例を示す図である。この例では、PLCが接続される可能性が最も高いコントローラ間ネットワーク22A,22Bを最も処理の優先度を高く設定し、フィールドネットワーク23、情報系ネットワーク21の順に処理の優先度を低くしている。
(2−6)コントローラ間ネットワークNo.2
オンラインネットワーク構成情報収集部114は、図13の優先度にしたがって、コントローラ間ネットワークNo.2を選択し、ネットワークをさらに情報収集できるかについて図12を用いて制約を確認する。ここでは制約に該当しないので、コントローラ間ネットワークNo.2を処理の対象として図9−3のA2処理を実行する。
このコントローラ間ネットワークNo.2を処理の対象としたA2処理では、オンラインネットワーク構成情報収集部114は、コントローラ間ネットワークNo.2に接続している管理局であるPLC10−2が保持するプロジェクト情報のうちシステム構成情報を読み出す。そのシステム構成情報のうち接続ネットワーク情報には、コントローラ間ネットワークNo.2に接続するPLCの総局数に関する情報が含まれているので、総局数「3」を抽出する。
その後、オンラインネットワーク構成情報収集部114は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→各局」の経路で、それぞれの局番のPLCが保持するプロジェクト情報のうちシステム構成情報を読み出す。つまり、ここではPLC10−2,10−5の情報が収集される。
新たに読み出したPLC10−2のシステム構成情報には、ベース情報として、スロット1にCPUユニット、スロット2にコントローラ間ネットワークNo.2で通信するための通信ユニット11−2A、スロット3に情報系ネットワークNo.3で通信するための通信ユニット11−2B、という情報が含まれている。また、接続ネットワーク情報として、コントローラ間ネットワークNo.2、局番1、管理局、という情報と、情報系ネットワークNo.3、局番2、IPアドレス、という情報が含まれている。
また、PLC10−5のシステム構成情報には、ベース情報として、スロット1にCPUユニット、スロット2にI/Oユニット12−5、スロット3にフィールドネットワーク23で通信するための通信ユニット11−5A、スロット4にコントローラ間ネットワークNo.2で通信するための通信ユニット11−5B、という情報が格納されている。また、接続ネットワーク情報として、フィールドネットワーク、ローカル局1、という情報と、コントローラ間ネットワークNo.2、局番3、通常局、という情報が格納されている。
そして、オンラインネットワーク構成情報収集部114は、これらの抽出したシステム情報と、オンラインネットワーク構成情報保持部116に既に格納されているPLC10−1に関するPLCデータとから、コントローラ間ネットワークNo.2についてのネットワーク情報を作成し、ネットワークデータM2としてオンラインネットワーク構成情報保持部116に出力する。
ついで、新たに情報収集されたシステム構成情報のうち、PLC10−5のデータに関しては既にデータ出力されているが、PLC10−2のデータに関してはまだ出力されていない。そのため、PLC10−2の読み出しを行った経路を接続経路P2cとしてオンライン接続経路保持部115に出力し、PLCデータをオンラインネットワーク構成情報保持部116にベース情報P2b、接続ネットワーク情報P2nとして出力する。
(2−7)PLC10−2
その後、PLC10−2に関して、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。PLC10−2に関しては、図12の制約に該当しないので、PLC10−2を処理の対象として選択し、図9−2のA1処理を実行する。
PLC10−2を処理の対象としたA1処理では、PLC10−2の接続するネットワークのうち情報系ネットワークNo.3について、まだA2処理が実行されていない。そのため、オンラインネットワーク構成情報収集部114は、ネットワークをさらに情報収集できるか図12の制約を確認する。ここでは、制約Cに該当するので、情報収集できるネットワークはない。そのため、PLC10−2のPLCデータを用いて情報系ネットワークNo.3について作成できる範囲でのネットワーク情報を作成し、ネットワークデータE3−2としてオンラインネットワーク構成情報保持部116に出力する。以上により、PLC10−2を処理の対象としたA1処理を終了する。また、(2−6)のコントローラ間ネットワークNo.2を処理の対象としたA2処理も終了する。
(2−8)情報系ネットワークNo.3
つぎに、情報系ネットワークNo.3に関して、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。情報系ネットワーク21は制約Cに該当するので、情報系ネットワークNo.3について、作成できる範囲でのネットワーク情報を作成し、ネットワークデータE3−1としてオンラインネットワーク構成情報保持部116に出力する。以上により、(2−5)のPLC10−1を処理の対象としたA1処理を終了する。また、(2−3)のコントローラ間ネットワークNo.1を処理の対象としたA2処理を終了する。さらに、(2−2)のPLC10−3を処理の対象としたA1処理を終了する。
その後、オンラインネットワーク構成情報収集部114は、出力されたデータの整合性を処理する。この例では、ネットワークをさらに情報収集できるかの図12の制約Cによって、情報系ネットワークNo.3に関するネットワークデータが、図11に示されるようにネットワークデータE3−1,E3−2として個別に出力されている。そのため、これらを集約してネットワークデータE3とする処理を行う。以上によってネットワーク構成情報収集処理を終了する。
(PLCグリッド配置処理)
(1)処理の概要
図14−1〜図14−5は、表示オブジェクト座標算出処理手順の一例を示すフローチャートである。なお、以下の説明では、上述したグリッドモデルを用いて表示オブジェクトの座標算出処理が行われるものとする。
図14−1を参照して、表示オブジェクト座標算出処理手順の概要を説明する。まず、表示オブジェクト座標算出部117のネットワークグリッド配置機能1172は、グリッドモデル上でオンラインネットワーク構成情報保持部116に格納されたネットワーク情報を用いて、所定の規則にしたがったネットワークグリッド配置処理を実行する(ステップS111)。
ついで、PLCグリッド配置機能1173は、グリッドモデル上でオンラインネットワーク構成情報保持部116に格納されたベース情報を用いて、所定の規則にしたがってPLCグリッドと配線グリッドを配置するPLCグリッド配置処理を実行する(ステップS112)。このPLCグリッド配置処理では、ステップS111で配置されたネットワークグリッドに対して、PLCグリッドと配線グリッドとを配置する。これらのステップS111のネットワークグリッド配置処理と、ステップS112のPLCグリッド配置処理の結果は、グリッドモデル保持機能1171に格納される。
その後、グリッドサイズ算出機能1174は、ベース情報とグリッドを配置するための所定の規則に基づいて、各グリッドについてのサイズを算出し、その結果をグリッドモデル保持機能1171に格納する(ステップS113)。そして、グリッド座標算出機能1175は、グリッドモデル保持機能1171に格納されたグリッドサイズに基づいて、表示部112上にグリッドを表示するための座標を算出し(ステップS114)、表示オブジェクト座標算出処理が終了する。
以下に、図14−1に示される各ステップにおける処理の詳細について説明する。図14−2は、ネットワークグリッド配置処理手順の一例を示すフローチャートである。まず、表示オブジェクト座標算出部117のネットワークグリッド配置機能1172は、オンラインネットワーク構成情報保持部116のネットワークデータを参照し、ネットワークを抽出する(ステップS131)。
ついで、抽出したネットワークを上からネットワーク番号順にソートし(ステップS132)、ネットワーク番号が付されていないフィールドネットワークは下位にソートする(ステップS133)。そして、ソートが完了した順にネットワークグリッドを配置し(ステップS134)、その結果をグリッドモデル保持機能1171に格納して、ネットワークグリッド配置処理が終了する。
図14−3は、PLCグリッド配置処理手順の一例を示すフローチャートである。PLCグリッド配置機能1173は、オンラインネットワーク構成情報保持部116のベース情報からPLCを抽出する(ステップS151)。ついで、抽出したPLCの中から、ステップS111のネットワークグリッド配置処理で最も下位に配置されるネットワークを選択する(ステップS152)。その後、選択したネットワークに接続されるPLCを選択し(ステップS153)、この中から局番の最も小さいPLCを選択する(ステップS154)。そして、ステップS152で選択したネットワークグリッドの左下のグリッドから順に詰めて、選択したPLCグリッドと配線グリッドとを配置する(ステップS155)。このとき、PLCグリッドとネットワークグリッドの間に配線グリッドを配置する。また、PLCグリッドがステップS152で選択したネットワークだけでなく、他のネットワークにも接続している場合には、そのネットワークに至るまで上方向に配線グリッドを配置する。
その後、ステップS152で選択したネットワークに接続するPLCのうち他のPLCが存在するか否かを判定する(ステップS156)。他のPLCが存在する場合(ステップS156でYesの場合)には、つぎに局番の小さなPLCを選択し(ステップS157)、ステップS155へと戻って、ステップS152で選択したネットワークに接続するPLCがなくなるまで、同じ処理が繰り返し行われる。
また、ステップS156で他のPLCが存在しない場合(ステップS156でNoの場合)には、他のネットワークが存在するか否かを判定する(ステップS158)。他のネットワークが存在する場合(ステップS158でYesの場合)には、ステップS111のネットワークグリッド配置処理で、つぎに下位に配置されるネットワークを選択し(ステップS159)、ステップS153へと戻り、最も上位に配置されるネットワークについてPLCグリッドと配線グリッドを配置するまで上述した処理が繰り返し実行される。また、他のネットワークが存在しない場合(ステップS158でNoの場合)には、PLCグリッドと配線グリッドの配置結果をグリッドモデル保持機能1171に格納し(ステップS160)、PLCグリッド配置処理が終了する。
図14−4は、グリッドサイズ算出処理手順の一例を示すフローチャートである。まず、グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に格納されたグリッドモデルからPLCグリッドを1つ選択する(ステップS171)。ついで、選択したPLCグリッドに対応するPLCについて、オンラインネットワーク構成情報保持部116からベース情報を読み取り、増設ベース情報を含めてPLCグリッドの表示に必要な縦サイズと横サイズを算出する(ステップS172)。ここで、ベースに装着される最小の寸法を有する1つのユニットを基準ユニットとして矩形で表し、ベース上に装着されるユニットや増設ベースを、この基準ユニットの倍数で計算する。たとえば、基準ユニットの上下方向(以下、縦方向と言う)のサイズは10であり、左右方向(以下、横方向と言う)のサイズは10であるとすると、ベースに3つのユニットが装着されている場合には、縦サイズは10であり、横サイズは30となる。また、増設ベースが装着されている場合には、縦方向に重ねて描くので、縦サイズが延びて20となる。
その後、グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に格納されたグリッドモデルには、他のPLCグリッドが存在するか否かを判定する(ステップS173)。他のPLCグリッドが存在する場合(ステップS173でYesの場合)には、ステップS171へと戻り、選択されないPLCグリッドがなくなるまで、上述した処理が繰り返し実行される。
また、他のPLCグリッドが存在しない場合(ステップS173でNoの場合)には、グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に格納された配線グリッドを1つ選択する(ステップS174)。選択した配線グリッドに対して、縦サイズと横サイズを算出する(ステップS175)。ここでは、配線グリッドの縦サイズを予め定められる所定の値とし、横サイズはその配線グリッドの下部に配置されるPLCグリッドの横サイズと同一にする。
その後、グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に格納されたグリッドモデルには、他の配線グリッドが存在するか否かを判定する(ステップS176)。他の配線グリッドが存在する場合(ステップS176でYesの場合)には、ステップS174へと戻り、選択されない配線グリッドがなくなるまで、上述した処理が繰り返し実行される。
また、他の配線グリッドが存在しない場合(ステップS176でNoの場合)には、グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に格納されたネットワークグリッドを1つ選択する(ステップS177)。選択したネットワークグリッドに対して、縦サイズと横サイズを算出する(ステップS178)。ここでは、ネットワークグリッドの縦サイズを予め定められる所定の値とし、横サイズは、その下部に配置される配線グリッドを包含するサイズとする。
その後、グリッドサイズ算出機能1174は、グリッドモデル保持機能1171に格納されたグリッドモデルには、他のネットワークユニットが存在するか否かを判定する(ステップS179)。他のネットワークグリッドが存在する場合(ステップS179でYesの場合)には、ステップS177へと戻り、選択されないネットワークグリッドがなくなるまで、上述した処理が繰り返し実行される。
また、他のネットワークグリッドが存在しない場合(ステップS179でNoの場合)には、グリッドサイズ算出機能1174は、上記で算出されたグリッドサイズを含むグリッドモデルを、グリッドモデル保持機能1171に格納して(ステップS180)、グリッドサイズ算出処理が終了する。
図14−5は、グリッド座標算出処理手順の一例を示すフローチャートである。グリッド座標算出機能1175は、グリッドモデル保持機能1171に格納されたグリッドサイズが付加されたグリッドモデルを読み込み(ステップS191)、グリッドモデルの左上から順にグリッドサイズを加算してグリッド座標を算出する(ステップS192)。以上により、グリッド座標算出処理が終了する。
(2)処理の具体例
上述した説明では、表示オブジェクト座標算出処理の概要を述べたものであるので、この処理の具体例を図1の構成を有する制御システムの場合を例に挙げて以下に説明する。なお、ここでは、図10の接続経路情報と図11のネットワーク構成情報とを用いて、表示オブジェクトの座標算出処理を行うものとする。
(2−1)ネットワークグリッド配置処理
まず、オンラインネットワーク構成情報保持部116に格納される図11のネットワーク構成情報から、データ種別が「ネットワーク」となっているネットワークデータM1,M2,C,E3を参照し、コントローラ間ネットワークNo.1、コントローラ間ネットワークNo.2、フィールドネットワーク、情報系ネットワークNo.3を抽出する。
ついで、抽出したネットワークをネットワーク番号順にソートする。この場合、上に配置されるネットワークから順に、「コントローラ間ネットワークNo.1(22A)→コントローラ間ネットワークNo.2(22B)→情報系ネットワークNo.3(21)→フィールドネットワーク(23)(括弧内の数字は、図1での符号である)」となる。そして、ソートが完了した順にネットワークグリッドを配置する。図15は、ネットワークグリッド配置処理の結果を示す図である。この図の状態では、上下の配置関係だけが確定しており、左右の配置関係はまだ確定していない状態にある。
(2−2)PLCグリッド配置処理
図16−1〜図16−5は、PLCグリッド配置処理の手順の一例を示す図である。以下、これらの図16−1〜図16−5を参照しながら、PLCグリッドの配置処理について説明する。
まず、表示オブジェクト座標算出部117のPLCグリッド配置機能1173は、図11のオンラインネットワーク構成情報保持部116からデータ種別が「PLCネットワーク」となっている接続ネットワーク情報P3n,P1n,P4n,P2n,P5nを抽出する。
ついで、抽出した接続ネットワーク情報から、図15で最下位に配置されているネットワークであるフィールドネットワークに接続するPLCを取得する。ここでは、PLC10−4(接続ネットワーク情報P4n)とPLC10−5(接続ネットワーク情報P5n)が取得される。これらのPLC10−4(マスタ局)とPLC10−5(ローカル局1)のうち、局番の小さなPLCから処理を行うが、ここでは、フィールドネットワークであるため、マスタ局を最初に処理し、つぎにローカル局の局番順に処理を行う。そのため、PLC10−4から処理を行う。
PLC10−4グリッドと配線グリッドを、図15のフィールドネットワークグリッドの左下に詰めて配置する。なお、図11の接続ネットワーク情報P4nに示されるように、PLC10−4はコントローラ間ネットワークNo.1にも接続しているため、PLC10−4グリッドからコントローラ間ネットワークNo.1グリッドにかけても配線グリッドaを配置する。このとき、PLC10−4グリッドと各ネットワークグリッドと各配線グリッドaの幅は同一となっている。この結果が、図16−1に示されている。
つぎに、ローカル局であるPLC10−5の処理を行う。PLC10−5グリッドと配線グリッドbを、図16−1のフィールドネットワークグリッドの左下に詰めて配置する。なお、図11の接続ネットワーク情報P5nに示されるように、PLC10−5はコントローラ間ネットワークNo.2にも接続しているため、PLC10−5グリッドからコントローラ間ネットワークNo.2グリッドにかけても配線グリッドbを配置する。このとき、フィールドネットワークよりも上位のネットワークグリッドは、PLC10−4グリッドとPLC10−5グリッドとを包含するように、横方向の幅が伸びる。この結果が、図16−2に示されている。フィールドネットワークに接続されるPLCは以上であるので、フィールドネットワークでのPLCグリッドと配線グリッドの配置処理を終了する。
ついで、フィールドネットワークの上位に配置されるネットワークとして情報系ネットワークNo.3が選択され、この情報系ネットワークNo.3に接続するPLC(PLC10−1,10−2)を取得する。ここでは、まだ配置されていないPLC10−1(接続ネットワーク情報P1n、局番1)とPLC10−2(接続ネットワーク情報P2n、局番2)について、PLCグリッドの配置処理を行う。ここでは、局番の小さい順、すなわちPLC10−1→PLC10−2の順で処理を行う。
まず、PLC10−1グリッドと配線グリッドcを、図16−2の情報系ネットワークNo.3グリッドの左下に詰めて配置する。このとき既に情報系ネットワークNo.3の下部にはPLC10−4とPLC10−5の配線グリッドa,bが配置されているので、PLC10−5よりも右の位置にPLC10−1グリッドと配線グリッドcを配置する。
ここで、より下位に配置されているネットワークにおける局番順を配置の優先とし、より下位に配置されているPLCグリッドの配置関係を分割するような配置を行わないことを条件とする。このとき同時に、より上位に配置されているネットワークへの配線も行うため、そのネットワークにおいては、既に配置されている状況によって必ずしも局番順にならない可能性がある。
また、図11の接続ネットワーク情報P1nに示されるように、PLC10−1はコントローラ間ネットワークNo.2,No.1にも接続しているため、PLC10−1グリッドからコントローラ間ネットワークNo.2グリッドおよびコントローラ間ネットワークNo.1グリッドにかけて配線グリッドcを配置する。この結果が図16−3に示されている。
つぎに局番の小さなPLC10−2グリッドの配置処理を行う。PLC10−2グリッドと配線グリッドdを、図16−3の情報系ネットワークNo.3グリッドの左下に詰めて配置する。このとき既に情報系ネットワークNo.3にはPLC10−4グリッド、PLC10−5グリッドおよびPLC10−1グリッドの配線グリッドa,b,cが配置されている。そのため、上述した制約の下では、PLC10−1の右側にPLC10−2グリッドと配線グリッドdを配置する。なお、図11の接続ネットワーク情報P2nに示されるように、PLC10−2はコントローラ間ネットワークNo.2にも接続しているため、PLC10−2グリッドからコントローラ間ネットワークNo.2グリッドにかけて配線グリッドdを配置する。この結果が図16−4に示されている。情報系ネットワークNo.3に接続されるPLCは以上であるので、情報系ネットワークNo.3でのPLCグリッドと配線グリッドの配置処理を終了する。
ついで、情報系ネットワークNo.3の上位に配置されるネットワークとしてコントローラ間ネットワークNo.2が選択されるが、このコントローラ間ネットワークNo.2に接続するPLC(PLC10−2,10−1,10−5)のうち、まだ配置されていないPLCはない。そのため、さらにその上位に配置されているコントローラ間ネットワークNo.1が選択される。このコントローラ間ネットワークNo.1に接続するPLC(PLC10−3,10−1,10−4)のうち、まだ配置されていないPLCは、PLC10−3(接続ネットワーク情報P3n)である。そこで、このPLC10−3についてPLCグリッドと配線グリッドeの配置処理を行う。コントローラ間ネットワークの場合には、通常、管理局、通常局に関係なく、局番順に(局番の小さいPLCから順に)処理を行うことができる。しかし、この例では、コントローラ間ネットワークNo.1に接続され、まだ配置されていない処理対象のPLCは1つであるので、ここではPLC10−3の配置処理を行うだけである。
PLC10−3グリッドと配線グリッドeを、図16−4のコントローラ間ネットワークNo.1グリッドの左下に詰めて配置する。このとき既にコントローラ間ネットワークNo.1にはPLC10−4,10−1の配線グリッドa,cが配置されているが、その間のグリッドが空いているので、左下に詰めて配置すると、その空いているグリッドにPLC10−3グリッドと配線グリッドeとが配置されることになる。この結果が、図16−5に示されている。
コントローラ間ネットワークNo.1に接続されるPLCは以上であるので、コントローラ間ネットワークNo.1でのPLCグリッドと配線グリッドの配置処理を終了する。また、コントローラ間ネットワークNo.1が最上位のネットワークであるので、以上でPLCグリッドの配置処理を終了する。
(2−3)グリッドサイズ算出処理
表示オブジェクト座標算出部117のグリッドサイズ算出機能1174は、図16−5のグリッド配置結果に対して、各グリッドのサイズを算出する。特に、PLCグリッドに対して、オンラインネットワーク構成情報保持部116のベース情報を用いて、PLCの表示に必要なサイズを算出する。
まず、グリッドサイズ算出機能1174は、PLCグリッドのサイズ算出を行う。このPLCグリッドの算出について、どのPLCから処理を開始するか順序は問わない。この例では、PLC10−1〜PLC10−5の順番にそれぞれのPLCグリッドのサイズ算出を行うものとする。
グリッドサイズ算出機能1174は、図11のオンラインネットワーク構成情報保持部116のPLC10−1のベース情報P1bを参照して、増設ベースがないことを抽出し、グリッドの縦サイズを30と算出する。同時に、ベース情報P1bからベースのスロット数が「4」であることを抽出し、グリッドの横サイズを40と算出する。
PLC10−2についても同様に、ベース情報P2bから増設ベースがないことを抽出し、グリッドの縦サイズを30と算出する。また、ベース情報P2bからベースのスロット数が「3」であることを抽出し、グリッドの横サイズを30と算出する。
PLC10−3について、ベース情報P3bから増設ベースがあることを抽出し、グリッドの縦サイズを60と算出する。同時に、ベース情報P3bからベースのスロット数が「3」、増設ベースのスロット数が「2」であることを抽出し、グリッドの横サイズをサイズの大きなベースに合わせて30と算出する。
PLC10−4について、ベース情報P4bから増設ベースがないことを抽出し、グリッドの縦サイズを30と算出する。また、ベース情報P4bからベースのスロット数が「4」であることを抽出し、グリッドの横サイズを40と算出する。
PLC10−5についても同様に、ベース情報P5bから増設ベースがないことを抽出し、グリッドの縦サイズを30と算出する。同時に、ベース情報P5bからベースのスロット数が「4」であることを抽出し、グリッドの横サイズを40と算出する。
その後、縦方向(配線方向)に並ぶPLCグリッド(配置の関係上、同じ横サイズを共有するPLCグリッド)を抽出し、そのPLCグリッドの横サイズを大きなPLCグリッドの横サイズへと統一する。ここでは、横サイズが30のPLC10−3グリッドと横サイズが40のPLC10−5グリッドとが縦方向(配線方向)に並んでいるので、同じ横サイズを共有するように、PLC10−3グリッドの横サイズをPLC10−5グリッドの横サイズの40に変更する。
つぎに、グリッドサイズ算出機能1174は、配線グリッドのサイズ算出を行う。このとき、配線グリッドについて、縦サイズは固定値10とするが、横サイズについては、それぞれの配線グリッドの下部に配置されるPLCグリッドの横サイズを反映する。また、配線グリッドの横方向にPLCグリッドと配線グリッドが配置される場合には、そのPLCグリッドと配線グリッドの縦サイズの合計サイズの分だけ、縦方向に配線グリッドが伸ばされる。
そして、グリッドサイズ算出機能1174は、ネットワークグリッドのサイズ算出を行う。このネットワークグリッドのサイズ算出について、どのネットワークから処理を開始するか順序は問わない。この例では、上位に配置されたネットワークグリッドから順にサイズ算出を行うものとする。
まず、コントローラ間ネットワークNo.1については、縦サイズは固定値10とし、横サイズは、その下にPLC10−4,10−3,10−1のそれぞれへの配線グリッドa,e,cが配置されているので、それを包含するサイズとする。つまり、PLC10−4グリッド、PLC10−3グリッドおよびPLC10−1グリッドの横サイズはそれぞれ、40,40,40であるので、コントローラ間ネットワークNo.1グリッドの横サイズは120(=40+40+40)となる。
また、コントローラ間ネットワークNo.2についても同様に、縦サイズは固定値10とし、横サイズは、その下にPLC10−5,10−1,10−2のそれぞれへの配線グリッドb,c,dが配置されているので、それを包含するサイズとする。つまり、PLC10−5グリッド、PLC10−1グリッドおよびPLC10−2グリッドの横サイズはそれぞれ、40、40、30であるので、コントローラ間ネットワークNo.2グリッドの横サイズは110(=40+40+30)となる。
さらに、情報系ネットワークNo.3についても同様に、縦サイズは固定値10とし、横サイズは、その下にPLC10−1,10−2のそれぞれへの配線グリッドc,dが配置されているので、それを包含するサイズとする。つまり、PLC10−1グリッドおよびPLC10−2グリッドの横サイズはそれぞれ40、30であるので、情報系ネットワークNo.3グリッドの横サイズは70(=40+30)となる。
また、フィールドネットワークについても同様に、縦サイズは固定値10とし、横のサイズは、その下にPLC10−4,10−5のそれぞれへの配線グリッドa,bが配置されているので、それを包含するサイズとする。つまり、PLC10−4グリッドおよびPLC10−5グリッドの横サイズはそれぞれ40、40であるので、フィールドネットワークグリッドの横サイズは80(=40+40)となる。
図17は、グリッドサイズ算出結果の一例を示す図である。この図17は、以上の結果を図16−5のグリッド配置結果に書込んだものである。この結果は、グリッドモデル保持機能1171に格納される。以上で、グリッドサイズ算出処理が終了する。
(2−4)グリッド座標算出処理
表示オブジェクト座標算出部117のグリッド座標算出機能1175は、グリッドモデル保持機能1171に格納されたグリッドサイズ算出結果を含むグリッドモデルを読出し、グリッドモデルの左上から順にグリッドサイズを加算してグリッド座標を算出する処理を行う。
具体的には、グリッド座標算出機能1175は、読み出した図17のグリッドモデルの左上隅の座標を(0,0)とし、この座標位置に、各グリッドのサイズを加算してゆき、各グリッドの座標を算出する。図18は、グリッド座標算出結果の一例を示す図である。この図18は、図17のグリッドモデルに、左上隅の座標を(0,0)として、各グリッドのサイズを加算していったものである。なお、この図において、原点から右方向をx軸の正方向とし、原点から下方向をy軸の正方向としている。
(システム構成表示処理)
図19は、システム構成表示処理手順の一例を示すフローチャートである。まず、システム構成表示部118は、表示オブジェクト座標算出部117によって算出されたグリッド座標を有するグリッドモデルから、ネットワークグリッドを抽出し、それぞれのネットワークをその座標位置に基づいて表示する(ステップS211)。ここでは、表示部112上のシステム構成を表示する領域の所定の位置を、グリッドモデルの原点(0,0)に対応させ、その点からグリッドモデルのグリッド座標に基づいて、ネットワークを描く。ネットワークは、線で描くものとする。また、各ネットワークに対してその名称を表示する。
ついで、グリッドモデルからPLCグリッドを抽出し、それぞれのPLCグリッドをその座標位置に基づいて表示する(ステップS212)。このPLCグリッドに関しては、グリッドモデルに含まれる座標情報(またはサイズ情報)に基づいて、矩形状のオブジェクトが配置されるものとする。また、このとき、各PLCのベース情報に基づいて、ベースの各スロットに装着されているユニットを区切って表示するとともに、その区切った領域内にそのユニットの名称を表示する処理も行う。
その後、それぞれのPLCとネットワークとを接続する線、すなわち配線を表示する(ステップS213)。この処理は、オンラインネットワーク構成情報保持部116中のベース情報に基づいて、各PLCの通信ユニットと、この通信ユニットに接続されるネットワークとの間を、線で結ぶことによって行われる。以上によって、システム構成表示処理が終了する。そして、このシステム構成表示部118によって作成されたシステム構成情報が、表示部112に表示される。
図20は、システム構成表示処理によって表示部に表示されるシステム構成情報の一例を示す図である。この図20の例では、各PLCの通信ユニット上に、ネットワーク種別の頭文字とネットワーク番号、そのネットワークでの局番号と管理局(マスタ局)か通常局(ローカル局)かを文字列で表示することで、ネットワークパラメータの確認が容易となるようにしている。
また、各PLCが保持するプロジェクト情報を読み出した際に、そのステータス(稼動状況や診断情報)を読み出しておけば、それを図20のシステム構成表示に重畳して表示することも可能である。
この実施の形態1によれば、実際の制御システムを構成する各PLCから収集されたネットワーク構成情報を用いて、解析可能な範囲のネットワークの接続関係やPLCの配置関係を自動的にグラフィック表示するようにしたので、ネットワークのシステム構成図の図面を生成する手間を削減することができるという効果を有する。また、生産設備などの制御システムを構成するネットワークやPLCのシステム構成全体を把握することが容易になるという効果を有する。さらに、PLCから必ず上方向に配線を配置するようにしたので、PLCがどのネットワークにどれだけ属しているかが容易に判別可能となり、制御システムを構成するネットワークやPLCのシステム構成全体の把握やステータスを把握することも容易となるという効果を有する。
なお、上述した説明では、パーソナルコンピュータなどによって構成される制御システムエンジニアリング装置100を制御システムのPLC10に接続する形としたが、制御システムエンジニアリング装置100の機能を、プログラマブルコントローラに接続し、制御システムの稼動状態や制御システムに対する設定を行う表示器に搭載してもよい。このようにすることで、制御システムを構成するネットワークやPLCのシステム構成全体を表示器の画面上に表示することが可能である。
図21は、制御システムエンジニアリング装置の機能を有する表示器のハードウェア構成を示すブロック図である。この表示器150は、所定の画面を表示するための表示部151と、タッチキーなどによる入力部152と、PLC10と通信を行うための通信ポート153と、当該表示器150で設定したデータ(すなわち表示画面プログラム)を記憶するハードディスク装置などからなる記憶部154と、表示部151に表示する処理(すなわち表示画面プログラムを実行し所定の画面を表示する処理、およびシステム構成の設定や管理の処理)を行うためのマイクロプロセッサ155と、その処理に伴う一時データを格納するためのデータ格納メモリ156と、が、表示器150上のバス157に接続されて構成される。なお、入力部152がタッチパネル画面となっている場合には、入力部152と表示部151とが一体となる。
これにより、制御システムエンジニアリング装置100を動作させる情報処理端末を別途に用意してPLC10に接続することなく、制御システムを構成する表示器150上でシステム全体の構成およびステータスを容易に把握することが可能となる。
実施の形態2.
実施の形態1では、ネットワークグリッドをネットワークに付された番号順に配置し、PLCグリッドを選択したネットワーク内の局番の小さいものから順に配置していたが、この実施の形態2では、単なる番号順ではなく、制御システムを構成するネットワークやPLCのシステム構成全体を把握することが容易な配置を自動的に算出して表示することができる制御システムエンジニアリング装置および制御システムエンジニアリング方法について説明する。
図22−1は、この発明にかかる制御システムエンジニアリング装置のネットワークグリッド配置機能の機能構成を模式的に示すブロック図であり、図22−2は、同じくPLCグリッド配置機能の機能構成を模式的に示すブロック図である。
図22−1に示されるようにネットワークグリッド配置機能1172は、ネットワークに接続するPLCのうち、他のネットワークにも接続するPLCを抽出する他ネットワーク接続PLC抽出手段11721と、フィールドネットワークに関連する度合いがより高いネットワークを下方に配置し、情報系ネットワーク21に関連する度合いがより高いネットワークを上方に配置して、制御システムの全体構成を把握しやすい最適な配置へとソートするネットワーク種別ソート手段11722と、を備える。
ここで、フィールドネットワークに関連する度合いとは、そのネットワークに属するPLCのうち、フィールドネットワークにも属するPLCの数(または割合)が多いほど、フィールドネットワークに関連する度合いが高いものとする。また、情報系ネットワークに関連する度合いとは、そのネットワークに属するPLCのうち、情報系ネットワークにも属するPLCの数(または割合)が多いほど、情報系ネットワークに関連する度合いが高いものとする。
また、図22−2に示されるようにPLCグリッド配置機能1173は、選択したネットワークより下位のネットワークに既に配置されているPLCの配置関係を分断しないような配置候補を抽出するPLCグリッド配置候補抽出手段11731と、最も近傍になり局番号の順となる最適な配置を候補から選択するPLCグリッド配置候補選択手段11732と、を備える。なお、その他の構成要素は実施の形態1と同一なのでその説明を省略する。
つぎに、この実施の形態2による処理手順について説明する。この実施の形態2の制御システムエンジニアリング処理では、オンラインネットワーク構成情報収集部114によって収集したネットワーク構成情報のデータ(PLCデータ)を、オンラインネットワーク構成情報保持部116に格納するところまでは、実施の形態1と同じである。しかし、実施の形態2では、このネットワーク構成情報のデータに対して、表示オブジェクト座標算出部117が、ネットワークグリッド配置処理を行う図14−2の処理と、PLCグリッド配置処理を行う図14−3の処理とが、実施の形態1とは異なる。そこで、以下では、ネットワークグリッド配置処理とPLCグリッド配置処理について説明し、他の処理についての説明は同一であるので省略する。
(1)処理の概要
(1−1)ネットワークグリッド配置処理
この実施の形態2では、作成(表示)されるシステム構成情報におけるネットワーク配線の交差をなるべく少なくすることを目的としている。そのために、以下の規則A〜Dの順でネットワークグリッドとPLCグリッドの配置を優先的に行うことを特徴とするものである。
A.制御システムを構成するネットワークやPLCのシステム構成では、イーサネット(登録商標)のような情報系ネットワークと、コントローラ間ネットワークと、フィールドネットワークと、はその使用目的が明確である。つまり、情報系ネットワークはシステムの上位に位置し、コントローラ間ネットワークはシステムの中位に位置し、フィールドネットワークはシステムの下位に位置している。そのため、この実施の形態2では、このような順番でネットワークを配置する。
B.同じネットワークに接続するPLCは、互いに近傍に配置する。特に下位ネットワークでは、1つのネットワークが1つのセルを構成していることが多いので、同じ下位ネットワークに接続するPLCは、互いに近傍に配置する。ここで、セルとは、たとえば制御システムでの処理を機能ごとに分類した際のPLCの固まりのことをいう。たとえば、制御システムが、塗装工程、露光工程、洗浄工程、・・・、などの各工程に分かれている場合に、これらの各工程の処理を行う一つの装置のまとまりを一つのセルという。
C.上位ネットワークに接続するPLCは、セルコントローラの役割を果たすことが多いので、互いに近傍に配置する必要はない。
D.ネットワーク番号や局番号の順に配置する。
図23−1は、この実施の形態2によるネットワークグリッド配置処理手順の一例を示すフローチャートである。まず、ネットワークグリッド配置機能1172は、オンラインネットワーク構成情報保持部116のネットワークデータを参照し、ネットワークを抽出する(ステップS231)。ついで、上記規則Aにしたがって、抽出したネットワークを上から情報系ネットワーク、コントローラ間ネットワーク、フィールドネットワークの種別にソートする(ステップS232)。
ついで、ソートしたネットワーク種別から1つのネットワーク種別を選択する(ステップS233)。そして、他ネットワーク接続PLC抽出手段11721は、選択したネットワーク種別中のそれぞれのネットワークに接続するPLCを抽出する(ステップS234)。
その後、ネットワーク種別ソート手段11722は、各ネットワークについて、他のフィールドネットワークにも接続するPLCの数を計数し、他のフィールドネットワークに接続するPLCの数が多いネットワークほど下に配置する(ステップS235)。
ついで、ネットワーク種別ソート手段11722は、各ネットワークについて、他の情報系ネットワークにも接続するPLCの数を計数し、他の情報系ネットワークに接続するPLCの数が多いネットワークほど上に配置する(ステップS236)。
最後に、ネットワーク種別ソート手段11722は、各ネットワークについて、他のコントローラ間ネットワークにも接続するPLCの数を計数し、他のコントローラ間ネットワークに接続するPLCの数が多いネットワークほど上に配置する(ステップS237)。以上のように、1つのネットワーク種別における各ネットワーク間のソート処理が実行される。
その後、選択されていない他のネットワーク種別が存在するか否かを判定する(ステップS238)。選択されていない他のネットワーク種別が存在する場合(ステップS238でYesの場合)には、ステップS233へと戻り、選択されていない他のネットワーク種別がなくなるまで、上述した処理が繰り返し実行される。
また、選択されていない他のネットワーク種別が存在しない場合(ステップS238でNoの場合)には、ネットワークグリッド配置機能1172は、ソートが完了した順にネットワークグリッドを配置し(ステップS239)、その結果をグリッドモデル保持機能1171に格納し、ネットワークグリッド配置処理が終了する。
(1−2)PLCグリッド配置処理
図23−2〜図23−3は、この実施の形態2によるPLCグリッド配置処理手順の一例を示すフローチャートである。PLCグリッド配置機能1173は、オンラインネットワーク構成情報保持部116のベース情報からPLCを抽出する(ステップS251)。ついで、図23−1のネットワークグリッド配置処理で最も下位に配置されるネットワークを選択する(ステップS252)。その後、選択したネットワークに接続されるPLCを選択し(ステップS253)、この中から局番の最も小さいPLCを選択する(ステップS254)。
PLCグリッド配置機能1173は、選択したネットワークに接続するPLCが既に配置されているか否かを判定する(ステップS255)。そのネットワークに接続するPLCが既に配置されていない場合(ステップS255でNoの場合)には、PLCグリッド配置候補選択手段11732は、抽出したPLCに関して、そのネットワークの左下のグリッドから順に詰めて配線グリッドとPLCグリッドとを配置する(ステップS260)。
また、ステップS255で、そのネットワークに接続するPLCが既に配置されている場合(ステップS255でYesの場合)には、PLCグリッド配置候補抽出手段11731は、そのネットワークよりも下位のネットワークに既に配置されているPLCの配置関係を分断しないような配置候補を抽出できるかを判定する(ステップS256)。
そのネットワークよりも下位のネットワークに既に配置されているPLCの配置関係を分断しないような配置候補を抽出できない場合(ステップS256でNoの場合)には、PLCグリッド配置候補選択手段11732は、そのネットワークの左下のグリッドから順に詰めて配線グリッドとPLCグリッドとを配置する(ステップS260)。
また、ステップS256で、そのネットワークよりも下位のネットワークに既に配置されているPLCの配置関係を分断しないような配置候補を抽出できる場合(ステップS256でYesの場合)には、PLCグリッド配置候補抽出手段11731は、その候補の中から、そのネットワークに既に配置されているPLCと最も近傍になる配置候補を抽出できるかを判定する(ステップS257)。
そのネットワークの既に配置されているPLCと最も近傍になる配置候補を抽出できない場合(ステップS257でNoの場合)には、PLCグリッド配置候補選択手段11732は、そのネットワークの左下のグリッドから順に詰めて配線グリッドとPLCグリッドとを配置する(ステップS260)。
また、ステップS257で、そのネットワークの既に配置されているPLCと最も近傍になる配置候補を抽出できる場合(ステップS257でYesの場合)には、PLCグリッド配置候補抽出手段11731は、その配置候補の中から、そのネットワークに既に配置されているPLCと最も局番号の順となる配置候補を抽出できるかを判定する(ステップS258)。
そのネットワークに既に配置されているPLCと最も局番号の順となる配置候補を抽出できない場合(ステップS258でNoの場合)には、PLCグリッド配置候補選択手段11732は、そのネットワークの左下のグリッドから順に詰めて配線グリッドとPLCグリッドとを配置する(ステップS260)。
また、ステップS258で、そのネットワークに既に配置されているPLCと最も局番号の順となる配置候補を抽出できる場合(ステップS258でYesの場合)には、その配置候補を選択し、PLCグリッド配置候補選択手段11732は、その配置候補に配線グリッドとPLCグリッドとを配置する(ステップS259)。
その後またはステップS260の後、ステップS252で選択したネットワークに接続するPLCのうち他のPLCが存在するか否かを判定する(ステップS261)。他のPLCが存在する場合(ステップS261でYesの場合)には、つぎに局番の小さなPLCを選択し(ステップS262)、ステップS255へと戻って、ステップS252で選択したネットワークに接続するPLCがなくなるまで、同じ処理が繰り返し行われる。
また、ステップS261で他のPLCが存在しない場合(ステップS261でNoの場合)には、他のネットワークが存在するか否かを判定する(ステップS263)。他のネットワークが存在する場合(ステップS263でYesの場合)には、ネットワークグリッド配置処理で、つぎに下位に配置されるネットワークを選択し(ステップS264)、ステップS253へと戻り、最も上位に配置されるネットワークについてPLCグリッドと配線グリッドを配置するまで上述した処理が繰り返し実行される。また、他のネットワークが存在しない場合(ステップS263でNoの場合)には、PLCグリッドと配線グリッドの配置結果をグリッドモデル保持機能1171に格納し(ステップS265)、PLCグリッド配置処理が終了する。
(2)処理の具体例
上述した説明では、ネットワークグリッドとPLCグリッドの配置処理の概要を述べたものであるので、この処理の具体例を図1の構成を有する制御システムの場合を例に挙げて以下に説明する。なお、ここでは、図10の接続経路情報と図11のネットワーク構成情報とを用いて、グリッドの配置処理を行うものとする。
(2−1)ネットワークグリッド配置処理
まず、オンラインネットワーク構成情報保持部116に格納される図11のネットワーク構成情報から、データ種別が「ネットワーク」となっているコントローラ間ネットワークNo.1、コントローラ間ネットワークNo.2、フィールドネットワーク、情報系ネットワークNo.3のネットワークデータM1,M2,C,E3を抽出する。
ついで、上述した規則によって、抽出したネットワークをネットワーク種別にソートする。つまり、情報系ネットワークNo.3、コントローラ間ネットワークNo.1、コントローラ間ネットワークNo.2およびフィールドネットワークの順にソートされる。なお、コントローラ間ネットワークのみ、コントローラ間ネットワークNo.1とコントローラ間ネットワークNo.2の2つのネットワークが存在するので、ここではネットワーク番号順にソートし、その後、このコントローラ間ネットワークの順番をさらにソートする。
まず、他ネットワーク接続PLC抽出手段11721は、オンラインネットワーク構成情報保持部116のネットワークデータM1を参照して、コントローラ間ネットワークNo.1に接続するPLCを抽出する。この結果、PLC10−3,10−1,10−4を得る。同様に、コントローラ間ネットワークNo.2に接続するPLCを抽出し、その結果、PLC10−2,10−1,10−5を得る。
ここで、抽出したPLCのうち他のフィールドネットワークにも接続するPLCの数を計数する。抽出したPLCのうち、フィールドネットワークにも接続するPLCは、PLC10−4,10−5である。そのため、他のフィールドネットワークにも接続するPLCの数は、コントローラ間ネットワークNo.1に関しては、PLC10−4の1個であり、コントローラ間ネットワークNo.2に関しては、PLC10−5の1個である。ネットワーク種別ソート手段11722は、他のフィールドネットワーク23にも接続するPLCの数が多いネットワークを下にソートするが、この基準では、両者ともに同じ数であるので、コントローラ間ネットワークNo.1とコントローラ間ネットワークNo.2とはソートできない。
つぎに、抽出したPLCのうち他の情報系ネットワークにも接続するPLCの数を計数する。抽出したPLCのうち、情報系ネットワークにも接続するPLCは、PLC10−1,10−2である。そのため、他の情報系ネットワークにも接続するPLCの数は、コントローラ間ネットワークNo.1に関しては、PLC10−1の1個であり、コントローラ間ネットワークNo.2に関しては、PLC10−1,10−2の2個である。これより、ネットワーク種別ソート手段11722は、他の情報系ネットワークにも接続するPLCの数が多いネットワークを上にソートするが、この基準によって、コントローラ間ネットワークNo.2をコントローラ間ネットワークNo.1よりも上にソートする。
以上によって、ソートが完了したので、ここでは他のコントローラ間ネットワークに接続するPLCの数でソートする必要はない。
その後、ネットワークグリッド配置機能1172は、ソートが完了した順にネットワークグリッドを配置し、グリッドモデル保持機能1171に格納する。図24は、この実施の形態2によるネットワークグリッド配置処理の結果を示す図である。
(2−2)PLCグリッド配置処理
図25−1〜図25−5は、この実施の形態2によるPLCグリッド配置処理の手順の一例を示す図である。以下、これらの図25−1〜図25−5を参照しながら、PLCグリッドの配置処理について説明する。
まず、表示オブジェクト座標算出部117のPLCグリッド配置機能1173は、図11のオンラインネットワーク構成情報保持部116からデータ種別が「PLCネットワーク」となっている接続ネットワーク情報P3n、P1n、P4n、P2n、P5nを抽出する。
ついで、抽出した接続ネットワーク情報から、図24で最下位に配置されているネットワークであるフィールドネットワークに接続するPLCを取得する。ここでは、PLC10−4(接続ネットワーク情報P4n)とPLC10−5(接続ネットワーク情報P5n)が取得される。これらのPLC10−4(マスタ局)とPLC10−5(ローカル局1)のうち、局番の小さなPLCから処理を行うが、ここでは、フィールドネットワークであるため、マスタ局を先ず処理し、つぎにローカル局の局番順に処理を行う。そのため、PLC10−4→PLC10−5の順で処理を行う。
PLC10−4グリッドと配線グリッドaを、図24のフィールドネットワークグリッドの左下に詰めて配置する。なお、図11の接続ネットワーク情報P4nに示されるように、PLC10−4はコントローラ間ネットワークNo.1にも接続しているため、PLC10−4グリッドからコントローラ間ネットワークNo.1グリッドにかけて配線グリッドaを配置する。このとき、PLC10−4グリッドと各ネットワークグリッドと各配線グリッドの幅は同一となっている。この結果が、図25−1に示されている。
つぎに、ローカル局であるPLC10−5の処理を行う。PLC10−5グリッドと配線グリッドbを、図25−1のフィールドネットワークグリッドの左下に詰めて配置する。このとき、既にフィールドネットワークグリッドにはPLC10−4の配線グリッドaが配置されており、そのネットワークより下位のネットワークに既に配置されているPLCの配置関係を分断しないようなPLC10−5の配置候補としては『PLC10−4の左』と『PLC10−4の右』である。いずれもフィールドネットワークに接続しているPLC10−4に最も近傍となる配置候補である。そして、この中で局番号の順となるのは、PLC10−4がマスタ局であり、PLC10−5がローカル局の局番1であるので、『PLC10−4の右』である。よって、この位置にPLC10−5グリッドと配線グリッドbを配置する。
なお、図11の接続ネットワーク情報に示されるように、PLC10−5はコントローラ間ネットワークNo.2にも接続しているため、PLC10−5グリッドからコントローラ間ネットワークNo.2グリッドにかけても配線グリッドbを配置する。このとき、フィールドネットワークよりも上位のネットワークグリッドは、PLC10−4グリッドとPLC10−5グリッドとを包含するように、横方向の幅が伸びる。この結果が、図25−2に示されている。フィールドネットワークに接続されるPLCは以上であるので、フィールドネットワーク23でのPLCグリッドと配線グリッドの配置処理を終了する。
ついで、図24(図25−2)からフィールドネットワークの上位に配置されるネットワークとしてコントローラ間ネットワークNo.1が選択される。コントローラ間ネットワークNo.1に接続するPLCは、PLC10−1(局番2)、PLC10−3(局番1)、PLC10−4(局番3)であるが、これらのうち、まだ配置されていないのは、PLC10−1とPLC10−3である。そこで、これらのPLC10−1,10−3について、PLCグリッドの配置処理を行う。ここでは、局番の小さい順、すなわちPLC10−3→PLC10−1の順で処理を行う。
まず、PLC10−3グリッドと配線グリッドcを、図25−2のコントローラ間ネットワークNo.1グリッドの左下に詰めて配置する。このとき既にコントローラ間ネットワークNo.1にはPLC10−4,10−5の配線グリッドa,bが配置されており、そのネットワークより下位のネットワーク(フィールドネットワーク)に既に配置されているPLC10−4グリッドとPLC10−5グリッドの配置関係を分断しないようなPLC10−3の配置候補としては、『PLC10−4の左』と『PLC10−5の右』である。この中でコントローラ間ネットワークNo.1に接続しているPLC10−4に最も近傍となるのは『PLC10−4の左』である。よって、この位置にPLC10−3グリッドと配線グリッドcを配置する。この結果が、図25−3に示されている。
ついで、つぎに局番の大きなPLC10−1グリッドの配置処理を行う。PLC10−1グリッドと配線グリッドdを、図25−3のコントローラ間ネットワークNo.1グリッドの左下に詰めて配置する。このとき既にコントローラ間ネットワークNo.1にはPLC10−3,10−4,10−5の配線グリッドc,a,bが配置されており、そのネットワークより下位のネットワーク(フィールドネットワーク)に既に配置されているPLC10−4グリッドとPLC10−5グリッドの配置関係を分断しないようなPLC10−1の配置候補としては、『PLC10−3の左』、『PLC10−3の右(=PLC10−4の左)』、『PLC10−5の右』である。この中でコントローラ間ネットワークNo.1に接続しているPLC10−3,10−4に最も近傍になり、またコントローラ間ネットワークNo.1に既に配置されているPLC10−3(局番1)とPLC10−4(局番3)と最もよい番号順の配置になるのは『PLC10−3の右』である。よって、この位置にPLC10−1グリッドと配線グリッドdを配置する。
なお、図11の接続ネットワーク情報P1nに示されるように、PLC10−1はコントローラ間ネットワークNo.2と情報系ネットワークNo.3にも接続しているため、PLC10−1グリッドからコントローラ間ネットワークNo.2グリッドと情報系ネットワークNo.3グリッドにかけても配線グリッドdを配置する。この結果が図25−4に示されている。コントローラ間ネットワークNo.1グリッドに接続されるPLCは以上であるので、コントローラ間ネットワークNo.1でのPLCグリッドと配線グリッドの配置処理を終了する。
ついで、図24(図25−4)からコントローラ間ネットワークNo.1の上位に配置されるネットワークとしてコントローラ間ネットワークNo.2が選択される。コントローラ間ネットワークNo.2に接続するPLCは、PLC10−1(局番2)、PLC10−2(局番1)、PLC10−5(局番3)であるが、これらうち、まだ配置されていないのは、PLC10−2である。そこで、このPLC10−2についてPLCグリッドと配線グリッドの配置処理を行う。ここで、配置されていないPLCが複数ある場合には、局番の小さいPLCから処理を行う。また、コントローラ間ネットワークの場合には、管理局、通常局に関係なく、局番順に処理を行う。
PLC10−2グリッドと配線グリッドeを、図25−4のコントローラ間ネットワークNo.2グリッドの左下に詰めて配置する。このとき既にコントローラ間ネットワークNo.2にはPLC10−1,10−5の配線グリッドd,bが配置されており、そのネットワークより下位のネットワーク(コントローラ間ネットワークNo.1とフィールドネットワーク)に既に配置されているPLC10−3,10−1,10−4,10−5の配置関係を分断しないようなPLC10−2の配置候補としては、『コントローラ間ネットワークNo.2の下のPLC10−1につながる配線dの左の空きグリッド』、『コントローラ間ネットワークNo.2の下のPLC10−1につながる配線dとPLC10−5につながる配線bの間の空きグリッド』、『コントローラ間ネットワークNo.2の下のPLC10−5につながる配線bの右』である。この中でコントローラ間ネットワークNo.2に接続しているPLC10−1に最も近傍となるのは『コントローラ間ネットワークNo.2の下のPLC10−1につながる配線dとPLC10−5につながる配線bの間の空きグリッド』である。なお、ここでは、上記の候補の中からコントローラ間ネットワークNo.2に既に配置されているPLC10−1(局番2)とPLC10−5(局番3)に対して、最も局番号の順になる配置候補を抽出できないために、上記の『コントローラ間ネットワークNo.2の下のPLC10−1につながる配線dとPLC10−5につながる配線bの間の空きグリッド』が選択される。よって、この位置にPLC10−2グリッドと配線グリッドeを配置する。この結果が、図25−5に示されている。
その後、図24(図25−5)からコントローラ間ネットワークNo.2の上位に配置されるネットワークとして情報系ネットワークNo.3が選択されるが、この情報系ネットワークNo.3に接続するPLC10−1,10−2のうち、まだ配置されていないPLCはない。そして、この情報系ネットワーク21が最上位のネットワークであるので、PLCグリッド配置処理が終了する。
この後、実施の形態1で説明したように、図25−5の結果に対して、グリッドサイズ算出機能1174によって各グリッドのサイズ(特に、PLCグリッドに対して、PLCのベース情報からPLCの表示に必要なサイズ)を算出するグリッドサイズ算出処理を行い、左上から順にグリッドサイズを加算してグリッド座標を算出するグリッド座標算出処理を行う。図26は、図25−5の結果に対して、グリッドサイズとグリッド座標を算出した結果を示す図である。
そして、システム構成表示部118が、上記の結果得られるグリッド座標が付加されたグリッドモデルを読み込んで、表示部112にシステム構成情報を表示する。図27は、システム構成表示処理によって表示されるシステム構成情報の一例を示す図である。この表示画面では、人手によって作成される制御システムのネットワーク構成図に近い状態で表示されるため、つまり、情報系ネットワークを上位に表示し、コントロール間ネットワークを中位に表示し、フィールドネットワークを下位に表示するため、使用者はネットワーク構成から制御システムの構成を実施の形態1の場合に比較して把握しやすくなるという効果を有する。
この実施の形態2によれば、収集されたネットワーク構成情報を、使用者が把握しやすいネットワークの順序で表示するようにしたので、制御システムを構成するネットワークやPLCのシステム構成全体を把握することが容易となるという効果を有する。
図28は、制御システムの他の構成例を示す図である。この図28は、実施の形態1の制御システムを構成するネットワークやPLCのシステム構成全体の例を示す図1に比較して、多数のPLCによって複雑に制御システムが構成されている。この図28のような制御システムのシステム構成情報を、実施の形態1の方法で表示する場合と、実施の形態2の方法で表示する場合とで比較する。
図29は、図28の制御システムを実施の形態1の方法で表示したシステム構成を示す図である。また、図30は、図28の制御システムについて実施の形態2の方法で作成したグリッドモデルを示す図であり、図31は、図30のグリッドモデルに基づいて表示される図28の制御システムのシステム構成を示す図である。
実施の形態1の方法によって表示される図29のシステム構成の表示画面よりも、実施の形態2の方法によって表示される図31のシステム構成の表示画面の方が、制御システムの上位情報系を構成するネットワークが画面の上方に表示され、システムの下位フィールド系を構成するネットワークが下方に表示され、かつ、同じネットワークに接続するPLCがまとまって表示されるので、分かりやすい。つまり、実施の形態1の方法によって表示される図29のシステム構成の表示画面よりも、実施の形態2の方法によって表示される図31の方が、使用者が分かりやすく手で描いた図28のシステム構成図により近い表現となっている。すなわち、この実施の形態2によれば、人間が分かりやすく手で描いたシステム構成図により近い表現のシステム構成情報を、自動的に表示することが可能となる。
実施の形態3.
この実施の形態3では、実施の形態1,2において、どの経路を通って目的とするPLCへ接続したのかについて、具体的な接続経路を表示することができる制御システムエンジニアリング装置および制御システムエンジニアリング方法について説明する。なお、以下の説明では、実施の形態1の結果を用いて説明する。
図32は、この発明にかかる制御システムエンジニアリング装置の実施の形態3の機能構成を模式的に示すブロック図である。この制御システムエンジニアリング装置100は、実施の形態1の図3において、表示オブジェクト座標算出部117によって算出された座標を含むデータと、オンライン接続経路保持部115で保持されている接続経路と、から、起点PLCから目的とするPLCまでの接続経路を表示部112に表示する接続経路表示部120をさらに備える。この接続経路表示部120は、請求の範囲における接続経路表示手段に対応している。なお、実施の形態1と同一の構成要素には同一の符号を付して、その説明を省略している。
つぎに、このような構成を有する制御システムエンジニアリング装置100における起点PLCから対象となるPLCまでの接続経路の表示処理について説明する。図33は、接続経路表示処理手順の一例を示すフローチャートである。また、図34−1〜図34−5は、システム構成情報表示画面における接続経路表示処理の手順の一例を示す図である。なお、この処理は、実施の形態1,2において、システム構成情報の表示処理が行われている状態で実施されるものである。
まず、接続経路表示部120は、起点PLCのオブジェクトの表示部112上の位置を表示オブジェクト座標算出部117から取得し、起点PLCのオブジェクト全体を強調表示する(ステップS271、図34−1)。
ついで、オンライン接続経路保持部115に格納される接続経路から指定されたまたは1つの接続経路情報を選択する(ステップS272)。選択した接続経路情報中の起点PLCからデータ1に記載されるネットワークへの配線を選択する(ステップS273)。そして、この配線に対応する表示部112上での位置を表示オブジェクト座標算出部117から取得し、強調描画する(ステップS274、図34−2)。
その後、接続経路表示部120は、接続経路情報中のデータ1に記載されるネットワークと、データ2に記載されるPLCとを結ぶ配線を選択する(ステップS275)。そして、この配線に対応する表示部112上での位置を表示オブジェクト座標算出部117から取得し、強調描画する(ステップS276、図34−3)。
ついで、接続経路表示部120は、強調描画された2つの配線間のネットワーク部分を強調描画する(ステップS277、図34−4)。その後、データ2に記載されるPLCが、接続経路情報の名称のPLC(終点PLC)であるか否かを判定する(ステップS278)。
データ2に記載されるPLCが終点PLCでない場合(ステップS278でNoの場合)には、接続経路表示部120は、n=1、m=2を設定し(ステップS279)、接続経路情報中のデータ2nに記載されるPLCと、データ2n+1に記載されるネットワークとを結ぶ配線を選択する(ステップS280)。その後、この配線に対応する表示部112上での位置を表示オブジェクト座標演算部から取得し、強調描画する(ステップS281)。
ついで、接続経路表示部120は、接続経路情報中のデータ2m−1に記載されるネットワークと、2mに記載されるPLCとを結ぶ配線を選択する(ステップS282)。その後、この配線に対応する表示部112上での位置を表示オブジェクト座標算出部117から取得し、強調描画する(ステップS283)。そして、接続経路表示部120は、強調描画された2つの配線間のネットワーク部分を強調描画する(ステップS284)。
その後、データ2mに記載されるPLCが、接続経路情報の名称のPLC(終点PLC)であるか否かを判定する(ステップS285)。データ2mに記載されるPLCが終点PLCでない場合(ステップS285でNoの場合)には、接続経路表示部120は、n=n+1、m=m+1に設定した後(ステップS286)、ステップS280へと戻り、上述した処理が繰り返し実行される。
また、ステップS278で、データ2に記載されるPLCが終点PLCである場合(ステップS278でYesの場合)、またはステップS285で、データ2mに記載されるPLCが終点PLCである場合(ステップS285でYesの場合)には、起点PLCと目的とする終点PLCまでの間の接続経路の表示処理が終了する(図34−5)。
この実施の形態3によれば、制御システムを構成するネットワークにおいて、起点PLCから終点PLCまでの接続経路を容易に確認することができるという効果を有する。
実施の形態4.
実施の形態1〜3では、実際の制御システムを構成するPLCに制御システムエンジニアリング装置を接続し、そのPLCを介してオンラインで制御システムのネットワーク構成やPLCのシステム構成の情報を得て、システム構成情報を表示していた。これに対し、この実施の形態4では、オフラインで編集されたシステム構成図に対して、到達可能なPLCを判定することを可能にし、さらには、複数の接続経路が存在する際には通信スループットを参照して最適な経路を自動的に選択することができる制御システムエンジニアリング装置および制御システムエンジニアリング方法について説明する。
図35は、この発明にかかる制御システムエンジニアリング装置の実施の形態4の機能構成を模式的に示すブロック図である。この制御システムエンジニアリング装置100は、通信部111と、表示部112と、起点PLC指定部113と、システム構成編集部121と、オフラインネットワーク構成情報保持部122と、接続経路解析選択部123と、スループットモデル保持部124と、オフライン接続経路保持部125と、表示オブジェクト座標算出部117と、システム構成表示部118と、接続経路表示部120と、これらの各処理部を制御する制御部119と、を備える。
システム構成編集部121は、当該制御システムエンジニアリング装置100上で、オフラインで生産設備などの制御システムを構成するネットワークやPLCのシステム構成全体を設定する画面を使用者に対して提供するとともに、使用者によって設定された内容を管理する。このシステム構成編集部121は、請求の範囲におけるシステム構成編集手段に対応している。
オフラインネットワーク構成情報保持部122は、使用者によってシステム構成編集部121から直接に設定された、制御システムを構成するPLCのネットワークとの接続状態を示す接続ネットワーク情報や、PLCのシステム構成(ベース上に装着されているユニットの構成)を示すベース情報を含むネットワーク構成情報を保持する。このオフラインネットワーク構成情報保持部122に保持される接続ネットワーク情報やネットワーク構成情報を含むネットワーク構成情報は、当該制御システムエンジニアリング装置100が自動的にシステム構成情報をオンラインで収集し、ネットワーク情報を作成するのではなく、既存の制御システムについてのシステム構成情報やネットワーク情報を使用者が制御システムエンジニアリング装置100に直接入力して(オフラインで)得られるので、以下では、オフラインネットワーク構成情報ともいう。このオフラインネットワーク構成情報保持部122は、請求の範囲におけるオフラインネットワーク構成情報保持手段に対応している。
接続経路解析選択部123は、起点PLC指定部113で設定されたPLCを起点として、システム構成編集部121によって設定されたネットワーク構成におけるそれぞれのPLCへの接続経路を解析する。また、複数の接続経路が存在する場合には、スループットモデル保持部124のネットワーク通信スループットデータベースを参照して、最適な方の経路を選択する機能も有する。この接続経路解析選択部123は、請求の範囲における接続経路解析選択手段に対応している。
スループットモデル保持部124は、制御システムの各接続経路における通信スループットを算出する際のスループットモデルをデータベースとして保持する。このスループットモデル保持部124は、請求の範囲におけるスループットモデル保持手段に対応している。
オフライン接続経路保持部125は、接続経路解析選択部123にて解析および選択された、それぞれのPLCへの接続経路(以下、オフライン接続経路ともいう)を保持する。このオフライン接続経路は、実施の形態1の図10の接続経路情報のデータ構成に、スループット評価値をさらに含むことを特徴とする。このオフライン接続経路保持部125は、請求の範囲におけるオフライン接続経路保持手段に対応している。
なお、実施の形態1〜3と同一の構成要素には同一の符号を付して、その説明を省略している。ただし、この実施の形態4では、表示オブジェクト座標算出部117は、オフラインネットワーク構成情報保持部122で保持されるネットワーク構成情報を用いて、表示部112に表示する表示オブジェクトの座標を算出する。
つぎに、このような構成を有する制御システムエンジニアリング装置100での、オフラインでの制御システム構成処理からオフラインでの接続経路表示処理について順に説明する。
(オフラインでの制御システム構成処理)
システム構成編集部121では、グラフィカルユーザインタフェースでのドラッグアンドドロップやウィザードによって、使用者によって入力される制御システムを構成するネットワークやPLCのシステム構成全体を設定する。
システム構成編集部121で設定されたシステム構成データ(以下、オフラインネットワーク構成情報という)は、オフラインネットワーク構成情報保持部122で保持される。このデータ形式は、実施の形態1で説明したオンラインネットワーク構成情報保持部116によって保持されるネットワーク構成情報と同じである。たとえば、1つの要素(ネットワークまたはPLC)を追加する操作を行うと、その要素のデータが、オフラインネットワーク構成情報保持部122で保持されるオフラインネットワーク構成情報に追加される。続けて、要素のデータが追加された後のシステム構成データ全体に対して表示オブジェクト座標算出部117が座標を算出する処理を行って、システム構成を表示部112に表示する。したがって、同じシステム構成を表現する場合には、データ追加の操作の順序によって、生成されるデータの順番が異なるが、データの内容(データの意味するところ)は同じものとなる。
なお、この実施の形態4では、実施の形態1の図1と同じ制御システムの構成を、以下の手順によってオフラインで構築したものとする。まず、PLC10−3を追加し、ついで、コントローラ間ネットワークNo.1(22A)を追加した後に、PLC10−1とPLC10−4を順に追加する。その後、コントローラ間ネットワークNo.2(22B)を追加し、PLC10−2とPLC10−5を順に追加する。そして、フィールドネットワーク(23)を追加した後、情報系ネットワークNo.3(21)を追加する。
その結果として、オフラインネットワーク構成情報保持部122で保持されるオフラインネットワーク構成情報のデータの内容は図11と同じとなり、システム構成の表示も図20(実施の形態2の方法を用いれば、図27)と同じになる。以下では、図20や図27のような表示部112に表示されるシステム構成の画面を、システム構成図ということにする。
(オフライン接続経路解析処理)
(1)処理の概要
オフラインで編集されたシステム構成図に対して、起点となるPLC(制御システムエンジニアリング装置100をどのPLCに接続するか)を、起点PLC指定部113を用いて指定する。その後、接続経路解析選択部123は、起点PLC指定部113で設定されたPLCを起点として、システム構成編集部121によって設定されたネットワーク構成におけるそれぞれのPLCへの接続経路を解析する。以下に、この処理の詳細について説明する。
図36−1〜図36−3は、オフライン接続経路解析処理手順の一例を示すフローチャートである。まず、起点PLC指定部113によって当該制御システムエンジニアリング装置100を接続する接続先PLC(起点PLC)が指定されると(ステップS311)、接続経路解析選択部123は、指定された起点PLCまでの接続経路を出力する(ステップS312)。ついで、指定された起点PLCを処理対象のPLCとして選択し(ステップS313)、この選択したPLCに対して、図36−2に示されるB1処理を実行し(ステップS314)、オフライン接続経路解析処理が終了する。
図36−2は、ステップS314におけるB1処理の手順を示すフローチャートである。まず、接続経路解析選択部123は、処理の対象となるPLCが接続しているネットワークを収集する(ステップS331)。より具体的には、処理の対象となるPLCの接続ネットワーク情報をオフラインネットワーク構成情報保持部122から収集する。ついで、情報収集されたそれぞれのネットワークへの接続経路はループを構成するか否かを判定する(ステップS332)。ここで、ループか否かの判定は、接続経路で同じ要素が複数含まれる場合にはループであると判定し、それ以外の場合にはループでないと判定する。
接続経路がループでない場合(ステップS332でNoの場合)には、図12の制約の下、ネットワークをさらに情報収集できるか否かを判定する(ステップS333)。ネットワークをさらに情報収集できる場合(ステップS333でYesの場合)には、そのネットワークを処理の対象ネットワークとして選択し(ステップS334)、図36−3に示されるB2処理を実行する(ステップS335)。また、ステップS333で、図12の制約に該当し、ネットワークをさらに情報収集できない場合(ステップS333でNoの場合)またはステップS332で、接続経路がループである場合(ステップS332でYesの場合)には、B1処理を終了し、図35の処理に戻る。
図36−3は、図36−2のステップS335におけるB2処理の手順の一例を示すフローチャートである。このB2処理では、接続経路解析選択部123は、まず、処理の対象となるネットワークに接続しているPLCを収集する(ステップS351)。具体的には、処理の対象となるネットワークのネットワーク情報をオフラインネットワーク構成情報保持部122から取得し、このネットワーク情報から処理対象のネットワークに接続されるPLCを収集する。ついで、情報収集されたそれぞれのPLCまでの接続経路はループを構成しているか否かを判定する(ステップS352)。
接続経路がループを構成していない場合(ステップS352でNoの場合)には、最適な接続経路か否かを判定する(ステップS353)。最適な接続経路か否かの判定は、複数の接続経路が存在する場合に、スループットモデル保持部124が保持する通信スループット情報を参照して、通信スループットのよい接続経路であるか否かを判定することによって行われる。その結果、最適な接続経路でない場合(ステップS353でNoの場合)には、その接続経路を出力することなくB1処理を終了し、図36−2の処理に戻る。
また、最適な接続経路である場合(ステップS353でYesの場合)には、その接続経路をオフライン接続経路保持部125に出力し(ステップS354)、図12の制約の下、そのPLCに接続するネットワークをさらに情報収集できるか否かを判定する(ステップS355)。ネットワークをさらに情報収集できない場合(ステップS355でNoの場合)には、B2処理を終了し、図36−2の処理に戻る。また、そのPLCに接続するネットワークをさらに情報収集できる場合(ステップS355でYesの場合)には、そのPLCを処理対象として選択し(ステップS356)、図36−2のB1処理を実行する(ステップS357)。
また、ステップS352で、PLCまでの接続経路がループを構成している場合(ステップS352でYesの場合)には、その接続経路を出力することなくB1処理を終了し、図36−2の処理に戻る。
(2)処理の具体例
上述した説明では、オフライン接続経路解析処理の概要を述べたものであるので、この処理の具体例を図1の構成を有する制御システムの場合を例に挙げて以下に説明する。図37−1〜図37−5は、接続経路解析選択処理の結果、オフライン接続経路保持部に保持される接続経路保持情報の一例を示す図である。また、ここでは、オフラインネットワーク構成情報保持部122は、図11のネットワーク構成情報を保持しているものとする。これらの図11と図37−1〜図37−5に示されるデータは、データ生成の順に示されている。また、ここでも制約として、図12に示される制約が適用されるものとする。
図38は、この実施の形態4によるスループットモデルの例を示す図である。この実施の形態4では、PLCのスループットを1Mbpsであるとし、フィールドネットワークのスループットを0.1Mbpsであるとし、コントローラ間ネットワークのスループットを10Mbpsであるとし、情報系ネットワークのスループットを100Mbpsであるとしている。また、接続経路全体のスループットの評価値の計算方法は、接続経路中に含まれる各要素のスループット値の逆数を加算して求め、この接続経路全体のスループットの評価値が小さい方が、スループットが良いものと判定する。
(2−1)PLC10−3
まず、接続経路解析選択部123は、起点PLC指定部113で指定されたPLC10−3の接続経路P3gを出力する。この接続経路は、終点PLCが起点PLCと同じPLC10−3である接続経路である。そして、スループットモデル保持部124の図38の条件を参照して、スループット評価値を計算すると、PLC10−3は起点PLCであるので、スループット評価値は0となる。この結果が、図37−1に示されている。そして、この起点PLCであるPLC10−3に対して、図36−2のB1処理を実行する。
(2−2)PLC10−3に接続されるネットワーク
PLC10−3を処理の対象としたB1処理では、PLC10−3が接続しているネットワークを収集する。具体的には、図11のオフラインネットワーク構成情報保持部122中の接続ネットワーク情報P3nを読み出す処理を行う。ここでは、コントローラ間ネットワークNo.1が収集される。その後、収集したネットワーク(コントローラ間ネットワークNo.1)までの接続経路を作成し、その接続経路がループか否かを確認する。この場合、接続経路は、「PLC10−3→コントローラ間ネットワークNo.1(22A)」となり、同じPLCが複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、ネットワークをさらに情報収集することができ、コントローラ間ネットワークNo.1を処理の対象として図36−3のB2処理を実行する。
(2−3)コントローラ間ネットワークNo.1に接続されるPLC
コントローラ間ネットワークNo.1を処理の対象としたネットワーク情報出力処理では、コントローラ間ネットワークNo.1に接続しているPLCを収集する。具体的には、図11のオフラインネットワーク構成情報保持部122中のネットワークデータM1の中で、コントローラ間ネットワークNo.1に接続するPLCを検索して抽出する。ここでは、コントローラ間ネットワークNo.1に接続するPLCとして、PLC10−3,10−4,10−1が収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路がループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−4)コントローラ間ネットワークNo.1→PLC10−3
PLC10−3までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−3」であり、同じPLCが複数出現するのでループである。そこで、この接続経路を出力せずに、このPLC10−3についての処理が終了する。
(2−5)コントローラ間ネットワークNo.1→PLC10−4
PLC10−4までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−4」であり、同じ要素が複数出現しないので、ループではない。そこで、最適接続経路として上記の接続経路P4gを出力する。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−4までのスループット評価値は、
(1/1)+(1/10)+(1/1)=2.1
となるので、出力時にこのスループット値を入力する。その後、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、ネットワークをさらに情報収集することができ、PLC10−4を処理の対象として図36−2のB1処理を実行する。
(2−6)PLC10−4に接続されるネットワーク
PLC10−4を処理の対象としたB1処理では、PLC10−4が接続しているネットワークを収集する。具体的には、図11のオフラインネットワーク構成情報中の接続ネットワーク情報P4nに格納されているネットワークを読み出す処理を行う。ここでは、PLC10−4に接続されるネットワークとして、フィールドネットワークとコントローラ間ネットワークNo.1とが収集される。その後、収集したネットワークまでの接続経路を作成し、その接続経路がループか否かを確認する。なお、このネットワークの処理に優先度はなく、順次処理するものとする。
(2−7)PLC10−4→フィールドネットワーク
フィールドネットワーク23までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−4→フィールドネットワーク」となり、同じ要素が複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、ネットワークをさらに情報収集することができ、フィールドネットワークを処理の対象として選択し、図36−3のB2処理を実行する。
(2−8)フィールドネットワークに接続されるPLC
フィールドネットワークを処理の対象としたB2処理では、フィールドネットワークに接続しているPLCを収集する。具体的には、図11のオフラインネットワーク構成情報中のネットワークデータCからフィールドネットワークに接続するPLCを検索して抽出する。ここでは、フィールドネットワークに接続するPLCとして、PLC10−4,10−5が収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路がループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−9)フィールドネットワーク→PLC10−4
PLC10−4までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−4→フィールドネットワーク→PLC10−4」であり、同じPLCが複数出現するのでループである。そこで、この接続経路は出力せずに、このPLC10−4についての処理が終了する。
(2−10)フィールドネットワーク→PLC10−5
PLC10−5までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−4→フィールドネットワーク→PLC10−5」であり、同じ要素が複数出現しないので、ループではない。そこで、最適接続経路として上記の接続経路P5g−1を出力する。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−5までのスループット評価値は、
(1/1)+(1/10)+(1/1)+(1/0.1)+(1/1)=13.1
となるので、出力時にこのスループット値を入力する。この結果が図37−3に示されている。その後、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約Bに該当するので、図36−2のB1処理を実行しない。以上により、(2−8)のフィールドネットワークを処理の対象としたB2処理を終了する。
(2−11)コントローラ間ネットワークNo.1に接続されるPLC
(2−6)でPLC10−4に接続されるネットワークの1つとして収集されたコントローラ間ネットワークNo.1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−4→コントローラ間ネットワークNo.1」となり、同じネットワークが複数出現するので、ループとなっている。そのため、図36−3のB2処理を実行しない。以上により、(2−6)のPLC10−4を処理の対象としたB1処理を終了する。
(2−12)PLC10−1について
(2−3)でコントローラ間ネットワークNo.1に接続するPLCの1つとして収集されたPLC10−1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1」であり、同じ要素が複数出現しないので、ループではない。そこで、最適接続経路として上記の接続経路P1gを出力する。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−1までのスループット評価値は、
(1/1)+(1/10)+(1/1)=2.1
となるので、出力時にこのスループット値を入力する。この結果が、図37−4に示されている。その後、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、ネットワークをさらに情報収集することができ、PLC10−1を処理の対象として図36−2のB1処理を実行する。
(2−13)PLC10−1に接続されるネットワーク
PLC10−1を処理の対象としたB1処理では、PLC10−1が接続しているネットワークを収集する。具体的には、図11のオフラインネットワーク構成情報に格納されている接続ネットワーク情報P1n中のネットワーク情報を読み出す処理を行う。ここでは、PLC10−1に接続されるネットワークとして、コントローラ間ネットワークNo.1、コントローラ間ネットワークNo.2および情報系ネットワークNo.3が収集される。その後、収集したネットワークまでの接続経路を作成し、その接続経路がループか否かを確認する。なお、このネットワークの処理に優先度はなく、順次処理するものとする。
(2−14)PLC10−1→コントローラ間ネットワークNo.1
コントローラ間ネットワークNo.1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.1」となり、同じネットワークが複数出現するので、ループとなっている。そのため、図36−3のB2処理を実行しない。
(2−15)PLC10−1→コントローラ間ネットワークNo.2
コントローラ間ネットワークNo.2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2」となり、同じ要素が複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、ネットワークをさらに情報収集することができ、コントローラ間ネットワークNo.2を処理の対象として選択し、図36−3のB2処理を実行する。
(2−16)コントローラ間ネットワークNo.2に接続されるPLC
コントローラ間ネットワークNo.2を処理の対象としたB2処理では、コントローラ間ネットワークNo.2に接続しているPLCを収集する。具体的には、図11のオフラインネットワーク構成情報中のネットワークデータM2から、コントローラ間ネットワークNo.2に接続するPLCを検索して抽出する。ここでは、コントローラ間ネットワークNo.2に接続するPLCとして、PLC10−2,10−1,10−5が収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路はループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−17)コントローラ間ネットワークNo.2→PLC10−2
PLC10−2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−2」であり、同じ要素が複数出現しないので、ループではない。そこで、最適接続経路として上記の接続経路P2g−1を出力する。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−2までのスループット評価値は、
(1/1)+(1/10)+(1/1)+(1/10)+(1/1)=3.2
となるので、出力時にこのスループット値を入力する。この結果が、図37−5に示されている。その後、PLC10−2に接続するネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、PLC10−2を処理の対象として、図36−2のB1処理を実行する。
(2−18)PLC10−2に接続されるネットワーク
PLC10−2を処理の対象としたB1処理では、PLC10−2が接続しているネットワークを収集する。具体的には、図11のオフラインネットワーク構成情報中の接続ネットワーク情報P2nに格納されているネットワークを読み出す処理を行う。ここでは、PLC10−2に接続されるネットワークとして、コントローラ間ネットワークNo.2と情報系ネットワークNo.3とが収集される。その後、収集したネットワークまでの接続経路を作成し、その接続経路がループか否かを確認する。なお、このネットワークの処理に優先度はなく、順次処理するものとする。
(2−19)PLC10−2→コントローラ間ネットワークNo.2
コントローラ間ネットワークNo.2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−2→コントローラ間ネットワークNo.2」となり、同じネットワークが複数出現するので、ループである。そのため、図36−3のB2処理を実行しない。
(2−20)PLC10−2→情報系ネットワークNo.3
情報系ネットワークNo.3までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−2→情報系ネットワークNo.3」となり、同じ要素が複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、情報系ネットワークNo.3を処理の対象として選択し、図36−3のB2処理を実行する。
(2−21)情報系ネットワークNo.3に接続されるPLC
情報系ネットワークNo.3を処理の対象としたB2処理では、情報系ネットワークNo.3に接続しているPLCを収集する。具体的には、図11のオフラインネットワーク構成情報に格納されるネットワークデータE3中で情報系ネットワークNo.3に接続するPLCを検索して抽出する。ここでは、情報系ネットワークNo.3に接続するPLCとして、PLC10−1,10−2が収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路がループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−22)情報系ネットワークNo.3→PLC10−1
PLC10−1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−2→情報系ネットワークNo.3→PLC10−1」であり、同じPLCが複数出現するのでループである。そこで、この接続経路は出力しない。
(2−23)情報系ネットワークNo.3→PLC10−2
PLC10−2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−2→情報系ネットワークNo.3→PLC10−2」であり、同じPLCが複数出現するのでループである。そこで、この接続経路は出力しない。以上により、(2−20)の情報系ネットワークNo.3を処理の対象としたB2処理が終了する。また、(2−17)のPLC10−2を処理の対象としたB1処理を終了する。
(2−24)コントローラ間ネットワークNo.2→PLC10−1
PLC10−1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−1」であり、同じPLCが複数出現しているので、ループである。そこで、図36−2に示されるB1処理を実行しない。
(2−25)コントローラ間ネットワークNo.2→PLC10−5
PLC10−5までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−5」であり、同じ要素が複数出現しないので、ループではない。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−5までのスループット評価値は、
(1/1)+(1/10)+(1/1)+(1/10)+(1/1)=3.2
となる。ところで、PLC10−5までの経路については、図37−3に示されるように、既に接続経路P5g−1が出力されている。この接続経路P5g−1のスループット値は13.1であるので、今回算出した接続経路の方がスループット値がよい。そこで、既に出力されている接続経路に代わり、スループットが良い今回算出した方を最適接続経路P5gとして出力する。この結果が図37−3に示されている。この図37−3で、接続経路P37−3のデータ内容に取り消し線が付されているのは、削除され、その下のデータが上書きされることを示している。その後、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、PLC10−5を処理の対象として、図36−2のB1処理を実行する。
(2−26)PLC10−5に接続されるネットワーク
PLC10−5を処理の対象としたB1処理では、PLC10−5が接続しているネットワークを収集する。具体的には、図11のオフラインネットワーク構成情報中の接続ネットワーク情報P5nに格納されているネットワークを読み出す処理を行う。ここでは、PLC10−5に接続されるネットワークとして、フィールドネットワークとコントローラ間ネットワークNo.2とが収集される。その後、収集したネットワークまでの接続経路を作成し、それぞれの接続経路がループか否かを確認する。なお、このネットワークの処理に優先度はなく、順次処理するものとする。
(2−27)PLC10−5→フィールドネットワーク
フィールドネットワークまでの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−5→フィールドネットワーク」となり、同じ要素が複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、フィールドネットワークを処理の対象として選択し、図36−3のB2処理を実行する。
(2−28)フィールドネットワークに接続されるPLC
フィールドネットワークを処理の対象としたB2処理では、フィールドネットワークに接続しているPLC情報を収集する。具体的には、図11のオフラインネットワーク構成情報のネットワークデータC中のフィールドネットワークに接続するPLCを検索して抽出する。ここでは、フィールドネットワークに接続するPLCとして、PLC10−4,10−5が収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路はループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−29)フィールドネットワーク→PLC10−4
PLC10−4までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−5→フィールドネットワーク→PLC10−4」であり、同じ要素が複数出現しないので、ループではない。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−4までのスループット評価値は、
(1/1)+(1/10)+(1/1)+(1/10)+(1/1)+(1/0.1)+(1/1)=14.2
となる。ところで、PLC10−4までの経路については、図37−2に示されるように、既に接続経路P4gが出力されている。この接続経路P4gのスループット値は2.1であるので、今回算出した接続経路よりも既存の接続経路の方がスループット値がよい。そこで、スループットが良い既に出力されている接続経路の方を最適接続経路とする(図37−2)。
(2−30)フィールドネットワーク→PLC10−5
PLC10−5までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−5→フィールドネットワーク→PLC10−5」であり、同じPLCが複数出現するので、ループである。そこで、接続経路は出力しない。以上で、(2−28)のフィールドネットワークを処理の対象としたB2処理を終了する。
(2−31)PLC10−5→コントローラ間ネットワークNo.2
コントローラ間ネットワークNo.2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→コントローラ間ネットワークNo.2→PLC10−5→コントローラ間ネットワークNo.2」であり、同じネットワークが複数出現しているので、ループである。そのため、図36−3のB2処理を実行しない。以上により、(2−26)のPLC10−5を処理の対象としたB1処理を終了する。また、(2−16)のコントローラ間ネットワークNo.2を処理の対象とした図36−3のB2処理を終了する。
(2−32)情報系ネットワークNo.3に接続されるPLC
(2−13)でPLC10−1に選択されるネットワークの1つとして収集された情報系ネットワークNo.3までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3」となり、同じ要素が複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、ネットワークをさらに情報収集することができ、情報系ネットワークNo.3を処理の対象として選択し、図36−3のB2処理を実行する。
情報系ネットワークNo.3を処理の対象としたB2処理では、情報系ネットワークNo.3に接続しているPLCを収集する。具体的には、図11のオフラインネットワーク構成情報に格納されるネットワークデータE3の中で情報系ネットワークNo.3に接続するPLCを検索して抽出する。ここでは、情報系ネットワークNo.3に接続するPLCとして、PLC10−1,10−2とが収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路はループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−33)情報系ネットワークNo.3→PLC10−1
PLC10−1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−1」であり、同じPLCが複数出現しているので、ループとなっている。そこで、この接続経路は出力しない。
(2−34)情報系ネットワークNo.3→PLC10−2
PLC10−2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−2」であり、同じ要素が複数出現しないので、ループではない。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−2までのスループット評価値は、
(1/1)+(1/10)+(1/1)+(1/100)+(1/1)=3.11
となる。ところで、PLC10−2までの経路については、図37−5に示されるように、既に接続経路P2g−1が出力されている。この接続経路P2g−1のスループット値は3.2であるので、今回算出された接続経路の方がスループット値が良い。そこで、既に出力されている接続経路P2g−1に代わり、スループットが良い今回計算された方を最適接続経路P2gとして出力する。この結果が、図37−5に示されている。その後、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、PLC10−2を処理の対象として、図36−2のB1処理を実行する。
(2−35)PLC10−2に接続されるネットワーク
PLC10−2を処理の対象としたB1処理では、PLC10−2が接続しているネットワークを収集する。具体的には、図11のオフラインネットワーク構成情報中の接続ネットワーク情報P2nに格納されているネットワークを読み出す処理を行う。ここでは、PLC10−2に接続されるネットワークとして、コントローラ間ネットワークNo.2と情報系ネットワークNo.3とが収集される。その後、収集したネットワークまでの接続経路を作成し、それぞれの接続経路がループか否かを確認する。なお、このネットワークの処理に優先度はなく、順次処理するものとする。
(2−36)PLC10−2→コントローラ間ネットワークNo.2
コントローラ間ネットワークNo.2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−2→コントローラ間ネットワークNo.2」となり、同じ要素が複数出現しないので、ループではない。そこで、ネットワークをさらに情報収集できるか、図12に示される制約を確認する。ここでは制約に該当しないので、コントローラ間ネットワークNo.2を処理の対象として選択し、図36−3のB2処理を実行する。
(2−37)コントローラ間ネットワークNo.2に接続されるPLC
コントローラ間ネットワークNo.2を処理の対象としたB2処理では、コントローラ間ネットワークNo.2に接続しているPLC情報を収集する。具体的には、図11のオフラインネットワーク構成情報に格納されるネットワークデータM2の中でコントローラ間ネットワークNo.2に接続するPLCを検索して抽出する。ここでは、コントローラ間ネットワークNo.2に接続するPLCとして、PLC10−2,10−1,10−5が収集される。その後、収集したPLCまでの接続経路を作成し、それぞれのPLCへの接続経路はループか否かを確認する。このPLCの処理に優先度はなく、順次処理するものとする。
(2−38)コントローラ間ネットワークNo.2→PLC10−2
PLC10−2までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−2→コントローラ間ネットワークNo.2→PLC10−2」であり、同じPLCが複数出現するので、ループである。そこで、接続経路は出力しない。
(2−39)コントローラ間ネットワークNo.2→PLC10−1
PLC10−1までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−2→コントローラ間ネットワークNo.2→PLC10−1」であり、同じPLCが複数出現するので、ループである。そこで、接続経路は出力しない。
(2−40)コントローラ間ネットワークNo.2→PLC10−5
PLC10−5までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−2→コントローラ間ネットワークNo.2→PLC10−5」であり、同じ要素が複数出現しないので、ループではない。ここで、接続経路解析選択部123は、この接続経路のスループットについて計算する。図38を参照すると、PLC10−5までのスループット評価値は、
(1/1)+(1/10)+(1/1)+(1/100)+(1/1)+(1/10)+(1/1)=4.21
となる。ところで、PLC10−5までの経路については、図37−3に示されるように、既に接続経路P5gが出力されている。この接続経路P5gのスループット値は3.2であるので、既存の接続経路の方が今回計算されたものよりもスループット値がよい。そこで、スループットが良い既に出力されている接続経路の方を最適接続経路とする(図37−3)。以上により、(2−37)のコントローラ間ネットワークNo.2を処理の対象としたB2処理を終了する。
(2−41)情報系ネットワークNo.3に接続されるPLC
(2−35)でPLC10−2に接続されるネットワークの1つとして収集された情報系ネットワークNo.3までの接続経路は、「PLC10−3→コントローラ間ネットワークNo.1→PLC10−1→情報系ネットワークNo.3→PLC10−2→情報系ネットワークNo.3」となり、同じネットワークが複数出現するので、ループである。そのため、図36−3のB2処理は実行しない。以上により、(2−35)のPLC10−2を処理の対象とした図36−2のB1処理を終了する。また、(2−32)の情報系ネットワークNo.3を処理の対象としたB2処理を終了する。さらに、(2−13)のPLC10−1を処理の対象としたB1処理を終了する。また、(2−11)のコントローラ間ネットワークNo.1を処理の対象としたB2処理を終了する。さらに、(2−2)のPLC10−3を処理の対象としたB1処理を終了する。以上で、接続経路解析処理を終了する。
(接続経路表示処理)
上記のオフライン接続経路解析処理によって、オフライン接続経路保持部125に図37−1〜図37−5に示されるような接続経路が格納されると、接続経路表示部120は、その接続経路にしたがって、表示部112に接続経路を強調表示する。
図39は、オフライン接続経路の表示画面の一例を示す図である。この図に示されるように、各PLCへの接続経路を把握しやすくなる。ここでは、上述したように、通信スループットのよい経路が選択される。
また、アクセス可能なPLCとアクセス不可能なPLCを強調的に区別して表示してもよい。このように表示することによって、起点PLCからアクセス可能なPLCを容易に理解することができる(アクセス不可能なPLCを容易に理解することができる)。
図40は、オフライン接続経路の表示画面の一例を示す図である。この図では、起点PLCから図12の制約によってアクセス可能なPLCには、その近傍に「○」印を配置し、起点PLCから図12の制約によってアクセスできないPLCには、その近傍に「×」印を配置している。これによって、起点PLCからアクセス可能なPLCとアクセス不可能なPLCとをすぐに見分けることが可能となる。この図40の例では、PLC10−5の先に情報系ネットワークNo.4を介してPLC10−9が接続されている。しかし、このPLC10−9へは、フィールドネットワークのローカル局であるPLC10−5を介してしかアクセスできないので、図12の制約Bに該当する。そのため、PLC10−9へはアクセス不可能となる。
この実施の形態4によれば、オフラインで作成した制御システムのネットワーク図において、起点となるPLCからアクセス可能なPLCを容易に把握することができるとともに、その場合の各PLCへの接続経路を事前に理解することができるという効果を有する。また、起点PLCからの接続経路が複数存在する場合には、所定の基準によって選択される最適な接続経路が自動的に選択されるという効果も有する。
実施の形態5.
ところで、制御システムを構成するネットワークは、上述した図12のような接続制約が存在するために、当該制御システムエンジニアリング装置をどこに接続してもシステム内の全てのPLCにアクセスできるわけではない。そのため、アクセスできないPLCが存在する場合に、一度制御システムエンジニアリング装置とPLCとの接続ケーブルを外し、対象のPLCに接続し直すという作業が必要となる。また、制御システムエンジニアリング装置を接続する場所によっては、通信速度が遅くなる場合がある。
そこで、この実施の形態5では、実施の形態4において、制御システムを構成するネットワークで、全てのPLCに対して接続が可能で、かつ、高速な通信が可能な(スループットが総合的に最適な経路となるような)制御システムエンジニアリング装置の接続口となるPLC(起点PLC)を自動的に算出することができる制御システムエンジニアリング装置および制御システムエンジニアリング方法について説明する。
図41は、この発明にかかる制御システムエンジニアリング装置の実施の形態5の機能構成を模式的に示すブロック図である。この制御システムエンジニアリング装置100は、実施の形態4の図35において、起点PLC指定部113が削除され、最適接続経路算出部126をさらに備えることを特徴とする。
最適接続経路算出部126は、当該制御システムエンジニアリング装置100の接続口(起点PLC)の全ての候補に対して順次、接続経路解析選択部123による接続経路解析選択処理を行った結果、全てのPLCに対して接続可能な候補のみ抽出し、さらにその中で、各PLCへの通信スループットが総合的に良いものを抽出して、最適接続経路とする機能を有する。この最適接続経路算出部126は、請求の範囲における最適接続経路算出手段に対応している。
つぎに、この実施の形態5の構成を有する制御システムエンジニアリング装置の処理について説明する。図42は、最適接続経路算出処理手順の一例を示すフローチャートである。また、ここでは、図1の構成を有する制御システムでの最適接続経路算出処理を例に挙げて説明する。まず、最適接続経路算出部126は、起点PLCとなる候補のPLCを抽出する(ステップS371)。具体的には、図11のオフラインネットワーク構成情報に格納されているPLCを全て抽出する。ここでは、PLC10−1〜10−5の5つのPLCが抽出される。
ついで、抽出されたそれぞれを起点PLCとして図36−1〜図36−3に示されるオフライン接続経路解析処理を実行する(ステップS372)。PLC10−3を起点PLCとしてオフライン接続経路解析処理を実行した結果得られる接続経路データは、実施の形態4の図37−1〜図37−5に示される結果と同じものとなる。図43−1〜図43−5は、PLC10−1を起点PLCとして接続経路解析処理を処理した場合の接続経路データを示す図であり、図44−1〜図44−5は、PLC10−2を起点PLCとして接続経路解析処理を処理した場合の接続経路データを示す図であり、図45−1〜図45−5は、PLC10−4を起点PLCとして接続経路解析処理を処理した場合の接続経路データを示す図であり、図46−1〜図46−5は、PLC10−5を起点PLCとして接続経路解析処理を処理した場合の接続経路データを示す図である。
その後、接続経路解析処理が実行されたそれぞれの結果に対して、全てのPLCに接続可能かを確認する(ステップS373)。ここで、起点となるPLCの選び方によっては、図12の制約によって、接続不可能なPLCが存在する場合が出てくるので、図12の制約に抵触しないか否かを確認する。ここでは、いずれのPLCを起点PLCとした場合にも、全てのPLCに接続可能である。
ついで、接続経路解析処理が実行されたそれぞれの結果に対して、システム構成全体のスループット評価値(合計スループット評価値)を比較する(ステップS374)。ここで用いるスループットモデルは、実施の形態4で用いた図38のスループットモデルと同じである。以下に、各PLCを起点とした場合のスループット評価値とその合計値を示す。
(PLC10−1を起点PLCとした場合)
PLC10−1(P1g1) = 0
PLC10−2(P2g1) = 2.01
PLC10−3(P3g1) = 2.1
PLC10−4(P4g1) = 2.1
PLC10−5(P5g1) = 2.1
合計スループット評価値 = 8.31
(PLC10−2を起点PLCとした場合)
PLC10−1(P1g2) = 2.01
PLC10−2(P2g2) = 0
PLC10−3(P3g2) = 3.2
PLC10−4(P4g2) = 3.2
PLC10−5(P5g2) = 2.1
合計スループット評価値 = 10.51
(PLC10−3を起点PLCとした場合)
PLC10−1(P1g) = 2.1
PLC10−2(P2g) = 3.11
PLC10−3(P3g) = 0
PLC10−4(P4g) = 2.1
PLC10−5(P5g) = 3.2
合計スループット評価値 = 10.51
(PLC10−4を起点PLCとした場合)
PLC10−1(P1g4) = 2.1
PLC10−2(P2g4) = 3.11
PLC10−3(P3g4) = 2.1
PLC10−4(P4g4) = 0
PLC10−5(P5g4) = 3.2
合計スループット評価値 = 10.51
(PLC10−5を起点PLCとした場合)
PLC10−1(P1g5) = 2.1
PLC10−2(P2g5) = 2.1
PLC10−3(P3g5) = 3.2
PLC10−4(P4g5) = 3.2
PLC10−5(P5g5) = 0
合計スループット評価値 = 10.6
ついで、最適接続経路算出部126は、上記で算出した各PLCを起点とした合計スループット評価値のうち、システム構成全体のスループットが最良のものを抽出し(ステップS375)、最適接続経路としてオフライン接続経路保持部125に出力する(ステップS376)。実施の形態4で用いたスループットモデルを用いているので、ここでは、合計スループット評価値の小さいものが最適なものとなる。上記した結果より、PLC10−1を起点PLCとした場合の接続経路データの合計スループット評価値が最も小さいので、図43−1〜図43−5に示される最適接続経路を最適接続経路としてオフライン接続経路保持部125に出力する。以上により、最適接続経路算出処理が終了する。
その後、接続経路表示部120によって、最適接続経路算出部126によって算出された最適接続経路に基づいて、最適接続経路がオフラインのシステム構成図に表示される。図47は、最適接続経路の表示画面の一例を示す図である。この図は、図43−1に示される最適接続経路に基づいて、実施の形態3の接続経路表示処理を用いて接続経路を表示したものである。これにより、制御システムエンジニアリング装置100の使用者は、PLC10−1に制御システムエンジニアリング装置100を接続すれば、制御システムを構成する全てのPLCに接続することができ、高いスループットでデータの転送を行うことができることを知ることができる。
この実施の形態5によれば、オフラインで構築された制御システムのネットワークにおいて、制御システム内の全てのPLCにアクセスでき、かつ高速な通信ができる位置を算出することができる。その結果、この位置に制御システムエンジニアリング装置100を接続することで、設定データのダウンロードやアップロード作業に必要な時間を削減することができるという効果を有する。
実施の形態6.
この実施の形態6では、起点PLCからそれぞれのPLCへの接続経路の途中のPLCに、受け取ったデータを目的とするPLCへルーチングするためのルーチングパラメータを自動的に算出し、設定することができる制御システムエンジニアリング装置と制御システムエンジニアリング方法について説明する。ここでは、最初に制御システムにおけるルーチングパラメータについて簡単に説明し、その後に実施の形態の内容を説明する。
制御システムにおけるルーチング機能とは、複数のネットワークからなるシステムにおいて、複数のネットワークにまたがるデータを、他のネットワーク番号の局へトランジェント伝送する機能のことをいう。ルーチング機能を実行するためには、ルーチングパラメータを設定して、要求先のネットワーク番号とブリッジの役割を行うPLCとの対応付けが必要となる。
また、ルーチングパラメータは、トランジェント伝送の要求元と中継局に設定が必要となる。ここで、中継局とは、複数のネットワークと接続するPLCのことをいう。また、中継局には、要求元から要求先へ送る(行く)ためのルーチングパラメータと、要求先から要求元へ送る(戻る)ためのルーチングパラメータと、の2つの設定が通常必要である。なお、要求先でのルーチングパラメータの設定は不要である。
図48は、制御システムに設定されるルーチングパラメータの一例を示す図である。なお、この図48では、各PLCを示す矩形の枠内には、通信ユニットが示されている。この通信ユニットの表記は、たとえば、ネットワークNo.1の1局である場合には、「1Ns1」と表記する。また、複数のネットワークに接続されるPLCには複数のネットワークユニットが設けられている。
この例では、制御システムは、ネットワークNo.1〜ネットワークNo.3の3つのネットワークが接続されて構成されている。ネットワークNo.1には、6つのPLC10−1〜10−6が接続されており、このうちの4局のPLC10−4が隣接するネットワークNo.2とも接続している。すなわち、PLC10−4は、ネットワークNo.1と通信を行う通信ユニット1Ns4と、ネットワークNo.2と通信を行う通信ユニット2Ns1とを有する。また、ネットワークNo.2には、4つのPLC10−4,10−7,10−8,10−13が接続されている。このうち、ネットワークNo.2における1局のPLC10−4は、隣接するネットワークNo.1とも接続しており、4局のPLC10−13は、隣接するネットワークNo.3とも接続している。すなわち、PLC10−13は、ネットワークNo.2と通信を行う通信ユニット2Ns4と、ネットワークNo.3と通信を行う通信ユニット3Ns5とを有する。さらに、ネットワークNo.3には、5つのPLC10−9〜10−13が接続されている。このうち、ネットワークNo.3における5局のPLC10−13は、隣接するネットワークNo.2とも接続している。
ここでは、ネットワークNo.1のPLC10−3からネットワークNo.3のPLC10−12にデータをトランジェント伝送する場合を例に挙げて説明する。この場合、トランジェント伝送を要求するネットワークNo.1のPLC10−3、ネットワークNo.1とネットワークNo.2のブリッジの役割をするPLC10−4およびネットワークNo.2とネットワークNo.3のブリッジの役割をするPLC10−13にルーチングパラメータを設定する必要がある。以下では、各局のルーチングパラメータの設定について説明する。
(1)ネットワークNo.1のPLC10−3
このPLC10−3にはルーチングパラメータとして、転送先ネットワーク番号(3)および中継局の通信ユニット(1Ns4)と、そこまでの中継ネットワーク番号(1)と、が設定される。
(2)ネットワークNo.1のPLC10−4
このPLC10−4にはルーチングパラメータとして、転送先ネットワーク番号(3)および中継局の通信ユニット(2Ns4)とそこまでの中継ネットワーク番号(2)と、が設定される。なお、つぎに説明する(3)のPLC10−13でネットワークNo.2からネットワークNo.1へのデータ伝送のためのルーチングパラメータが設定されるので、このPLC10−4での戻り用のルーチングパラメータについては不要である。
(3)ネットワークNo.2のPLC10−13
このPLC10−13では、転送先への設定は、自局の先が転送先ネットワークNo.3であるので、行き用のルーチングパラメータの設定は不要である。ただし、戻り用のルーチングパラメータとして、転送元ネットワーク番号(1)を転送先ネットワーク番号に設定し、戻るための中継局のネットワークユニット(2Ns1)と、そこまでの中継ネットワーク番号(2)とを設定する。
このようにルーチングパラメータを各局に設定することで、ネットワークNo.1のPLC10−3からネットワークNo.3のPLC10−12へのデータ伝送が可能となる。
つぎに、このように設定されたルーチングパラメータを用いたデータ伝送の手順について簡単に説明する。まず、ネットワークNo.1のPLC10−3は、ネットワークNo.3のPLC10−13に送信するデータを、ルーチングパラメータに基づいて送信する。すなわち、転送先ネットワーク番号が「3」で、中継先ネットワークが「1」で、中継先局番号が「4」という設定パラメータにしたがって、データを送信する。これにより、PLC10−3からのデータはネットワークNo.1を介してPLC10−4(ネットワークNo.1で4局の通信ユニット1Ns4を有するPLC)へと送信される。
このPLC10−4の通信ユニット1Ns4でデータを受信すると、宛先がネットワークNo.3のPLC10−12であるので、ルーチングパラメータを参照して、中継先ネットワークNo.2の中継先局番号4であるPLC10−13へと、通信ユニット2Ns1とネットワークNo.2を介して送信する。PLC10−13では、受信したデータがネットワークNo.3のPLC10−12宛へのデータであるので、通信ユニット3Ns5とネットワークNo.3を介してPLC10−12へと送信する。これによって、行きのデータ伝送が終了する。
つぎに、要求先であるネットワークNo.3のPLC10−12が要求元であるネットワークNo.1のPLC10−3にデータ伝送する場合、すなわち戻りのデータ伝送の場合を説明する。この場合には、ネットワークNo.3のPLC10−12は、転送先のネットワークNo.1のPLC10−3宛へのデータを送信する。このデータは、ネットワークNo.3を介してPLC10−13へと届く。PLC10−13では、このデータの宛先が転送先ネットワークNo.1のPLC10−3であるので、ルーチングパラメータを参照して、中継先ネットワークが「ネットワークNo.2」で、中継先局番号が「1」のネットワークNo.2のPLC10−4にデータを伝送する。
ネットワークNo.2のPLC10−4では、ネットワークNo.1のPLC10−3宛のデータであるので、同じベースに装着されている通信ユニット1Ns4と、ネットワークNo.1を介して、宛先のPLC10−3へと送信する。そして、PLC10−3は、ネットワークNo.3のPLC10−12からのデータを受信する。これによって、戻りのデータ伝送が終了する。
以上のような仕組みで、制御システムでの複数のネットワークにまたがる場合のデータ伝送が行われる。以下に、このような制御システムにおけるPLCのネットワークパラメータの設定処理について説明する。
図49は、この発明にかかる制御システムエンジニアリング装置の実施の形態6の機能構成を模式的に示すブロック図である。この制御システムエンジニアリング装置100は、実施の形態4の図35において、オフライン接続経路保持部125に保持されている起点PLCから各PLCへの接続経路を読み出して、それぞれの接続経路においてルーチングパラメータの設定が必要なPLCに対してルーチングパラメータを算出するルーチングパラメータ算出部127をさらに備える。このルーチングパラメータ算出部127は、請求の範囲におけるルーチングパラメータ算出手段に対応している。なお、実施の形態4の図35と同一の構成要素には同一の符号を付してその説明を省略している。
図50は、ルーチングパラメータ算出部のさらに詳細な機能構成を模式的に示すブロック図である。この図に示されるように、ルーチングパラメータ算出部127は、接続経路逆転機能1271と、転送先ネットワーク番号抽出機能1272と、中継先ネットワーク番号抽出機能1273と、中継先局番号抽出機能1274と、を備える。
接続経路逆転機能1271は、オフライン接続経路保持部125に格納される接続経路を抽出し、そのデータを逆順にした逆接続経路を作成する。
転送先ネットワーク番号抽出機能1272は、オフライン接続経路保持部125に格納される接続経路と、接続経路逆転機能1271によって作成された逆接続経路とからルーチングパラメータにおける転送先ネットワーク番号を抽出する。
中継先ネットワーク番号抽出部は、オフライン接続経路保持部125に格納される接続経路と、接続経路逆転機能1271によって作成された逆接続経路とからルーチングパラメータにおける中継先ネットワーク番号を抽出する。
中継先局番号抽出部は、オフライン接続経路保持部125に格納される接続経路と、接続経路逆転機能1271によって作成された逆接続経路とからルーチングパラメータにおける中継先局番号を抽出する。
(1)処理の概要
つぎに、このような構成を有する制御システムエンジニアリング装置100での、ルーチングパラメータの算出処理について説明する。図51−1〜図51−2は、ルーチングパラメータ算出処理手順の一例を示すフローチャートである。まず、起点PLC指定部113によってトランジェント伝送の要求元PLCが使用者によって指定される(ステップS411)。この要求元PLCを以下では、起点PLCという。
ついで、起点PLC指定部113によって指定された起点PLCを処理対象として選択し、実施の形態4の図36−2に示されるB2処理を実行して(ステップS412)、接続経路を取得する(ステップS413)。
取得した接続経路から1つの接続経路を選択する(ステップS414)。ついで、その接続経路における起点PLCを処理の対象として選択し、C1処理を実行する(ステップS415)。
図51−2に示されるように、C1処理では、まず、処理対象のPLCから終点PLCまでに異なるネットワークが2つ以上存在するか否かを判定する(ステップS431)。異なるネットワークが2つ以上存在しない場合(ステップS431でNoの場合)には、C1処理を終了し、図51−1の処理に戻る。また、異なるネットワークが存在する場合(ステップS431でYesの場合)には、選択した接続経路で、終点PLCの1つ前のデータに記載されるネットワーク番号を転送先ネットワーク番号として出力する(ステップS432)。
ついで、選択した接続経路で、処理対象のPLCのつぎのデータに記載されているネットワーク番号を中継先ネットワーク番号として出力し(ステップS433)、さらに、処理対象のPLCのつぎのつぎのデータに記載されているPLCの、ステップS433で出力した中継先ネットワークにおける局番号を中継先局番号として出力する(ステップS434)。
その後、処理対象のPLCのつぎのつぎのデータに記載されているPLCを処理の対象として選択し(ステップS435)、ステップS431へと戻り、上述した処理が繰り返し行われる。
C1処理を終了すると、図51−1に戻り、接続経路逆転機能1271によって、選択された接続経路のデータを逆順にした逆接続経路を作成する(ステップS416)。つまり、選択された接続経路の起点PLCが終点PLCになり、終点PLCが起点PLCになる。
その後、逆順とした逆接続経路のデータにおける起点PLCのつぎのつぎのデータに記載されるPLCを処理対象として選択し(ステップS417)、C1処理を実施する(ステップS418)。
逆接続経路におけるC1処理が終了した後、ステップS413で取得した全ての接続経路に対して処理を行ったか否かを確認し(ステップS419)、処理を行っていない接続経路がある場合(ステップS419でNoの場合)には、ステップS414へと戻り、上述した処理が繰り返し実行される。また、全ての接続経路に対して処理を行った場合(ステップS419でYesの場合)には、ルーチングパラメータ算出処理が終了する。
(2)処理の具体例
上述した説明では、ルーチングパラメータ算出処理の概要を述べたものであるので、この処理の具体例を図28の構成を有する制御システムの場合を例に挙げて以下に説明する。この図28に示される制御システムを対象に、PLCπを起点PLCとして実施の形態4の図36−1〜図36−3に示されるオフライン接続経路解析処理を実施する。図52は、図28の制御システムについての各PLCへの接続経路の一例を示す図である。また、図53−1〜図53−4は、ルーチングパラメータ算出処理の結果得られる各PLCに設定されるルーチングパラメータである。
(2−1)接続経路取得処理
まず、起点PLC指定部113にて指定したトランジェント伝送の要求元PLCπを起点PLCとして、図36−1〜図36−3に示されるオフライン接続経路解析処理を行うことによって、図52に示される接続経路Pαg〜Pψgが得られる。
(2−2)接続経路Pαg
図52の接続経路の中から、まず接続経路Pαgを選択し、この接続経路Pαgに関して以下の処理を行う。
(2−2−1)接続経路のPLCπ
接続経路Pαg中の起点PLCであるPLCπを処理の対象PLCとして図51−2に示されるC1処理を実行する。PLCπを処理対象としたC1処理では、接続経路Pαgに関して終点PLCまでに異なるネットワークが2つ以上存在しないので、PLCπを処理の対象PLCとしたC1処理を終了する。
(2−2−2)逆接続経路のPLCπ
ついで、接続経路Pαgの接続経路データ「PLCπ→コントローラ間ネットワークNo.1→PLCα」を逆順にした「PLCα→コントローラ間ネットワークNo.1→PLCπ」を逆接続経路Pαg’とする。そして、この逆接続経路Pαg’における起点PLCであるPLCαのつぎのつぎのデータに記載されるPLCであるPLCπを処理対象のPLCとして選択し、C1処理を実行する。しかし、このPLCπを処理対象としたC1処理では、逆接続経路Pαg’に関して終点PLCまでに異なるネットワークが2つ以上存在しないので、PLCπを処理の対象PLCとしたC1処理を終了する。
(2−3)接続経路Pεg
図52の接続経路から接続経路Pεgを選択し、この接続経路Pεgに関して処理を行うと、(2−2)の接続経路Pαgと同様の結果となり、算出されるルーチングパラメータはない。
(2−4)接続経路Pβg
図52の接続経路から接続経路Pβgを選択し、この接続経路Pβgに関して以下の処理を行う。
(2−4−1)接続経路
接続経路Pβg中の起点PLCであるPLCπを処理の対象PLCとして図51−2に示されるC1処理を実行する。PLCπを処理対象としたC1処理では、接続経路Pβgに関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCβの1つ前のデータ(データ3)に記載される情報系ネットワークNo.5のネットワーク番号「5」を転送先ネットワーク番号として出力する。
また、処理対象のPLCπのつぎのデータ(データ1)に記載されるコントローラ間ネットワークNo.1のネットワーク番号「1」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCπのつぎのつぎのデータ(データ2)に記載されるPLCであるPLCαのコントローラ間ネットワークNo.1における局番号「1」を、オフラインネットワーク構成情報保持部122から取得し、中継先局番号として出力する。
ついで、処理対象のPLCπのつぎのつぎのデータ(データ2)に記載されるPLCαを処理対象として選択し、C1処理を実行する。PLCαを処理対象としたC1処理では、接続経路Pβgに関して終点PLCまでに異なるネットワークが2つ以上存在しないので、接続経路PLCαを処理対象としたC1処理を終了する。この結果が、図53−1の行501に示されている。
(2−4−2)逆接続経路
ついで、接続経路Pβgの接続経路データ「PLCπ→コントローラ間ネットワークNo.1→PLCα→情報系ネットワークNo.5→PLCβ」を逆順にした「PLCβ→情報系ネットワークNo.5→PLCα→コントローラ間ネットワークNo.1→PLCπ」を逆接続経路Pβg’とする。そして、この逆接続経路Pβg’における起点PLCであるPLCβのつぎのつぎのデータに記載されるPLCαを処理対象として選択し、C1処理を実行する。しかし、このPLCαを処理対象としたC1処理では、逆接続経路Pβg’に関して終点PLCまでに異なるネットワークが2つ以上存在しないので、PLCαを処理の対象PLCとしたC1の処理を終了する。
(2−5)接続経路Pμg
図52の接続経路から接続経路Pμgを選択し、この接続経路Pμgに関して処理を行うと、(2−4)の接続経路Pβgと同様の結果となる。すなわち、算出されるルーチングパラメータが同じであり、新たに出力されるルーチングパラメータはない。
(2−6)接続経路Pθg
図52の接続経路から接続経路Pθgを選択し、この接続経路Pθgに関して以下の処理を行う。
(2−6−1)接続経路
接続経路Pθg中の起点PLCであるPLCπを処理の対象PLCとして図51−2に示されるC1処理を実行する。PLCπを処理対象としたC1処理では、接続経路Pθgに関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCθの1つ前のデータ(データ5)に記載されるコントローラ間ネットワークNo.2のネットワーク番号「2」を転送先ネットワーク番号として出力する。
また、処理対象のPLCπのつぎのデータ(データ1)に記載されるコントローラ間ネットワークNo.1のネットワーク番号「1」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCπのつぎのつぎのデータ(データ2)に記載されるPLCであるPLCαのコントローラ間ネットワークNo.1における局番号「1」を、オフラインネットワーク構成情報保持部122から取得し、中継先局番号として出力する。この結果が、図53−1の行502に示されている。
その後、処理対象のPLCπのつぎのつぎのデータ(データ2)に記載されるPLCαを処理の対象として選択し、C1処理を実行する。PLCαを処理対象としたC1処理では、接続経路Pθgに関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCθの1つ前のデータ(データ5)に記載されるコントローラ間ネットワーク22Bのネットワーク番号「2」を転送先ネットワーク番号として出力する。
また、処理対象のPLCαのつぎのデータ(データ3)に記載される情報系ネットワークNo.5のネットワーク番号「5」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCαのつぎのつぎのデータ(データ4)に記載されるPLCであるPLCβの情報系ネットワークNo.5における局番号「2」を、オフラインネットワーク構成情報保持部122から取得し、中継先局番号として出力する。この結果が、図53−2の行504に示されている。
その後、処理対象のPLCαのつぎのつぎのデータに記載されるPLCであるPLCβを処理の対象PLCとしてC1処理を実行する。PLCβを処理対象としたC1処理では、接続経路Pθgに関して終点PLCまでに異なるネットワークが2つ以上存在しないので、PLCβを処理対象としたC1処理を終了する。
(2−6−2)逆接続経路
ついで、接続経路Pθgの接続経路データ「PLCπ→コントローラ間ネットワークNo.1→PLCα→情報系ネットワークNo.5→PLCβ→コントローラ間ネットワークNo.2→PLCθ」を逆順にした「PLCθ→コントローラ間ネットワークNo.2→PLCβ→情報系ネットワークNo.5→PLCα→コントローラ間ネットワークNo.1→PLCπ」を逆接続経路Pθg’とする。そして、この逆接続経路Pθg’における起点PLCであるPLCθのつぎのつぎのデータに記載されるPLCβを処理対象として選択し、C1処理を実行する。
PLCβを処理対象としたC1処理では、接続経路Pθg’に関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCπの1つ前のデータに記載されるコントローラ間ネットワークNo.1のネットワーク番号「1」を転送先ネットワーク番号として出力する。また、処理対象のPLCβのつぎのデータ(データ3)に記載される情報系ネットワークNo.5のネットワーク番号「5」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCβのつぎのつぎのデータ(データ4)に記載されるPLCであるPLCαの情報系ネットワークNo.5における局番号「1」を、オフラインネットワーク構成情報保持部122から取得し、中継先局番号として出力する。この結果が、図53−3の行506に示されている。
ついで、処理対象のPLCβのつぎのつぎのデータに記載されるPLCαを処理対象として選択し、C1処理を実行する。PLCαを処理対象としたC1処理では、接続経路Pθg’に関して終点PLCまでに異なるネットワークが2つ以上存在しないので、接続経路PLCαを処理対象としたC1処理を終了する。
(2−7)接続経路Pκg
図52の接続経路から接続経路Pκgを選択し、この接続経路Pκgに関して処理を行うと、(2−6)の接続経路Pθgと同様の結果となる。すなわち、算出されるルーチングパラメータが同じであり、新たに出力されるルーチングパラメータはない。
(2−8)接続経路Pωg
図52の接続経路から接続経路Pωgを選択し、この接続経路Pωgに関して以下の処理を行う。
(2−8−1)接続経路
接続経路Pωg中の起点PLCであるPLCπを処理の対象PLCとして図51−2に示されるC1処理を実行する。PLCπを処理対象としたC1処理では、接続経路Pωgに関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCωの1つ前のデータ(データ5)に記載されるコントローラ間ネットワークNo.3のネットワーク番号「3」を転送先ネットワーク番号として出力する。
また、処理対象のPLCπのつぎのデータ(データ1)に記載されるコントローラ間ネットワークNo.1のネットワーク番号「1」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCπのつぎのつぎのデータ(データ2)に記載されるPLCであるPLCαのコントローラ間ネットワークNo.1における局番号「1」を、オフラインネットワーク構成情報から取得し、中継先局番号として出力する。この結果が、図53−1の行503に示されている。
その後、処理対象のPLCπのつぎのつぎのデータ(データ2)に記載されるPLCαを処理の対象として選択し、C1処理を実行する。PLCαを処理対象としたC1処理では、接続経路Pωgに関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCωの1つ前のデータ(データ5)に記載されるコントローラ間ネットワークNo.3のネットワーク番号「3」を転送先ネットワーク番号として出力する。
また、処理対象のPLCαのつぎのデータ(データ3)に記載される情報系ネットワークNo.5のネットワーク番号「5」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCαのつぎのつぎのデータ(データ4)に記載されるPLCであるPLCμの情報系ネットワークNo.5における局番号「3」を、オフラインネットワーク構成情報保持部122から取得し、中継先局番号として出力する。この結果が、図53−2の行505に示されている。
その後、処理対象のPLCαのつぎのつぎのデータの記載されるPLCであるPLCμを処理の対象PLCとしてC1処理を実行する。PLCμを処理対象としたC1処理では、接続経路Pωgに関して終点PLCまでに異なるネットワークが2つ以上存在しないので、PLCβを処理対象としたC1処理を終了する。
(2−8−2)逆接続経路
ついで、接続経路Pωgの接続経路データ「PLCπ→コントローラ間ネットワークNo.1→PLCα→情報系ネットワークNo.5→PLCμ→コントローラ間ネットワークNo.3→PLCω」を逆順にした「PLCω→コントローラ間ネットワークNo.3→PLCμ→情報系ネットワークNo.5→PLCα→コントローラ間ネットワークNo.1→PLCπ」を逆接続経路Pωg’とする。そして、この逆接続経路Pωg’における起点PLCであるPLCωのつぎのつぎのデータに記載されるPLCμを処理対象として選択し、C1処理を実行する。
PLCμを処理対象としたC1処理では、接続経路Pωg’に関して終点PLCまでに異なるネットワークが2つ以上存在する。そのため、終点PLCであるPLCπの1つ前のデータに記載されるコントローラ間ネットワークNo.1のネットワーク番号「1」を転送先ネットワーク番号として出力する。また、処理対象のPLCμのつぎのデータに記載される情報系ネットワークNo.5のネットワーク番号「5」を、中継先ネットワーク番号として出力する。さらに、処理対象のPLCμのつぎのつぎのデータに記載されるPLCであるPLCαの情報系ネットワークNo.5における局番号「1」を、オフラインネットワーク構成情報保持部122から取得し、中継先局番号として出力する。この結果が、図53−4の行507に示されている。
ついで、処理対象のPLCμのつぎのつぎのデータに記載されるPLCαを処理対象として選択し、C1処理を実行する。PLCαを処理対象としたC1処理では、接続経路Pωg’に関して終点PLCまでに異なるネットワークが2つ以上存在しないので、接続経路PLCαを処理対象としたC1処理を終了する。
(2−9)接続経路Pψg
図52の接続経路から接続経路Pψgを選択し、この接続経路Pψgに関して処理を行うと、(2−8)の接続経路Pωgと同様の結果となる。すなわち、算出されるルーチングパラメータが同じであり、新たに出力されるルーチングパラメータはない。
このようにして求められた図53−1〜図53−4のルーチングパラメータは、それぞれの名称に示されるPLCに対して設定される。すなわち、図53−1は、PLCπに設定されるルーチングパラメータであり、図53−2は、PLCαに設定されるルーチングパラメータであり、図53−3は、PLCβに設定されるルーチングパラメータであり、図53−4は、PLCμに設定されるルーチングパラメータである。
この実施の形態6によれば、人手によって計算されていた処理を、制御システムエンジニアリング装置100で実行させるようにしたので、ルーチングパラメータを算出する手間が省けるという効果を有する。また、既存の制御システムの構成に対して追加変更を行う場合や、新しく制御システムを構築する場合にも容易にPLCへのルーチングパラメータを含むネットワークパラメータを設定することができるという効果も有する。さらに、接続経路が表示されるので、算出された各PLCのルーチングパラメータがどの接続経路のためのものかについてを確認し易くなるという効果も有する。
実施の形態7.
この実施の形態7では、既に稼動している制御システムのネットワークパラメータを変更する際に、それに伴うルーチングパラメータの変更を含め、各PLCのネットワークパラメータを自動で書換えることができる制御システムエンジニアリング装置および制御システムエンジニアリング方法について説明する。
図54は、この発明にかかる制御システムエンジニアリング装置の実施の形態7の機能構成を模式的に示すブロック図である。この制御システムエンジニアリング装置100は、通信部111と、表示部112と、起点PLC指定部113と、オンラインネットワーク構成情報収集部114と、オンライン接続経路保持部115と、オンラインネットワーク構成情報保持部116と、表示オブジェクト座標算出部117と、システム構成表示部118と、システム構成編集部121と、オフラインネットワーク構成情報保持部122と、接続経路解析選択部123と、オフライン接続経路保持部125と、接続経路表示部120と、パラメータ一括書換部128と、これらの各処理部を制御する制御部119と、を備える。より詳細には、この制御システムエンジニアリング装置100は、実施の形態1の構成と実施の形態6の構成に、スループットモデル保持部124を削除し、パラメータ一括書換部128をさらに備える構成を有する。
パラメータ一括書換部128は、ルーチングパラメータの変更を含めたネットワークパラメータの変更を、制御システムに対して自動的に行う。このとき、パラメータの変更によって制御システムを構成するPLCに対してアクセス不能とならない順番で、ネットワークパラメータの書換えを行う。このパラメータ一括書換部128は、請求の範囲におけるパラメータ一括書換手段に対応している。なお、上述した実施の形態とで説明した構成要素と同一の構成要素には、同一の符号を付してその説明を省略している。
(1)処理の概要
図55−1〜図55−2は、パラメータ一括書換処理手順の一例を示すフローチャートである。まず、制御システムを構成するいずれかのPLCに接続された制御システムエンジニアリング装置100は、稼動している制御システムから実施の形態1で説明した方法によって、ネットワーク構成情報を取得する(ステップS451)。以下、このネットワーク構成情報をオンラインネットワーク構成情報という。
ついで、取得したオンラインネットワーク構成情報に対して、パラメータの変更をオフラインで編集し(ステップS452)、オフラインネットワーク構成情報を作成する。このとき、1つのネットワークのネットワークパラメータが変更されるものとする。その後、オフラインで編集したオフラインネットワーク構成情報に基づいて、ルーチングパラメータを算出する(ステップS453)。
ついで、オンラインネットワーク構成情報と、編集したオフラインネットワーク構成情報とを比較して、パラメータに変更のあったネットワークを抽出する(ステップS454)。そして、抽出されたネットワークの各PLCに対し、図55−2に示されるパラメータ書換処理を実行する(ステップS455)。
図55−2に移って、抽出されたネットワークに接続するPLCの中で、局番が最も大きい通常局PLCのパラメータを新しいパラメータに書換える(ステップS471)。ついで、該ネットワークの管理局PLCが保持しているネットワークパラメータの総局数を1つ減らす書換処理を行う(ステップS472)。
その後、該ネットワークの管理局PLCのネットワークパラメータの総局数は1となったか否かを判定する(ステップS473)。管理局PLCのネットワークパラメータの総局数が1でない場合(ステップS473でNoの場合)には、ステップS471へと戻り、管理局PLCのネットワークパラメータの総局数が1となるまで上述した処理が繰り返される。
また、管理局PLCのネットワークパラメータの総局数が1である場合(ステップS473でYesの場合)には、該ネットワークの管理局PLCのパラメータを新しいものに書換え(ステップS474)、パラメータ書換処理が終了し、図55−1に処理が戻る。
図55−1に戻り、ステップS454で選択されたネットワークが関連するルーチングパラメータを書換えて(ステップS456)、パラメータ一括書換処理が終了する。
(2)処理の具体例
上述した説明では、パラメータ一括書換処理の概要を述べたものであるので、この処理の具体例について以下で詳細に説明する。ここでは、実施の形態6で算出された図53−1〜図53−4のルーチングパラメータで稼動している図28に示される制御システムに対して、コントローラ間ネットワークNo.3を、コントローラ間ネットワークNo.10に変更する場合について説明する。
まず、実施の形態1で説明した方法によって、稼動している図28に示される制御システムのオンラインネットワーク構成情報を取得して、オンラインネットワーク構成情報保持部116に格納する。
ついで、実施の形態4で説明した方法によって、システム構成編集部121で、オンラインネットワーク構成情報に関して、コントローラ間ネットワークNo.3をコントローラ間ネットワークNo.10にオフラインで変更したオフラインネットワーク構成情報を作成し、オフラインネットワーク構成情報保持部122に格納する。また、変更後のオフラインネットワーク構成情報に基づいて実施の形態6で説明した方法によって、ルーチングパラメータの算出を行う。図56−1〜図56−4は、制御システムの構成変更後のルーチングパラメータを示す図である。図56−1の行513と図56−2の行515において、それぞれ図53−1の503と図53−2の505の転送先ネットワーク番号が「3」となっている部分が、「10」に変更された形となっている。
その後、オンラインネットワーク構成情報とオフラインネットワーク構成情報とを比較して、パラメータに変更のあったネットワークを抽出する。ここでは、オンラインネットワーク構成情報のコントローラ間ネットワークNo.3の部分が、オフラインネットワーク構成情報ではコントローラ間ネットワークNo.10に変更されたことが抽出される。
ついで、変更のあったコントローラ間ネットワークNo.3に対して、図55−2に示される各PLCのパラメータの書換処理を実行する。まず、稼動している制御システムにおいて、コントローラ間ネットワークNo.3に接続するPLCの中で局番が最も大きい通常局PLCであるPLCψ(局番3)のパラメータを、新しいものへ書換える。すなわち、「コントローラ間ネットワークNo.3の通常局の局番3」から「コントローラ間ネットワークNo.10の通常局の局番3」へと書換える処理を行う。
ついで、稼動している制御システムにおいて、コントローラ間ネットワークNo.3に接続する管理局PLCであるPLCμのネットワークパラメータの総局数を1つ減らして書換える。すなわち、コントローラ間ネットワークNo.3の総局数を「3」から「2」に書換える。これによって、この時点で、コントローラ間ネットワークNo.3は、PLCμとPLCωとが接続した状態で動作しているが、PLCψは物理的には接続しているもののコントローラ間ネットワークNo.3の局としては動作していない状態となる。
その後、コントローラ間ネットワークNo.3に接続する管理局PLCであるPLCμのネットワークパラメータの総局数は「1」ではなく、「2」であるため、この時点でコントローラ間ネットワークNo.3に接続するPLCの中で局番が最も大きい通常局PLCであるPLCω(局番2)のパラメータを、新しいものへ書換える。すなわち、「コントローラ間ネットワークNo.3の通常局の局番2」から「コントローラ間ネットワークNo.10の通常局の局番2」へと書換える処理を行う。
ついで、コントローラ間ネットワークNo.3に接続する管理局PLCであるPLCμのネットワークパラメータの総局数を1つ減らす。すなわち、コントローラ間ネットワークNo.3の総局数を「2」から「1」に書換える。これによって、この時点で、コントローラ間ネットワークNo.3は、PLCμのみが接続した状態で動作しており、PLCωとPLCψは物理的には接続しているもののコントローラ間ネットワークNo.3の局としては動作していない状態となる。
その後、コントローラ間ネットワークNo.3に接続する管理局PLCであるPLCμのネットワークパラメータの総局数は「1」であるため、この管理局のPLCμのパラメータを新しいものへと書換える。すなわち、「コントローラ間ネットワークNo.3の管理局の局番1」から「コントローラ間ネットワークNo.10の管理局の局番1」へと書換える。これによって、この時点で、コントローラ間ネットワークNo.3は、コントローラ間ネットワークNo.10へと変更され、コントローラ間ネットワークNo.10には、PLCμとPLCωとPLCψが接続された状態で動作している。以上で図55−2の各PLCのパラメータ書換処理を終了する。
その後、変更のあったコントローラ間ネットワークNo.3が関連するルーチングパラメータを書換える処理が行われる。ここでは、コントローラ間ネットワークNo.3は、コントローラ間ネットワークNo.10に変更されたので、これに伴って、新たに自動算出された図56−1〜図56−4に示されるルーチングパラメータの中で、コントローラ間ネットワークNo.10に関連するルーチングパラメータを書換える。すなわち、PLCπに対して、図56−1に示される新たなルーチングパラメータPπqを書き込み、PLCαに対して、図56−2に示される新たなルーチングパラメータPαqを書き込む。そして、変更のあったネットワークはこれ以外にないので、パラメータ一括書換処理を終了する。
この実施の形態7によれば、ネットワークパラメータを変更する際に、ルーチングパラメータを含むネットワークパラメータの変更を自動的に変更のあるPLCへ書込むことができるという効果を有する。従来では、ネットワークパラメータの変更の際には、変更を行う各PLCに制御システムエンジニアリング装置100を接続して、個々に新しい設定を書き込む必要があり、非常に手間であったが、この実施の形態7では、ネットワークを介した各PLCのネットワークパラメータの変更を行うことが可能となるという効果を有する。
実施の形態8.
実施の形態7では、既に稼動しているシステムのうち、1つのネットワークについてパラメータを変更する場合について有効な方法であるが、この実施の形態8では、複数のネットワークについてパラメータを変更する場合について説明する。
複数のネットワークについてパラメータを変更する場合でも、個々の変更に対して順に実施の形態7を適用すれば、ルーチングパラメータの変更を含め、各PLCのネットワークパラメータを自動で書換えることは可能である。しかし、ルーチングパラメータの書換えを複数回行う必要のあるPLCが存在することがあるため、書換え作業は自動的ではあるものの効率的でない。そこで、この実施の形態8では、これを一括して行う制御システムエンジニアリング装置と制御システムエンジニアリング方法について説明する。
この実施の形態8で用いられる制御システムエンジニアリング装置の構成は、実施の形態7の図54に示したものと同じである。ただし、パラメータ一括書換部128は、最初にルーチングパラメータを含まないネットワークパラメータの更新を、起点PLCに最も遠いネットワークから起点PLCに向かって順に行い、その後に、ルーチングパラメータの更新を、起点PLCに最も近いPLCから順に奥のネットワークのPLCに向かって行う機能を有する。これにより、ネットワークパラメータ更新中の通信不能状態を回避することができる。
(1)処理の概要
図57−1〜図57−2は、複数ネットワークのパラメータ一括書換処理手順の一例を示すフローチャートである。まず、制御システムを構成するいずれかのPLCに接続された制御システムエンジニアリング装置100は、稼動している制御システムからオンラインネットワーク構成情報を取得する(ステップS511)。この結果は、オンラインネットワーク構成情報保持部116に格納される。
ついで、取得したオンラインネットワーク構成情報に対して、パラメータの変更をオフラインで編集し(ステップS512)、その結果がオフラインネットワーク構成情報としてオフラインネットワーク構成情報保持部122に格納される。このとき、2以上のネットワークのネットワークパラメータが変更されるものとする。その後、オフラインで編集したオフラインネットワーク構成情報に基づいて、ルーチングパラメータの算出処理を行う(ステップS513)。
ついで、ステップS511で取得したオンラインネットワーク構成情報と、ステップS512で編集したオフラインネットワーク構成情報とを比較し、パラメータに変更のあったネットワークを抽出する(ステップS514)。
その後、抽出されたネットワークのうち、オフライン接続経路保持部125に格納されているオフライン接続経路情報を参照して、起点PLCからの接続経路が最も離れているネットワークを1つ選択し(ステップS515)、図55−2に示される選択したネットワークの各PLCのパラメータ書換処理を実行する(ステップS516)。なお、このPLCのパラメータ書換処理は実施の形態7で既に説明しているので、その説明を省略する。
ステップS515で選択したネットワークについて図55−2のPLCのパラメータ書換処理が終了すると、ステップS514で抽出したパラメータに変更のあったネットワークの全てを選択したか否かを判定する(ステップS517)。変更のあったネットワークの全てを選択していない場合(ステップS517でNoの場合)には、抽出したネットワークのうち、起点PLCからつぎに離れているネットワークを1つ選択する(ステップS518)。そして、ステップS516へと戻り、変更のあったネットワークの全てを、起点PLCからの接続経路が離れている順に選択するまで、上述した処理が繰り返し実行される。また、変更のあったネットワークの全てを選択した場合(ステップS517でYesの場合)には、図57−2のルーチングパラメータ書換処理を行う(ステップS519)。
図57−2に移って、ネットワークパラメータの書換処理を行ったネットワークが関連するPLCのうち、ルーチングパラメータを書換える必要のあるPLCを抽出する(ステップS531)。抽出したPLCの中で、オフライン接続経路保持部125に保持されている接続経路の短いPLCから順にルーチングパラメータを書換える(ステップS532)。以上により、ルーチングパラメータ書換処理が終了し、パラメータ一括書換処理が終了する。
(2)処理の具体例
上述した説明では、複数ネットワークのパラメータ一括書換処理の概要を述べたものであるので、この処理の具体例について以下で詳細に説明する。ここでは、実施の形態6で算出された図53−1〜図53−4のルーチングパラメータで稼動している図28に示される制御システムに対して、コントローラ間ネットワークNo.1をコントローラ間ネットワークNo.9に変更し、コントローラ間ネットワークNo.3を、コントローラ間ネットワークNo.10に変更する場合について説明する。
まず、実施の形態1で説明した方法によって、稼動している図28に示される制御システムのオンラインネットワーク構成情報を取得して、オンラインネットワーク構成情報保持部116に格納する。
ついで、実施の形態4で説明した方法によって、システム構成編集部121で、コントローラ間ネットワークNo.1をコントローラ間ネットワークNo.9に、コントローラ間ネットワークNo.3をコントローラ間ネットワークNo.10にそれぞれオフラインで変更したオフラインネットワーク構成情報を、オフラインネットワーク構成情報保持部122に格納する。また、変更後のオフラインネットワーク構成情報に基づいて実施の形態6で説明した方法によって、ルーチングパラメータの算出を行う。図58−1〜図58−4は、制御システムの構成変更後のルーチングパラメータを示す図である。
その後、オンラインネットワーク構成情報とオフラインネットワーク構成情報とを比較して、パラメータに変更のあったネットワークを抽出する。ここでは、オンラインネットワーク構成情報のコントローラ間ネットワークNo.1,No.3の部分が、オフラインネットワーク構成情報ではコントローラ間ネットワークNo.9,No.10にそれぞれ変更されたことが抽出される。
ついで、変更のあったそれぞれのコントローラ間ネットワークに対して、図55−2に示される各PLCのパラメータ書換処理を実行する。つまり、最初に、変更のあったコントローラ間ネットワークNo.1に対して、各PLCのパラメータ書換処理を実施し、ついで、変更のあったコントローラ間ネットワークNo.3に対して、各PLCのパラメータ書換処理を実施する。
その後、図57−2に示される変更のあったコントローラ間ネットワークNo.1,No.3に関連するルーチングパラメータの書換処理を、以下に示すように実施する。
まず、新たに算出された図58−1〜図58−4のルーチングパラメータの中で、ルーチングパラメータを書換える必要のあるPLCを抽出する。ここでは、コントローラ間ネットワークNo.1がコントローラ間ネットワークNo.9に変更され、コントローラ間ネットワークNo.3がコントローラ間ネットワークNo.10に変更されたので、これらを含む現在稼動している図53−1〜図53−4に示されるすべてのルーチングパラメータを書換える必要がある。すなわち、PLCπに対して図58−1に示される新たなルーチングパラメータを書き込み、PLCαに対して図58−2に示される新たなルーチングパラメータを書き込み、PLCβに対して図58−3に示される新たなルーチングパラメータを書き込み、PLCμに対して図58−4に示される新たなルーチングパラメータPμqを書き込む必要がある。
これらのルーチングパラメータの書き込み処理を行う際に、これらPLCの中で、オフライン接続経路保持部125に保持されている接続経路が短いものから順に、ルーチングパラメータを書換える。ここで、オフライン接続経路保持部125に保持されているオフライン接続経路は、オフラインで編集したネットワークシステム構成に対してルーチングパラメータを算出する際に用いられた接続経路である。ここでは、直接接続しているPLCπが、最も接続経路が短いので、最初に、PLCπに対して図58−1の新たなルーチングパラメータを書き込む。
その後、オフライン接続経路保持部125を参照して、この中で最も接続経路が短いものを抽出する。この中で最も接続経路が短いPLCはPLCαである。そのため、つぎにPLCαに対して図58−2の新たなルーチングパラメータを書き込む。
同様に、つぎに接続経路が短いのはPLCβおよびPLCμであり、PLCβに対して図58−3の新たなルーチングパラメータを書き込み、PLCμに対して図58−4の新たなルーチングパラメータを書き込む。以上によって、ルーチングパラメータの書換処理および複数ネットワークのパラメータ一括書換処理が終了する。
ここで、ネットワークパラメータを書換えるPLCに対して順に実施の形態7の方法を適用した場合には、ルーチングパラメータの変更を含め、各PLCのネットワークパラメータを自動で書換えることは可能であるが、ルーチングパラメータの書換えを複数回行う必要のあるPLCが存在することがある。すなわち、コントローラ間ネットワークNo.1がコントローラ間ネットワークNo.9に変わったことを反映したルーチングパラメータをPLCπに書き込んだ後、コントローラ間ネットワークNo.3がコントローラ間ネットワークNo.10に変わったことを反映したルーチングパラメータを再度PLCπに書き込む必要があった。しかし、上記した方法を用いることによって、これらのルーチングパラメータを一括して書き込むことが可能となり、ネットワークパラメータの変更に係るルーチングパラメータの変更を各PLCへ書き込む作業が効率化される。
この実施の形態8によれば、オフラインで制御システムを構成する2以上のネットワークのネットワークパラメータが変更された場合でも、最初に起点PLCから接続経路の遠いネットワークから順にネットワークパラメータのみを変更し、その後に起点PLCから接続経路の近い順にルーチングパラメータを変更するようにしたので、ネットワークパラメータの書換えを一括で行うことができるという効果を有する。
なお、上述した実施の形態1〜8では、プログラマブルコントローラが制御装置としてネットワークに接続されてなる制御システムの場合を例に挙げて説明したが、これに限られる趣旨ではない。たとえば、プログラマブルコントローラのほかに、数値制御装置やモーションコントローラ、ロボットコントローラなどの制御装置がネットワークに接続されてなる制御システムについても同様に適用することができる。
また、上述した制御システムエンジニアリング方法は、その処理手順を書込んだプログラムを、CPU(中央演算処理装置)を有するパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。この場合、コンピュータのCPU(制御手段)が、プログラムにしたがって、上述したプログラム作成支援方法の各処理工程を実行することになる。これらのプログラムは、ハードディスク、フロッピー(登録商標)ディスク、CD(Compact Disk)−ROM(Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile DiskまたはDigital Video Disk)などのコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、これらのプログラムは、インタネットなどのネットワーク(通信回線)を介して配布することもできる。