(57)【要約】【課題】スレーブに搭載されている入出力装置の構成について、簡易な手段を用いてスレーブにおいてチェックすることのできる技術を提供する。【解決手段】プログラマブルコントローラ２とネットワーク１０を介して通信し、接続されるべき入出力装置に局番を割り当てる機能を有するスレーブ３において、スイッチ５が、接続されるべき入出力装置の数を設定する。局番配布回路７が、スイッチ５により設定された入出力装置数に基づいて、接続されるべき入出力装置に局番を割り当てて配布する。プログラマブルコントローラ２を起動するときに、局番を読み出すことによりスレーブ３に接続されている入出力装置の数を計測する。スイッチ５により設定された入出力装置数と、起動時にカウントされた入出力装置数とが一致するか否かを判定し、入出力装置数が相互に一致すると判定された場合は、プログラマブルコントローラ２との通信を開始させる。【選択図】図１
2008084204.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラとネットワークを介して通信し、接続されるべき入出力装置に局番を割り当てる機能を有するスレーブ装置であって、
前記接続されるべき入出力装置の数を設定する設定手段と、
前記設定手段により設定された入出力装置数に基づいて、前記接続されるべき入出力装置に局番を割り当てて配布する配布手段と、
前記プログラマブルコントローラを起動するときに、前記局番を読み出すことにより前記スレーブ装置に接続されている入出力装置の数を計測するカウンタ手段と、
前記設定手段により設定された入出力装置数と、前記カウンタ手段により計測された入出力装置数とが一致するか否かを判定する判定手段と
を備え、
前記判定手段により入出力装置数が相互に一致すると判定された場合は、前記プログラマブルコントローラとの通信を開始させる
ことを特徴とするスレーブ装置。
【請求項２】
前記判定手段により入出力装置数が相互に一致しないと判定された場合は、前記スレーブ装置において異常が発生している旨を前記プログラマブルコントローラに通知する通知手段
を更に備えたことを特徴とする請求項１記載のスレーブ装置。
【請求項３】
前記配布手段は、前記カウンタ手段によって最初に読み出される入出力装置に対して、前記設定手段により設定された値と等しい値を局番として割り当てる
ことを特徴とする請求項２記載のスレーブ装置。
【請求項４】
前記設定手段は、
前記入出力装置を装着可能なスロットの数を設定するための第１の設定手段と、
前記スロットに接続されるべき入出力装置の数を設定するための第２の設定手段と
を前記スロットを有するベースボードごとに備え、
前記判定手段は、前記ベースボードごとに前記第２の設定手段により設定された値と前記カウンタ手段により計測された入出力装置数とが一致するか否かを判定し、
前記入出力装置数が相互に一致しないと判定されたベースボードについては、前記判定手段は、前記第１および第２の設定手段によりそれぞれ設定された値に基づいて、エラーが発生しているベースボードを検出する
ことを特徴とする請求項２記載のスレーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラのスレーブ装置に関し、特に、接続される入出力装置に対して局番を割り当てる機能を有するスレーブ装置に関する。
【背景技術】
【０００２】
プログラマブルコントローラは、アナログあるいはデジタルの各種の入出力装置を接続してそれらの装置についてシーケンス制御を行うことのできる回路であり、親局（マスタ、プログラマブルコントローラ）および子局（スレーブ）の構成をとるプログラマブルコントローラシステムも一般的に用いられている。かかるシステムにおいては、マスタはそのＣＰＵによりシステムの構成や制御シーケンスの設定やシステム全体の管理等を行い、スレーブは入出力装置を接続してデータの収集等を行う。マスタとスレーブとの間はイーサネット（登録商標）や各種フィールドネットワークを介して通信可能であり、出力装置に対する出力データや入力装置からの入力データ等について、ネットワークを介して通信する。スレーブにおいて収集したデータに基づいて各種制御を行う技術に関しては、複数の温度センサが接続され、それらの温度センサから取り込んだデータに基づいて異常を検出し、結果をプログラマブルコントローラ（ＰＬＣ）に通知する技術について提供されている（例えば、特許文献１）。
【０００３】
ところで、上記のようなマスタ・スレーブ型のシステムにおいては、ユーザは、入出力装置をスレーブ上に任意に搭載することができる。システムによっては、スレーブは、システム起動時に自装置に実際に装着されている入出力装置の構成を確認し、マスタに装置構成に関わる情報を通知する。この場合、マスタのＣＰＵにおいては、スレーブから受信した情報に基づいてシステム正常と判断された場合に限り、ネットワークの通信動作を開始することを許可する。
【０００４】
その一方で、マスタ（のＣＰＵ）によっては、システム起動時であってもスレーブ側の装置構成をチェックしない場合もある。
図１０は、従来のプログラマブルコントローラシステムの問題点を説明するための図である。図１０（ａ）は、正常状態のシステムを示す。スレーブは、第１のベースボード１０１には１台の直流入力装置（図１０においては「ＤＣ入力」と表記）が搭載され、第２のベースボード１０２には２台の直流出力装置と１台の直流入力装置が搭載されている。一方、図１０（ｂ）は、スレーブに異常がある場合のシステムを示す。第２のベースボード１０２には本来は３台の入出力装置搭載されているべきであるのに対し、２台が故障のためスレーブにおいて認識されていない状態を示している。
【特許文献１】特開２００５−２５９０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えばオープンシステム等では、スレーブが上記の装置構成のチェックをしないマスタとでシステムを構築されることもあり得る。このような仕様のシステムにおいては、図１０（ｂ）に示す例のように、スレーブに搭載されるべき入出力装置が故障や脱落により認識されない場合であっても、マスタのＣＰＵにおいてシステム異常を検出しないため、スレーブは、通常通りにマスタとの通信動作を開始させることになる。オープンシステム等においても、各装置が正常な状態にあることを確認した上で動作を開始させられることが好ましい。
【０００６】
本発明は、スレーブに搭載されている入出力装置の構成について、簡易な手段を用いてスレーブにおいてチェックすることのできる技術を提供するを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、プログラマブルコントローラとネットワークを介して通信し、接続されるべき入出力装置に局番を割り当てる機能を有するスレーブ装置であって、前記接続されるべき入出力装置の数を設定する設定手段と、前記設定手段により設定された入出力装置数に基づいて、前記接続されるべき入出力装置に局番を割り当てて配布する配布手段と、前記プログラマブルコントローラを起動するときに、前記局番を読み出すことにより前記スレーブ装置に接続されている入出力装置の数を計測するカウンタ手段と、前記設定手段により設定された入出力装置数と、前記カウンタ手段により計測された入出力装置数とが一致するか否かを判定する判定手段とを備え、前記判定手段により入出力装置数が相互に一致すると判定された場合は、前記プログラマブルコントローラとの通信を開始させる構成とする。
【０００８】
スイッチ等の設定手段を介してスレーブ装置に接続すべき入出力装置の数を設定すると、その値に基づいて、入出力装置に局番を割り当てる。プログラマブルコントローラを起動する際に局番を読み出して、設定通りの数の入出力装置がスレーブ装置に接続されているか否かをチェックする。プログラマブルコントローラを起動するタイミングでスレーブ装置において適正な数の入出力装置が接続されているか否かを確認した上で、プログラマブルコントローラとの通信を開始することができる。
【０００９】
前記判定手段により入出力装置数が相互に一致しないと判定された場合は、前記スレーブ装置において異常が発生している旨を前記プログラマブルコントローラに通知する通知手段を更に備えることとしてもよい。
【００１０】
前記配布手段は、前記カウンタ手段によって最初に読み出される入出力装置に対して、前記設定手段により設定された値と等しい値を局番として割り当てるのが好ましい。最初に読み出される局番を参照することにより設定手段により設定されている入出力装置数を認識することができる。
【００１１】
更には、前記設定手段は、前記入出力装置を装着可能なスロットの数を設定するための第１の設定手段と、前記スロットに接続されるべき入出力装置の数を設定するための第２の設定手段とを前記スロットを有するベースボードごとに備え、前記判定手段は、前記ベースボードごとに前記第２の設定手段により設定された値と前記カウンタ手段により計測された入出力装置数とが一致するか否かを判定し、前記入出力装置数が相互に一致しないと判定されたベースボードについては、前記判定手段は、前記第１および第２の設定手段によりそれぞれ設定された値に基づいて、エラーが発生しているベースボードを検出することとしてもよい。複数のベースボードを備えた構成のスレーブ装置において、いずれのベースボードにおいてエラーが発生しているかを容易に把握できる。
【発明の効果】
【００１２】
本発明によれば、スレーブ装置に搭載されている入出力装置の数が適正であるか否かについて、簡易な手段を用いてスレーブ装置においてチェックすることができる。そして、スレーブ装置において入出力装置数をチェックすることにより、スレーブ装置の状態が異常と判断された場合には、プログラマブルコントローラとの通信を開始しないようにスレーブ装置において制御することが可能とされる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。
図１は、第１の実施形態に係るプログラマブルコントローラシステムの原理図である。図１のプログラマブルコントローラシステム１は、マスタ２およびスレーブ３を含み、相互にネットワーク１０を介して接続されている。
【００１４】
マスタ（プログラマブルコントローラ）２は、ベースボードに搭載され、直接あるいはスレーブ３を介してプログラマブルコントローラシステム１に接続される各種入出力装置の制御を行う。スレーブ３は、ベースボード４に搭載され、マスタ２とイーサネット（登録商標）や各種フィールドネットワーク等のネットワーク１０を介して接続されている。スレーブ３は、マスタ２からの命令を自装置側の入出力装置に通知したり、入出力装置から取得したデータをマスタ２に送信したりする。
【００１５】
スレーブ３のベースボード４は、図１に示す例においては２枚から構成されており、直接ネットワーク１０に接続され、スレーブ３の回路が搭載されている方のベースボードを第１の方のベースボード４Ａとし、第１のベースボード４Ａを介してネットワーク１０に接続されているベースボードを第２のベースボード４Ｂとする。第１のベースボード４Ａは、電源４１、スレーブ３、第１のスロット４３およびスイッチ５を含み、第２のベースボード４Ｂは、電源４４および第２〜第４のスロット４４、４５、４６を含む。
【００１６】
電源４１、４４は、それぞれのベースボード４（４Ａ、４Ｂ）に電力を供給する。第１〜第４のスロット４３、４５、４６、４７は、入出力装置を搭載するために設けられる。
スイッチ５は、例えばロータリスイッチや、ピアノスイッチ等から構成され、スレーブ３の４つのスロットのうち、実際に入出力装置を搭載すべきスロット数を設定するために用いる。スイッチ５は、例えばシステムを構築するエンジニアや管理者等のシステムのユーザにより設定される。
【００１７】
図１に示す例では、スイッチに設定された入出力装置数は「４」である。すなわち、第１および第２のベースボード上には４つのスロットが存在するが、全てのスロットに対して入出力装置を搭載する構成が設定されている。そして、第１〜第４のスロットそれぞれに（１）〜（４）の入力／出力装置が搭載されている。スレーブ３は、プログラマブルコントローラシステム１の起動時に自装置に接続されている入出力装置数をカウントし、カウント値とスイッチ５に設定されている値とを比較する。
【００１８】
図１（ａ）は正常と判断される場合のシステム構成例である。図１（ａ）の例においては、スイッチ５に設定されている入出力装置数が４であり、実際に搭載されている入出力装置数が４であるため、相互に値が一致し、スレーブ３の状態は「正常」である旨がマスタ２に対して通知される。マスタ２は、スレーブ３について正常な状態にあることを通知されると、スレーブ３との通信を開始する。
【００１９】
これに対し、図１（ｂ）は異常と判断される場合のシステム構成例である。図１（ｂ）に示す例では、第３および第４のスロットに搭載されるべき入出力装置は、故障あるいは脱落しており、検出されない。スレーブ３は、プログラマブルコントローラシステム１を起動するタイミングで、スイッチ５に設定されている入出力装置数「４」と、実際に搭載されている入出力装置数「２」とを比較する。２値が相互に一致しない場合は、スレーブ３の状態は「異常」であると判断する。そして、その旨がマスタ２に対して通知される。マスタ２は、例えば異常の検出されたスレーブ３を動作させないよう制御することができる。
【００２０】
なお、図１に示すシステム構成においては、スイッチ５はベースボードに設けられているが、これに限定されるものではない。例えばマスタ３に直接取り付ける構成としてもよい。
【００２１】
図１の本実施形態に係るスレーブ３においては、プログラマブルコントローラシステム１の起動時にスレーブ３側で入出力装置数をチェックするために、入出力装置の局番の値を参照する。そして、局番は、予めスイッチ５において設定した値に基づいて割り当てられている。以下、入出力装置ごとに局番を割り当てる方法について具体的に説明する。
【００２２】
図２は、局番の配布方法の概要を説明するための図である。スイッチにおいて設定した値と各入出力装置に割り当てられる局番との関係を説明するために、図１に示す構成とは異なり、各ベースボードにスイッチが２台ずつ設置された構成としている。図２の例においては、局番配布回路７はベースボードごとに設けられている。局番配布回路７は、２つのスイッチにおいてそれぞれ設定された値を読み出し、読み出した値に基づいてそれぞれのパルスを生成する。生成されたパルスは、バスを介して各入出力装置に送信される。
【００２３】
まず、第１のベースボード４Ａの局番の割り当て処理について説明する。第１のベースボードには１つのスロットが設けられており、１台の入出力装置を搭載可能である。
図２に示すように、第１のベースボード４Ａ上の２つのスイッチ５Ａ、６Ａのうち、スイッチ５Ａには「４」、スイッチ６Ａには「０」がそれぞれ設定されている。図２において（１）の入力装置の下方に記載されている値のうち、上段がスイッチ６Ａに対応させて割り当てられた局番であり、下段がスイッチ５Ａに対応させて割り当てられた局番である。スロット４３に設置された（１）のモジュールについては、スイッチ５Ａの値と同じ「４」を局番として設定する。スイッチ６Ａに「０」が設定されている場合は、これに対応する局番も同様に「０」を割り当てる。
【００２４】
次に、第２のベースボード４Ｂの局番の割り当て処理について説明する。第２のベースボード４Ｂは３つのスロットが設けられており、３台の入出力装置を搭載可能である。
第２のベースボード４Ｂには、第１のベースボード４Ａと同様に２つのスイッチが取り付けられており、スイッチ５Ｂには「５」、スイッチ６Ｂには「０」がそれぞれ設定されている。図２中においては（２）から（４）の入出力装置の下方に、それぞれ割り当てられた局番を記載している。各入出力装置のモジュールに割り当てられた局番のうち、上段はスイッチ６Ｂに対応させて割り当てられた局番であり、下段はスイッチ５Ｂに対応させて割り当てられた局番である。
【００２５】
第２のベースボード４Ｂのように、１枚のベースボード上に複数の入出力装置が搭載されている場合は、スイッチ６Ｂ、５Ｂにそれぞれ設定された値に基づいて、（２）から（４）のモジュールの順に局番を割り当てていく。スイッチ５Ａに設定されている値は「５」であるので、例えば局番配布回路７に近い（２）のモジュールから順に、それぞれ５、６および７の局番を割り当てる。スイッチ６Ｂのように「０」が設定されている場合は、複数のモジュールが搭載されている場合であっても、いずれのモジュールの局番に対しても「０」を割り当てる。
【００２６】
入出力装置ごとに局番を設定する手順について、更に説明する。
図３は、局番をモジュールに配布する処理を示したフローチャートである。図３に示す一連の処理は、ユーザ等によりスイッチ５に値が設定されたことを契機として開始される。なお、ここでは、図２に示す第２のベースボード４Ｂについて、スイッチ５Ｂにおいて設定された値に基づいて第２から第４の入出力装置について局番を設定する処理を例に説明することとする。
【００２７】
まず、ステップＳ１で、局番配布回路７がスイッチで設定された分のパルスを出力する。図４（ａ）は、ステップＳ１において出力されるパルスを模式的に示した図である。次に、ステップＳ２で、第２のＬＳＩは、受信した図４（ａ）に示すパルスについてそのパルス幅をカウントし、カウント値に基づいて局番を設定する。図４（ａ）の例においては、第２の入出力装置の局番は「５」と設定される。そして、ステップＳ３で、第２のＬＳＩはパルス幅を１加算し、次の入出力装置すなわち第３の入出力装置に対してパルスを送信する。
【００２８】
ステップＳ４で、第３のＬＳＩは、第２のＬＳＩと同様に、受信したパルスのパルス幅をカウントし、局番を設定する。図４（ｂ）は、第３のＬＳＩが受信したパルスを模式的に示した図である。第３のＬＳＩは、第２のＬＳＩについて設定された局番の値に１を加算した「６」を自己の局番として設定する。そして、ステップＳ５で、第３のＬＳＩはパルス幅を１加算して次の入出力装置である第４の入出力装置に対してパルスを送信する。ステップＳ５で、第４のＬＳＩは、第２および第３のＬＳＩと同様に、受信したパルスのパルス幅をカウントして自己の局番として設定する。図４（ｃ）は、第４のＬＳＩが受信したパルスを模式的に示した図である。図４（ｃ）に示すように、第４のＬＳＩは、値「７」を自己の局番として設定し、処理を終了する。
【００２９】
上記の局番の配布方法によれば、図１に示す構成においては、第１の入出力装置はスイッチの接続された第１のベースボード４Ａに搭載されるため、スイッチ５に設定された値に基づいて局番が割り当てられ、その値は０ｘ０４となる。他方で、第２から第４の入出力装置については、第２のベースボードにはスイッチが接続されていない。この場合は、第２から第４の入出力装置に割り当てられる局番は、例えば昇順に設定され、それぞれ０ｘ０１、０ｘ０２および０ｘ０３となる。
【００３０】
上記の方法によれば、入出力装置のモジュールに割り当てられる局番は、スイッチ５の値に基づいて設定される。これにより、システムを起動する際にモジュールの局番をチェックすることで、実際にこれから起動しようとしているスレーブ３が設定通りの構成であるか否かについて確認することができる。以下、局番をチェックする方法について、具体的に説明する。
【００３１】
図５は、局番をチェックする処理を示したフローチャートである。上述の通り、図５に示す一連の処理は、プログラマブルコントローラシステム１の起動のタイミングでスレーブ３のマイコンにおいて実行される。
【００３２】
まず、ステップＳ１１で、実際に搭載されている装置数を示す情報である「実際の機器数」として「０（搭載機器なし）」を設定して初期化し、次に、ステップＳ１２で、各入出力装置のモジュールから局番を読み出す。
【００３３】
続いて、ステップＳ１３で、読み出し処理の完了した機器数を示す情報Ｎを初期化し、Ｎ＝１とする。そして、ステップＳ１４で、最初に読み出した入出力装置の局番を、スイッチにより設定されている入出力装置数を表す「構成の機器数」情報として設定し、ステップＳ１５に進む。
【００３４】
ステップＳ１５で、上記Ｎ番目の入出力装置のモジュールに設定されている局番を読み出し、その局番がゼロでないか判定する。ゼロの場合は、更にステップＳ１６に進み、上記「実際の機器数」情報に１を加算する。ステップＳ１７で、Ｎに１を加算し、ステップＳ１５に戻る。ステップＳ１５においてＮ番目に読み出した局番がゼロと判定されるまで、ステップＳ１５からステップＳ１７の処理を繰り返す。
【００３５】
ステップＳ１５において読み出した局番がゼロと判定されると、ステップＳ１８に進み、上記「構成の機器数」情報の値と「実際の機器数」情報の値とが一致するか否かを更に判定する。値が相互に一致する場合は、ステップＳ１９に進み、スレーブ３の入出力装置の状態について「正常」との判断をマスタ２に送信し、処理を終了する。一方、値が相互に一致しない場合は、ステップＳ２０に進み、スレーブ３の入出力装置の状態について「異常」との判断をマスタ２に送信し、処理を終了する。
【００３６】
なお、図５のフローチャートに示すように、入出力装置数は、最初にモジュールから読み出した局番の値に基づいて判断しているため、第１の入出力装置については「構成の機器数」と一致するように局番を設定する必要がある。しかし、他の入出力装置については、ステップＳ１５で値がゼロであるか否かを判定して全モジュールについて局番読み出し処理が完了したか否かを判断する目的にのみ用いている。このため、最初に局番読み出しがなされる入出力装置以外の入出力装置の局番については、先述の局番以外の値を割り当てることとしてもよい。すなわち、２番目以降に読み出される入出力装置については０ｘ００以外を割り当てておくことにより、上記の局番チェック処理により入出力装置数が適正であるか否かを確認することは可能である。
【００３７】
図６は、スレーブ３のマイコンに内蔵されるメモリに保持されるデータの構造を示す図である。図６を参照して、図５に示す局番チェック処理を実行する際に、スレーブ３のマイコンにより参照されるデータについて説明する。
【００３８】
図６（ａ）は、局番チェック処理において使用されるデータを示す。構成の機器数情報については、上記ステップＳ１４において最初に読み出した局番が格納される。実際の機器数情報については、上記ステップＳ１５からステップＳ１７のループ処理を抜けるまで、ステップＳ１６において１を加算されるごとに更新されていく。
【００３９】
図６（ｂ）は、局番チェック処理において参照される情報についてのデータ構造を示す図である。図６（ｂ）に示すように、ヘッダに続いて、全データサイズ情報およびモジュールごとの情報が格納されている。モジュールの情報には、データサイズ情報、局番情報、およびスロット番号情報を含んで構成される。
【００４０】
データサイズ情報は、例えばモジュールの情報ごとのデータサイズを示すバイト数でからなる。局番情報は、そのモジュールに局番配布回路７から割り当てられた局番についての情報が格納されている。スロット番号情報は、ベースボードのスロット番号を示す情報が格納される。
【００４１】
局番配布回路７から各モジュールに対して配布された局番情報は、スレーブ３のメモリにおいて保持される図６（ｂ）に示すデータのうち、モジュールごとにそれぞれ対応する局番情報に格納される。プログラマブルコントローラシステム１を起動するタイミングで、図６（ｂ）に示す構造のデータから各モジュールについての局番情報が読み出され、上記の局番チェック処理が実行される。
【００４２】
以上説明したように、本実施形態に係るスレーブ３によれば、搭載されるべき入出力装置数を設定するためのスイッチ５は、簡易にベースボード４あるいはスレーブ３に取り付けられる。また、スイッチ５はロータリスイッチやピアノスイッチ等から構成されているので、ユーザは設定した数値を容易に視認できる。そして、スレーブ３側においては、スイッチ５により設定した値に基づいて最初に読み出す入出力装置のモジュールの局番を設定するので、システム起動時に局番を順次読み出す際に、実際に装着されている入出力装置数をチェックすることができる。このように、スレーブ３において入出力装置の装着状態をチェックすることで、マスタ（プログラマブルコントローラ）がスレーブの入出力装置の装着状態を確認しない仕様のプログラマブルコントローラシステムにおいても、入出力装置の故障や脱落等が生じている場合は、そのスレーブ３については異常と判断し、そのスレーブ３と通信を行わないようにする等の処置を取ることが可能となる。
【００４３】
上記の実施形態においては、第１のベースボード４Ａあるいはスレーブ３にスイッチを設けることにより、搭載すべき入出力装置の数に異常がないかについてのチェックをスレーブ全体として行っているが、搭載されている入出力装置の数のチェック方法は、これに限らない。例えば、ベースボードごとにスイッチを設け、ベースボード単位で異常の有無をチェックすることとしてもよい。
【００４４】
更には、複数のスイッチを用いて、スイッチに入出力装置数に加え、ベースボードに備えるスロット数の情報を持たせることもできる。以下、かかる構成を備えたスレーブについて説明する。
【００４５】
図７は、第２の実施形態に係るプログラマブルコントローラシステムの原理図である。マスタ２とスレーブ３とから構成され、互いにネットワーク１０を介して接続されている点については上記第１の実施形態と同様であり、ここではその説明については割愛する。ここでは、図１に示すスレーブと異なる点を中心に説明する。
【００４６】
図７に示すスレーブ３は、各ベースボードにスイッチを２つずつ備えている。１枚のベースボード４に設けられた２つのスイッチのうち、一方は搭載すべき入出力装置数を設定するためのスイッチ５であり、他方はそのベースボードに設けられたスロット数を示すスイッチ６である。
【００４７】
各スイッチ５、６に設定した値に基づいて、図７においては不図示の局番配布回路７が各入出力装置のモジュールに局番を配布する。ここでは、１枚のベースボードに２つのスイッチ５、６が配置されているので、局番については２桁で表している。局番の各桁の値は、先に図２を参照して説明した方法と同様の方法で設定する。そして、以下に説明する例においては、入出力装置のモジュールに対して配布される局番は、２桁の数字のうち上位の桁はスイッチ５Ａ、５Ｂにより設定される値に対応させ、下位の桁はスイッチ６Ａ、６Ｂにより設定される値に対応させるものとする。
【００４８】
まず、スイッチの値の設定方法について説明する。第ｎ（ｎは整数とする）のベースボードのスイッチに設定する値は、入出力装置数およびスロット数のいずれについても、第１から第ｎのベースボードについての合計を設定するものとする。
【００４９】
図７（ａ）の例では、第１のベースボード４Ａについては搭載する入出力装置数が１であり、設けられているスロット数が１である。このため、第１のベースボード４Ａのスイッチ５Ａおよびスイッチ６Ａには、いずれも１が設定される。第２のベースボード４Ｂについては、搭載する入出力装置数および設けられているスロット数がいずれも３である。第１のベースボードの入出力装置数およびスロット数と加算して、第２のベースボード４Ｂのスイッチ５Ｂおよびスイッチ６Ｂには、それぞれ（１＋３）＝４が設定される。
【００５０】
上記の通り、局番は、スイッチ５により割り当てられる値とスイッチ６により割り当てられる値とを組み合わせて設定される。これにより、第１から第４の入出力装置のモジュールに配布される局番の値は、それぞれ０ｘ１１、０ｘ４４、０ｘ４５および０ｘ４６となる。
【００５１】
図７（ｂ）の例では、第１のベースボード４Ａには１つのスロット４３が設けられているけれども入出力装置は接続せず、第２のベースボード４Ｂには３つのスロット４５、４６、４７が設けられているが、このうち２つのスロット４５、４６に入出力装置を接続する構成である。この場合は、第１のベースボードのスイッチ５Ａおよびスイッチ６Ａに設定すべき値は、それぞれ「０」および「１」であり、第２のベースボード４Ｂのスイッチ５Ｂおよびスイッチ６Ｂに設定すべき値は、それぞれ「（０＋２＝）２」および「（１＋３＝）３」である。図７（ｂ）の構成では、第２および第３の入出力装置のモジュールに配布される局番の値は、図７（ａ）の場合と同様の方法で設定され、それぞれ０ｘ４２および０ｘ４３となる。
【００５２】
図８は、本実施形態に係るスレーブ３において局番をチェックする処理を示したフローチャートである。図５の場合と同様に、図８に示す一連の処理は、プログラマブルコントローラシステム１を起動するタイミングで、スレーブ３のマイコンにおいて実行される。
【００５３】
まず、ステップＳ３１およびステップＳ３２の処理は、上記のステップＳ１１およびステップＳ１２の処理と同様に、実際にスレーブ３に搭載されている入出力装置数を表す「実際の機器数」情報として「０（搭載機器なし）」を設定して初期化し、各モジュールから局番を読み出す。ステップＳ３３で、ベースボードを識別するための値Ｍおよびあるベースボード上においてモジュールを識別するための値Ｐにそれぞれ１を設定し、ステップＳ３４で、スレーブ３全体でモジュールを識別するための値Ｎに１を設定してから第１の入出力装置のモジュールの局番を読み出し、ステップＳ３５に進む。
【００５４】
ステップＳ３５で、先に読み出した局番と「０ｘＦ０」とで論理積をとり、第Ｍ番目のベースボードに設けられたスロット数を示す「Ｍベースのスロット数」情報として演算結果を保存する。続いて、ステップＳ３６では、先に読み出した局番と「０ｘ０Ｆ」とで論理積を取り、第Ｍ番目のベースボードに搭載されるべき入出力装置数を示す「Ｍベースの装着数」情報として演算結果を保存し、ステップＳ３７に進む。
【００５５】
ステップＳ３７で、Ｎ局目の局番を読み出し、その値がゼロでないか判定する。ゼロでない場合は、ステップＳ３８に進み、Ｎに１を加算して、ステップＳ３９で、「実際の機器数」情報に１を加算し、ステップＳ４０に進む。そして、ステップＳ４０で、Ｍベース上でモジュールを識別するための値Ｐについて、Ｐが１より大きい場合は、（ステップＳ３７で読み出した最新の局番）から（Ｐ−１）局目の局番を減算した結果が１であるか否かを判定する。すなわち、Ｐ番目のモジュールは、（Ｐ−１）番目のモジュールと同一のベースボード上に搭載されているか否かを判定する。上記減算結果が１の場合は同一のベースボード上に搭載されているとしてステップＳ４１に進み、減算結果が１以外である場合は、Ｐ番目のモジュールと（Ｐ−１）番目のモジュールとは互いに異なるベースボードに搭載されているとして、ステップＳ４３に進む。なお、Ｐ＝１の場合は上記の判定は行わず、ステップＳ４１に進む。
【００５６】
ステップＳ４１で、ステップＳ３７で読み出した局番を、Ｍ番目のベースボード上でＰ番目のモジュールの局番であることを示す「Ｍ枚目のベースデータのＰ局面の局番」情報として保存する。そして、ステップＳ４２で値Ｐに１を加算し、ステップＳ３７に戻る。
【００５７】
一方、ステップＳ４１でＭ番目のベースボード上に搭載されているモジュールは（Ｐ−１）番目のモジュールまでであると判定されると、ステップＳ４３に進み、上記「Ｍベースの装着数」情報と、上記「実際の機器数」情報から１を減算した結果とを比較し、２つの値が相互に一致するか否かを判定する。２つの値が相互に一致する場合は、Ｍ番目のベースボードには設定通りの数のモジュールが搭載されているとして、ステップＳ４４に進み、更に「Ｍベースのスロット数」が（「実際の機器数」−１）よりも小さいか否かを判定する。２値を比較した結果、「Ｍベースのスロット数」の方が小さい場合は、Ｍ番目のベースボードについて、スロット数のチェック結果はＯＫであるとして、ステップＳ４５に進む。そして、ステップＳ４５で、Ｍに１を加算し、Ｐについては初期化して１を設定し、ステップＳ３５に戻る。
【００５８】
ステップＳ４３でＭ番目のベースボードに搭載されているモジュールの数が適正でないと判定された場合や、ステップＳ４４でＭ番目のベースボードのスロット数が適正でないと判定された場合は、それぞれステップＳ４６に進み、「Ｍ番目のベースボードに異常あり」と判断してマスタ２にその旨を通知し、処理を終了する。
【００５９】
同様に、上記の通りＭ、ＮおよびＰの値を変えてステップＳ３５以降の処理を繰り返し、ベースボードごとのチェックを行う。そして、上記ステップＳ３７で、Ｎ局目の局番を読み出した結果その局番の値がゼロである場合は、ループを抜けてステップＳ４７に進む。
【００６０】
ステップＳ４７で、上記「Ｍベースの装着数」と「実際の機器数」とを比較し、相互に値が一致する場合は、ステップＳ４８に進み、Ｍ番目のベースボードの状態は正常であると判断してマスタ２にその旨を通知し、処理を終了する。ステップＳ４７で２値が相互に一致しない場合は、ステップＳ４９に進み、Ｍ番目のベースボードの状態は異常と判断してマスタ２にその旨を通知し、処理を終了する。
【００６１】
図９は、スレーブ３のメモリに保持されるデータの構造を示す図である。図９を参照して、局番チェック処理を実行する際にスレーブ３のマイコンにより参照されるデータについて説明する。なお、入出力装置のモジュールに割り当てられた局番については、局番チェック処理が開始されるよりも先に予め図６（ｂ）に示す構成を備えたデータがメモリに格納されており、図８の局番チェック処理を実行する際に適宜読み出されるものとする。
【００６２】
図９（ａ）は、スレーブ３から読み出すことのできた入出力装置数を表す「実際の機器数」情報である。第１の実施形態とは異なり、搭載されるべき入出力装置数を表す「構成の機器数」情報については領域の確保が不要である。
【００６３】
図９（ｂ）は、各ベースボードの局番をチェックするために確保される領域を示す図である。各ベースボードについてのベースボードデータは、スロット数情報、装着数情報および各モジュールの局番情報から構成される。図８のフローチャート中でも述べたように、Ｍ枚目のベースボードについてのスロット数情報が「Ｍベースのスロット数」、実際に装着されているモジュール数すなわち入出力装置数を「Ｍベースの装着数」であり、そして、Ｍ枚目のベースボードの中でＰ番目の局番を「Ｐ局目の局番」である。
【００６４】
以上説明したように、本実施形態に係るスレーブ３によれば、ベースボードごとにスイッチを２つずつ設けてそれぞれにスロット数および搭載される入出力装置数を表すこととすることにより、チェック処理において異常が検出された場合には、いずれのベースボードに異常が発生しているかについての情報をも得ることができる。これにより、第１の実施形態に係るスレーブ３が有する効果に加えて、プログラマブルコントローラシステム１の管理がより容易にされるという更なる効果を有する。
【図面の簡単な説明】
【００６５】
【図１】第１の実施形態に係るプログラマブルコントローラシステムの原理図である。
【図２】局番の配布方法の概要を説明するための図である。
【図３】局番をモジュールに配布する処理を示したフローチャートである。
【図４】出力されるパルスを模式的に示した図である。
【図５】第１の実施形態における局番をチェックする処理を示したフローチャートである。
【図６】第１の実施形態においてメモリに保持されるデータの構造を示す図である
【図７】第２の実施形態に係るプログラマブルコントローラシステムの原理図である。
【図８】第２の実施形態における局番をチェックする処理を示したフローチャートである。
【図９】第２の実施形態においてメモリに保持されるデータの構造を示す図である。
【図１０】従来のプログラマブルコントローラシステムの問題点を説明するための図である。
【符号の説明】
【００６６】
１      プログラマブルコントローラシステム
２      マスタ（プログラマブルコントローラ、ＰＬＣ）
３      スレーブ
５、６      スイッチ
４１、４４      電源
４３、４５、４６、４７      スロット
【図１】
2008084204.tif 000003
【図２】
2008084204.tif 000004
【図３】
2008084204.tif 000005
【図４】
2008084204.tif 000006
【図５】
2008084204.tif 000007
【図６】
2008084204.tif 000008
【図７】
2008084204.tif 000009
【図８】
2008084204.tif 000010
【図９】
2008084204.tif 000011
【図１０】
2008084204.tif 000012