(58)【調査した分野】(Int.Cl.,DB名)
前記複数の制御装置は、前記第1スレーブ装置から前記ケーブルを通じて供給された電力により動作可能な第2スレーブ装置を更に含み、前記直列接続において前記第1スレーブ装置は前記マスタ装置と前記第2スレーブ装置との間に位置し、
前記判定部は、
前記マスタ装置から前記ケーブルを通じて前記第2スレーブ装置に信号が送信されてから当該信号に対する前記第2スレーブ装置からの第2応答信号を前記マスタ装置が受信するまでの第2経過時間をさらに計測し、
前記複数の制御装置のうち、前記マスタ装置と前記第2スレーブ装置との間の通信経路上にある複数の制御装置が信号を伝送する処理に要する第2伝送処理時間と、前記第1経過時間と、前記第2経過時間とに基づいて、前記第1スレーブ装置と前記第2スレーブ装置との間において前記ケーブルによって生じる通信の遅延時間を算出する
請求項3に記載の制御装置。
前記複数の制御装置は、前記第1スレーブ装置から前記ケーブルを通じて供給された電力により動作可能な第2スレーブ装置を更に含み、前記直列接続において前記第1スレーブ装置は前記マスタ装置と前記第2スレーブ装置との間に位置し、
前記判定部は、
前記第1スレーブ装置から前記ケーブルを通じて前記第2スレーブ装置に信号が送信されてから当該信号に対する前記第2スレーブ装置からの第2応答信号を前記第1スレーブ装置が受信するまでの第2経過時間をさらに計測し、
前記複数の制御装置のうち、前記第1スレーブ装置と前記第2スレーブ装置との間の通信経路上にある複数の制御装置が信号を伝送する処理に要する第2伝送処理時間と、前記第2経過時間とに基づいて、前記第1スレーブ装置と前記第2スレーブ装置との間において前記ケーブルによって生じる通信の遅延時間を算出する
請求項5に記載の制御装置。
前記判定部は、前記ケーブルによって生じる通信の遅延時間から算出される前記ケーブルの長さが、前記ケーブルが電力を伝送可能な予め定められた規定長を超えるか否かを判定する
請求項1から9のいずれか一項に記載の制御装置。
前記直列接続される前記複数の制御装置の接続構成を示す情報と、前記複数の制御装置のうち、前記ケーブルを通じて他の制御装置に電力を供給可能な制御装置を特定する情報とを含む接続情報を取得する取得部と、
前記接続情報に基づいて、前記複数の制御装置のうち、前記ケーブルを通じて電力を供給可能な1以上の制御装置と、当該1以上の制御装置が電力を供給するべき1以上のスレーブ装置とを特定する特定部と
をさらに備える請求項1から10のいずれか一項に記載の制御装置。
前記第1スレーブ装置は、主電源を有し、前記主電源からの電力が遮断された場合に、前記マスタ装置から前記ケーブルを通じて供給された電力を用いて前記複数の制御装置のうちの他の制御装置との間の通信を維持する
請求項3から7のいずれか一項に記載の制御装置。
前記複数の制御装置はそれぞれ、タイマを備え、受信した信号を転送する場合に、当該信号を受信したときの前記タイマのタイマ値と、当該信号を転送するときの前記タイマのタイマ値とを、転送する信号に含めて転送し、
前記判定部は、前記応答信号に含まれる前記タイマ値に基づいて、前記複数の制御装置のうち、前記通信経路上にある1以上の制御装置がそれぞれ信号を伝送する処理に要する伝送処理時間を算出する
請求項1から12のいずれか一項に記載の制御装置。
【発明を実施するための形態】
【0022】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0023】
図1は、一実施形態における制御システム10の概略的な構成を示す。制御システム10は、管理装置20と、マスタコントローラMと、スレーブコントローラS1、スレーブコントローラS2、スレーブコントローラS3、スレーブコントローラS4、スレーブコントローラS5及びスレーブコントローラS6と、被制御機器40a、被制御機器40b、被制御機器40c、被制御機器40d、被制御機器40e及び被制御機器40fとを備える。
【0024】
本実施形態において、スレーブコントローラS1、スレーブコントローラS2、スレーブコントローラS3、スレーブコントローラS4、スレーブコントローラS5及びスレーブコントローラS6を、スレーブコントローラSと総称する場合がある。また、制御システム10が備えるマスタコントローラM及びスレーブコントローラSを、コントローラと総称する場合がある。また、被制御機器40a、被制御機器40b、被制御機器40c、被制御機器40d、被制御機器40e及び被制御機器40fを、被制御機器40と総称する場合がある。
【0025】
管理装置20は、制御システム10の全体を管理する。管理装置20は、パーソナルコンピュータ等のコンピュータにより実現される。管理装置20は、ネットワークを通じてマスタコントローラMと通信する。
【0026】
マスタコントローラM及びスレーブコントローラSは、制御装置の一例である。スレーブコントローラSは、マスタコントローラMによる制御に従って、被制御機器40との間でデータの入出力を行う。
【0027】
マスタコントローラM及びスレーブコントローラSは、複数のネットワークケーブルによりデイジーチェーン接続されている。デイジーチェーン接続において、スレーブコントローラS4は、マスタコントローラMとスレーブコントローラS6との間に位置する。具体的には、マスタコントローラMは、ネットワークケーブルC0を通じて、スレーブコントローラS1に接続されている。スレーブコントローラS1は、ネットワークケーブルC1を通じて、スレーブコントローラS2に接続されている。スレーブコントローラS2は、ネットワークケーブルC2を通じて、スレーブコントローラS3に接続されている。一般に、スレーブコントローラSiは、ネットワークケーブルCiを通じて、スレーブコントローラSi+1に接続されている。ここで、iは、1以上5以下の整数である。なお、ネットワークケーブルC0、ネットワークケーブルC1、ネットワークケーブルC2、ネットワークケーブルC3、ネットワークケーブルC4及びネットワークケーブルC5を、ネットワークケーブルCと総称する場合がある。
【0028】
スレーブコントローラS1、スレーブコントローラS2、スレーブコントローラS3、スレーブコントローラS4、スレーブコントローラS5及びスレーブコントローラS6は、それぞれ被制御機器40a、被制御機器40b、被制御機器40c、被制御機器40d、被制御機器40e及び被制御機器40fに接続されている。スレーブコントローラSは、それぞれ接続されている被制御機器40との間のデータの入出力を担う。具体的には、スレーブコントローラS1は、被制御機器40aとの間のデータの入出力を担う。スレーブコントローラS2は、被制御機器40bとの間のデータの入出力を担う。なお、スレーブコントローラSの数、及び、被制御機器40の数は、本実施形態に示される数に限定されない。また、スレーブコントローラSがデータの入出力を行う被制御機器40の数は、1つに限られない。スレーブコントローラSの少なくとも1つは、複数の被制御機器40に接続され、接続された複数の被制御機器40のそれぞれとの間でデータの入出力を行ってよい。
【0029】
制御システム10は、工場やプラント等の産業施設において用いられてよい。制御システム10は、ファクトリーオートメーションの少なくとも一部として用いられてよい。管理装置20、マスタコントローラM及びスレーブコントローラSは、産業用制御システムであってよい。被制御機器40は、管理装置20、マスタコントローラM及びスレーブコントローラSによる制御対象となる機器である。被制御機器40は、モータ、エンコーダ、ポンプ、バルブ、カメラ、各種センサ等であってよい。被制御機器40は、例えば産業機械であってよい。マスタコントローラM及びスレーブコントローラSは、それぞれプログラマブルロジックコントローラ(PLC)であってよい。
【0030】
管理装置20は、制御システム10を統括制御する。管理装置20は、マスタコントローラMとの間でメッセージを送受信することにより、制御システム10を統括制御する。管理装置20は、マスタコントローラMからステータス情報を読み出し、制御システム10が制御する工程に従って、マスタコントローラMに各種の制御指示を出力する。
【0031】
スレーブコントローラSは、被制御機器40の状態を示す情報や、被制御機器40が計測した結果を示す情報等のデータを、監視データとして被制御機器40から取得する。スレーブコントローラSは、被制御機器40から入力された監視データを、マスタコントローラMに送信する。なお、監視データは、被制御機器40からの入力データの一例である。
【0032】
マスタコントローラM及びスレーブコントローラSは、ラダー図等を通じて生成されたシーケンス制御のための制御プログラムを有する。マスタコントローラMは、制御プログラムに従って、管理装置20から取得したメッセージと、スレーブコントローラSを通じて取得した監視データとに基づいて、被制御機器40への制御データを生成して、スレーブコントローラSに出力する。スレーブコントローラSは、制御プログラムに従って、マスタコントローラMから取得した制御データに基づいて、被制御機器40に制御信号を出力する。
【0033】
マスタコントローラMは、制御システム10が備える複数のコントローラにおけるマスタ装置の一例である。スレーブコントローラSは、制御システム10が備える複数のコントローラにおけるスレーブ装置の一例である。本実施形態において、マスタコントローラMは、ネットワークケーブルCを通じてスレーブコントローラSに電力を供給可能である。また、スレーブコントローラS4は、ネットワークケーブルCを通じて他のスレーブコントローラSに電力を供給可能である。マスタコントローラM及びスレーブコントローラS4のように、ネットワークケーブルCを通じて他のスレーブコントローラSに電力を供給可能であることを、「給電機能を有する」等と呼ぶ場合がある。
【0034】
ネットワークケーブルCには、仕様上、電力を伝送可能な最大長が定められている。本実施形態において、ネットワークケーブルCが電力を伝送可能な最大長を「仕様長」と呼ぶ。例えば、ネットワークケーブルCが準拠する規格によって、仕様長が定められる。本実施形態では、ネットワークケーブルC0〜C5の仕様長が100mであるとする。また、ネットワークケーブルCを通じて電力を供給する供給先のスレーブコントローラSの台数にも制約がある。電力供給先のスレーブコントローラSの台数を給電可能台数と呼ぶ。本実施形態では、給電可能台数は4台とする。システム構築者は、給電可能台数及びネットワークケーブルCの仕様長を考慮して、マスタコントローラM及びスレーブコントローラSを配置して、各ネットワークケーブルCの長さを選択する。
【0035】
本実施形態において、マスタコントローラMは、スレーブコントローラS1、スレーブコントローラS2、スレーブコントローラS3及びスレーブコントローラS4への電力供給を担う。スレーブコントローラS4は、スレーブコントローラS5及びスレーブコントローラS6への電力供給を担う。なお、スレーブコントローラS1、スレーブコントローラS2、スレーブコントローラS3、スレーブコントローラS5及びスレーブコントローラS6は、他のスレーブコントローラSへの給電機能を有しない。
【0036】
ここで、スレーブコントローラSはそれぞれ主電源を有しており、通常運用時は主電源からの電力で動作する。スレーブコントローラSは、保守時等に、主電源がオフされる場合がある。例えばスレーブコントローラS4の主電源をオフにした場合、スレーブコントローラS4の通信機能は、ネットワークケーブルC3を通じて供給される電力を用いて維持される。これにより、スレーブコントローラS5及びスレーブコントローラS6とマスタコントローラMとの間の通信を維持することができる。
【0037】
管理装置20は、システム構成情報に基づいて、給電可能台数をチェックする。例えば、管理装置20は、マスタコントローラMが電力供給を担うスレーブコントローラSの台数が給電可能台数を超えている場合には、仕様外構成である旨のメッセージを発する。これにより、マスタコントローラMの給電容量を超えた台数のスレーブコントローラSが接続されることを防ぐことができる。
【0038】
しかし、マスタコントローラM及びスレーブコントローラSに実際に接続されたネットワークケーブルC0、ネットワークケーブルC1、ネットワークケーブルC2及びネットワークケーブルC3の長さを合計した全長が仕様長100mを超えていると、マスタコントローラMからネットワークケーブルCを通じてスレーブコントローラS4に適切な電力を供給されない場合がある。そのため、スレーブコントローラS4の主電源をオフすると、スレーブコントローラS4の通信機能を維持できずに、スレーブコントローラS5及びスレーブコントローラS6とマスタコントローラMとの間の通信を維持することができなくなる場合がある。
【0039】
本実施形態において、マスタコントローラMは、ネットワークケーブルCを通じて電力の供給可能範囲に設けられたネットワークケーブルCの全長を算出する機能を有する。具体的には、マスタコントローラMは、スレーブコントローラS4までの間に接続されたネットワークケーブルCの全長を計測する。そして、マスタコントローラMは、当該ネットワークケーブルCの全長が100mを超えている場合に、警告を発する。また、マスタコントローラMは、スレーブコントローラS4からスレーブコントローラS6までの間に接続されたネットワークケーブルCの全長を計測する。そして、マスタコントローラMは、当該ネットワークケーブルCの全長が100mを超えている場合に、警告を発する。これにより、給電機能を有するコントローラから供電先の末端のスレーブコントローラSまでのネットワークケーブルCの全長が100mを超えた状態で制御システム10が運用される可能性を抑制することができる。
【0040】
図2は、マスタコントローラMの機能構成を概略的に示す。マスタコントローラMは、制御部210と、電力供給部220と、ネットワークインタフェース240と、通信部230と、タイマ260と、通知部270と、主電源280と、コネクタ部Tとを備える。コネクタ部Tには、ネットワークケーブルC0が接続される。
【0041】
制御部210は、ネットワークインタフェース240及び通信部230と互いにデータを送受信する。制御部210は、プロセッサであってよい。制御部210は、マイクロコントローラであってよい。制御部210は、中央処理装置(CPU)、ROM、RAM等を含む半導体集積回路で構成される。制御部210は制御プログラムを格納する記憶部を内部に有する。
【0042】
制御部210は、マスタコントローラMにおける主処理を担う。制御部210は、制御プログラムに従って、通信部230、通知部270、通信部230及びネットワークインタフェース240を含む、マスタコントローラMの各部を制御する。例えば、制御部210は、内部の記憶部に格納された制御プログラムに従って、スレーブコントローラSから取得した監視データの処理を行い、スレーブコントローラSに対する制御データを監視データに基づいて生成する処理を行う。
【0043】
タイマ260は、時刻を示すタイマ値を生成して、制御部210に供給する。制御部210は、タイマ260から供給されたタイマ値を用いて、各種の処理を実行する。
【0044】
通信部230は、管理装置20との通信を担う。通信部230は、管理装置20からのメッセージを受信して、受信したメッセージを制御部210に出力する。また、通信部230は、管理装置20へのメッセージを制御部210から受信して、受信したメッセージを管理装置20に送信する。通信部230から管理装置20に送信されるメッセージには、被制御機器40から取得した監視データや、制御システム10のステータス等の情報が含まれる。
【0045】
ネットワークインタフェース240は、FPGA等の半導体集積回路で構成される。ネットワークインタフェース240は、スレーブコントローラSから監視データを受信する。制御部210は、ネットワークインタフェース240が受信した監視データを用いて、制御プログラムに従って制御データを生成する。制御部210は、生成した制御データを、ネットワークインタフェース240を通じてスレーブコントローラSに送信する。
【0046】
主電源280は、マスタコントローラMの各部に電力を供給する。制御部210、通信部230、ネットワークインタフェース240及び通知部270は、主電源280から供給された電力により動作する。
【0047】
マスタコントローラMは、ネットワークケーブルC0を通じてスレーブコントローラSに電力を供給可能である。具体的には、電力供給部220は、主電源280から供給された電力を、コネクタTに供給する。例えば、電力供給部220は、コネクタ部TのグランドラインGに電力を供給する。グランドラインGに供給された電力は、ネットワークケーブルC0のグランドラインを通じてスレーブコントローラS1に供給される。
【0048】
制御部210の機能について説明する。制御部210は、判定処理部200を有する。判定処理部200は、制御部210の機能部分であってよい。判定処理部200は、判定部204と、特定部206と、取得部208とを含む。
【0049】
判定処理部200は、マスタコントローラM及びスレーブコントローラSをデイジーチェーン接続するネットワークケーブルCによって生じる通信の遅延時間を判定する。判定部204は、マスタコントローラMからネットワークケーブルCを通じて供給された電力により動作可能なスレーブコントローラSとマスタコントローラMとの間においてネットワークケーブルCによって生じる通信の遅延時間を計測する。判定部204は、当該計測された、マスタコントローラMとスレーブコントローラSとの間においてネットワークケーブルCによって生じる通信の遅延時間を判定する。具体的には、判定部204は、ネットワークケーブルCを通じてマスタコントローラMからスレーブコントローラSに信号が送信されてから当該信号に対する当該スレーブコントローラSからの第1応答信号をマスタコントローラMが受信するまでの第1経過時間と、複数のコントローラのうち、マスタコントローラMと当該スレーブコントローラSとの間の通信経路上にある1以上のコントローラが信号を伝送する処理に要する第1伝送処理時間とに基づいて、ネットワークケーブルCによって生じる通信の遅延時間を算出する。
【0050】
例えば、判定部204は、ネットワークケーブルCを通じてマスタコントローラMからスレーブコントローラS4に信号が送信されてから当該信号に対するスレーブコントローラS4からの第1応答信号をマスタコントローラMが受信するまでの第1経過時間と、複数のマスタコントローラMとスレーブコントローラS4との間の通信経路上にある1以上のコントローラが信号を伝送する処理に要する第1伝送処理時間とに基づいて、マスタコントローラMとスレーブコントローラS4との間におけるネットワークケーブルCによって生じる通信の遅延時間を算出する。
【0051】
第1伝送処理時間は、複数のコントローラのうち、スレーブコントローラSに送信された信号を中継する1以上のコントローラが信号を中継するのに要する中継時間と、スレーブコントローラSがスレーブコントローラSに送信された信号を受信してから第1応答信号を送信するまでに要する応答時間とを含んでよい。
【0052】
本実施形態に関連して後述するように、遅延時間の判定対象となるネットワークケーブルCで接続されたスレーブコントローラSは、電力供給機能を有するスレーブコントローラS4であってよい。スレーブコントローラS4は、ネットワークケーブルCを通じて電力を供給可能なスレーブコントローラの一例である。しかし、遅延時間の判定対象となるスレーブコントローラは、電力供給機能を有しないスレーブコントローラであってよい。
【0053】
次に、電力供給機能を有するスレーブコントローラSと電力供給機能を有しないスレーブコントローラSとの間においてネットワークケーブルCにより生じる遅延時間を判定する場合を説明する。ここでは、スレーブコントローラS4とスレーブコントローラS6との間においてネットワークケーブルCにより生じる遅延時間を判定する場合を取り上げて説明する。判定部204は、マスタコントローラMからネットワークケーブルCを通じてスレーブコントローラS6に信号が送信されてから当該信号に対するスレーブコントローラS6からの第2応答信号をマスタコントローラMが受信するまでの第2経過時間をさらに計測する。そして、判定部204は、複数のコントローラのうち、マスタコントローラMとスレーブコントローラS6との間の通信経路上にある複数のコントローラが信号を伝送する処理に要する第2伝送処理時間と、上述した第1経過時間と、上述した第2経過時間とに基づいて、スレーブコントローラS4とスレーブコントローラS6との間においてネットワークケーブルCによって生じる通信の遅延時間を算出する。第2伝送処理時間は、複数のコントローラのうち、スレーブコントローラS6に送信された信号を中継するコントローラが信号を中継するのに要する中継時間と、スレーブコントローラS6がスレーブコントローラS6に送信された信号を受信してから第2応答信号を送信するまでに要する応答時間とを含んでよい。
【0054】
通知部270は、判定部204がネットワークケーブルCによって生じる通信の遅延時間が予め定められた時間を超えると判定した場合に通知する。また、判定部204は、ネットワークケーブルCによって生じる通信の遅延時間から算出されるネットワークケーブルCの長さが、ネットワークケーブルCが電力を伝送可能な予め定められた規定長を超えるか否かを判定してよい。規定長は、例えば上述した仕様長であってよい。
【0055】
取得部208は、デイジーチェーン接続におけるマスタコントローラM及びスレーブコントローラSの接続構成を示す情報と、マスタコントローラM及びスレーブコントローラSのうち、ネットワークケーブルCを通じて他のコントローラに電力を供給可能なコントローラを特定する情報とを含む接続情報を取得する。そして、特定部206は、当該接続情報に基づいて、ネットワークケーブルCを通じて電力を供給可能なマスタコントローラM及び0以上のスレーブコントローラSと、当該電力供給可能なコントローラが電力を供給するべき1以上のスレーブコントローラSとを特定する。
【0056】
本実施形態では、判定処理部200は、マスタコントローラMにおける制御部210の機能ブロックである。一方、判定処理部200の機能は、マスタコントローラMとは独立した装置に実装されてよい。例えば、判定処理部200の機能は、管理装置20に実装されてよい。また、判定処理部200の機能は、スレーブコントローラSに実装されてよい。判定処理部200の機能をスレーブコントローラS4に実装する場合については、制御システム10の変形例に関連して後述する。
【0057】
図3は、スレーブコントローラS1の機能構成を概略的に示す。スレーブコントローラS1は、電力供給機能を有しないスレーブコントローラである。
【0058】
スレーブコントローラS1は、制御部310と、電力取得部350と、タイマ360と、ネットワークインタフェース340と、主電源380と、コネクタ部T1と、コネクタ部T2とを備える。コネクタ部T1には、デイジーチェーン接続における上流側のネットワークケーブルC0が接続される。コネクタ部T2には、デイジーチェーン接続における下流側のネットワークケーブルCであるネットワークケーブルC1が接続される。
【0059】
制御部310は、ネットワークインタフェース240とデータを送受信する。制御部310は、プロセッサであってよい。制御部310は、マイクロコントローラであってよい。制御部310は、中央処理装置(CPU)、ROM、RAM等を含む半導体集積回路で構成される。制御部310は制御プログラムを格納する記憶部を内部に有する。制御部310は、制御プログラムに従って、ネットワークインタフェース240を含む、スレーブコントローラS1の各部を制御する。
【0060】
ネットワークインタフェース340は、FPGA等の半導体集積回路で構成される。ネットワークインタフェース340は、マスタコントローラMから制御データを受信する。ネットワークインタフェース340は、マスタコントローラMからの制御データを、コネクタT1を通じて受信する。
【0061】
制御部310は、スレーブコントローラS1における主処理を担う。例えば、制御部310は、内部の記憶部に格納された制御プログラムに従って、マスタコントローラMから送信された制御データに基づいて、被制御機器40への入力信号を出力する。また。制御部310は、被制御機器40から出力される出力信号を取得して、監視データを生成する。制御部310は、生成した監視データをネットワークインタフェース340に出力する。ネットワークインタフェース340は、制御部310から取得した監視データをマスタコントローラMに送信する。
【0062】
タイマ360は、タイマ値を生成して、制御部310に供給する。制御部310は、タイマ360から供給されたタイマ値を用いて、各種の処理を実行する。
【0063】
また、ネットワークインタフェース340は、マスタコントローラMから受信した他のスレーブコントローラS宛の制御データを中継する。ネットワークインタフェース340は、他のスレーブコントローラS宛の制御データを、コネクタT2を通じてネットワークケーブルC1に出力する。
【0064】
主電源380は、スレーブコントローラS1の各部に電力を供給する。制御部310及びネットワークインタフェース340は、主電源380から供給された電力により動作する。スレーブコントローラS1は、主電源380からの電力が遮断された場合に、マスタコントローラMからネットワークケーブルCを通じて供給された電力を用いて複数のコントローラのうちの他の制御装置との間の通信を維持する。
【0065】
電力取得部350は、コネクタT1のグランドラインG及びコネクタT2のグランドラインGの少なくとも一方から電力を取得する。主電源380がオフされた場合、電力取得部350は、コネクタT1のグランドラインGから取得した電力を、ネットワークインタフェース340に供給する。これにより、スレーブコントローラS1の通信機能を維持することができる。
【0066】
なお、電力取得部350は、コネクタT2のグランドラインGから電力が供給されている場合には、コネクタT2のグランドラインGから取得した電力を、ネットワークインタフェース340に供給する。また、コネクタT1のグランドラインGとコネクタT2のグランドラインGとは短絡されており、コネクタT1のグランドラインGを通じて供給された電力は、コネクタT2のグランドラインGを通じて下流のスレーブコントローラSに供給される。
【0067】
スレーブコントローラS2、スレーブコントローラS3、スレーブコントローラS5及びスレーブコントローラS6は、スレーブコントローラS1が有する構成と同様の機能構成を有する。そのため、スレーブコントローラS2、スレーブコントローラS3、スレーブコントローラS5及びスレーブコントローラS6の機能構成については説明を省略する。
【0068】
図4は、スレーブコントローラS4の機能構成を概略的に示す。スレーブコントローラS4は、電力供給機能を有するスレーブコントローラである。スレーブコントローラS4は、制御部410と、電力取得部450と、タイマ460と、ネットワークインタフェース440と、主電源480と、コネクタ部T1と、コネクタ部T2とを備える。
【0069】
スレーブコントローラS4は、電力を供給する機能を有する点を除いて、スレーブコントローラS1と略同一の機能を有する。具体的には、スレーブコントローラS4における制御部410、ネットワークインタフェース440、電力取得部450、タイマ460、主電源480、コネクタ部T1及びコネクタ部T2は、それぞれスレーブコントローラS1における制御部310、ネットワークインタフェース340、電力取得部350、タイマ360、主電源380、コネクタ部T1及びコネクタ部T2に対応する。そのため、スレーブコントローラS4における制御部410、ネットワークインタフェース440、電力取得部450、主電源480、コネクタ部T1及びコネクタ部T2についての説明は省略する。
【0070】
電力供給部420は、主電源480から供給された電力を、コネクタT1及びコネクタT2に供給することができる。具体的には、電力供給部220は、コネクタ部T1のグランドラインG及びコネクタ部T2のグランドラインGに電力を供給することができる。
【0071】
ここで、コネクタ部T1には、デイジーチェーン接続における上流側のスレーブコントローラS3からのネットワークケーブルC3が接続されており、コネクタ部T2には、デイジーチェーン接続における下流側のスレーブコントローラS5からのネットワークケーブルC4が接続されているとする。この場合、電力供給部420は、主電源480から供給された電力をコネクタT2のグランドラインGに供給する。これにより、スレーブコントローラS4は、ネットワークケーブルC4を通じてスレーブコントローラS5に電力を供給可能となる。
【0072】
なお、コネクタ部T1に下流側のスレーブコントローラS5からのネットワークケーブルC4が接続され、コネクタ部T2に上流側のスレーブコントローラS3からのネットワークケーブルC3が接続されている場合、電力供給部420は、主電源480から供給された電力をコネクタT1のグランドラインGに供給する。これにより、このスレーブコントローラS5及びスレーブコントローラS6は、主電源からの電力が遮断された場合に、スレーブコントローラS4からネットワークケーブルCを通じて供給された電力を用いて他のコントローラとの間の通信を維持する。
【0073】
図5は、マスタコントローラMからスレーブコントローラS4までの間のネットワークケーブルの全長が仕様長を超えている場合に生じ得る事象を概略的に示す。
【0074】
ここでは、ネットワークケーブルC0の長さ、ネットワークケーブルC1の長さ、ネットワークケーブルC2の長さ及びネットワークケーブルC3の長さが、それぞれ20m、40m、40m及び20mであるとする。マスタコントローラMからスレーブコントローラS3までの間のネットワークケーブルCの全長は100mである。そのため、スレーブコントローラS3は、マスタコントローラMから供給される規定の電力を受け取ることができる。
【0075】
しかし、マスタコントローラMからスレーブコントローラS4までのネットワークケーブルCの全長は120mであるため、スレーブコントローラS4の主電源がオフされると、スレーブコントローラS4のネットワークインタフェース440は、マスタコントローラMから規定の電力を受け取ることができなくなる場合がある。ネットワークインタフェース440の動作を維持できなくなると、スレーブコントローラS5が上流側のマスタコントローラMとの間の通信を維持できなくなる。これにより、スレーブコントローラS5及びスレーブコントローラS6がマスタコントローラMの制御から脱落してしまう。
【0076】
そこで、マスタコントローラMは、マスタコントローラMが電力供給を担うスレーブコントローラS1〜S4のうち、デイジーチェーン接続において最も下流側のスレーブコントローラS4までのネットワークケーブルCの全長を測定する。そして、マスタコントローラMは、測定した全長が仕様長を超える場合に警告する。
【0077】
なお、ネットワークケーブルCの全長が長くなると、電力伝送だけでなく、ネットワーク通信の電気信号も劣化する。しかし、一般に、ネットワーク通信においては、電気信号の劣化に対して比較的にロバストに設計されるため、ネットワークケーブルCの全長が仕様長を超えている場合でも通信不能が生じにくい。そのため、マスタコントローラM及びスレーブコントローラSの主電源がオンされている場合には、ネットワークケーブルCの全長が仕様長を超えていることに気づきにくい。そして、運用中にスレーブコントローラS4の主電源をオフした場合にスレーブコントローラSが脱落することで、ネットワークケーブルCの全長が仕様長を超えていることに初めて気づく場合がある。
【0078】
図6は、マスタコントローラS4からスレーブコントローラS6までの間のネットワークケーブルの全長が仕様長を超えている場合に生じ得る事象を概略的に示す。ここでは、ネットワークケーブルC4の長さが80mであり、ネットワークケーブルC5の長さが70mであるとする。
【0079】
スレーブコントローラS4からスレーブコントローラS6までのネットワークケーブルCの全長は150mである。そのため、スレーブコントローラS6の主電源がオフされると、スレーブコントローラS6のネットワークインタフェース340は、スレーブコントローラS4から供給される規定の電力を受け取ることができない場合がある。これにより、スレーブコントローラS6のネットワークインタフェース340がマスタコントローラMと通信することができなくなり、マスタコントローラMの制御に支障が生じる場合がある。例えば、マスタコントローラMからの信号を各スレーブコントローラSがバケツリレー方式で伝達してマスタコントローラMに返送する場合に、スレーブコントローラS6のネットワークインタフェース340から信号が上流側に返信されずに失われてしまう場合がある。
【0080】
そこで、マスタコントローラMは、スレーブコントローラS4が電力供給を担うスレーブコントローラS5及びS6のうち最も下流側のスレーブコントローラS6と、スレーブコントローラS4との間のネットワークケーブルCの全長を測定する。そして、マスタコントローラMは、測定した全長が仕様長を超える場合に警告する。
【0081】
図5及び
図6に関連して説明したように、マスタコントローラMは、マスタコントローラM及びスレーブコントローラS4のそれぞれが電力供給を担う範囲のネットワークケーブルCの全長がネットワークケーブルCの仕様長を超えている場合に警告する。これにより、ネットワークケーブルCの全長が仕様長を超えている状態で制御システム10が運用され続けてしまうことを未然に防ぐことができる。
【0082】
図7は、マスタコントローラMが取得する、給電機能有無情報の一例をテーブル形式で示す。給電機能有無情報は、管理装置20からマスタコントローラMに送信されるシステム構成情報に含めて送信される。給電機能有無情報は、スレーブコントローラSの識別情報と、それぞれのスレーブコントローラSが電力供給機能を有するか否かを示す情報とを含む。マスタコントローラMの特定部206は、給電機能有無情報に基づいて、マスタコントローラM及びスレーブコントローラSのうち、電力供給を担うスレーブコントローラSを特定する。
【0083】
図8は、マスタコントローラMが特定する、電力供給を担う範囲の一例をテーブル形式で示す。管理装置20からマスタコントローラMに送信されるシステム構成情報には、
図7に示す給電機能有無情報の他に、デイジーチェーン接続されるマスタコントローラM及びスレーブコントローラSの接続構成を示す情報を含む。例えば、接続構成は、スレーブコントローラS1〜S6は、上流から下流に向けて、スレーブコントローラS1、S2、S3、S4、S5及びS6の順でデイジーチェーン接続されることを示す。
【0084】
マスタコントローラMの特定部206は、システム構成情報に含まれる給電機能有無情報及び接続構成に基づいて、スレーブコントローラS4が電力供給を担うべきスレーブコントローラSとして、スレーブコントローラS5及びスレーブコントローラS6を特定する。また、マスタコントローラMは、マスタコントローラMが電力供給を担うべきスレーブコントローラSとして、スレーブコントローラS1、スレーブコントローラS2、スレーブコントローラS3及びスレーブコントローラS4を特定する。
【0085】
これにより、特定部206は、マスタコントローラMが電力供給を担う範囲のスレーブコントローラS1〜S4のうち、最も下流側のスレーブコントローラS4を、マスタコントローラMとの間のネットワークケーブルCの全長の測定対象として特定する。また、特定部206は、スレーブコントローラS4が電力供給を担う範囲のスレーブコントローラS5及びS6のうち、最も下流側のスレーブコントローラS6を、スレーブコントローラS4との間のネットワークケーブルCの全長の測定対象として特定する。
【0086】
図9は、ネットワークケーブルCの全長の測定方法を説明するための図である。
【0087】
スレーブコントローラS4との間のネットワークケーブルCの全長を測定する場合、マスタコントローラMにおいて、制御部210は、ネットワークインタフェース240に、スレーブコントローラS4宛の要求信号Rq1を送信させる。スレーブコントローラS4において、ネットワークインタフェース440が要求信号Rq1を受信すると、制御部410はマスタコントローラM宛の応答信号Rs1を生成して、ネットワークインタフェース440に応答信号Rs1を送信させる。マスタコントローラMにおいて、制御部210の判定部204は、ネットワークインタフェース240が応答信号要求信号Rq1を送信してから、ネットワークインタフェース240が応答信号Rs1を受信するまでの経過時間T
m_S4を計測する。判定部204は、タイマ260から供給されたタイマ値を用いて、経過時間T
m_S4を算出する。判定部204は、経過時間T
m_S4を用いて、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長を算出する。
【0088】
ここで、ネットワークケーブルCiを信号が通過するのに要する時間をtciとする。iは、0から5の整数であるとする。taは、スレーブコントローラSが信号を中継するのに要する時間である。taは、スレーブコントローラSにおけるネットワークインタフェースの処理能力によって予め定められた値を持つとしてよい。しかし、ここでは、taは各スレーブコントローラSにおいて同じ値とする。tbは、スレーブコントローラSにおいて要求信号を受信してからマスタコントローラM宛の応答信号を送信するまでに要する応答時間である。応答時間には、スレーブコントローラSにおいて応答信号を生成する時間が含まれる。tbは、予め定められた値としてよい。
【0089】
判定部204は、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルC0−C3内を信号が通過するのに要する時間tc0+tc1+tc2+tc3を、T
m_S4/2 − 3ta − tb/2により算出する。
【0090】
一例として、ta及びtbを共に200nsとする。T
m_S4が1800nsであった場合、ネットワークケーブルC0−C3内の信号の通過時間は200nsとなる。判定部204は、当該通過時間とネットワークケーブルC内の電気信号の伝搬速度とに基づいて、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長を算出する。例えば、ネットワークケーブルC内の電気信号の伝搬速度を3×10
8m/sとすると、当該全長は60mと算出される。この場合、判定部204は、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長がネットワークケーブルCの仕様長を超えていないと判定する。
【0091】
次に、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長を測定する場合を説明する。マスタコントローラMにおいて、制御部210は、ネットワークインタフェース240に、スレーブコントローラS6宛の要求信号Rq2を送信させる。スレーブコントローラS6において、ネットワークインタフェース340が要求信号Rq2を受信すると、制御部310はマスタコントローラM宛の応答信号Rs2を生成して、ネットワークインタフェース340に応答信号Rs2を送信させる。マスタコントローラMにおいて、制御部210の判定部204は、ネットワークインタフェース240が要求信号Rq2を送信してから、ネットワークインタフェース240が応答信号Rs2を受信するまでの経過時間T
m_S6を算出する。判定部204は、経過時間T
m_S4と、経過時間T
m_S6とを用いて、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長を算出する。
【0092】
具体的には、判定部204は、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルC4−C5内を信号が通過するのに要する時間tc4+tc5を、(T
m_S6−T
m_S4)/2 − 2taにより算出する。一例として、上述したようにta及びtbを共に200nsとし、T
m_S4が2000nsであり、T
m_S6が3600nsであった場合、ネットワークケーブルC4−C5内の信号の通過時間は500nsとなる。判定部204は、当該通過時間とネットワークケーブルC内の信号の伝搬速度とに基づいて、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長を算出する。例えば、ネットワークケーブルC内の信号の伝搬速度を3×10
8m/sとすると、当該全長は150mと算出される。
【0093】
この場合、判定部204は、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長がネットワークケーブルCの仕様長を超えていると判定する。この場合、通知部270は、ケーブル長が仕様長を超えていることを運用者に通知する。例えば、通知部270は、仕様外構成であることを警告するためのランプを点灯させる。また、制御部210は、ケーブル長が仕様長を超えていることを示す警告情報を管理装置20に送信してよい。これにより、電力供給範囲内におけるケーブル長が仕様長を超えている場合に、運用者に警告することができる。
【0094】
なお、上述したマスタコントローラMとスレーブコントローラS4との間のネットワークケーブルC内の信号の通過時間は、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCにより生じる通信の遅延時間に対応する。また、上述したように、ネットワークケーブルC内の信号の伝搬速度は略一定であるので、当該通過時間を、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの長さの指標として使用できる。上述したスレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルC内の信号の通過時間についても同様である。したがって、判定部204は、必ずしもケーブル長を算出して判定する必要はなく、当該ネットワークケーブルC内の通過時間を用いて判定を行ってよい。
【0095】
図10は、マスタコントローラMにおける処理を示すフローチャートである。本フローチャートの処理は、制御部210が主体となってマスタコントローラMの各部を制御することにより実行される。本フローチャートの処理は、電源投入により開始されてよい。
【0096】
S1000において、制御部210の取得部208は、通信部230を通じて、システム構成情報を管理装置20から取得する。S1002において、制御部210の特定部206は、S1000で取得したシステム構成情報に基づいて、給電機能を有するスレーブコントローラS4を特定し、マスタコントローラM及びスレーブコントローラS4がそれぞれ電力供給を担う範囲を特定する。
【0097】
S1004において、判定部204は、給電機能を有する各コントローラについて、各コントローラの電力供給範囲におけるネットワークケーブルCによる通信の遅延時間を計測する。具体的には、判定部204は、上述したマスタコントローラMとスレーブコントローラS4との間のネットワークケーブルC内を信号が通過する時間と、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルC内を信号が通過する時間とを計測する。
【0098】
S1006において、判定部204は、給電機能を有する各コントローラについて、各コントローラの電力供給範囲におけるネットワークケーブルCの全長を算出する。具体的には、判定部204は、上述したマスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長と、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長とを算出する。
【0099】
S1008において、判定部204は、S1006で算出した給電機能を有する各コントローラの電力供給範囲内のネットワークケーブルCの全長が、ネットワークケーブルCの仕様長を超えるか否かを判定する。少なくとも1つの電力供給範囲について、ネットワークケーブルCの全長が仕様長を超えると判定された場合、S1010において仕様外構成である旨の通知を行う。例えば、通知部270がランプを点灯させることにより運用者に通知する。また、制御部210は、警告情報を管理装置20に送信する。S1010において仕様外構成の通知をした後、制御部210は、制御システム10の通常運用を開始せずに、制御システム10の動作を終了させる。
【0100】
S1008の判定において、全ての電力供給範囲について、ネットワークケーブルCの全長が仕様長を超えないと判定された場合、S1024において、制御システム10の通常運用を開始する。
【0101】
S1026において、判定部204は、マスタコントローラMと各スレーブコントローラSとの間で定期的に計測される通信の遅延時間から、マスタコントローラMとスレーブコントローラS4との間、及び、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCによる通信の遅延時間を計測する。通常運用中、制御部210は、マスタコントローラM及びスレーブコントローラSとの間で時刻の同期を取るために、マスタコントローラMと各スレーブコントローラSとの間の通信経路中で生じる通信遅延時間を計測する。通信経路中の通信の遅延時間は、例えば、上述したT
m_S4、T
m_S6に対応する。判定部204は、定期的に計測される通信経路中の通信遅延時間から、上述した給電機能を有する各コントローラの電力供給範囲内のネットワークケーブルCによる通信の遅延時間を算出し、判定部204が、S1006と同様に、算出されたネットワークケーブルCによる通信の遅延時間から、各電力供給範囲内のネットワークケーブルCの全長を算出する。
【0102】
S1028において、判定部204は、S1008と同様に、S1026で算出した給電機能を有する各コントローラの電力供給範囲内のネットワークケーブルCの全長が、ネットワークケーブルCの仕様長を超えるか否かを判定する。S1028の判定において、全ての電力供給範囲について、ネットワークケーブルCの全長が仕様長を超えないと判定された場合、S1026に処理を移行する。
【0103】
S1028の判定において、少なくとも1つの電力供給範囲について、ネットワークケーブルCの全長が仕様長を超えると判定された場合、S1030において、仕様外構成である旨の通知を行う。S1030においては、S1010と同様の処理を行ってよい。S1030において仕様外構成を通知した後、S1026に処理を移行する。上述したように、ネットワークケーブルCの全長が仕様長を超える場合でも、スレーブコントローラSの主電源をオフしなければ、通信は正常に行える場合がある。そのため、通常運用を開始した後においては、スレーブコントローラSの主電源をオフしない限りは、ネットワークケーブルCの全長が仕様長を超えると判定された場合でも、制御システム10の運用を停止することなく、運用を継続してよい。もちろん、通常運用を開始した後においても、ネットワークケーブルCの全長が仕様長を超えると判定された場合には、制御システム10の運用を停止してもよい。
【0104】
図10のS1026、S1028及びS1030に関連して説明したように、マスタコントローラMは、通常運用後においても、ネットワークケーブルCの全長の計測を続ける。ネットワークケーブルCの状態は、温度等の環境変化によって変わる。そのため、通常運用後においても、ネットワークケーブルCにおける通信の遅延時間に基づく判定処理を継続的に行うことで、環境変化に応じて適切に警告することが可能になる。
【0105】
図11は、制御システム10の第1の変形例においてネットワークケーブルCの長さを測定する方法を説明するための図である。第1の変形例において、スレーブコントローラS4は、スレーブコントローラS4から供給される電力により動作可能なスレーブコントローラSとの間におけるネットワークケーブルCの長さを測定する機能を有する。一例として、スレーブコントローラS4の制御部410が、マスタコントローラMが備える判定処理部200と同様の機能の判定処理部を備えてよい。ここでは、スレーブコントローラS4の制御部410の動作として、ネットワークケーブルCの長さを測定する場合の動作を説明する。
【0106】
第1の変形例においても、マスタコントローラMの判定処理部200が、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長を算出する。具体的には、
図9に関連して説明したように、マスタコントローラMの判定処理部200が、経過時間T
m_S4を用いて、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長を算出する。
【0107】
次に、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長を測定する場合を説明する。スレーブコントローラS4において、制御部410は、ネットワークインタフェース440に、スレーブコントローラS6宛の要求信号Rq2を送信させる。スレーブコントローラS6において、ネットワークインタフェース340が要求信号Rq2を受信すると、制御部310はマスタコントローラM宛の応答信号Rs2を生成して、ネットワークインタフェース340に応答信号Rs2を送信させる。スレーブコントローラS4において、制御部410は、ネットワークインタフェース440が要求信号Rq2を送信してから、ネットワークインタフェース240が応答信号Rs2を受信するまでの経過時間T
S4_S6を算出する。制御部410は、経過時間T
S4_S6を用いて、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCの全長を算出する。具体的には、制御部410は、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルC4−C5内を信号が通過するのに要する時間tc4+tc5を、T
S4_S6/2−ta−tb/2により算出する。時間tc4+tc5を用いて判定を行う処理については、マスタコントローラMに関連して説明した動作と同様であるので、説明を省略する。
【0108】
図11に関連して説明したように、マスタコントローラMにおいて、判定部204は、マスタコントローラMとスレーブコントローラS4との間においてネットワークケーブルCによって生じる通信の遅延時間を計測し、計測された、マスタコントローラMとスレーブコントローラS4との間においてネットワークケーブルCによって生じる通信の遅延時間を判定してよい。一方、スレーブコントローラS4は、スレーブコントローラS4とスレーブコントローラS6との間においてネットワークケーブルCによって生じる通信の遅延時間を計測し、計測された、スレーブコントローラS4とスレーブコントローラS6との間においてネットワークケーブルCによって生じる通信の遅延時間を判定する判定部を有してよい。当該判定部は、ネットワークケーブルCを通じてスレーブコントローラS4からスレーブコントローラS6に信号が送信されてから当該信号に対するスレーブコントローラS6からの応答信号をスレーブコントローラS4が受信するまでの第1経過時間と、複数のコントローラのうち、スレーブコントローラS4とスレーブコントローラS6との間の通信経路上にある1以上のコントローラが信号を伝送する処理に要する伝送処理時間とに基づいて、スレーブコントローラS4とスレーブコントローラS6との間においてネットワークケーブルCによって生じる通信の遅延時間を算出してよい。
【0109】
図12は、制御システム10の第2の変形例におけるネットワークケーブルCの長さを測定する方法を説明するための図である。第2の変形例において、スレーブコントローラS4は、第1の変形例と同様に、スレーブコントローラS4から供給される電力により動作可能なスレーブコントローラSとの間におけるネットワークケーブルCの長さを測定する機能を有する。スレーブコントローラS4がスレーブコントローラS6との間におけるネットワークケーブルCの長さを測定するための動作は、
図11に関連して説明した動作と同様であるので、説明を省略する。
【0110】
第2の変形例において、スレーブコントローラS4は更に、マスタコントローラMとスレーブコントローラS4との間におけるネットワークケーブルCの長さを測定する機能を有する。ここでは、第1の変形例との相違点を説明する。
【0111】
第2の変形例において、スレーブコントローラS4の判定処理部200が、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCの全長を算出する。具体的には、スレーブコントローラS4において、制御部410は、ネットワークインタフェース440に、マスタコントローラM宛の要求信号Rq1を送信させる。マスタコントローラMにおいて、ネットワークインタフェース240が要求信号Rq1を受信すると、制御部210はマスタコントローラM宛の応答信号Rs1を生成して、ネットワークインタフェース240に応答信号Rs1を送信させる。スレーブコントローラS4において、制御部410は、ネットワークインタフェース440が要求信号Rq1を送信してから、ネットワークインタフェース440が応答信号Rs2を受信するまでの経過時間T
S4_mを算出する。制御部410は、経過時間T
S4_mを用いて、スレーブコントローラS4とマスタコントローラMとの間のネットワークケーブルCの全長を算出する。なお、経過時間T
S4_mは、
図9に関連して説明したT
S4_mと同様に表すことができるので、説明を省略する。
【0112】
図12に関連して説明したように、ネットワークケーブルCによって生じる通信の遅延時間を判定するコントローラは、マスタコントローラMからネットワークケーブルCを通じて供給された電力により動作可能であり、複数のコントローラのうちの他のスレーブコントローラSにネットワークケーブルCを通じて電力を供給可能な、スレーブコントローラS4であってよい。スレーブコントローラS4が、スレーブコントローラS4とマスタコントローラMとの間においてネットワークケーブルCによって生じる通信の遅延時間を計測し、計測された、マスタコントローラMとスレーブコントローラS4との間においてネットワークケーブルCによって生じる通信の遅延時間を判定する判定部を有してよい。当該判定部は、ネットワークケーブルCを通じてスレーブコントローラS4からマスタコントローラMに信号が送信されてから当該信号に対するマスタコントローラMからの第1応答信号をスレーブコントローラS4が受信するまでの第1経過時間と、複数のコントローラのうち、スレーブコントローラS4とマスタコントローラMとの間の通信経路上にある1以上のコントローラが信号を伝送する処理に要する第1伝送処理時間とに基づいて、ネットワークケーブルCによって生じる通信の遅延時間を算出してよい。また、当該判定部は、スレーブコントローラS4からネットワークケーブルCを通じてスレーブコントローラS6に信号が送信されてから当該信号に対するスレーブコントローラS6からの第2応答信号をスレーブコントローラS4が受信するまでの第2経過時間をさらに計測し、スレーブコントローラS4とスレーブコントローラS6との間の通信経路上にある複数のコントローラが信号を伝送する処理に要する第2伝送処理時間と、第2経過時間とに基づいて、スレーブコントローラS4とスレーブコントローラS4との間においてネットワークケーブルCによって生じる通信の遅延時間を算出してよい。
【0113】
図13は、制御システム10の第3の変形例においてネットワークケーブルCの長さを測定する方法を説明するための図である。第3の変形例において、スレーブコントローラSはそれぞれ、受信した信号を他のスレーブコントローラSに転送する場合に、それぞれのスレーブコントローラSが備えるタイマで計測したタイマ値を信号に含めて転送する。また、スレーブコントローラSはそれぞれ、受信した信号を他のスレーブコントローラSに転送する場合に、それぞれのスレーブコントローラSを識別する識別情報を、当該タイマ値に対応付けて転送する。例えば、スレーブコントローラSはそれぞれ、受信タイミングにおけるタイマ値及び転送タイミングにおけるタイマ値と、それぞれのスレーブコントローラSの識別情報とを対応づけた情報を、転送する信号に含める。第3の変形例における各コントローラの動作を、上述した制御システム10における動作の相違点を説明する。
【0114】
スレーブコントローラS1において、制御部310は、Rq1を受信した場合に、スレーブコントローラS1のタイマで計測したタイマ値T0_rを取得する。また、制御部310は、Rq1を転送する場合に、当該タイマで計測したタイマ値T0_sを取得する。制御部310は、タイマ値T0_r、タイマ値T0_s及びスレーブコントローラS1の識別情報を対応付けた情報をRq1に含めて、スレーブコントローラS2に転送する。例えば、スレーブコントローラS1の制御部310は、Rq1のヘッダ部に、タイマ値T0_r及びタイマ値T0_sを含める。他のスレーブコントローラSの制御部も同様に、Rq1を受信した場合及び転送する場合に、各スレーブコントローラSのタイマで計測したタイマ値を取得し、当該タイマで計測した2つのタイマ値を、Rq1に含めて転送する。
【0115】
なお、スレーブコントローラS6においては、制御部は、Rq1を受信したときのタイマ値T6_rと、Rs1を送信するときのタイマ値T6_sとをRq1に含めて、Rq1の応答信号Rs1としてマスタコントローラMに向けて転送する。他のスレーブコントローラSはそれぞれ、受信したRs1を他のスレーブコントローラSに転送する場合に、それぞれのスレーブコントローラSが備えるタイマで計測したタイマ値を信号に含めて転送する。iをスレーブコントローラS1〜5を識別する整数とすると、
図13に示すTi_rは、スレーブコントローラSiがRq1を受信したときのタイマ値を示し、Ti_sは、Rq1を転送するときのタイマ値を示す。
図13に示すT6_rは、スレーブコントローラS6がRq1を受信したときのタイマ値を示し、T6_sは、Rs1を送信するときのタイマ値を示す。また、
図13に示すT'i_rは、スレーブコントローラSiがRs1を受信したときのタイマ値を示し、T'i_sは、Rs1を転送するときのタイマ値を示す。
【0116】
マスタコントローラMにおいて、判定部204は、Rs1を受信すると、Rs1に含まれる各スレーブコントローラSのタイマ値に基づいて、マスタコントローラMとスレーブコントローラS6との間、及び、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCによって生じる遅延時間を算出する。例えば、スレーブコントローラS1がRq1の中継に要した時間ta1は、T1_s−T1_rにより算出することができる。各スレーブコントローラSの間においては、各タイマにより得られるタイマ値にはズレが存在し得る。しかし、同一のスレーブコントローラSのタイマで取得したタイマ値の差分には、コントローラ間のタイマ値のズレは影響しない。
【0117】
そこで、iをスレーブコントローラS1〜5を識別する整数とすると、マスタコントローラMの判定部204は、Ti_s−Ti_rにより、スレーブコントローラSiがRq1の中継に要した時間taiを算出する。また、マスタコントローラMの判定部204は、T6_s−T6_rにより、スレーブコントローラS6がRq1を受信してからマスタコントローラM宛のRs1を送信するまでに要した時間tbを算出する。また、マスタコントローラMの判定部204は、T'i_s−T'i_rにより、スレーブコントローラSiがRs1の中継に要した時間tai'を算出する。
【0118】
判定部204は、スレーブコントローラS4とスレーブコントローラS6との間のネットワークケーブルCにより生じる遅延時間tc_S4_S6を、T'4_r−T'4_s―(ta1+ta1')−tbにより算出する。また、マスタコントローラMとスレーブコントローラS6との間のネットワークケーブルCにより生じる遅延時間tc_m_S6は、T'0_r−T'0_s―(ta1+ta2+ta3+ta4+ta5+ta1'+ta2'+ta3'+ta4'+ta5')−tbにより算出される。よって、判定部204は、マスタコントローラMとスレーブコントローラS4との間のネットワークケーブルCにより生じる遅延時間を、tc_m_S6−tc_S4_S6により算出する。
【0119】
なお、マスタコントローラMは、同様の処理により、任意の2つのコントローラ間におけるネットワークケーブルCにより生じる遅延時間を算出することができる。マスタコントローラMの判定部204は、デイジーチェーン接続において隣接するコントローラ間のネットワークケーブルCにより生じる遅延時間に基づいて、各ネットワークケーブルCのそれぞれの長さを算出してよい。マスタコントローラMは、算出されたネットワークケーブルCのそれぞれの長さを、管理装置20に送信してよい。
【0120】
図13に関連して説明したように、コントローラは、受信した信号を転送する場合に、当該信号を受信したときの前記タイマのタイマ値と、当該信号を転送するときの前記タイマのタイマ値とを、転送する信号に含めて転送する。そして、判定部204は、応答信号に含まれるタイマ値に基づいて、遅延時間を計測する対象となるネットワークケーブルCによる通信経路上にある1以上のコントローラがそれぞれ信号を伝送する処理に要する伝送処理時間を算出する。
【0121】
第3の変形例によれば、タイマ値を用いてネットワークケーブルCの長さを測定することができる。これにより、スレーブコントローラSにおける伝送処理時間ta及びtbの実測値を用いて、ネットワークケーブルCの長さを算出することができる。なお、タイマ値を用いる方法は、第1の変形例及び第2の変形例にも適用できる。
【0122】
以上に説明した制御システム10によれば、複数のコントローラをデイジーチェーン接続する構成において、電力供給を担うコントローラと電力供給を受けるコントローラとの間のネットワークケーブルの全長が仕様長を超えていることを適切に検出することができる。そのため、当該電力供給を受けるコントローラの主電源をオフした場合でも、制御システム10の運用を続けることができる。
【0123】
なお、デイジーチェーン接続は直列接続の一例である。直列接続は、縦続接続やカスケード接続等と呼称される接続構成を含み得る。また、1つのマスタコントローラMと1つのスレーブコントローラSの2台を接続した構成も、直列接続の概念に含み得る。また、複数のコントローラが物理的にループ状に接続されている接続形態において、特定のコントローラで信号をループバックする状態も、直列接続の概念に含み得る。
【0124】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0125】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。