(57)【特許請求の範囲】
【請求項１】
バックプレーンに連結された複数の中央処理装置（ＣＰＵ）モジュールが、前記バックプレーンにアクセス可能なカウントを示すタイムスロットを決めて、割り当てられたタイムスロットにおいて前記バックプレーンにアクセスを試みる第１ＣＰＵモジュールと、前記第１ＣＰＵによって割り当てられたタイムスロットにおいて前記バックプレーンに各々アクセスを試みる複数の第２ＣＰＵモジュールと、を含み、
前記第１及び第２ＣＰＵモジュールは、前記バックプレーンにアクセスした場合、クロック信号を生成して、
前記第１及び第２ＣＰＵモジュールは、前記バックプレーンにアクセスしたＣＰＵモジュールが生成するクロック信号を検出する検出部を各々含むことを特徴とする、プログラム可能なロジックコントローラー（ＰＬＣ）システム。
【請求項２】
前記バックプレーンにアクセスしようとするＣＰＵモジュールは、
前記検出部によってクロック信号が検出される場合、前記バックプレーンにアクセスしない、請求項１に記載のＰＬＣシステム。
【請求項３】
前記第１ＣＰＵモジュールは、
前記バックプレーンにアクセスしたＣＰＵモジュールが、クロック信号の生成を中断した場合、タイムスロットのカウントを開始カウントで同期化する、請求項１または２に記載のＰＬＣシステム。
【請求項４】
前記第１ＣＰＵモジュールは、
前記第１ＣＰＵモジュール及び前記複数の第２ＣＰＵモジュールの数と特性を考慮して、タイムスロットを決める、請求項１乃至３のいずれか一項に記載のＰＬＣシステム。
【請求項５】
前記第１ＣＰＵモジュールは、
前記複数の第２ＣＰＵモジュールに、タイムスロット最大カウント、タイムスロット現在カウント、タイムスロット開始カウント、及びタイムスロット終了カウントを各々伝送する、請求項１乃至４のいずれか一項に記載のＰＬＣシステム。
【請求項６】
バックプレーンに連結された複数のＣＰＵモジュールが、前記バックプレーンにアクセス可能なカウントを示すタイムスロットを決めるステップと、割り当てられたタイムスロットに該当するカウントである場合、前記バックプレーンにアクセスしたＣＰＵモジュールが生成するクロック信号を確認するステップと、前記バックプレーンにアクセスを試みるステップと、前記バックプレーンに対するアクセスが終了する時点に、カウントを同期化するステップと、を含むことを特徴とする、ＰＬＣシステム制御方法。
【請求項７】
割り当てられたタイムスロットに該当するカウントで、クロック信号が検出される場合、前記バックプレーンにアクセスしないステップをさらに含む、請求項６に記載のＰＬＣシステム制御方法。
【請求項８】
次のカウントでのタイムスロットにおいて前記バックプレーンにアクセスするために待機するステップをさらに含む、請求項７に記載のＰＬＣシステム制御方法。
【請求項９】
前記バックプレーンにアクセスする時点にクロック信号を生成するステップをさらに含む、請求項６乃至８のいずれか一項に記載のＰＬＣシステム制御方法。
【請求項１０】
前記バックプレーンに対するアクセスが終了する時点にクロック信号の生成を終了するステップをさらに含む、請求項９に記載のＰＬＣシステム制御方法。
【請求項１１】
前記タイムスロットは、前記バックプレーンに連結された複数のＣＰＵモジュールの数と特性を考慮して決められる、請求項６乃至１０のいずれか一項に記載のＰＬＣシステム制御方法。
【請求項１２】
マスターＣＰＵモジュールによって割り当てられたタイムスロットに該当するカウントである場合、バックプレーンにアクセスしたＣＰＵモジュールが生成するクロック信号を確認するステップと、前記クロック信号が検出されない場合、前記バックプレーンにアクセスして、クロック信号を生成するステップと、前記バックプレーンに対するアクセスが終了する時点に、クロック信号の生成を終了するステップと、を含むことを特徴とする、ＰＬＣシステム制御方法。
【請求項１３】
前記クロック信号を確認するステップにおいて、
前記クロック信号が検出される場合、割り当てられたタイムスロットに該当するカウントで前記バックプレーンにアクセスしないことを特徴とする、請求項１２に記載のＰＬＣシステム制御方法。
【請求項１４】
前記割り当てられたタイムスロットに該当するカウントの次のカウントでのタイムスロットにおいて前記バックプレーンにアクセスするために待機するステップをさらに含む、請求項１３に記載のＰＬＣシステム制御方法。
【請求項１５】
クロック信号の生成を終了する場合、前記マスターＣＰＵモジュールがカウントを同期化する、請求項１２乃至１４のいずれか一項に記載のＰＬＣシステム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵモジュールを備えるＰＬＣシステム及び制御方法に関する。
【背景技術】
【０００２】
一般に、工場自動化（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ、ＦＡ）において用いられるモジュラータイプのプログラム可能なロジックコントローラー（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ、ＰＬＣ）では、各モジュール間にバックプレーン（Ｂａｃｋｐｌａｎｅ）という一つの並列回路を介して通信を行う。
【０００３】
即ち、一つのモジュールから他のモジュールに通信するために、このバックプレーンを利用するようになるが、通信を要請するモジュールは、このバックプレーンに対する制御権を獲得しなければならない。もし、制御権なしにバックプレーンを複数のモジュールがアクセスしようとする場合には、信号の衝突が生じて正常なアクセスが不可能となる。
【０００４】
通常通信を要請するマスター（ｍａｓｔｅｒ）モジュールとマスターモジュールの要請に答えるスレーブ（ｓｌａｖｅ）モジュールとの間の通信において、共用資源に対する制御権は、一定の規則によってトークン（ｔｏｋｅｎ）を発行して、所定マスターがトークンを所有する時（即ち、制御権を持つ時）アクセスする方式で動作するが、このような規則は、トークン所有権の決定のために、予め定められた規則によりトークンをやり取りする時間及びトークン処理時間が必要とされるので、リアルタイム制御において満足するほどの性能を実現し難い問題点がある。
【０００５】
図１は、従来マルチマスターシステムにおいて、トークンによって制御権を獲得する方式を説明するための一例示図である。
【０００６】
図面に示したように、複数のマスター（１００〜４００）は、トークンという制御権をラウンド−ロビン（ｒｏｕｎｄ−ｒｏｂｉｎ）形式でマスター（１００〜４００）が所有することができる。トークンを所有するマスターは、バックプレーンにアクセスする権限を有し、バックプレーンを介してスレーブモジュールにアクセスすることができる。
【０００７】
即ち、マスターがスレーブを制御する必要がある場合、マスターは、自己がトークンを有しているのか確認して、トークンを有している場合、バックプレーンを介してスレーブにアクセスし、トークンを有していなければ、スレーブにアクセスできなく待機するようになる。トークンを所有することになった後に、マスターは、スレーブにアクセスするようになって、一定のアルゴリズムによってトークンを他のマスターに渡す。
【０００８】
図１では、ラウンド−ロビン方式が説明されたが、具現者の一定の規則によって多様な方式でトークンを送受信することができる。
【０００９】
しかし、このような方式は、トークン制御アルゴリズム及びトークン送受信処理時間が必要とされるので、リアルタイム性に制約が伴う問題点がある。
【００１０】
図２は、従来マルチマスターシステムにおいてタイムスロットによって制御権を獲得する方式を説明するための一例示であり、ｎ個のマスターがシステムに存在する場合を示した図である。
【００１１】
図面に示したように、連続的な時間をマスターの数またはそれ以上のスロットで配分して、マスターは自己に割り当てられた時間にだけバックプレーンにアクセスするものである。
【００１２】
マスターは、スレーブを制御する必要がある場合、自己に割り当てられたタイムスロットであるのか確認して、バックプレーンを介してアクセスを始めて、自己に割り当てられないタイムスロットの間には待機するか一定時間以後リトライ（ｒｅｔｒｙ）する方式で動作する。
【００１３】
この方式は、トークンを直接的にやり取りしないので、処理時間が短くなる効果があるが、各マスターの時間測定誤差によって同時にアクセスを試みることができるので、衝突が発生する可能性がある。
【００１４】
即ち、複数のマスターシステムは、各自のクロックによって駆動されるので、クロックに時間誤差が生じる場合、これによって同時刻にクロックエラーによって衝突する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明が解決しようとする技術的課題は、複数のＣＰＵモジュールを備えるＰＬＣシステムにおいて、リアルタイムでスレーブモジュールにアクセスするためのバックプレーン制御権を獲得する、ＰＬＣシステム及び制御方法を提供することである。
【課題を解決するための手段】
【００１６】
前記のような技術的課題を解決するために、本発明の一実施形態のプログラム可能なロジックコントローラー（ＰＬＣ）システムは、バックプレーンに連結された複数の中央処理装置（ＣＰＵ）モジュールが、バックプレーンにアクセス可能なカウントを示すタイムスロットを決め、割り当てられたタイムスロットにバックプレーンにアクセスする第１ＣＰＵモジュール、及び前記第１ＣＰＵによって割り当てられたタイムスロットにバックプレーンに各々アクセスする複数の第２ＣＰＵモジュールを含み、前記第１及び第２ＣＰＵモジュールは、バックプレーンにアクセスした場合、クロック信号を生成して、前記第１及び第２ＣＰＵモジュールは、バックプレーンにアクセスしたＣＰＵモジュールが生成するクロック信号を検出する検出部を各々含んでもよい。
【００１７】
本発明の一実施形態において、バックプレーンにアクセスしようとするＣＰＵモジュールは、前記検出部によってクロック信号が検出される場合、バックプレーンにアクセスしなくてもよい。
【００１８】
本発明の一実施形態において、前記第１ＣＰＵモジュールは、前記バックプレーンにアクセスしたＣＰＵモジュールが、クロック信号の生成を中断した場合、タイムスロットのカウントを開始カウントで同期化することができる。
【００１９】
本発明の一実施形態において、前記第１ＣＰＵモジュールは、前記第１ＣＰＵモジュール及び前記複数の第２ＣＰＵモジュールの数と特性を考慮してタイムスロットを決めることができる。
【００２０】
本発明の一実施形態において、前記第１ＣＰＵモジュールは、前記複数の第２ＣＰＵモジュールに、タイムスロット最大カウント、タイムスロット現在カウント、タイムスロット開始カウント及びタイムスロット終了カウントを各々伝送することができる。
【００２１】
また、前記のような技術的課題を解決するために、本発明の一実施形態のＰＬＣシステム制御方法は、バックプレーンに連結された複数のＣＰＵモジュールが、バックプレーンにアクセス可能なカウントを示すタイムスロットを決めるステップと、割り当てられたタイムスロットに該当するカウントである場合クロック信号を確認するステップと、バックプレーンにアクセスするステップと、バックプレーンに対するアクセスが終了する時点に、カウントを同期化するステップとを含んでもよい。
【００２２】
本発明の一実施形態のＰＬＣシステム制御方法は、割り当てられたタイムスロットに該当するカウントにおいてクロック信号が検出される場合、バックプレーンにアクセスしないステップをさらに含んでもよい。
【００２３】
本発明の一実施形態のＰＬＣシステム制御方法は、次のカウントでのタイムスロットにバックプレーンにアクセスするために待機するステップをさらに含んでもよい。
【００２４】
本発明の一実施形態のＰＬＣシステム制御方法は、バックプレーンにアクセスする時点にクロック信号を生成するステップをさらに含んでもよい。
【００２５】
本発明の一実施形態のＰＬＣシステム制御方法は、バックプレーンに対するアクセスが終了する時点にクロック信号の生成を終了するステップをさらに含んでもよい。
【００２６】
本発明の一実施形態において、前記タイムスロットは、前記バックプレーンに連結された複数のＣＰＵもジュールの数と特性を考慮して決定されてもよい。
【００２７】
また、前記のような技術的課題を解決するために、本発明の一実施形態のＰＬＣシステム制御方法は、マスターＣＰＵモジュールによって割り当てられたタイムスロットに該当するカウントである場合、クロック信号を確認するステップと、バックプレーンにアクセスして、クロック信号を生成するステップと、バックプレーンに対するアクセスが終了する時点にクロック信号の生成を終了するステップとを含んでもよい。
【００２８】
本発明の一実施形態のＰＬＣシステム制御方法は、割り当てられたタイムスロットに該当するカウントにおいて、クロック信号が検出される場合、バックプレーンにアクセスしないステップをさらに含んでもよい。
【００２９】
本発明の一実施形態のＰＬＣシステム制御方法は、次のカウントでのタイムスロットにバックプレーンにアクセスするために待機するステップをさらに含んでもよい。
【００３０】
本発明の一実施形態のＰＬＣシステム制御方法は、クロック信号の生成を終了する場合、前記マスターＣＰＵモジュールがカウントを同期化することができる。
【発明の効果】
【００３１】
前記のような本発明は、ＣＰＵモジュール自身のタイムスロットに該当しても他のＣＰＵモジュールが接続中であるかを確認することによって、衝突を回避することができ、また、マスターＣＰＵモジュールは、あるＣＰＵモジュールがスレーブモジュールに対するアクセスを終了する時点にカウントを同期化して、アクセスのために待機する時間を減らすことができる。
【図面の簡単な説明】
【００３２】
【図１】従来のマルチマスターシステムにおいて、トークンによって制御権を獲得する方式を説明するための一例示図である。
【図２】従来のマルチマスターシステムにおいて、タイムスロットによって制御権を獲得する方式を説明するための一例示図である。
【図３】本発明が適用されるプログラム可能なロジックコントローラー（ＰＬＣ）システムを概略的に説明するための構成図である。
【図４】図３の連結関係を説明するためのブロック図である。
【図５】図３のＣＰＵ０が生成してＣＰＵ１、ＣＰＵ２及びＣＰＵ３に伝達するパラメーターを説明するための一例示図である。
【図６】ＣＰＵ０が生成したタイムスロットを説明するための一例示図である。
【図７】本発明のＰＬＣシステムの制御方法を説明するための一実施形態流れ図である。
【発明を実施するための形態】
【００３３】
本発明は、種々の変更を加えることができて、多様な実施形態を持つことができ、特定実施形態を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施形態に対して限定するのではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物乃至代替物を含むものと理解されなければならない。
【００３４】
以下、添付図面を参照して、従来のマルチマスターシステムの制御権獲得に関して説明して、本発明に係る好ましい一実施形態を詳細に説明する。
【００３５】
図３は、本発明が適用されるプログラム可能なロジックコントローラー（ＰＬＣ）システムを概略的に説明するための構成図であり、図４は、図３の連結関係を説明するためのブロック図である。
【００３６】
図３に示したように、本発明の一実施形態が適用されるＰＬＣシステムは、複数のスロット（Ａ）で構成されて、この中で複数の中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）モジュール（１０、２０、３０、４０）が所定スロットに配置され、この複数のＣＰＵモジュール（１０、２０、３０、４０）により制御される多数のスレーブモジュールが、各々ＣＰＵモジュール（１０、２０、３０、４０）近くのスロットに配置されてもよい。
【００３７】
この時、スレーブモジュールは、例えば、通信モジュール、入出力モジュール、カウンターモジュール等、種々のモジュールを含み、本発明はスレーブモジュールの種類に制限されるのではない。
【００３８】
即ち、ＣＰＵモジュール０（１０）の近くのスロットに該当ＣＰＵ０モジュール１０のスレーブモジュール（１１、１２）が配置され、他のＣＰＵモジュール（２０、３０、４０）も同様に、その近くに各々のスレーブモジュールが配置される。本発明の一実施形態においては、一つのＣＰＵモジュールに対応するスレーブモジュールが２つの場合を挙げて示したが、これに限定されるのではなく、必要に応じてスレーブモジュールの種類及び数が決定されることは、本発明が属する技術分野で通常の知識を有する者には自明である。
【００３９】
説明の便宜のために、以下では、「ＣＰＵモジュール０」を図面で示したように「ＣＰＵ０」とし、ＣＰＵ０（１０）のスレーブモジュールをＳ０_１１１、Ｓ０_２１２とする。同様に、ＣＰＵ１（２０）のスレーブモジュールをＳ１_１２１、Ｓ１_２２２とし、ＣＰＵ２（３０）のスレーブモジュールをＳ２_１３１、Ｓ２_２３２とし、ＣＰＵ３（４０）のスレーブモジュールをＳ３_１４１、Ｓ３_２４２とする。
【００４０】
また、ＣＰＵ０（１０）を全ＰＬＣシステムを制御するマスターＣＰＵモジュールと決め、その他ＣＰＵ１、２、３（２０、３０、４０）をバスマスターＣＰＵモジュールとする。但し、本発明がこれに限定されるのではないことは自明である。
【００４１】
前述したように、一つのＰＬＣシステムの複数のスロット（Ａ）内に配置されるモジュールは、バックプレーンを介して連結される。
【００４２】
即ち、図４は、これを説明するための図であり、図３の例を模式的に示した図である。
【００４３】
即ち、ＣＰＵ０（１０）、Ｓ０_１１１、Ｓ０_２１２、ＣＰＵ１（２０）、Ｓ１_１２１、Ｓ１_２２２、ＣＰＵ２（３０）、Ｓ２_１３１、Ｓ２_２３２及びＣＰＵ３（４０）、Ｓ３_１４１、Ｓ３_２４２は、各々バックプレーン（Ｂ）を介して連結されていることがわかる。
【００４４】
前記のようなＰＬＣシステムにおいて、複数のＣＰＵモジュールの制御のために、マスターＣＰＵモジュールであるＣＰＵ０（１０）は、一定時間に応じてタイムスロットを分配して、各ＣＰＵモジュールは、自己のタイムスロットに該当しても無条件にバックプレーン（Ｂ）を介してスレーブモジュールにアクセスすることなく、タイムスロット時間に他のＣＰＵモジュールのアクセスがあるのか確認する方法で衝突を回避して、ＣＰＵモジュールがバックプレーン（Ｂ）を介してスレーブモジュールにアクセスし、各ＣＰＵモジュールのアクセスが終了する時点を基準に、マスターＣＰＵモジュールがタイムスロットのカウントを同期化して、基本的な衝突を回避する。以下、詳細に説明する。
【００４５】
本発明の説明では、「バックプレーン（Ｂ）を介してスレーブモジュールにアクセス」することと、「バックプレーン（Ｂ）にアクセス」することを同じ意味で使うことにする。
【００４６】
図３及び図４のようなＰＬＣシステムに電源が印加されれば、ＣＰＵ０（１０）は、ＰＬＣシステム内に存在するＣＰＵモジュールの数を確認して、タイムスロットを決めて、これをＣＰＵ１（２０）、ＣＰＵ２（３０）及びＣＰＵ３（４０）に伝達することができる。この時、タイムスロットは、ＣＰＵモジュールの数と該当ＣＰＵモジュールの特性を考慮して決定され、従って各ＣＰＵモジュールに割り当てられるタイムスロットの長さは、同じであっても同じでなくても良い。
【００４７】
図５は、図３のＣＰＵ０が生成して、ＣＰＵ１、ＣＰＵ２及びＣＰＵ３に伝達するパラメーターを説明するための一例示図である。
【００４８】
図面に示したように、本発明のパラメーターは、タイムスロット最大カウント（５Ａ）、タイムスロット現在カウント（５Ｂ）、タイムスロット開始カウント（５Ｃ）、及びタイムスロット終了カウント（５Ｄ）を含んでもよい。
【００４９】
タイムスロット最大カウント（５Ａ）は、ＣＰＵモジュール毎に割り当てられたタイムスロットの大きさを合わせた大きさと同じか大きく設定される。
【００５０】
タイムスロット現在カウント（５Ｂ）は、０からタイムスロット最大カウントまでフリーランニング（ｆｒｅｅ  ｒｕｎｎｉｎｇ）するもので、各ＣＰＵモジュールの各々のスレーブモジュールに対するアクセスが終わる時点にＣＰＵ０（１０）が０に同期化し、従って、０になる瞬間が全ＣＰＵモジュールが同じである。
【００５１】
タイムスロット開始カウント（５Ｃ）は、各ＣＰＵモジュールがバックプレーン（Ｂ）にアクセス可能なタイムスロットの時点であり、タイムスロット終了カウント（５Ｄ）は、各ＣＰＵモジュールがバックプレーン（Ｂ）にアクセス可能なタイムスロットの終点を示す。
【００５２】
即ち、ＣＰＵ０（１０）は、ＰＬＣシステムがオン（ＯＮ）またはリセット（ｒｅｓｅｔ）となる場合、バックプレーン（Ｂ）に接続されるＣＰＵモジュール（１０〜４０）の数と特性を確認して、各ＣＰＵモジュール（１０〜４０）がアクセスできるタイムスロットを設定して、タイムスロット最大カウント（５Ａ）を設定して、タイムスロット開始カウント（５Ｃ）、及びタイムスロット終了カウント（５Ｄ）を設定することができる。
【００５３】
以後、ＣＰＵ０（１０）は、タイムスロット最大カウント（５Ａ）、タイムスロット現在カウント（５Ｂ）、タイムスロット開始カウント（５Ｃ）、及びタイムスロット終了カウント（５Ｄ）を他のＣＰＵモジュール（２０〜４０）に伝送することができる。タイムスロット最大カウント（５Ａ）及びタイムスロット現在カウント（５Ｂ）は、全ＣＰＵモジュール（１０〜４０）に対して同じで、タイムスロット開始カウント（５Ｃ）、及びタイムスロット終了カウント（５Ｄ）は、各々のＣＰＵモジュール（１０〜４０）毎に異なる。
【００５４】
例えば、ＣＰＵ０（１０）のタイムスロットが０〜９のカウントで、ＣＰＵ１（２０）は、１０〜１９カウント、ＣＰＵ２（３０）は、２０〜２９カウント、ＣＰＵ３（４０）は、３０〜３９カウントに該当するタイムスロットで各々アクセス可能なもので、ＣＰＵ０（１０）設定することができ、この時ＣＰＵ０（１０）のタイムスロット開始カウント（５Ｃ）は、０であってもよく、タイムスロット終了カウント（５Ｄ）は９であってもよい。
【００５５】
図３のように本発明の一実施形態が適用されるＰＬＣシステムは、一つのクロックを共有する。従って、各ＣＰＵモジュール（１０〜４０）は、クロックを検出する検出部を含み、ＰＬＣシステムのクロックにより、各ＣＰＵモジュール（１０〜４０）は、クロック信号を発生してもよい。
【００５６】
図６は、ＣＰＵ０（１０）が生成したタイムスロットを説明するための一例示図である。
【００５７】
前記例を再度挙げると、（ａ）のように、ＣＰＵ０（１０）は、タイムスロット１（ＴＳ１）に、ＣＰＵ１（２０）は、タイムスロット２（ＴＳ２）に、ＣＰＵ２（３０）は、タイムスロット３（ＴＳ３）に、ＣＰＵ３（４０）は、タイムスロット４（ＴＳ４）に各々バックプレーン（Ｂ）を介してスレーブモジュールにアクセスできることを示す。
【００５８】
この時、ＣＰＵ０（１０）は、ＴＳ１に該当するカウントでバックプレーン（Ｂ）を介してＳ０_１１１または、Ｓ０_２１２にアクセスすることができ、この時、バックプレーン（Ｂ）を介してＳ０_１１１またはＳ０_２１２にアクセスしたＣＰＵ０（１０）は、（ｂ）のようにクロック信号を生成することができる。
【００５９】
残りのＣＰＵモジュール（２０、３０、４０）は、各々のクロック信号検出部を介して確認して、ＰＬＣシステムにクロック信号がある場合、ある任意のＣＰＵモジュールが、バックプレーン（Ｂ）を介してスレーブモジュールに接続していることがわかる。
【００６０】
即ち、（ｃ）のように、Ｔ１カウントにバックプレーン（Ｂ）を介してＳ０_１１１またはＳ０_２１２にアクセスしたＣＰＵ０（１０）は、Ｔ２カウントに該当アクセスを終了することができる。
【００６１】
もし、ＣＰＵ１（２０）がＴ２カウントにバックプレーン（Ｂ）を介してスレーブモジュールに接続しようとする場合、自己のクロック信号検出部を介してＰＬＣシステムのクロック信号を確認することができる。ＰＬＣシステムにおいて、Ｔ２カウントでＣＰＵ１（２０）は、ＣＰＵ０（１０）が生成したクロック信号を確認することができるので、該当Ｔ２カウントでバックプレーン（Ｂ）を介して接続が不可能であることを確認して、次のタイムスロットにアクセスすることができるように待機することができる。
【００６２】
ＣＰＵ０（１０）は、Ｔ２カウントでアクセスを終了すると同時に、クロック信号の生成を終了する。この場合、本発明のＰＬＣシステムのＣＰＵ０（１０）は、Ｔ２カウントでカウントを同期化することができる。即ち、（ｃ）のように、Ｔ２に該当するカウントで再び０からカウントを始めることができる。即ち、ＴＳ１が再度最初から始まってもよい。
【００６３】
但し、本発明の説明で、アクセスを終了するＣＰＵモジュールとカウントを同期化するＣＰＵモジュールを同じものとして説明したが、カウントを同期化するＣＰＵモジュールは、マスターＣＰＵモジュールであるＣＰＵ０（１０）であり、アクセスを終了するＣＰＵモジュールは、全ＣＰＵモジュールに該当しているといえる。
【００６４】
自己の順序を待っていたＣＰＵ１（２０）は、同期化した後、再び自己のタイムスロットがカウントされる場合、Ｔ４（即ち、１０）カウントにバックプレーンを介してスレーブモジュールにアクセスすることができる。スレーブモジュールにアクセスしたＣＰＵ１（２０）は、所定クロック信号を生成して、このクロック信号を確認した他のＣＰＵモジュールは、バックプレーン（Ｂ）へのアクセスを行わず、次の自己のタイムスロットがカウントされる時まで待機してもよい。
【００６５】
本発明の一例では、Ｔ５カウントまでＣＰＵ１（２０）が自己のスレーブモジュールにアクセスすることができ、図示しなかったが、（ｃ）のように再度カウントを同期化して最初からタイムスロットを再びカウントしてもよい。
【００６６】
このような本発明によれば、ＣＰＵモジュールがアクセスが終了する時点でカウントを同期化することによって、他のＣＰＵモジュールの待ち時間を減らすことができる。例えば（ｂ）のような場合、ＣＰＵ０（１０）がアクセスを終了しても、カウントを同期化しなければ、ＣＰＵ１（２０）は、Ｔ６カウントまで自己のタイムスロットを待たなければならないが、本発明によればそれより短い時間であるＴ４でアクセスが可能であるため、待機カウントを減らすことができる。
【００６７】
図７は、本発明のＰＬＣシステムの制御方法を説明するための一実施形態のフローチャートである。
【００６８】
図面に示したように、本発明のＰＬＣシステムで、マスターＣＰＵモジュールであるＣＰＵ０（１０）は、ＰＬＣシステムがオンまたはリセットする場合（Ｓ７１）、ＣＰＵモジュールの数と特性を考慮して、各ＣＰＵモジュールがバックプレーン（Ｂ）を介してスレーブモジュールにアクセス可能なカウントを決めるタイムスロットを決めることができる（Ｓ７２）。この時、ＣＰＵ０（１０）は、タイムスロット最大カウント（５Ａ）、タイムスロット現在カウント（５Ｂ）と、各ＣＰＵモジュールに対するタイムスロット開始カウント（５Ｃ）及びタイムスロット終了カウント（５Ｄ）を決めて、各ＣＰＵモジュールに伝達することができる。
【００６９】
以後、スレーブモジュールからアクセスが要求されたＣＰＵモジュールが、例えばＣＰＵ１（２０）の場合を考えてみることにする。但し、本発明の動作が、ＣＰＵ１（２０）だけに限定されるのではなく、他のＣＰＵモジュールに適用できることは自明である。
【００７０】
ＣＰＵ１（２０）は、Ｓ１_１２１またはＳ１_２２２からアクセスの要求がある場合（Ｓ７３）、現在のカウントが自己のタイムスロットに該当するカウントであるか否か確認する。即ち、図６で１０乃至２０カウントに該当するのか確認することができる（Ｓ７４）。
【００７１】
Ｓ７４の確認結果、自己のタイムスロットでない場合には、自己のタイムスロットに該当する時まで所定時間待機することができる（Ｓ７６）。もし、所定時間が経過しても自己のタイムスロットに該当するカウントに到達しない場合には、ＣＰＵ１（２０）は、アクセスに失敗したことを知らせることができる（Ｓ７７）。
【００７２】
Ｓ７４の確認結果、自己のタイムスロットである場合、即ち、現在のカウントが１０乃至２０カウントに該当する場合、クロック信号が存在するのか確認することができる（Ｓ７５）。このような確認は、現在のクロック信号が生成されているかを、ＣＰＵ１（２０）に含まれるクロック信号検出部が検出することによって行うことができる。即ち、例えば、現在のカウントでＣＰＵ２（３０）がバックプレーン（Ｂ）を介してアクセスしている場合には、ＣＰＵ２（３０）は、クロック信号を生成するが、ＣＰＵ１（２０）のクロック信号検出部は、これを確認して、ＣＰＵ１（２０）は、現在のカウントにバックプレーン（Ｂ）に接近できないと決めて、次の自己のタイムスロットに該当するように所定時間待機することができる（Ｓ７６）。もし、所定時間が経過しても自己のタイムスロットに該当するカウントに到達しない場合には、ＣＰＵ１（２０）は、アクセスに失敗したことを知らせることができる（Ｓ７７）。
【００７３】
自己のタイムスロットに該当して発生しているクロック信号がない場合、ＣＰＵ１（２０）は、バックプレーン（Ｂ）を介してＳ１_１２１またはＳ１_２２２にアクセスすることができる（Ｓ７８）。これと同時に、ＣＰＵ１（２０）は、クロック信号を生成して、現在のバックプレーン（Ｂ）を介してスレーブモジュールにアクセスしていることを知らせることができる（Ｓ７９）。Ｓ７９とＳ７９は、順次的な関係で図示されているが、これは説明の便宜のためのものであって、同時に実行される関係であることは、上で説明したことによって自明といえる。但し、本発明の一実施形態において、ＣＰＵ１（２０）のクロック信号の生成が、バックプレーン（Ｂ）を介したスレーブモジュールと同時に行われることにだけ限定されるのではない。
【００７４】
Ｓ７９のクロック信号の生成は、バックプレーン（Ｂ）を介してスレーブモジュールにアクセスする間持続的に実行されることができる。
【００７５】
以後、ＣＰＵ１（２０）は、アクセスを終了する場合（Ｓ８０）、これと同時にクロック信号の生成を中断して（Ｓ８１）、ＰＬＣシステムのＣＰＵ０（１０）は、クロック信号が中断される時点でカウントを同期化して、同期化したカウントを各ＣＰＵモジュールに伝達することができる（Ｓ８１）。
【００７６】
このように、本発明は、ＣＰＵモジュール自身のタイムスロットに該当しても、他のＣＰＵモジュールが接続中であるか否かを確認することによって衝突を回避することができ、また、マスターＣＰＵモジュールは、あるＣＰＵモジュールがスレーブモジュールに対するアクセスを終了する時点にカウントを同期化して、アクセスのために待機する時間を減らすことができる。
【００７７】
以上、本発明に係る実施形態を説明したが、これは例示的なものに過ぎず、当分野で通常の知識を有する者であれば、これらから多様な変形及び均等な範囲の実施形態が可能であることを理解するであろう。従って、本発明の真の技術的保護範囲は、次の特許請求範囲によって定まらなければならない。
【符号の説明】
【００７８】
１０、２０、３０、４０    ＣＰＵモジュール
１１、１２、２１、２２、３１、３２、４１、４２    スレーブモジュール
【図１】
0006055019.tif 000002
【図２】
0006055019.tif 000003
【図３】
0006055019.tif 000004
【図４】
0006055019.tif 000005
【図５】
0006055019.tif 000006
【図６】
0006055019.tif 000007
【図７】
0006055019.tif 000008