〔実施形態1〕
以下、本発明の実施形態1について、図1から図8に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係るデバイス通信管理ユニット10(スレーブ装置)についての理解を容易にするため、先ず、デバイス通信管理ユニット10を含む制御システム1の概要を、図2を用いて説明する。
(実施形態1の制御システムの概要)
図2は、デバイス通信管理ユニット10を含む制御システム1の概要を示す図である。図2に示すように、制御システム1は、上位コントローラ40と、上位コントローラ40にフィールドネットワーク50(上位バス、すなわち、上位通信ネットワーク)を介して接続される、1つ以上のデバイス通信管理ユニット10と、を含む。図2に示す例では、デバイス通信管理ユニット10(A)およびデバイス通信管理ユニット10(B)が、フィールドネットワーク50を介して、上位コントローラ40に接続されている。なお、以下の説明において、デバイス通信管理ユニット10(A)およびデバイス通信管理ユニット10(B)の各々を特に区別する必要がない場合は、単に「デバイス通信管理ユニット10」と称する。
制御システム1は、マスタ装置としての上位コントローラ40と、マスタ装置にネットワーク(フィールドネットワーク50)を介して接続される1つ以上のスレーブ装置としてのデバイス通信管理ユニット10とを含むマスタースレーブ制御システムである。上位コントローラ40は、フィールドネットワーク50を介したデータ伝送を管理しているという意味で「マスタ装置」と呼ばれ、一方、デバイス通信管理ユニット10は「スレーブ装置」と呼ばれる。
制御システム1において、デバイス通信管理ユニット10には、デバイス通信ケーブル30を介して、1つ以上のデバイス20が接続される。図2に示す例では、デバイス20(1)、20(2)、20(3)、・・・、20(n)が、デバイス通信ケーブル30を介して、デバイス通信管理ユニット10に接続されている。なお、以下の説明において、デバイス20(1)、20(2)、20(3)、・・・、20(n)の各々を特に区別する必要がない場合は、単に「デバイス20」と称する。
上位コントローラ40は、例えば、PLC(Programmable Logic Controller)であり、制御システム1における、フィールドネットワーク50を介したデータ伝送を管理するマスタ装置である。マスタ装置としての上位コントローラ40に接続されるスレーブ装置としては、デバイス通信管理ユニット10以外にも、フィールドネットワーク50に直接接続される、サーボドライバ(不図示)なども含み得る。さらに、フィールドネットワーク50に複数の上位コントローラ40が接続される場合には、いずれか1つの上位コントローラ40がマスタ装置となり、残りの上位コントローラ40がスレーブ装置になる場合もある。さらにあるいは、上位コントローラ40およびデバイス通信管理ユニット10のいずれとも異なる制御主体がマスタ装置になってもよい。すなわち、「マスタ装置」および「スレーブ装置」は、フィールドネットワーク50上のデータ伝送の制御機能に着目して定義されるものであり、各装置間でどのような情報が送受信されるかについては、特に限定されない。
上位コントローラ40は、制御システム1の全体の制御を行う。具体的には、上位コントローラ40は、センサなどの入力機器であるデバイス20からの情報を入力データとして取得し、予め組み込まれたユーザプログラムに従って、係る取得した入力データを用いて演算処理を実行する。そして、上位コントローラ40は、前記演算処理を実行して、アクチュエータなどの出力機器であるデバイス20への制御内容を決定し、その制御内容に対応する制御データをデバイス20へ出力する。
フィールドネットワーク50は、上位コントローラ40が受信し、または上位コントローラ40が送信する各種データを伝送し、例えば、EtherCAT(登録商標)、PROFINET(登録商標)、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionである。また、フィールドネットワーク50は、例えば、EtherNet/IP(登録商標)、DeviceNet、CompoNet(登録商標)などであってもよい。なお、以下では、フィールドネットワーク50上をデータフレームが順次転送されることで、上位コントローラ40とデバイス通信管理ユニット10との間、または、デバイス通信管理ユニット10(A)とデバイス通信管理ユニット10(B)との間でデータが送受信される制御システム1について説明を行う。また、以下の説明においては、フィールドネットワーク50を、下位の通信ネットワークであるデバイス通信ケーブル30を介した通信と対比させるために、「上位バス(上位通信ネットワーク)」と呼ぶことがある。さらに、デバイス通信ケーブル30上を伝搬するデータフレームと区別するために、フィールドネットワーク50上のデータフレームを「上位データフレーム」とも称す。
図2に示すように、上位コントローラ40には、また、例えばUSB(Universal Serial Bus)ケーブルである通信ケーブル70を介して、サポートツール60が接続していてもよい。
サポートツール60は、制御システム1に対して各種のパラメータを設定するための情報処理装置である。例えば、状態値の取得(入力リフレッシュ)のタイミングおよび出力値の更新(出力リフレッシュ)のタイミングは、サポートツール60によって算出および設定されてもよい。サポートツール60は、典型的には、汎用のコンピュータで構成される。例えば、サポートツール60で実行される情報処理プログラムは、不図示のCD−ROM(Compact Disk-Read Only Memory)に格納されて流通してもよい。このCD−ROMに格納されたプログラムは、図示しないCD−ROM駆動装置によって読取られ、サポートツール60のハードディスクなどへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
サポートツール60の代わりに、通信ケーブル70を介して、上位コントローラ40にHMI(Human Machine Interface)が接続されてもよい。HMI(Human Machine Interface)は、人間と機械とが情報をやり取りするための手段であり、具体的には、人間が機械を操作したり(機械に指示を与えたり)、機械が現在の状態・結果を人間に知らせたりする手段である。HMIについて、人間が機械に指示を与える手段としてはスイッチ、ボタン、ハンドル、ダイヤル、ペダル、リモコン、マイク、キーボード、マウスなどが含まれ、機械が現在の状態・結果等に係る情報を人間に伝える手段としては液晶画面、メーター、ランプ、スピーカーなどが含まれる。
デバイス通信管理ユニット10は、マスタースレーブ制御システムである制御システム1において、マスタ装置としての上位コントローラ40にネットワーク(フィールドネットワーク50)を介して接続されるスレーブ装置である。
すなわち、デバイス通信管理ユニット10は、上位コントローラ40(フィールドネットワーク50)とデバイス20との間の通信を制御する。例えば、デバイス通信管理ユニット10は、デバイス通信管理ユニット10に接続されたセンサなど入力機器であるデバイス20が検出したセンシング情報を、フィールドネットワーク50を介して上位コントローラ40へ送信する。そして、上位コントローラ40は、取得したセンシング情報に基づいてユーザプログラムを実行し、その実行結果を制御命令信号としてフィールドネットワーク50を介してデバイス通信管理ユニット10に送信する。デバイス通信管理ユニット10は、フィールドネットワーク50を介して受信した制御命令を、動作すべき出力機器(アクチュエータなどのデバイス20)に対して出力する。
デバイス通信管理ユニット10は、上位コントローラ40とフィールドネットワーク50を介して通信するための伝送ケーブルが接続される上位通信ポート120を備えている。デバイス通信管理ユニット10は、また、1つ以上のデバイス20の各々と通信するためのデバイス通信ケーブル30が接続される、1つ以上のデバイス通信ポート110(1)、110(2)、・・・、110(n)を備えている。なお、以下の説明において、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々を特に区別する必要がない場合は、単に「デバイス通信ポート110」と称する。
デバイス通信管理ユニット10は、フィールドネットワーク50でのデータ伝送に係る処理を行うとともに、デバイス20とのデータの送受信(入出力)を制御する。特に、デバイス通信管理ユニット10は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々にデバイス通信ケーブル30を介して接続されるデバイス20の種類に応じて、以下の2つの通信モードのいずれかでデータの送受信(入出力)を行う。
すなわち、デバイス通信管理ユニット10は、デバイス通信ポート110に接続されるデバイス20が従来からの一般的(Standard)なデバイスであるデバイス20(S)である場合、デバイス20(S)との間で「1ビットのデータのみを送受信する第1モード」で通信する。デバイス通信管理ユニット10は、また、デバイス通信ポート110に接続されるデバイス20がインテリジェントな(具体的には、Communication可能な)デバイスであるデバイス20(C)である場合、デバイス20(S)との間で「1ビットよりも大きなデータを送受信する第2モード」で通信する。
デバイス通信管理ユニット10は、第1モードで通信する場合、デバイス20(S)との間で2値化データのみを送受信(入出力)する。具体的には、デバイス通信管理ユニット10は、例えばセンサであるデバイス20(S)が何らかの対象物を検出し(オン)、または検出していない(オフ)といった情報等を収集する(受信する)ことができる。すなわち、デバイス通信管理ユニット10は、デバイス20(S)から、1ビットの出力データを受信する。また、デバイス通信管理ユニット10は、所定の出力対象(例えば、アクチュエータなど)であるデバイス20(S)を活性化させ(オン)、または不活性化させる(オフ)指令を出力する(送信する)ことができる。すなわち、デバイス通信管理ユニット10は、デバイス20(S)に、1ビットの入力データを送信する。
デバイス通信管理ユニット10は、第2モードで通信する場合、デバイス20(C)との間で、前述の2値化データ(1ビットのデータ)に加えて、アナログデータを送受信(入出力)することができる。デバイス通信管理ユニット10は、第2モードで通信することにより、デバイス20(C)から、アナログデータとして、デバイス20(C)の通信プロパティ、デバイスパラメータ、および識別データ(識別情報)等を取得することができる。
デバイス20は、例えば、センサなどの入力機器であり、または、アクチュエータ(Actuator)などの出力機器である。アクチュエータは、入力を物理的運動に変換し、能動的に作動または駆動する。
制御システム1においてデバイス20は、従来からの一般的(Standard)なデバイスであるデバイス20(S)、または、インテリジェントな(具体的には、デバイス通信管理ユニット10との間でCommunication可能な)デバイスであるデバイス20(C)である。デバイス20(S)は、デバイス通信管理ユニット10との間で、「1ビットのデータのみを送受信する」第1モードで通信する。デバイス20(C)は、デバイス通信管理ユニット10との間で、「1ビットよりも大きなデータを送受信する」第2モードで通信する。
(デバイス通信管理ユニットについて)
これまで、制御システム1、および制御システム1に含まれる装置(デバイス通信管理ユニット10、デバイス20、上位コントローラ40、サポートツール60)の概要について、図2を用いて説明を行ってきた。次に、制御システム1に含まれるデバイス通信管理ユニット10について、その構成および処理の内容等を、図1等を用いて説明していく。図1を参照してデバイス通信管理ユニット10の詳細について説明する前に、デバイス通信管理ユニット10についての理解を容易にするため、デバイス通信管理ユニット10の概要について以下のように整理しておく。
(デバイス通信管理ユニットの概要)
デバイス通信管理ユニット10(スレーブ装置)は、マスタ装置である上位コントローラ40(コントローラ)にフィールドネットワーク50(ネットワーク)を介して接続され、デバイス20が接続されるデバイス通信ポート110(通信ポート)を備えるスレーブ装置であって、デバイス通信ポート110に接続されたデバイス20から、1ビットのデータのみを受信する第1モードで通信するか、または、1ビットよりも大きなデータを受信する第2モードで通信するかを設定するモード設定部104と、モード設定部104により前記第1モードが設定されると、モード設定部104により前記第2モードが設定された場合にデバイス20から受信したデータをフィールドネットワーク50へ伝送するために用いるデータフォーマットを用いて、前記第1モードで通信したデバイス20から受信したデータを(上位通信制御部130を介して)フィールドネットワーク50へ伝送する出力データ生成部105(送信部)と、を備えることを特徴としている。
前記の構成によれば、出力データ生成部105は、モード設定部104により前記第2モードが設定された場合にデバイス20から取得したデータを(上位通信制御部130を介して)フィールドネットワーク50へ伝送するために用いられる前記データフォーマットを用いて、前記第1モードが設定された場合にデバイス20から取得したデータを、上位通信制御部130を介して、フィールドネットワーク50へ伝送する。つまり、デバイス通信管理ユニット10は、デバイス20から取得したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、前記データフォーマットを用いてフィールドネットワーク50へ伝送する。
ここで、デバイス20と前記第1モードで通信したのか、前記第2モードで通信したのかに応じて、フィールドネットワーク50へ伝送するのに用いるデータフォーマットが異なる場合、上位コントローラ40は以下の情報を取得していなくてはならない。すなわち、上位コントローラ40が受信するデバイス20からのデータが、前記第1モードでデバイス通信管理ユニット10がデバイス20から受信したデータであるのか、それとも、前記第2モードでデバイス通信管理ユニット10がデバイス20から受信したデータであるのかに係る情報を、上位コントローラ40は取得していなくてはならない。また、前記第1モードでデバイス通信管理ユニット10がデバイス20から受信したデータが前記第1モードに対応するデータフォーマットにどのように格納されているのか、および、前記第2モードでデバイス通信管理ユニット10がデバイス20から受信したデータが前記第2モードに対応するデータフォーマットにどのように格納されているのかに係る情報を、上位コントローラ40は取得していなくてはならない。
一方、デバイス通信管理ユニット10は、デバイス20から受信したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、前記データフォーマットを用いてフィールドネットワーク50へ伝送する。
したがって、デバイス通信管理ユニット10は、デバイス20から受信したデータをフィールドネットワーク50へ伝送するのに用いるデータフォーマットを単純化させることができ、かつ、デバイス通信管理ユニット10および上位コントローラ40における処理を単純化させることができるという効果を奏する。
デバイス通信管理ユニット10は、また、デバイス20から受信したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、共通の前記データフォーマットを用いてフィールドネットワーク50へ伝送するので、デバイス通信管理ユニット10に接続させるデバイス20を、上位コントローラ40における受信処理等を変更させずに容易に交換することができるという効果を奏する。
(デバイス通信管理ユニットの詳細)
以上に概要を説明したデバイス通信管理ユニット10について、次に、デバイス通信管理ユニット10の構成の詳細を、図1を用いて説明する。
図1は、デバイス通信管理ユニット10の要部構成を示すブロック図である。図1に示すデバイス通信管理ユニット10は、デバイス通信制御部100と、デバイス通信ポート110と、上位通信ポート120と、上位通信制御部130と、記憶部140と、を含む構成である。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、デバイス通信管理ユニット10は、当該省略された構成を備えてもよい。
デバイス通信ポート110は、デバイス20とデバイス通信ケーブル30を介して通信するための伝送ケーブルが接続されるインタフェースである。上位通信ポート120は、上位コントローラ40とフィールドネットワーク50を介して通信するための伝送ケーブルが接続されるインタフェースである。
上位通信制御部130は、フィールドネットワーク50を介して上位コントローラ40との通信を統括して制御するものである。上位通信制御部130は、フィールドバス制御部131と、上位通信受信処理部132と、上位通信送信処理部133とを含んでいる。
フィールドバス制御部131は、フィールドネットワーク50を介したデータ伝送を管理する。上位通信受信処理部132は、上位コントローラ40からフィールドネットワーク50を介して送信される上位通信フレームを受信してデータへ復号した上で、フィールドバス制御部131へ出力する。上位通信送信処理部133は、フィールドバス制御部131から出力されるデータから上位通信フレームを再生成してフィールドネットワーク50を介して再送信(フォワード)する。フィールドバス制御部131は、上位通信受信処理部132および上位通信送信処理部133と協働して、フィールドネットワーク50を介して予め定められた制御周期毎に上位コントローラ40との間でデータを送受信する。
上位通信制御部130は、デバイス20(例えば、デバイス20から出力されたデータに対応するデータ)をメモリ空間およびI/O空間にどのように割り当てたかを表すIOマップを、上位コントローラ40(フィールドネットワーク50)に送信する。デバイス通信管理ユニット10が上位コントローラ40に割りつけることができるIOマップについて、詳細は後述する。
デバイス通信制御部100は、デバイス20との通信に係るデバイス通信管理ユニット10の機能を統括して制御するものである。図示のデバイス通信制御部100には、機能ブロックとして、デバイス通信処理部101と、デバイス通信受信処理部102と、デバイス通信送信処理部103と、モード設定部104と、出力データ生成部105と、照合部106と、が含まれている。
デバイス通信処理部101は、デバイス20との通信を制御し、デバイス通信受信処理部102と、デバイス通信送信処理部103と、を含んでいる。デバイス通信処理部101は、以下の4つの機能を実行することができる。
第1に、デバイス通信処理部101は、モード設定部104からのモード設定指示(デバイス20と、第1モードで通信するか、第2モードで通信するかを指示する情報)を受信して、前記モード設定指示で指定された通信モードで、デバイス20との通信を行う。
第2に、デバイス通信処理部101は、モード設定部104が或るデバイス通信ポート110の照合機能について、無効または解除としている場合、前記或るデバイス通信ポート110を、第1モードで通信する通信ポート(具体的には、「1bitのデータ(デジタルデータ)」のみを送受信可能な通信ポート)として動作させる。デバイス通信処理部101は、モード設定部104が或るデバイス通信ポート110の照合機能について、有効としている場合、前記或るデバイス通信ポート110を、第2モードで通信する通信ポート(具体的には、「1bitのデータ(デジタルデータ)」と「アナログデータ」とを送受信可能な通信ポート)として動作させる。
第3に、デバイス通信処理部101は、照合部106から、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々における照合結果(照合正常/照合異常)を取得する。デバイス通信処理部101は、照合部106から、或るデバイス通信ポート110について、「接続することが予定されているデバイス20(登録デバイス)と、実際に接続しているデバイス20(実デバイス)と、が一致している(照合正常)」との照合結果を取得すると、前記或るデバイス通信ポート110における通信を維持する。デバイス通信処理部101は、照合部106から、或るデバイス通信ポート110について、「接続することが予定されているデバイス20(登録デバイス)と、実際に接続しているデバイス20(実デバイス)と、が一致していない(照合異常)」との照合結果を取得すると、前記或るデバイス通信ポート110における通信を停止する。なお、或るデバイス通信ポート110について、照合部106による照合処理が実行されなかった場合、デバイス通信処理部101は、前記或るデバイス通信ポート110における通信を維持する。
なお、「接続することが予定されているデバイス20(登録デバイス)」とは、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続させるデバイスとして登録されているデバイス20である。すなわち、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、接続させるべきデバイス20(登録デバイス)が、例えば構成情報(コンフィギュレーションデータ)として、予め登録されている。すなわち、「接続することが予定されているデバイス20(登録デバイス)」とは、デバイス通信ポート110に接続するデバイスとして予め定められたデバイス20であって、デバイス通信ポート110に接続するデバイスとしてデバイス通信管理ユニット10に登録されるデバイス20である。例えば、「接続することが予定されているデバイス20(登録デバイス)」の識別情報は、構成情報(コンフィギュレーションデータ)として、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、構成設定情報テーブル141に格納されている(登録されている)。
第4に、デバイス通信処理部101は、さらに、デバイス通信ポート110にデバイス20が接続されると、接続されたデバイス20に、「自装置(デバイス20)が、従来からの一般的なデバイスであるデバイス20(S)であるのか、または、インテリジェントなデバイスであるデバイス20(C)であるのか」を問い合わせる信号(例えば、WURQ)を出力する。そして、前記信号(WURQ)を受信したデバイス20から、「自装置(デバイス20)が、デバイス20(S)であるのか、または、デバイス20(C)であるのか」に対する回答を示す信号を受信する。デバイス通信処理部101は、前記回答を示す信号を受信することにより、デバイス通信ポート110に接続されたデバイス20が「デバイス20(S)であるのか、または、デバイス20(C)であるのか」を識別することができる。デバイス通信処理部101は、デバイス通信ポート110に接続されたデバイス20が「デバイス20(S)であるのか、または、デバイス20(C)であるのか」の識別結果を、モード設定部104等に通知する。
デバイス通信処理部101は、例えば、前記信号(WURQ)に対する回答を示す信号の受信有無により、デバイス通信ポート110に接続されたデバイス20が「デバイス20(S)であるのか、または、デバイス20(C)であるのか」を判定してもよい。
すなわち、前記信号(WURQ)を受信したデバイス20(デバイス通信ポート110に接続されたデバイス20)がデバイス20(C)である場合、デバイス20は、「自装置(デバイス20)がインテリジェントなデバイスであるデバイス20(C)である」ことを示す信号(前記問合せに対する回答を示す信号)をデバイス通信処理部101に送信する。前記信号(WURQ)を受信したデバイス20がデバイス20(C)である場合、デバイス通信処理部101は、デバイス通信ポート110に接続されたデバイス20(より正確には、デバイス20(C))から、前記問合せに対する回答を示す信号(「自装置(デバイス20)がインテリジェントなデバイスであるデバイス20(C)である」ことを示す信号)を受信する。デバイス通信処理部101は、前記回答を示す信号を受信することにより、「デバイス通信ポート110に接続されたデバイス20が、デバイス20(C)である」と判定することができる。
一方、前記信号(WURQ)を受信したデバイス20(デバイス通信ポート110に接続されたデバイス20)がデバイス20(S)である場合、デバイス20は、前記信号(WURQ)に対する回答を示す信号をデバイス通信処理部101に送信しない。デバイス通信処理部101は、デバイス通信ポート110に接続されたデバイス20から前記信号(WURQ)に対する回答を示す信号を受信しないことにより、「デバイス通信ポート110に接続されたデバイス20が、デバイス20(S)である」と判定することができる。
なお、後述するように、モード設定部104は、デバイス通信ポート110に接続されたデバイス20がデバイス20(S)であっても、デバイス20(C)であっても、上位コントローラ40に割り付けるIOマップを切り替えないよう、出力データ生成部105に指示を行う。すなわち、デバイス通信管理ユニット10は、「照合機能:解除(第1モード)」の場合と、「照合機能:有効(第2モード)」の場合とで、IOマップを切り替えることがない。
したがって、デバイス通信処理部101がデバイス通信ポート110に接続されたデバイス20が「デバイス20(S)であるのか、または、デバイス20(C)であるのか」を判定できることは、デバイス通信管理ユニット10にとって必須の構成ではない。また、デバイス通信処理部101がデバイス通信ポート110に接続されたデバイス20が「デバイス20(S)であるのか、または、デバイス20(C)であるのか」を判定する方法は、上述の方法に限られるものではない。デバイス通信処理部101は、デバイス通信ポート110に接続されたデバイス20が「デバイス20(S)であるのか、または、デバイス20(C)であるのか」を判定するための従来からの方法を利用して、「デバイス20(S)であるのか、または、デバイス20(C)であるのか」を判定することができる。
デバイス通信受信処理部102は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々から、デバイス通信ケーブル30を介して、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続されているデバイス20(1)、20(2)、・・・、20(n)からの出力データを受信する。
デバイス20がデバイス20(S)である場合、デバイス20からの出力データは、1ビットのデータ(例えば、センサであるデバイス20が何らかの対象物を検出し(オン)、または検出していない(オフ)といったオン/オフ情報などの2値化データ)である。デバイス通信受信処理部102は、デバイス20(S)と第1モードで通信する場合、前記1ビットのデータのみを受信する。
デバイス20がデバイス20(C)である場合、デバイス20からの出力データは、1ビットのデータ(例えば、センサであるデバイス20が何らかの対象物を検出し(オン)、または検出していない(オフ)といったオン/オフ情報などの2値化データ)に加えて、デバイス20の通信プロパティ、デバイスパラメータ、および識別データ(識別情報)等に係るアナログデータを含んでいる。デバイス通信受信処理部102は、デバイス20(C)と第2モードで通信する場合、前記1ビットと、アナログデータとを受信する。デバイス通信受信処理部102が第2モードでデバイス20(C)と通信する際に受信するアナログデータには、デバイス20(C)の識別情報が含まれている。
デバイス通信送信処理部103は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々から、デバイス通信ケーブル30を介して、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続されているデバイス20(1)、20(2)、・・・、20(n)へ、上位コントローラ40からの制御命令等の入力データを送信する。
デバイス20がデバイス20(S)である場合、デバイス20への入力データは、1ビットのデータ(例えば、アクチュエータであるデバイス20を活性化させ(オン)、または不活性化させる(オフ)指令データ)である。デバイス通信送信処理部103は、デバイス20(S)と第1モードで通信する場合、前記1ビットのデータのみを送信する。
デバイス20がデバイス20(C)である場合、デバイス20への入力データは、1ビットのデータ(例えば、アクチュエータであるデバイス20を活性化させ(オン)、または不活性化させる(オフ)指令データ)に加えて、デバイス20に対するその他の制御等に係るアナログデータを含んでいる。デバイス通信送信処理部103は、デバイス20(C)と第2モードで通信する場合、前記1ビットと、アナログデータとを送信する。
モード設定部104は、以下の(a)、(b)、(c)の3つの機能を実行する。
機能(a):モード設定部104は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続されるデバイス20(1)、20(2)、・・・、20(n)の各々と、「第1モードで通信するか、または、第2モードで通信するか」をデバイス通信処理部101に指示するモード設定指示を生成する。モード設定部104は、生成したモード設定指示をデバイス通信処理部101に出力する。
すなわち、モード設定部104は、デバイス通信処理部101に、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続されるデバイス20(1)、20(2)、・・・、20(n)の各々との通信モードを指示する。
ここで、モード設定部104は、デバイス20(1)、20(2)、・・・、20(n)の各々と、「第1モードで通信するか、または、第2モードで通信するか」を、以下のように決定することができる。
モード設定部104は、第1に、記憶部140に格納されている構成設定情報テーブル141を参照して、デバイス20(1)、20(2)、・・・、20(n)の各々と、「第1モードで通信するか、または、第2モードで通信するか」を決定することができる。すなわち、モード設定部104は、構成設定情報テーブル141を参照して、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々が、接続されるデバイス20(1)、20(2)、・・・、20(n)の各々と、「第1モードで通信するか、または、第2モードで通信するか」に係る情報を取得する。そして、モード設定部104は、取得した情報を用いて、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、「第1モードで通信するか、または、第2モードで通信するか」を指示するモード設定指示を生成することができる。
モード設定部104は、第2に、上位コントローラ40に通信ケーブル70を介して接続されているサポートツール60が受け付けたユーザ操作に対応する指示を、フィールドネットワーク50を介して受信し、前記指示に基づいて、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、「第1モードで通信するか、または、第2モードで通信するか」を指示するモード設定指示を生成することができる。
モード設定部104は、第3に、デバイス通信受信処理部102から以下の情報を取得することにより、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続されているデバイス20(1)、20(2)、・・・、20(n)の各々と、「第1モードで通信するか、または、第2モードで通信するか」を指示するモード設定指示を生成することができる。すなわち、モード設定部104は、デバイス通信受信処理部102から、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に接続されているデバイス20(1)、20(2)、・・・、20(n)の各々が、「デバイス20(S)であるか、またはデバイス20(C)であるか」に係る判定情報を取得する。そして、モード設定部104は、或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)である場合には、前記或るデバイス通信ポート110に、「第1モードで通信する」ことを指示するモード設定指示を生成する。モード設定部104は、或るデバイス通信ポート110に接続されているデバイス20がデバイス20(C)である場合には、前記或るデバイス通信ポート110に、「第2モードで通信する」ことを指示するモード設定指示を生成する。
機能(b):モード設定部104は、また、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々における照合機能の有効/無効/解除を照合部106に指示する。例えば、モード設定部104は、或るデバイス通信ポート110における照合機能の有効/無効について、サポートツール60からの指示を取得すると、前記或るデバイス通信ポート110における照合機能の有効/無効を、照合部106に指示する。
モード設定部104は、デバイス通信受信処理部102から、或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)であることを通知されると、前記或るデバイス通信ポート110における照合機能の解除を、照合部106に指示する。モード設定部104は、また、デバイス通信受信処理部102から、或るデバイス通信ポート110に接続されているデバイス20がデバイス20(C)であることを通知されると、前記或るデバイス通信ポート110における照合機能の有効を、照合部106に指示する。
すなわち、モード設定部104は、照合部106に、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々における照合機能の有効/無効/解除を指示する。
機能(c):モード設定部104は、さらに、出力データ生成部105に、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々における照合機能の有効/無効/解除を通知する。例えば、モード設定部104は、或るデバイス通信ポート110における照合機能の有効/無効について、サポートツール60からの指示を取得すると、前記或るデバイス通信ポート110における照合機能の有効/無効を、出力データ生成部105に通知する。
モード設定部104は、デバイス通信受信処理部102から、或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)であることを通知されると、前記或るデバイス通信ポート110における照合機能の解除を、出力データ生成部105に通知する。モード設定部104は、また、デバイス通信受信処理部102から、或るデバイス通信ポート110に接続されているデバイス20がデバイス20(C)であることを通知されると、前記或るデバイス通信ポート110における照合機能の有効を、出力データ生成部105に通知する。
すなわち、モード設定部104は、出力データ生成部105に、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々における照合機能の有効/無効/解除を通知する。
以上に整理したように、モード設定部104は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々における、通信モード(第1モードまたは第2モード)および照合機能の有効/無効/解除を指示する。例えば、モード設定部104は、デバイス通信ポート110(1)、110(3)、110(4)、・・・、110(n)の各々における照合機能を有効とし、デバイス通信ポート110(2)における照合機能を解除とすることができる。
出力データ生成部105は、デバイス20(1)、20(2)、・・・、20(n)からの出力データを、所定のデータフォーマットの、所定の位置に格納して、上位コントローラ40(フィールドネットワーク50)に対して送信するためのデータを生成する。
出力データ生成部105は、モード設定部104から通知される照合機能の有効/無効/解除に基づいて、上位コントローラ40(フィールドネットワーク50)に送信するためのデータを生成する。
出力データ生成部105は、特に、或るデバイス通信ポート110における照合機能が有効であることをモード設定部104から通知された場合と、前記或るデバイス通信ポート110における照合機能が解除であることをモード設定部104から通知された場合とで、同じデータフォーマットを用いて、前記或るデバイス通信ポート110を介して取得したデータから、上位コントローラ40(フィールドネットワーク50)に送信するためのデータを生成する。
すなわち、出力データ生成部105は、モード設定部104により「照合機能の解除」が指示されると、モード設定部104により「前記第2モードが設定された場合にデバイス20から受信したデータをフィールドネットワーク50へ伝送するために用いるデータフォーマット」を用いて、「前記第1モードで通信したデバイス20から受信したデータ」を、(上位通信制御部130を介して)フィールドネットワーク50へ伝送する。
出力データ生成部105の用いる「前記第2モードが設定された場合にデバイス20から受信したデータをフィールドネットワーク50へ伝送するためのデータフォーマット」は、モード設定部104により「照合機能の解除」が指示された場合に出力データ生成部105の用いる、「デバイス20から受信したデータをフィールドネットワーク50へ伝送するためのデータフォーマット」と同じである。出力データ生成部105が生成するデータの詳細は、図6〜図8を用いて説明する。
照合部106は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、接続することが予定されているデバイス20(登録デバイス)と、実際に接続しているデバイス20(実デバイス)と、が一致しているかを判定する照合処理を実行することができる。
照合部106は、例えば、記憶部140に格納されている構成設定情報テーブル141を参照して、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、接続することが予定されているデバイス20(登録デバイス)の識別情報を取得する。照合部106は、また、デバイス通信受信処理部102から、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々に実際に接続しているデバイス20(特に、デバイス20(C))の識別情報を取得する。前述の通り、デバイス通信受信処理部102が第2モードでデバイス20(C)と通信する際に受信するアナログデータには、デバイス20(C)の識別情報が含まれている。そして、照合部106は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、接続することが予定されているデバイス20(登録デバイス)の識別情報と、実際に接続しているデバイス20(特に、デバイス20(C))の識別情報と、が一致しているかを判定する照合処理を実行する。
照合部106は、モード設定部104からの照合機能の有効/無効/解除の指示に基づいて、照合処理を実行し、または実行しない。具体的には、照合部106は、モード設定部104からの照合機能:有効の指示を取得すると、照合処理を実行する。照合部106は、モード設定部104からの照合機能:無効または照合機能:解除の指示を取得すると、照合処理を実行しない。
照合部106は、デバイス通信処理部101に、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について照合処理を実行した場合には照合結果(照合正常/照合異常)を通知する。
記憶部140は、デバイス通信管理ユニット10が使用する各種データを格納している。すなわち、記憶部140は、デバイス通信管理ユニット10が実行する(1)制御プログラム、(2)OSプログラム、(3)各種機能を実行するためのアプリケーションプログラム、および(4)該アプリケーションプログラムを実行するときに読み出す各種データを格納している。上記の(1)〜(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。また、記憶部140は、構成設定情報テーブル141を格納している。
構成設定情報テーブル141は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、デバイス通信ケーブル30を介して接続することが予定されているデバイス20(特に、デバイス20(C))の識別情報を含む構成情報(コンフィギュレーションデータ)を格納している。デバイス20(特に、デバイス20(C))の識別情報とは、例えば、デバイス20(特に、デバイス20(C))の「ベンダID」、「デバイスID」、「シリアルNo」、および「リビジョン(例えば、IO−Linkリビジョン)」である。
(デバイスとの通信モードに係る判定処理)
或るデバイス通信ポート110がモード設定部104によって第1モードに設定されると、デバイス通信処理部101は、そのデバイス通信ポート110に接続されたデバイス20と、第1モードで通信を行う。或るデバイス通信ポート110がモード設定部104によって第2モードに設定されると、デバイス通信処理部101は、そのデバイス通信ポート110に接続されたデバイス20と、第2モードで通信を行う。
ここで、第2モード通信を開始するには、デバイス通信管理ユニット10(デバイス通信処理部101)は、先ず、デバイス通信ポート110に接続されているデバイス20が、「従来からの一般的なデバイスであるデバイス20(S)であるのか、または、インテリジェントなデバイスであるデバイス20(C)であるのか」を判定する必要がある。すなわち、デバイス通信処理部101は、先ず、デバイス通信ポート110に接続されているデバイス20が、第1モードでの通信のみが可能なデバイス20(S)であるのか、または、第2モードでの通信が可能なデバイス20(C)であるのか、を判定する。
デバイス通信処理部101は、例えば以下の方法により、デバイス通信ポート110に接続されているデバイス20が、第1モードでの通信のみが可能なデバイス20(S)であるのか、または、第2モードでの通信が可能なデバイス20(C)であるのか、を判定する。すなわち、デバイス通信処理部101は、デバイス通信ポート110に接続されているデバイス20に、「自装置が、デバイス20(S)であるのか、または、デバイス20(C)であるのか」を回答する情報を送信するよう要求する信号(例えば、80μs、0.5Aの電流パルスであるWake−up要求(WURQ))を出力する。そして、前記信号(WURQ)を受信したデバイス20は、自装置がデバイス20(C)である場合、「自装置がデバイス20(C)である」旨を示す信号を、デバイス通信管理ユニット10に送信する。なお、前記信号(WURQ)を受信したデバイス20は、自装置がデバイス20(C)である場合、自装置がデバイス通信管理ユニット10と第2モードで通信する際の最大の通信レートをデバイス通信管理ユニット10に通知するための信号伝送を行うことができてもよい。
デバイス通信処理部101は、デバイス20から「自装置がデバイス20(C)である」旨を示す信号を受信すると、「デバイス通信ポート110に接続されているデバイス20は、デバイス20(C)である」と判定する。また、デバイス通信処理部101は、デバイス20から「自装置(デバイス20)がデバイス通信管理ユニット10と第2モードで通信する際の最大の通信レート」を受信すると、デバイス20(C)であるデバイス20がサポートしている最も高い伝送速度を識別することができる。
(デバイス照合処理)
デバイス通信ポート110にデバイス通信ケーブル30を介してデバイス20(C)が接続すると、照合部106は照合処理を実行する。そして、照合部106が「照合異常(デバイス通信ポート110に実際に接続しているデバイス20(実デバイス)が、そのデバイス通信ポート110に接続することが予定されているデバイス20(登録デバイス)に一致していない)」と判定すると、デバイス通信処理部101は、そのデバイス通信ポート110における通信を停止させる。
ここで、照合部106は、デバイス通信ポート110に実際に接続しているデバイス20(実デバイス)と、そのデバイス通信ポート110に接続することが予定されているデバイス20(登録デバイス)と、の「ベンダID」と、「デバイスID」と、「リビジョン」と、を照合する(第1照合パターン)。
照合部106は、また、デバイス通信ポート110に実際に接続しているデバイス20(実デバイス)と、そのデバイス通信ポート110に接続することが予定されているデバイス20(登録デバイス)と、の「ベンダID」と、「デバイスID」と、「リビジョン」と、「シリアルNo」と、を照合してもよい(第2照合パターン)。
ここで、前述の通り、照合部106は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々について、照合処理を実行する。例えば、照合部106は、デバイス通信ポート110(1)に実際に接続しているデバイス20(実デバイス)と、デバイス通信ポート110(1)に接続することが予定されているデバイス20(登録デバイス)と、の「ベンダID」と、「デバイスID」と、「リビジョン」と、を照合する。また、照合部106は、デバイス通信ポート110(2)に実際に接続しているデバイス20(実デバイス)と、デバイス通信ポート110(2)に接続することが予定されているデバイス20(登録デバイス)と、の「ベンダID」と、「デバイスID」と、「リビジョン」と、を照合する。照合部106は、デバイス通信ポート110(1)、110(3)、110(4)、・・・、110(n)について、照合処理を実行し、デバイス通信ポート110(2)については照合処理を実行しないとすることもできる。
なお、第1照合パターンで照合処理を実行する場合、「シリアルNo」は照合の対象としないため、登録デバイスと同形式の(つまり、「ベンダID」と、「デバイスID」と、「リビジョン」とが登録デバイスと同一である)デバイス20をデバイス通信ポート110に接続させたとしても、照合部106は照合異常と判定しない。
以上に整理したように、デバイス通信管理ユニット10は、デバイス通信ポート110に接続することが予定されているデバイス20(登録デバイス)の識別情報を含む構成情報を記憶した記憶部140(特に、構成設定情報テーブル141)を備えている。デバイス通信管理ユニット10は、また、モード設定部104により前記第2モードが設定されると、デバイス20から受信した前記1ビットよりも大きなデータに含まれているデバイス20の識別情報(実デバイスの識別情報)と、記憶部140に記憶されている前記構成情報に含まれる識別情報(登録デバイスの識別情報)との一致を判定する照合処理を実行し、モード設定部104により前記第1モードが設定されると前記照合処理を行わない照合部106を備えている。
前記の構成によれば、照合部106は、モード設定部104により前記第2モードが設定されると、デバイス20から受信した前記1ビットよりも大きなデータに含まれているデバイス20の識別情報と、記憶部140に記憶されている前記構成情報に含まれる識別情報との一致を判定する照合処理を実行し、モード設定部104により前記第1モードが設定されると前記照合処理を行わない。つまり、デバイス通信管理ユニット10は、モード設定部104により前記第2モードが設定されると、デバイス通信ポート110に接続されたデバイス20(実デバイス)と、デバイス通信ポート110に接続することが予定されているデバイス20(登録デバイス)とが一致しているかを確認し、モード設定部104により前記第1モードが設定されると、デバイス通信ポート110に接続されたデバイス20と、デバイス通信ポート110に接続することが予定されているデバイス20とが一致しているかを確認しない。
例えば、デバイス通信ポート110に前記第2モードで接続することが予定されているデバイスを、デバイス通信ポート110に前記第1モードで接続するデバイスと交換すると、デバイス通信管理ユニット10は、デバイス通信ポート110に前記第1モードで通信するデバイス20については前記照合処理を実行しない。
したがって、ユーザは、デバイス通信管理ユニット10を用いることにより、デバイス通信ポート110に前記第2モードで接続することが予定されているデバイスを、デバイス通信ポート110に前記第1モードで接続するデバイスに容易に交換することができるという効果を奏する。
(従来のデバイス通信管理ユニット)
デバイス通信管理ユニット10についての理解を容易にするため、デバイス通信管理ユニット10と同様に、デバイス20と第1モードまたは第2モードで通信することのできる従来のデバイス通信管理ユニット9について、図3〜図5を用いて説明していく。なお、従来のデバイス通信管理ユニット9は、デバイス通信管理ユニット10において可能な「照合機能:解除」の設定を行うことができない点を除いて、デバイス通信管理ユニット10と同様である。したがって、従来のデバイス通信管理ユニット9の構成について、詳細は略記し、デバイス通信管理ユニット10との相違を中心に説明していく。
(接続デバイスの交換)
デバイス通信管理ユニット10と、従来のデバイス通信管理ユニット9との違いは、特に、接続させるデバイス20を交換する状況において明確となる。したがって、以下では先ず、図3を用いて、従来のデバイス通信管理ユニット9について、デバイス通信ポート110(例えば、デバイス通信ポート110(2))に接続させるデバイス20を交換する状況を説明していく。
図3は、従来のデバイス通信管理ユニット9の或るデバイス通信ポート110(例えば、デバイス通信ポート110(2))に接続させているデバイス20(C2)を、デバイス20(S1)に交換する状況を示す図である。
従来のデバイス通信管理ユニット9も、デバイス通信管理ユニット10と同様に、デバイス通信ポート110(2)に接続されたデバイス20に対して照合処理を実行する。そして、「照合異常(デバイス通信ポート110(2)に実際に接続しているデバイス20(実デバイス)が、そのデバイス通信ポート110(2)に接続することが予定されているデバイス20(登録デバイス)に一致していない)」と判定すると、従来のデバイス通信管理ユニット9は、そのデバイス通信ポート110(2)における通信を停止させる。
例えば、デバイス通信ポート110(2)に接続することが予定されていたデバイス20(C2)(登録デバイス)が故障等し交換する場合、従来のデバイス通信管理ユニット9においては、例えば、第1照合パターンで照合処理が実行される場合、デバイス20(C2)(登録デバイス)と同形式のデバイス20をデバイス通信ポート110(2)に接続させていた。
前述の通り、第1照合パターンの照合は、「ベンダID」と、「デバイスID」と、「リビジョン」と、を照合し、「シリアルNo」は照合の対象としない。したがって、登録デバイスと同形式の(つまり、「ベンダID」と、「デバイスID」と、「リビジョン」とが登録デバイスと同一である)デバイス20を、前記或るデバイス通信ポートに接続させたとしても、照合異常とは判定されない。
また、交換の緊急性が高い場合、デバイス20(C2)(登録デバイス)と交換可能なデバイス(交換用デバイス)が届くまで、デバイス通信ポート110(2)についての照合機能を、サポートツール60等を用いて無効にし、同サイズの汎用デバイス(例えば、デバイス20(S1))と交換していた。
しかしながら、そのような交換方法では、従来のデバイス通信管理ユニット9のデバイス通信ポート110(2)に接続させることのできるデバイスは限られているため、緊急時に交換できるデバイスが無いといった事態があり得た。その場合、交換用デバイスが納品されるまで、従来のデバイス通信管理ユニット9のデバイス通信ポート110(2)に何らかのデバイスを接続させて使用することはできなかった。
さらに、従来のデバイス通信管理ユニット9において、デバイス通信ポート110(2)に接続させるデバイス20を、インテリジェントなデバイス20(C2)から、従来のデバイス20(S1)に変えようとする場合、つまり、デバイス通信ポート110(2)に係る照合機能を無効にしようとする場合、以下のような問題が生じる。
第1に、従来のデバイス通信管理ユニット9が、デバイス通信ポート110(2)と第1モードで通信するデバイス20(S1)から受信したデータを上位コントローラ40に送信するには、図5の(A)に示すような「第1モード入力データ」マップの割り付けが必要である。従来のデバイス通信管理ユニット9について、「第1モード入力データ」マップは、上位コントローラ40の割り付けに関係するので、常に、上位コントローラ40に割りつけておく必要がある。
したがって、従来のデバイス通信管理ユニット9は、デバイス通信ポート110とデバイス20とが常に第2モードで通信する場合には不要な、図5の(A)に例示する「第1モード入力データ」マップを割り当てることにより、上位通信(フィールドネットワーク50を介した通信)の通信帯域を圧迫する。
第2に、従来のデバイス通信管理ユニット9において、デバイス通信ポート110(2)に接続させるデバイス20を、インテリジェントなデバイス20(C2)から、従来のデバイス20(S1)に変えようとする場合、ユーザは、上位コントローラ40におけるプログラムを変更する必要がある。すなわち、デバイス通信ポート110(2)がデバイス20から受信したデータを上位コントローラ40が受信するのに際し、デバイス通信ポート110(2)に接続させるデバイス20を、デバイス20(C2)からデバイス20(S1)に変えるのに合せて、上位コントローラ40における受信処理のためのプログラム等を変更する必要がある。
具体的には、デバイス通信ポート110(2)に接続させるデバイス20を、デバイス通信ポート110(2)と第2モードで通信するデバイス20(C2)から、デバイス通信ポート110(2)と第1モードで通信するデバイス20(S1)に変更するのに合わせて、上位コントローラ40における受信処理のためのプログラム等を以下のように変更する必要がある。
すなわち、デバイス通信ポート110(2)と第2モードで通信するデバイス20(C2)から取得されたデータは、出力データ生成部105によって、図5の(B−2)に示す「第2モード入力データ(2)」に格納されて、(上位通信制御部130を介して)フィールドネットワーク50へ伝送される。なお、図5の(B−2)に示す「第2モード入力データ(2)」において、デバイス20(C2)から出力されるオン/オフ情報は「bit0」にオフセットされている。
これに対して、デバイス通信ポート110(2)と第1モードで通信するデバイス20(S1)から取得されたデータ(オン/オフ情報)は、出力データ生成部105によって、図5の(A)に示す「第1モード入力データ」マップの「bit1」にオフセットされる。
したがって、デバイス通信ポート110(2)に接続させるデバイス20を、デバイス通信ポート110(2)と第2モードで通信するデバイス20(C2)から、デバイス通信ポート110(2)と第1モードで通信するデバイス20(S1)に変更するのに合わせて、上位コントローラ40において、受信処理の実行プログラムを以下のように変更する必要がある。すなわち、上位コントローラ40における受信処理の実行プログラムを、「第2モード入力データ(2)」を受信して処理するプログラムから、「第1モード入力データ」マップを受信して処理するプログラムに、変更する必要がある。
さらに、デバイス20(C2)が出力したオン/オフ情報は、「第2モード入力データ(2)」における「bit0」にオフセットされているのに対して、デバイス20(S1)が出力したオン/オフ情報は、「第1モード入力データ」マップの「bit1」にオフセットされている。したがって、デバイス通信ポート110(2)が取得したデータの処理を受信し、処理するためには、上位コントローラ40は、受信処理の実行プログラムを、「第2モード入力データ(2)」における「bit0」を参照するプログラムから、「第1モード入力データ」マップの「bit1」を参照するプログラムに変更する必要がある。
つまり、従来のデバイス通信管理ユニット9においては、デバイス通信ポート110に接続されているデバイス20の種類(具体的には、デバイス20(S)であるのか、またはデバイス20(C)であるのか)に応じて、デバイス20の出力したデータをフィールドネットワーク50(上位コントローラ40)へ伝送する際に用いるデータフォーマット、および前記データフォーマットにおけるデータ格納位置を切り替える。したがって、前記データフォーマットおよび前記データフォーマットにおけるデータ格納位置が切り替えられたとしても、デバイス20の出力したデータを正しく受信し処理できるプログラムを、上位コントローラ40において組む必要がある。そのため、従来のデバイス通信管理ユニット9を利用した場合、上位コントローラ40におけるプログラムの設計工数が大きい。
(照合機能の有効/無効とIOマップの切り替え)
図4は、従来のデバイス通信管理ユニット9が上位コントローラ40に割り付けるIOマップと照合機能の有効/無効とについて、通信モードに対応付けられていることを説明する図である。
図4に示す表の2行目は、従来のデバイス通信管理ユニット9において、デバイス通信ポート110が第2モードに設定される場合、デバイス通信ポート110における照合機能は「有効」となることを示している。さらに、第2モード時(つまり「照合機能:有効」時)のIOマップは、図5の(B−1)〜(B−4)に例示する、「第2モード入力データ」マップ(第2モード入力データ(1)〜第2モード入力データ(4)の各々)のようになることが、図4に示す表の2行目には示されている。
図4に示す表の3行目(入力)および4行目(出力)は、従来のデバイス通信管理ユニット9において、デバイス通信ポート110が第1モードに設定される場合、デバイス通信ポート110における照合機能は「無効」となることを示している。さらに、第1モード時(つまり「照合機能:無効」時)のIOマップは、図5の(A)に例示する、「第1モード入力データ」マップのようになることが、図4に示す表の3行目(入力)および4行目(出力)には示されている。
以上に説明したように、従来のデバイス通信管理ユニット9においては、照合機能の有効/無効(具体的には、デバイス通信ポート110に接続されているデバイス20がデバイス20(S)であるのか、またはデバイス20(C)であるのか)に応じて、IOマップが切り替えられる。
(従来のデバイス通信管理ユニットにおけるIOマップ)
図5は、従来のデバイス通信管理ユニット9が上位コントローラ40に送信するIOマップを説明する図である。
デバイス通信管理ユニット9が上位コントローラ40に割りつけることができるIOマップ(上位通信制御部130が上位コントローラ40に送信するIOマップ)は、図5の(A)に例示する「第1モード入力データ」マップと、図5の(B−1)〜図5の(B−4)の各々に例示する、デバイス通信ポート110(1)、110(2)、・・・、110(4)の各々の「第2モード入力データ」と、を含む。
図5の(A)は、「第1モード入力データ」マップの例を示している。或るデバイス通信ポート110の通信モードが第1モードに設定されると、当該或るデバイス通信ポート110に接続されているデバイス20が出力したオン/オフ情報などの2値化データは、「第1モード入力データ」マップに割りあてられる。デバイス通信ポート110の通信モードを第1モードに設定することにより、第2モードでの通信を行うことのできないデバイス20(S)をデバイス通信ポート110に接続して使用することができる。
「第1モード入力データ」マップにおいて、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々と第1モードで通信するデバイス20(1)、20(2)、・・・、20(n)が出力したオン/オフ情報などの2値化データ(1ビットのデータ)は、並べられて格納される。すなわち、「第1モード入力データ」マップにおいて、第1モードでデバイス20(1)、20(2)、・・・、20(n)から取得した2値化データの、「第1モード入力データ」マップにおけるBitオフセット位置は、デバイス通信ポート110(1)、110(2)、・・・、110(n)のポート番号に対応している。例えば、図5の(A)に例示するように、デバイス20(1)が出力した2値化データ(DI1)は「bit0」に、デバイス20(2)が出力した2値化データ(DI2)は「Bit1」に、デバイス20(3)が出力した2値化データ(DI3)は「Bit2」に、格納される。従来のデバイス通信管理ユニット9は、デバイス通信ポート110(1)、110(2)、・・・、110(n)の各々と第1モードで通信するデバイス20(1)、20(2)、・・・、20(n)が出力した2値化データを並べて上位コントローラ40に送信することにより、効率的に上位コントローラ40と通信しようとする。
図5の(B−1)〜図5の(B−4)の各々は、デバイス通信ポート110(1)、110(2)、・・・、110(4)の各々が第2モードでデバイス20(C1)、20(C2)、・・・、20(C4)から受信したデータを格納した「第2モード入力データ(1)〜(4)」の各々を例示している。従来のデバイス通信管理ユニット9は、デバイス通信ポート110(1)が第2モードでデバイス20(C1)から受信したデータを、図5の(B−1)に例示する第2モード入力データ(1)として、上位コントローラ40(フィールドネットワーク50)に送信する。同様に、従来のデバイス通信管理ユニット9は、デバイス通信ポート110(2)、110(3)、110(4)の各々が第2モードでデバイス20(C2)、20(C3)、20(C4)の各々から受信したデータを、図5の(B−2)、(B−3)、(B−4)の各々に例示する第2モード入力データ(2)、第2モード入力データ(3)、第2モード入力データ(4)として、上位コントローラ40(フィールドネットワーク50)に送信する。
すなわち、デバイス通信ポート110(1)、110(2)、・・・、110(4)の各々が第2モードでデバイス20(C1)、20(C2)、・・・、20(C4)から受信したデータは、「第2モード入力データ(1)」〜「第2モード入力データ(4)」として、上位コントローラ40に送信される(上位コントローラ40に割り当てる)。
以上に説明したように、従来のデバイス通信管理ユニット9においては、照合機能の有効/無効(具体的には、デバイス通信ポート110に接続されているデバイス20がデバイス20(S)であるのか、またはデバイス20(C)であるのか)に応じて、IOマップが切り替えられる。
具体的には、従来のデバイス通信管理ユニット9は、照合機能が無効であるデバイス通信ポート110(デバイス20(S)が接続されているデバイス通信ポート110)から取得したデータをフィールドネットワーク50(上位コントローラ40)に送信する際には、図5の(A)に例示する「第1モード入力データ」マップを用いる。従来のデバイス通信管理ユニット9は、また、照合機能が有効であるデバイス通信ポート110(デバイス20(C)が接続されているデバイス通信ポート110)から取得したデータをフィールドネットワーク50(上位コントローラ40)に送信する際には、図5の(B−1)〜図5の(B−4)に例示する「第2モード入力データ」データフォーマットを用いる。
なお、「第2モード入力データ(1)」〜「第2モード入力データ(4)」の各々のデータサイズは、デバイス通信ポート110(1)、110(2)、・・・、110(4)の各々と第2モードで通信するデバイス20(C1)〜20(C4)の各々のIOサイズ(第2モードで送受信可能なデータのサイズ)に合わせて、1byte〜32byteまで可変である。
(本発明の一実施形態に係るデバイス通信管理ユニットにおけるデバイス交換方法)
デバイス通信管理ユニット10において実行される処理についての理解を容易にするため、先ず、デバイス通信管理ユニット10において実行される処理を、以下のように整理しておく。
すなわち、デバイス通信管理ユニット10において実行される処理は、マスタ装置である上位コントローラ40(コントローラ)にフィールドネットワーク50(ネットワーク)を介して接続され、デバイス20が接続されるデバイス通信ポート110(通信ポート)を備えるデバイス通信管理ユニット10(スレーブ装置)の制御方法であって、デバイス通信ポート110に接続されたデバイス20から、1ビットのデータのみを受信する第1モードで通信するか、または、1ビットよりも大きなデータを受信する第2モードで通信するかを設定するモード設定ステップと、前記モード設定ステップにて前記第1モードを設定すると、前記モード設定ステップにて前記第2モードを設定した場合にデバイス20から受信したデータをフィールドネットワーク50へ伝送するために用いるデータフォーマットを用いて、前記第1モードで通信したデバイス20から受信したデータをフィールドネットワーク50へ伝送する送信ステップと、を含むことを特徴としている。
前記の方法によれば、前記送信ステップは、前記モード設定ステップにて前記第2モードを設定した場合にデバイス20から取得したデータをフィールドネットワーク50へ伝送するために用いられる前記データフォーマットを用いて、前記第1モードを設定した場合にデバイス20から取得したデータをフィールドネットワーク50へ伝送する。つまり、前記制御方法は、デバイス20から取得したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、前記データフォーマットを用いてフィールドネットワーク50へ伝送する。
ここで、デバイス20と前記第1モードで通信したのか、前記第2モードで通信したのかに応じて、フィールドネットワーク50へ伝送するのに用いるデータフォーマットが異なる場合、上位コントローラ40は以下の情報を取得していなくてはならない。すなわち、上位コントローラ40が受信するデバイス20からのデータが、前記第1モードでデバイス20から受信したデータであるのか、それとも、前記第2モードでデバイス20から受信したデータであるのかに係る情報を、上位コントローラ40は取得していなくてはならない。また、前記第1モードでデバイス20から受信したデータが前記第1モードに対応するデータフォーマットにどのように格納されているのか、および、前記第2モードでデバイス20から受信したデータが前記第2モードに対応するデータフォーマットにどのように格納されているのかに係る情報を、上位コントローラ40は取得していなくてはならない。
一方、前記制御方法は、デバイス20から受信したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、前記データフォーマットを用いてフィールドネットワーク50へ伝送する。したがって、デバイス通信管理ユニット10は、デバイス20から受信したデータをフィールドネットワーク50へ伝送するのに用いるデータフォーマットを単純化させることができ、かつ、デバイス通信管理ユニット10および上位コントローラ40における処理を単純化させることができるという効果を奏する。
前記方法は、また、デバイス20から受信したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、共通の前記データフォーマットを用いてフィールドネットワーク50へ伝送するので、デバイス通信管理ユニット10に接続させるデバイスを、前記マスタ装置における受信処理等を変更させずに容易に交換することができるという効果を奏する。
デバイス通信管理ユニット10は、従来のデバイス通信管理ユニット9と異なり、「照合機能:解除」の設定を行うことができる。すなわち、デバイス通信処理部101から或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)であることを通知されると、モード設定部104は、以下の(a)〜(c)の3つの処理を実行する。すなわち、モード設定部104は、(a)デバイス通信処理部101に、デバイス20(S)と第1モードで通信することを指示する。モード設定部104は、また、(b)照合部106に、前記或るデバイス通信ポート110における照合処理を「解除する(照合処理を実行しない)」よう指示する。モード設定部104は、さらに、(c)出力データ生成部105に、前記或るデバイス通信ポート110における照合処理が「解除されている(照合処理が実行されない)」ことを通知する。以下、詳細を説明していく。
なお、「照合機能:無効」時および「照合機能:有効」時のデバイス通信管理ユニット10の実行する処理は、従来のデバイス通信管理ユニット9と同様であるため、以下では、「照合機能:解除」時のデバイス通信管理ユニット10の実行する処理を中心に説明していく。
(照合機能の有効または解除)
図6は、デバイス通信管理ユニット10が上位コントローラ40に割り付けるIOマップについて、通信モードによらずに同一とすることを説明する図である。すなわち、デバイス通信管理ユニット10は、「照合機能:解除(第1モード)」の場合と、「照合機能:有効(第2モード)」の場合とで、IOマップを切り替えることがない。具体的には、デバイス通信管理ユニット10は、従来のデバイス通信管理ユニット9が、第1モードで通信するデバイス20から取得したデータを上位コントローラ40に送信する際に用いた「第1モード入力データ」マップ(図5の(A)に例示するマップ)を、上位コントローラ40に割りつけておく必要がない。以下詳細を説明していく。
(照合機能:有効時)
図6に示す表の2行目は、デバイス通信管理ユニット10において、或るデバイス通信ポート110が第2モードに設定される場合、前記或るデバイス通信ポート110における照合機能が「有効」と設定されることを示している。
例えば、デバイス通信処理部101から或るデバイス通信ポート110に接続されているデバイス20がデバイス20(C)であることを通知されると、モード設定部104は、以下の(a)〜(c)の3つの処理を実行する。すなわち、モード設定部104は、(a)デバイス通信処理部101に、デバイス20(C)と第2モードで通信することを指示する。モード設定部104は、また、(b)照合部106に、前記或るデバイス通信ポート110における照合処理について「有効(照合処理を実行する)」を指示する。モード設定部104は、さらに、(c)出力データ生成部105に、前記或るデバイス通信ポート110における照合処理が「有効」であることを通知する。
図6に示す表の2行目には、さらに、第2モード時(つまり「照合機能:有効」時)のIOマップが、図8の(B−1)〜(B−4)に例示する、「第2モード入力データ」のようになること示されている(各ポートの「第2モード入力データ」)。
すなわち、第2モードに設定されたデバイス通信ポート110において取得したデータ(デバイス20と第2モードで通信して取得したデータ)は、図8の(B−1)〜(B−4)に例示するデータフォーマット(「第2モード入力データ」データフォーマット)に格納されて、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送される。
図8の(B−1)〜(B−4)の各々は、図5の(B−1)〜(B−4)の各々と同様であり、デバイス通信ポート110(1)、110(2)、・・・、110(4)の各々が第2モードでデバイス20(C1)、20(C2)、・・・、20(C4)から受信したデータを格納した「第2モード入力データ(1)〜(4)」の各々を例示している。
出力データ生成部105は、第2モードに設定されたデバイス通信ポート110において取得したデータ(デバイス20と第2モードで通信して取得したデータ)、つまり、照合機能:有効とされているデバイス通信ポート110において取得したデータを、図8の(B−1)〜(B−4)(つまり、図5の(B−1)〜(B−4))に例示する「第2モード入力データ」データフォーマットに格納して、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送する。デバイス通信ポート110(1)、110(2)、・・・、110(4)の各々が第2モードでデバイス20(C1)、20(C2)、・・・、20(C4)から受信したデータは、「第2モード入力データ(1)」〜「第2モード入力データ(4)」として、上位コントローラ40に送信される。
(照合機能:解除時)
図6に示す表の3行目は、デバイス通信管理ユニット10において、或るデバイス通信ポート110が第1モードに設定される場合、前記或るデバイス通信ポート110における照合機能は「解除」と設定されることを示している。
例えば、デバイス通信処理部101から或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)であることを通知されると、モード設定部104は、以下の(a)〜(c)の3つの処理を実行する。すなわち、モード設定部104は、(a)デバイス通信処理部101に、デバイス20(S)と第2モードで通信することを指示する。モード設定部104は、また、(b)照合部106に、前記或るデバイス通信ポート110における照合処理を「解除する(照合処理を実行しない)」ように指示する。モード設定部104は、さらに、(c)出力データ生成部105に、前記或るデバイス通信ポート110における照合処理が「解除」であることを通知する。
つまり、デバイス通信処理部101から或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)であることを通知されると、モード設定部104は、デバイス通信処理部101に、前記或るデバイス通信ポート110においてデバイス20(S)と第1モードで通信することを指示する。
モード設定部104から前記の指示を受信したデバイス通信処理部101(デバイス通信受信処理部102およびデバイス通信送信処理部103)は、前記或るデバイス通信ポート110において、デバイス20(S)と第1モードで通信する。すなわち、デバイス通信処理部101は、前記或るデバイス通信ポート110において、デバイス20(C)ではない、例えば汎用のオン/オフセンサであるデバイス20(S)と通信することができる(デバイス20(S)を前記或るデバイス通信ポート110に接続することができる)。
図6に示す表の3行目には、さらに、第1モード時(つまり「照合機能:解除」時)のIOマップが、図7および図8の(B−1)〜(B−4)に例示する、「第2モード入力データ」のようになること示されている。
すなわち、モード設定部104から「前記或るデバイス通信ポート110における照合処理が『解除』である(前記或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)である)」ことを通知された出力データ生成部105は、以下の処理を実行する。
出力データ生成部105は、前記或るデバイス通信ポート110において取得した第1モード入力データ(つまり、前記或るデバイス通信ポート110において、デバイス20(S)と第1モードで通信して取得したデータ)を、図7および図8に例示する「第2モード入力データ」データフォーマットを利用して、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送する。具体的には、出力データ生成部105は、前記或るデバイス通信ポート110において取得した第1モード入力データ(デバイス20(S)の出力したオン/オフ情報などの2値化データ、1ビットのデータ)を、「第2モード入力データ」データフォーマットの「bit0」にオフセットする(格納する)。また、出力データ生成部105は、「第2モード入力データ」データフォーマットの「bit0」以外の位置には、固定値(例えば、「0」)を格納する。
出力データ生成部105は、モード設定部104からの照合機能:解除の通知を取得すると、上記のデータを格納した「第2モード入力データ」(第1モード入力データ:bit0、固定値(例えば、「0」):bit1〜15等)を、前記或るデバイス通信ポート110において取得したデータとして、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送する。
つまり、前記或るデバイス通信ポート110から取得したデータを(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送するためのIOマップは、前記或るデバイス通信ポート110に設定されている通信モード(第1モードまたは第2モード)によらずに、同一である。
具体的には、出力データ生成部105は、デバイス通信ポート110に接続されているデバイス20(例えば、センサ)が、デバイス20(S)であるか、デバイス20(C)であるかに関わらず、「先頭データByteの0bit目に、デバイス20の出力したオン/オフ情報(2値化データ)を格納した」第2モード入力データを、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送する。
以上に説明したように、デバイス通信管理ユニット10において、出力データ生成部105は、モード設定部104により前記第1モードが設定されると、デバイス20から受信した前記1ビットのデータを前記データフォーマットの所定の位置に格納するとともに、前記データフォーマットの前記所定の位置以外の位置には所定の値を格納する。
前記の構成によれば、出力データ生成部105は、モード設定部104により前記第1モードが設定されると、デバイス20から受信した前記1ビットのデータを前記データフォーマットの所定の位置に格納するとともに、前記データフォーマットの前記所定の位置以外の位置には所定の値を格納する。つまり、デバイス通信管理ユニット10は、デバイス20から受信したデータを、デバイス20と前記第1モードで通信したか、前記第2モードで通信したかに関わらず、前記データフォーマットを用いてフィールドネットワーク50へ伝送し、かつ、前記第1モードでデバイス20から受信したデータを前記データフォーマットの前記所定の位置に格納する。
したがって、デバイス通信管理ユニット10は、前記第1モードでデバイス20から受信したデータを、前記データフォーマットを用いてフィールドネットワーク50へ伝送する際、前記第1モードでデバイス20から受信したデータを前記データフォーマットのどの位置に格納したかを、上位コントローラ40に、都度通知する必要がないという効果を奏する。すなわち、デバイス通信管理ユニット10は、デバイス20から受信したデータをフィールドネットワーク50へ伝送するのに用いるデータフォーマットを単純化させることができ、かつ、デバイス通信管理ユニット10および上位コントローラ40における処理を単純化させることができるという効果を奏する。
(本発明の一実施形態に係るデバイス通信管理ユニットの用いるIOマップ)
図7は、デバイス通信管理ユニット10が上位コントローラ40に送信するデータについて、デバイス通信ポート110の通信モード(第1モードまたは第2モード)によってデータフォーマット/IOマップを切り換えないことを説明する図である。
具体的には、図7の(A)は、照合機能:有効時における、デバイス通信ポート110が受信したデバイス20からのデータをデバイス通信管理ユニット10が上位コントローラ40に送信する際のIOマップのイメージを表している。また、図7の(B)は、照合機能:解除時における、デバイス通信ポート110が受信したデバイス20からのデータをデバイス通信管理ユニット10が上位コントローラ40に送信する際のIOマップのイメージを表している。
(照合機能:有効時におけるデータ例)
「照合機能:有効(つまり、デバイス通信ポート110に接続されているデバイス20がデバイス20(C)である)」時、出力データ生成部105は、図7の(A)に示すデータを、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送する。すなわち、出力データ生成部105は、デバイス通信ポート110とデバイス20(C)とが第2モードで通信して取得したデータ(1ビットよりも大きなデータ)を、図8に例示する「第2モード入力データ」データフォーマットに格納して、上位コントローラ40へ伝送する。
出力データ生成部105は、デバイス20(C)の出力したオン/オフ情報(2値化データ)を先頭データByteの0bit目に、それ以外のデータ(デバイス20(C)のステータス情報等のアナログデータ)を1bit目〜15にbit目に、格納した「第2モード入力データ」データフォーマットを、上位コントローラ40へ伝送する。
(照合機能:解除時におけるデータ例)
デバイス通信処理部101から「或るデバイス通信ポート110に接続されているデバイス20がデバイス20(S)である」ことを通知されたモード設定部104は、出力データ生成部105に、図7の(B)に示すデータを、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送するよう指示する。すなわち、出力データ生成部105は、デバイス通信ポート110とデバイス20(S)とが第1モードで通信して取得したデータ(オン/オフ情報等の2値化データ、1ビットのデータ)を、図8に例示する「第2モード入力データ」データフォーマットに格納して、上位コントローラ40へ伝送する。
出力データ生成部105は、デバイス20(S)の出力したオン/オフ情報(2値化データ)を先頭データByteの0bit目に、固定値(例えば「0」)を1bit目〜15にbit目に、格納した「第2モード入力データ」データフォーマットを、上位コントローラ40へ伝送する。
以上に説明したように、デバイス通信管理ユニット10は、「照合機能:解除(第1モード)」の場合と、「照合機能:有効(第2モード)」の場合とで、IOマップを切り替える必要がない。すなわち、出力データ生成部105は、「照合機能:解除(第1モード)」の場合も、「照合機能:有効(第2モード)」の場合も、デバイス20から取得したデータを「第2モード入力データ」データフォーマットに格納して、(上位通信制御部130を介して)フィールドネットワーク50(上位コントローラ40)へ伝送する。デバイス通信管理ユニット10は、従来のデバイス通信管理ユニット9が、第1モードで通信するデバイス20から取得したデータを上位コントローラ40に送信する際に用いた「第1モード入力データ」マップ(図5の(A)に例示するマップ)を、上位コントローラ40に割りつけておく必要がない。
(本発明の一実施形態に係るデバイス通信管理ユニットの送信データ)
図8は、デバイス通信管理ユニット10が上位コントローラ40に送信するデータを、通信モードとデバイス通信ポートとに応じて示す図である。なお、図8においては、デバイス通信ポート110(2)は照合機能:解除とされ、その他のデバイス通信ポート110(1)、110(3)、110(4)は照合機能:有効とされているものとする。
すなわち、デバイス通信処理部101からデバイス通信ポート110(2)に接続されているデバイス20が、デバイス20(C)からデバイス20(S)へ変更されたことを通知されると、モード設定部104は、(a)デバイス通信処理部101に、デバイス通信ポート110(2)の接続設定(通信モード)を第2モードから、第1モードに変更するよう指示する。
デバイス通信処理部101からデバイス通信ポート110(2)に接続されているデバイス20がデバイス20(S)であることを通知されると、モード設定部104は、(c)出力データ生成部105に、デバイス通信ポート110(2)における照合処理が、「有効」から「解除」に変更されたことを通知する。
出力データ生成部105は、デバイス通信ポート110(2)に接続されているデバイス20(S)から取得したデータ(1ビットのデータ)を上位コントローラ40に送信する際に用いるIOマップ(データフォーマット)を、第2モードのまま維持する。すなわち、出力データ生成部105は、デバイス通信ポート110(2)に接続されているデバイス20(S)の出力したオン/オフ情報(2値化データ)を先頭データByteの0bit目に、固定値(例えば「0」)を1bit目〜15にbit目に、格納した「第2モード入力データ」データフォーマット(図8のB’−2に例示するデータ)を、上位コントローラ40へ伝送する。
デバイス通信管理ユニット10の出力データ生成部105は、デバイス20(S)をデバイス通信ポート110(2)に接続した場合であっても、「第2モード入力データ」データフォーマットの「bit0」を、デバイス20(S)の出力したオン/オフ情報等の2値化データ(1ビットのデータ)の格納位置とする。
すなわち、出力データ生成部105は、デバイス通信ポート110に接続しているデバイス20がデバイス20(S)であってもデバイス20(C)であっても、デバイス20の出力したオン/オフ情報等の2値化データ(1ビットのデータ)を、「第2モード入力データ」データフォーマットの先頭データByteの0bit目に格納する。
デバイス通信管理ユニット10は、デバイス通信ポート110(2)に接続させる予定であったデバイス20(C2)に故障等が発生し交換が必要になった場合に、容易に交換することのできるデバイスの幅を増やすことができる。具体的には、上位コントローラ40のプログラム変更を必要とせずに、ユーザは、デバイス20(C2)の代わりに、デバイス20(S1)をデバイス通信ポート110(2)に接続させて使用することができる。つまり、デバイス通信管理ユニット10は、上位コントローラ40におけるプログラム変更を必要とせずに、デバイス通信ポート110(2)に、デバイス20(C)ではなくデバイス20(S)(例えば、汎用のオン/オフセンサ)を接続させることができる。デバイス通信管理ユニット10は、デバイス20(C)の故障時等においても、上位コントローラ40のプログラムを変更させずにデバイス通信ポート110に接続させることができる代替品(汎用のデバイス20(S))が多い。
したがって、デバイス通信ポート110に接続させる予定であったデバイス20(C)に故障等が発生した場合であっても、上位コントローラ40のプログラムを変更させずに、代わりにデバイス20(S)を接続させて使用することで、登録しているデバイス20(C)の発注期間も、制御システム1を止めずに稼働させることができる。
(IO−Linkについて)
制御システム1において、デバイス通信管理ユニット10とデバイス20とはIO−Link(登録商標)で通信してもよい。IO−Linkについて、以下に概要を説明しておく。
IO−Linkは、IEC61131−9において「Single-drop digital communication interface for small sensors and actuators」(SDCI)という名称で規格化されており、制御装置であるマスタ(PLC)(例えば、制御システム1における上位コントローラ40)とセンサおよびアクチュエータ等のデバイス(例えば、制御システム1におけるデバイス20)との間の通信のための標準化技術である。IO−Linkは、マスタ(PLC)とセンサおよびアクチュエータ等のデバイスとの通信に使用する新しいポイント・ツー・ポイントシリアル通信プロトコルである。
IO−Linkは、デバイスからマスタ(PLC)へのオン/オフ信号(1ビット)の発信のみが可能であった従来のプロトコル(例えば、制御システム1における第1モードの通信プロトコル)とは異なり、32バイト(256ビット)のデータの受発信(双方向通信)が可能な通信プロトコル(例えば、制御システム1における第2モードの通信プロトコル)である。マスタ(PLC)とセンサおよびアクチュエータ等のデバイスとの間をIO−Linkでつなぐことによって、従来、オン/オフ情報などの2値化データしか受信できなかったデバイスからの信号について、32バイトの数値データとして取得できるようになる。したがって、例えば、光電センサの場合、受光量、検出余裕度、内部温度などの情報を取得することができるようになり、不具合原因の究明に役立つほか、製品寿命の診断、経年劣化に応じたしきい値の変更などが可能になる。
IO−Linkを利用することにより、例えば、デバイスの設定およびメンテナンス等を自動化することができる。また、IO−Linkを利用することにより、マスタ(PLC)のプログラミングが大幅に簡易化でき、さらに、配線ケーブルのコスト削減等を実現することができる。デバイスの一例として、光電センサと近接スイッチとを挙げることができる。
(IO−Linkシステム)
IO−Linkシステムは、IO−Linkデバイス(一般に、センサ、アクチュエータ、またはその組み合わせ)と、標準の3線式センサ/アクチュエータケーブルと、IO−Linkマスタ(例えば、制御システム1におけるデバイス通信管理ユニット10)と、によって構成される。
ここで、IO−Linkマスタは1つ、または複数のポートを備え、各ポートには1台のIO−Linkデバイスが接続可能である。IO−Linkマスタは、IO−Linkデバイスとポイントツーポイント通信を行う。IO−Linkマスタは、従来のオン/オフ情報などの2値化データ(1ビットのデータ)だけでなく、デバイスの識別情報、デバイスの通信プロパティ、デバイスパラメータ、および、プロセス・診断データの情報などの、オン/オフ情報などの2値化データ以外の情報(1ビットよりも大きなデータ)を、IO−Linkデバイスとの間で送受信することができる。
IO−Linkデバイスとは、IO−Linkマスタとの間で、1ビットよりも大きなデータを送受信することのできるデバイス(例えば、制御システム1におけるデバイス20(C))を指す。
(2つの通信モード)
IO−Linkデバイスは、標準IO(Standard IO, SIO)と呼ばれる従来のデジタル交換モード(例えば、制御システム1における第1モード)ではIO−Linkマスタなしで動作することができ、つまり、センサとの間でオン/オフ情報などの2値化データしか受信できないマスタを用いて動作させることができる。同様に、IO−Linkマスタは、SIOを使用して従来型デバイス(IO−Linkマスタとの間で、オン/オフ情報などの2値化データしか受信できないデバイスであり、例えば、制御システム1におけるデバイス20(S))を動作させることができる。
IO−Linkマスタのポートはコンフィギュレーションデータを保有している。或るポートがSIOモードに設定されれば、IO−Linkマスタはそのポートを、従来までのポート(オン/オフ情報などの2値化データのみを送受信可能なポート)と同様に動作させる。ポートがコミュニケーションモード(COMモード)(例えば、制御システム1における第2モード)に設定されれば、IO−Linkマスタはそのポートに接続されたデバイス(IO−Linkデバイス。例えば、制御システム1におけるデバイス20(C))と、1ビットよりも大きなデータを送受信することができる。
(照合機能について)
IO−Linkを利用することにより、センサおよびアクチュエータ等のデバイス(IO−Linkデバイス)から、オン/オフデータ以外の情報(1ビットよりも大きなデータ)を取得可能となる。具体的には、デバイスの識別情報(ベンダID、デバイスID、リビジョン、シリアルNo)等を取得することができる。
IO−Linkマスタは、ポートごとに、接続予定のデバイスと、当該ポートに実際に接続しているデバイスとを照合する照合機能を有している。IO−Linkマスタは、IO−Link通信が確立したタイミングで、照合処理を実行する。IO−Linkマスタは、例えば、ポートにIO−Linkデバイスが接続されると、接続された当該IO−Linkデバイスから、デバイスの識別情報およびデバイスの通信プロパティを取得する。
また、IO−Linkマスタは、ポートごとに接続の予定されているデバイス(IO−Linkデバイス)の識別情報を含む構成情報を予め格納している。
IO−Linkマスタは、前記構成情報を参照して、ポートに接続の予定されているデバイス(IO−Linkデバイス)の識別情報を取得し、ポートに実際に接続されているデバイス(IO−Linkデバイス)の識別情報と一致するかを判定する。
例えば、IO−Linkマスタは、ポートごとに、接続の予定されているデバイスの「ベンダID、デバイスID、IO−Linkリビジョン、シリアルNo」と、実際に接続されたデバイスの「ベンダID、デバイスID、IO−Linkリビジョン、シリアルNo」と、が一致するかを判定する。IO−Linkマスタは、一致しない(照合異常)と判定すると、IO−Link通信を停止する。
なお、IO−Linkマスタが照合処理に際して用いる識別情報について、以下の2パターンのいずれかを選択することができる。第1に、IO−Linkマスタに、ベンダIDと、デバイスIDと、IO−Linkリビジョンと、を用いて照合処理を行わせることができる(簡易照合機能)。第2に、IO−Linkマスタに、ベンダIDと、デバイスIDと、IO−Linkリビジョンと、シリアルNoと、を用いて照合処理を行わせることができる(詳細照合機能)。ここで、シリアルNoを照合処理の際に参照しない場合、登録したデバイスと同形式のデバイス(シリアルNoを除いて、登録したデバイスと、ベンダID、デバイスID、IO−Linkリビジョンが同じデバイス)であれば、シリアルNoが一致していなくても、IO−Linkマスタは照合正常と判定し、交換後のデバイスとIO−Link通信を行うことができる。
〔ソフトウェアによる実現例〕
デバイス通信管理ユニット10の制御ブロック(特に、上位通信制御部130およびデバイス通信制御部100の各々)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(CentralProcessingUnit)を用いてソフトウェアによって実現してもよい。
後者の場合、デバイス通信管理ユニット10は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(ReadOnlyMemory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(RandomAccessMemory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。