(57)【要約】【課題】接続される増設ユニットに応じたタイミングの処理を可能とすること。【解決手段】コントロールユニット１０のＣＰＵ２１は、クロック生成部２１ｂを有している。クロック生成部２１ｂは、ＣＰＵ２１の動作の基準となる基準クロック信号を生成する。ＣＰＵ２１は、クロック生成部２１ｂにより生成される基準クロックに基づいて、第１のクロックタイミングと第２のクロックタイミングとを生成する。ＣＰＵ２１は、コントロールユニット１０に接続された増設ユニットを判定する。ＣＰＵ２１は、増設ユニット４１，４２のみが接続されている場合には第１のクロックタイミングに切り替え、増設ユニット５１，５２のみ、または増設ユニット４１，４２，５１，５２が接続されている場合には第２のクロックタイミングに切り替える。【選択図】図４
2019028758.tif 000002
【特許請求の範囲】
【請求項１】
第１のコネクタと第２のコネクタとを有し、前記第１のコネクタを介して第１の増設ユニットが第１の方向に沿って接続されることにより第１のバスラインが前記第１の方向に沿って延伸されるとともに、前記第２のコネクタを介して第２の増設ユニットが前記第１の方向とは反対方向の第２の方向に沿って接続されることにより第２のバスラインが前記第２の方向に沿って延伸される、コントロールユニットであって、
基準クロックを生成する基準クロック生成手段と、
前記基準クロックに基づいて前記第１の増設ユニットに対応する第１のクロックタイミングを生成する第１クロック生成手段と、
前記基準クロックに基づいて前記第２の増設ユニットに対応し前記第１のクロックタイミングと異なる第２のクロックタイミングを生成する第２クロック生成手段と、
前記第１のクロックタイミングと前記第２のクロックタイミングとを切り替えるクロック切替手段と、
前記第１の増設ユニットと前記第２の増設ユニットの接続を判定する接続判定手段と、
前記接続判定手段の判定結果に基づいて、前記第１の増設ユニットのみが接続されている場合には前記クロック切替手段により第１のクロックタイミングに切り替えて処理を実行し、前記第１の増設ユニット及び前記第２の増設ユニット、又は前記第２の増設ユニットのみが接続されている場合には前記クロック切替手段により第２のクロックタイミングに切り替えて処理を実行する単一の処理手段と、
を有する、コントロールユニット。
【請求項２】
前記第１のバスラインはシリアル通信を行うシリアルバスラインであり、
前記第２のバスラインはパラレル通信を行うパラレルバスラインである、
請求項１に記載のコントロールユニット。
【請求項３】
内部バスと、
前記内部バスと前記第２のコネクタとの間に接続されたインタフェース部と、
前記内部バスに接続され、前記処理手段によりアクセスされるメモリ部と、
を有し、
前記処理手段は、前記内部バスを介して前記メモリ部をアクセスするとともに、前記内部バスと前記インタフェース部を介して前記第２のコネクタを介して接続される前記第２の増設ユニットを制御し、
前記第２のクロックタイミングは、前記インタフェース部と前記メモリ部とに応じて設定される、
請求項１又は２に記載のコントロールユニット。
【請求項４】
前記第１クロック生成手段は、前記基準クロックのタイミングと等しいタイミングにて前記第１のクロックタイミングを生成し、
前記第２クロック生成手段は、前記基準クロックに基づいて、第１のクロックタイミングを分周したタイミングにて前記第２のクロックタイミングを生成する、
請求項１〜３のいずれか１項に記載のコントロールユニット。
【請求項５】
第１のコネクタと第２のコネクタとを有するコントロールユニットと、前記第１のコネクタに接続される第１の増設ユニットと前記第２のコネクタに接続される第２の増設ユニットとのうちの少なくとも一方を含むプログラマブルコントローラであって、
前記第１の増設ユニットは、前記第１のコネクタを介して第１の方向に沿って接続されることにより第１のバスラインを前記第１の方向に延伸するものであり、
前記第２の増設ユニットは、前記第２のコネクタを介して前記第１の方向と反対方向の第２の方向に沿って接続されることにより第２のバスラインを前記第２の方向に延伸するものであり、
前記コントロールユニットは、
基準クロックを生成する基準クロック生成手段と、
前記基準クロックに基づいて前記第１の増設ユニットに対応する第１のクロックタイミングを生成する第１クロック生成手段と、
前記基準クロックに基づいて前記第２の増設ユニットに対応し前記第１のクロックタイミングと異なる第２のクロックタイミングを生成する第２クロック生成手段と、
前記第１のクロックタイミングと前記第２のクロックタイミングとを切り替えるクロック切替手段と、
前記第１の増設ユニットと前記第２の増設ユニットの接続を判定する接続判定手段と、
前記接続判定手段の判定結果に基づいて、前記第１の増設ユニットのみが接続されている場合には前記クロック切替手段により第１のクロックタイミングに切り替えて処理を実行し、前記第１の増設ユニット及び前記第２の増設ユニット、又は前記第２の増設ユニットのみが接続されている場合には前記クロック切替手段により第２のクロックタイミングに切り替えて処理を実行する単一の処理手段と、
を有する、プログラマブルコントローラ。
【請求項６】
前記第１のバスラインはシリアル通信を行うシリアルバスラインであり、
前記第２のバスラインはパラレル通信を行うパラレルバスラインである、
請求項５に記載のプログラマブルコントローラ。
【請求項７】
前記コントロールユニットは更に、内部バスと、前記内部バスと前記第２のコネクタとの間に接続されたインタフェース部と、前記内部バスに接続され、前記処理手段によりアクセスされるメモリ部と、を有し、
前記処理手段は、前記内部バスを介して前記メモリ部をアクセスするとともに、前記内部バスと前記インタフェース部を介して前記第２のコネクタを介して接続される前記第２の増設ユニットを制御し、
前記第２のクロックタイミングは、前記インタフェース部と前記メモリ部とに応じて設定される、
請求項５又は６に記載のプログラマブルコントローラ。
【請求項８】
前記第１クロック生成手段は、前記基準クロックのタイミングと等しいタイミングにて前記第１のクロックタイミングを生成し、
前記第２クロック生成手段は、前記基準クロックに基づいて、第１のクロックタイミングを分周したタイミングにて前記第２のクロックタイミングを生成する、
請求項５〜７のいずれか１項に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントロールユニット、プログラマブルコントローラに関する。
【背景技術】
【０００２】
従来、プログラマブルコントローラ（ＰＬＣ）は、外部機器のシーケンス制御や、各種センサによる測定等に用いられている。プログラムコントローラの使用目的によって必要な機能が異なる。このため、コントロールユニットに、使用目的に応じた機能を有する増設ユニットを接続して構成されるプログラマブルコントローラが提案されている（たとえば、特許文献１参照）。コントロールユニットとそれに接続された増設ユニットは、制御コマンドやデータを送受信するためのバスラインを構成する。コントロールユニットは、バスラインを介して増設ユニットと通信し、増設ユニットを制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２１４６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、増設ユニットには、通信や制御のタイミングが異なるものが含まれる場合がある。このように、動作のタイミングが異なる増設ユニットが混在して１つのコントロールユニットに接続される場合、コントロールユニットは、接続可能な増設ユニットと通信可能なように、つまりもっとも遅いタイミングの増設ユニットを接続可能に、つまり遅いタイミングの増設ユニットに応じた固定されたタイミングで動作するように設計される。このため、高速な動作が可能な増設ユニットのみがコントロールユニットに接続されたプログラムコントローラでは、コントロールユニットの設計タイミング、つまり遅いタイミングで動作する。従って、コントロールユニットの処理は、増設ユニットの仕様上の制約を受けてしまっていた。
【０００５】
本発明は上記問題点を解決するためになされたものであって、その目的は、接続される増設ユニットに応じたタイミングの処理が可能なコントロールユニット、プログラマブルコントローラを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するコントロールユニットは、第１のコネクタと第２のコネクタとを有し、前記第１のコネクタを介して第１の増設ユニットが第１の方向に沿って接続されることにより第１のバスラインが前記第１の方向に沿って延伸されるとともに、前記第２のコネクタを介して第２の増設ユニットが前記第１の方向とは反対方向の第２の方向に沿って接続されることにより第２のバスラインが前記第２の方向に沿って延伸される、コントロールユニットであって、基準クロックを生成する基準クロック生成手段と、前記基準クロックに基づいて前記第１の増設ユニットに対応する第１のクロックタイミングを生成する第１クロック生成手段と、前記基準クロックに基づいて前記第２の増設ユニットに対応し前記第１のクロックタイミングと異なる第２のクロックタイミングを生成する第２クロック生成手段と、前記第１のクロックタイミングと前記第２のクロックタイミングとを切り替えるクロック切替手段と、前記第１の増設ユニットと前記第２の増設ユニットの接続を判定する接続判定手段と、前記接続判定手段の判定結果に基づいて、前記第１の増設ユニットのみが接続されている場合には前記クロック切替手段により第１のクロックタイミングに切り替えて処理を実行し、前記第１の増設ユニット及び前記第２の増設ユニット、又は前記第２の増設ユニットのみが接続されている場合には前記クロック切替手段により第２のクロックタイミングに切り替えて処理を実行する単一の処理手段と、を有する。
【０００７】
この構成によれば、基準クロックに基づいて第１のクロックタイミングと第２のクロックタイミングとを生成する。そして、第１の増設ユニットと第２の増設ユニットとの接続を判定し、判定結果に基づいて、第１のクロックタイミングと第２のクロックタイミングとを切り替える。このため、第１の増設ユニットのみが接続されている場合には、第１のクロックタイミングにて動作するため、高速な処理が可能となる。また、第２の増設ユニットのみ、又は第１及び第２の増設ユニットが接続されている場合には、第１のクロックタイミングより遅い第２のクロックタイミングにて動作するため、接続された増設ユニットを確実に処理できる。
【０００８】
上記のコントロールユニットにおいて、前記第１のバスラインはシリアル通信を行うシリアルバスラインであり、前記第２のバスラインはパラレル通信を行うパラレルバスラインであることが好ましい。
【０００９】
この構成によれば、通信形態の異なる増設ユニットを混在してコントロールユニットに接続して処理できる。
上記のコントロールユニットは、内部バスと、前記内部バスと前記第２のコネクタとの間に接続されたインタフェース部と、前記内部バスに接続され、前記処理手段によりアクセスされるメモリ部と、を有し、前記処理手段は、前記内部バスを介して前記メモリ部をアクセスするとともに、前記内部バスと前記インタフェース部を介して前記第２のコネクタを介して接続される前記第２の増設ユニットを制御し、前記第２のクロックタイミングは、前記インタフェース部と前記メモリ部とに応じて設定されることが好ましい。
【００１０】
この構成によれば、内部バスに接続されたメモリ部を有するコントロールユニットにおいて、メモリ部に対するアクセスと、コントロールユニットに接続された増設ユニットの処理とを行うことができる。
【００１１】
上記のコントロールユニットにおいて、前記第１クロック生成手段は、前記基準クロックのタイミングと等しいタイミングにて前記第１のクロックタイミングを生成し、前記第２クロック生成手段は、前記基準クロックに基づいて、第１のクロックタイミングを分周したタイミングにて前記第２のクロックタイミングを生成することが好ましい。
【００１２】
例えば、基準クロックと異なるタイミングの場合、第１のクロックタイミングを生成する付加回路を必要とする場合がある。また、第１のクロックタイミングを分周しない場合、第２のクロックタイミングを生成するために付加回路を必要とする場合がある。これに対し、上記構成によれば、付加回路を必要とせず、容易に第１のクロックタイミングと第２のクロックタイミングとを生成することができる。
【００１３】
上記課題を解決するプログラマブルコントローラは、第１のコネクタと第２のコネクタとを有するコントロールユニットと、前記第１のコネクタに接続される第１の増設ユニットと前記第２のコネクタに接続される第２の増設ユニットとのうちの少なくとも一方を含むプログラマブルコントローラであって、前記第１の増設ユニットは、前記第１のコネクタを介して第１の方向に沿って接続されることにより第１のバスラインを前記第１の方向に延伸するものであり、前記第２の増設ユニットは、前記第２のコネクタを介して前記第１の方向と反対方向の第２の方向に沿って接続されることにより第２のバスラインを前記第２の方向に延伸するものであり、前記コントロールユニットは、基準クロックを生成する基準クロック生成手段と、前記基準クロックに基づいて前記第１の増設ユニットに対応する第１のクロックタイミングを生成する第１クロック生成手段と、前記基準クロックに基づいて前記第２の増設ユニットに対応し前記第１のクロックタイミングと異なる第２のクロックタイミングを生成する第２クロック生成手段と、前記第１のクロックタイミングと前記第２のクロックタイミングとを切り替えるクロック切替手段と、前記第１の増設ユニットと前記第２の増設ユニットの接続を判定する接続判定手段と、前記接続判定手段の判定結果に基づいて、前記第１の増設ユニットのみが接続されている場合には前記クロック切替手段により第１のクロックタイミングに切り替えて処理を実行し、前記第１の増設ユニット及び前記第２の増設ユニット、又は前記第２の増設ユニットのみが接続されている場合には前記クロック切替手段により第２のクロックタイミングに切り替えて処理を実行する単一の処理手段と、を有する。
【００１４】
この構成によれば、基準クロックに基づいて第１のクロックタイミングと第２のクロックタイミングとを生成する。そして、第１の増設ユニットと第２の増設ユニットとの接続を判定し、判定結果に基づいて、第１のクロックタイミングと第２のクロックタイミングとを切り替える。このため、第１の増設ユニットのみが接続されている場合には、第１のクロックタイミングにて動作するため、高速な処理が可能となる。また、第２の増設ユニットのみ、又は第１及び第２の増設ユニットが接続されている場合には、第１のクロックタイミングより遅い第２のクロックタイミングにて動作するため、接続された増設ユニットを確実に処理できる。
【００１５】
上記のプログラマブルコントローラにおいて、前記第１のバスラインはシリアル通信を行うシリアルバスラインであり、前記第２のバスラインはパラレル通信を行うパラレルバスラインであることが好ましい。
【００１６】
この構成によれば、通信形態の異なる増設ユニットを混在してコントロールユニットに接続して処理できる。
上記のプログラマブルコントローラにおいて、前記コントロールユニットは更に、内部バスと、前記内部バスと前記第２のコネクタとの間に接続されたインタフェース部と、前記内部バスに接続され、前記処理手段によりアクセスされるメモリ部と、を有し、前記処理手段は、前記内部バスを介して前記メモリ部をアクセスするとともに、前記内部バスと前記インタフェース部を介して前記第２のコネクタを介して接続される前記第２の増設ユニットを制御し、前記第２のクロックタイミングは、前記インタフェース部と前記メモリ部とに応じて設定されることが好ましい。
【００１７】
この構成によれば、内部バスに接続されたメモリ部を有するコントロールユニットにおいて、メモリ部に対するアクセスと、コントロールユニットに接続された増設ユニットの処理とを行うことができる。
【００１８】
上記のプログラマブルコントローラにおいて、前記第１クロック生成手段は、前記基準クロックのタイミングと等しいタイミングにて前記第１のクロックタイミングを生成し、前記第２クロック生成手段は、前記基準クロックに基づいて、第１のクロックタイミングを分周したタイミングにて前記第２のクロックタイミングを生成することが好ましい。
【００１９】
例えば、基準クロックと異なるタイミングの場合、第１のクロックタイミングを生成する付加回路を必要とする場合がある。また、第１のクロックタイミングを分周しない場合、第２のクロックタイミングを生成するために付加回路を必要とする場合がある。これに対し、上記構成によれば、付加回路を必要とせず、容易に第１のクロックタイミングと第２のクロックタイミングとを生成することができる。
【発明の効果】
【００２０】
本発明のコントロールユニット、プログラマブルコントローラによれば、接続される増設ユニットに応じたタイミングで処理できる。
【図面の簡単な説明】
【００２１】
【図１】プログラマブルコントローラの概略構成図。
【図２】（ａ）（ｂ）はコントロールユニットの斜視図。
【図３】（ａ）（ｂ）は増設ユニットの説明図。
【図４】プログラマブルコントローラの電気的構成を示す説明図。
【図５】コントロールユニットの処理を示す説明図。
【図６】（ａ）〜（ｃ）は、プログラマブルコントローラの作用説明図。
【図７】（ａ）（ｂ）は、コントロールユニットの内部構成例を示す概略図。
【発明を実施するための形態】
【００２２】
以下、各形態を説明する。
なお、添付図面は、理解を容易にするために構成要素を拡大して示している場合がある。構成要素の寸法比率は実際のものと、または別の図面中のものと異なる場合がある。
【００２３】
図１に示すように、プログラマブルコントローラ（ＰＬＣ）は、１つのコントロールユニット１０と、複数台（図１では２台）の増設ユニット４１，４２、及び複数台（図１では２台）の増設ユニット５１，５２とを有している。
【００２４】
コントロールユニット１０は、概略直方体状に形成されている。増設ユニット４１，４２は、コントロールユニット１０の両側のうちの一方（本実施形態では右側）に配設されている。増設ユニット５１，５２は、コントロールユニット１０の両側のうちの他方（本実施形態では左側）、つまりコントロールユニット１０に対して増設ユニット４１，４２と反対側に配設されている。
【００２５】
図２（ｂ）に示すように、コントロールユニット１０は、右側面１１の開口１１ａから露出するコネクタ１２を有している。また、図２（ａ）に示すように、コントロールユニット１０は、左側面１３の開口１３ａから露出するコネクタ１４を有している。
【００２６】
図３（ｂ）に示すように、増設ユニット４１は、左側面から突出するコネクタ４１ａを有している。このコネクタ４１ａは、図２（ｂ）に示すコントロールユニット１０のコネクタ１２に接続可能である。また、増設ユニット４１は、右側面に、図２（ｂ）に示すコントロールユニット１０のコネクタ１２と同様のコネクタ４１ｂを有している。増設ユニット４２は、増設ユニット４１と同様に、コネクタ４２ａ，４２ｂを有している。
【００２７】
増設ユニット４１のコネクタ４１ａを図２（ｂ）に示すコントロールユニット１０のコネクタ１２に接続し、増設ユニット４２のコネクタ４２ａを増設ユニット４１のコネクタ４１ｂに接続する。これにより、図１に示すように、コントロールユニット１０の右側に増設ユニット４１，４２が接続される。
【００２８】
図３（ａ）に示すように、増設ユニット５１は、右側面から突出するコネクタ５１ａを有している。このコネクタ５１ａは、図２（ａ）に示すコントロールユニット１０のコネクタ１４に接続可能である。また、増設ユニット４１は、左側面に、図２（ａ）に示すコントロールユニット１０のコネクタ１４と同様のコネクタ５１ｂを有している。増設ユニット５２は、増設ユニット５１と同様に、コネクタ５２ａ，５２ｂを有している。
【００２９】
増設ユニット５１のコネクタ５１ａを図２（ａ）に示すコントロールユニット１０のコネクタ１４に接続し、増設ユニット５２のコネクタ５２ａを増設ユニット５１のコネクタ５１ｂに接続する。これにより、図１に示すように、コントロールユニット１０の左側に増設ユニット５１，５２が接続される。
【００３０】
コントロールユニット１０には、例えば仕様により、右側と左側とにそれぞれ接続可能な増設ユニットの数が設定されている。たとえば、コントロールユニット１０の右側には、最大で３台の増設ユニットが接続可能である。また、コントロールユニット１０の左側には、最大で４台の増設ユニットが接続可能である。
【００３１】
図７（ａ）に示すように、コントロールユニット１０は、プリント基板１５，１６を有している。プリント基板１５にはコネクタ１２が実装され、プリント基板１６にはコネクタ１４が実装されている。両プリント基板１５，１６は、接続部材１７によって互いに接続されている。接続部材１７は、たとえば基板間コネクタ、フレキシブルケーブル、等である。なお、プリント基板は、２枚である必要は無く、コネクタ１２，１４が互いに異なる方向に向いていればよい。従って、図７（ｂ）に示すように、１枚のプリント基板１８を有するコントロールユニット１０ａとしてもよい。つまり、コントロールユニット１０，１０ａは、プリント基板１５，１８の一方の面に実装されたコネクタ１２と、プリント基板１６，１８の他方の面に実装されたコネクタ１４とを有している。
【００３２】
次に、コントロールユニット１０の電気的構成を説明する。
図４に示すように、コントロールユニット１０は、制御部として１つの中央演算処理装置（以下、ＣＰＵ）２１を有している。ＣＰＵ２１は、メモリ２１ａを有している。メモリ２１ａには、ＣＰＵ２１の動作プログラム、動作プログラムにおける一時データ、各種設定データ、等が記憶される。ＣＰＵ２１は、クロック生成部２１ｂを有している。クロック生成部２１ｂは、ＣＰＵ２１の動作の基準となる基準クロック信号を生成する。ＣＰＵ２１は、基準クロックに基づくクロックタイミングにより動作し、メモリ２１ａの動作プログラムを実行する。
【００３３】
コントロールユニット１０は、メモリ部２３を有し、このメモリ部２３は、内部バス２２を介してＣＰＵ２１に接続されている。メモリ部２３は、例えばＳＲＡＭ（Static Random Access Memory）である。内部バス２２は、アドレスを指定するためのアドレス信号を伝達するアドレスバスと、データを伝達するデータバスと、制御信号（例えば、ＲＤ，ＷＲ，ＣＳ，ＯＥ等）を伝達する制御バスを含む。ＣＰＵ２１は、内部バス２２を介してメモリ部２３をアクセスし、メモリ部２３に対してデータの書き込みと読み出しを行う。
【００３４】
ＣＰＵ２１は、コネクタ１２に接続されている。コネクタ１２には、増設ユニット４１のコネクタ４１ａが接続されている。この増設ユニット４１のコネクタ４１ｂには、増設ユニット４２のコネクタ４２ａが接続されている。このように接続されたコントロールユニット１０と増設ユニット４１，４２は、第１のバスラインＢＵ１を形成する。
【００３５】
増設ユニット４１，４２は、それぞれ第１のバスラインＢＵ１に接続された制御部４１ｃ，４２ｃを有している。第１のバスラインＢＵ１は、シリアルバスラインである。ＣＰＵ２１は、第１のバスラインＢＵ１に対して、シリアル通信のための信号を送受信する。シリアル通信のための信号は、拡張クロック信号（ＥＳＣＫ）、拡張シリアル出力データ（ＥＳＯ）、拡張シリアル入力データ（ＥＳＩ）を含む。ＣＰＵ２１は、第１のバスラインＢＵ１を介して、増設ユニット４１，４２の制御部４１ｃ，４２ｃとシリアル通信する。たとえば、ＣＰＵ２１は、第１のバスラインＢＵ１を介して各制御部４１ｃ，４２ｃに、処理のためのコマンドやデータを送信する。また、ＣＰＵ２１は、第１のバスラインＢＵ１を介して各制御部４１ｃ，４２ｃから送信されるデータやステータスを受信する。
【００３６】
図４に示すように、コントロールユニット１０は、インタフェース部（以下、ＩＦ部）２４を有している。本実施形態において、ＩＦ部２４は、内部バス２２を介してＣＰＵ２１に接続されている。
【００３７】
ＩＦ部２４は、コネクタ１４に接続されている。コネクタ１４には、増設ユニット５１のコネクタ５１ａが接続されている。この増設ユニット５１のコネクタ５１ｂには、増設ユニット５２のコネクタ５２ａが接続されている。このように接続されたコントロールユニット１０と増設ユニット５１，５２は、第２のバスラインＢＵ２を形成する。
【００３８】
増設ユニット５１，５２は、それぞれ第２のバスラインＢＵ２に接続された制御部５１ｃ，５２ｃを有している。上述のＩＦ部２４は、コントロールユニット１０のＣＰＵ２１と、各増設ユニット５１，５２の制御部５１ｃ，５２ｃとの間で各種の信号（アドレス信号、データ、制御信号）を送受信するためのバスインタフェースである。そして、第２のバスラインＢＵ２は、アドレス信号、データ、制御信号をそれぞれ伝達する信号線を含むパラレルバスラインである。つまり、コントロールユニット１０のＣＰＵ２１は、コントロールユニット１０のメモリ部２３に対するアクセスと同様にして、増設ユニット５１，５２の制御部５１ｃ，５２ｃをアクセスする。
【００３９】
上述したように、第１のバスラインＢＵ１はシリアルバスラインであり、第２のバスラインＢＵ２はパラレルバスラインである。第１のバスラインＢＵ１を用いたシリアル通信の通信速度は、第２のバスラインＢＵ２を用いたパラレル通信の通信速度よりも速い。例えば、通信速度の速い増設ユニットに適したクロックタイミングでは、通信速度の遅い増設ユニットに対してクロックタイミングが速すぎて処理することができない。一方、通信速度の遅い増設ユニットに適したクロックタイミングに固定すると、通信速度の速い増設ユニットのみを接続した場合には、その増設ユニットを快適に処理することができない。このため、ＣＰＵ２１は、接続された増設ユニットに応じて、動作のためのクロックタイミングを調整する機能を有している。
【００４０】
詳述すると、ＣＰＵ２１は、クロック生成部２１ｂにより生成される基準クロックに基づいて、第１のクロックタイミングと第２のクロックタイミングとを生成する。第１のクロックタイミングは、第１のバスラインＢＵ１を構成する増設ユニット４１，４２に適したクロックタイミングであり、第２のクロックタイミングは、第２のバスラインＢＵ２を構成する増設ユニット５１，５２に適したクロックタイミングである。ＣＰＵ２１は、基準クロックを１／２ｍ倍（ｍ＝０，１，２・・・）して第１のクロックタイミングを生成する。また、ＣＵ２１は、第１のクロックタイミングを１／２ｎ倍（ｎ＝０，１，２・・・）して第２のクロックタイミングを生成する。たとえば、ＣＰＵ２１は、基準クロックと同じタイミング（基準クロックと同じ周波数：ｍ＝０）の第１のクロックタイミングを生成する。また、ＣＰＵ２１は、基準クロックに基づいて、第１のクロックタイミングを分周（例えば、２分周：ｎ＝１）したタイミングにて第２のクロックタイミングを生成する。
【００４１】
そして、ＣＰＵ２１は、コントロールユニット１０に接続された増設ユニットを判定する。増設ユニットの判定は、例えば、コネクタ１２，１４の所定の端子がオープン状態か否かによって行うことができる。例えば、増設ユニットは、信号出力のための回路において、所定の端子に接続されたプルアップ抵抗とトランジスタとを有し、トランジスタのオンオフによって端子のレベルを変更（Ｌレベル，Ｈレベル）してデータを出力する。この場合、所定の端子のレベルによって、その端子がオープン状態か否か、つまり増設ユニットが接続されているか否かの判定が可能である。
【００４２】
コントロールユニット１０は、入力部２５と出力部２６とを有している。入力部２５と出力部２６は、自ユニットにおける機能として設けられている。
コントロールユニット１０は、電源部２７を有している。電源部２７は、コントロールユニット１０の動作に必要な動作電圧を生成する。また、電源部２７は、コントロールユニット１０に接続される増設ユニット４１，４２，５１，５２に動作電圧を供給する。
【００４３】
次に、ＣＰＵ２１は、増設ユニットの接続状態、つまり２つのコネクタ１２，１４に対する増設ユニットの接続の有無に応じて、動作のタイミングを第１のクロックタイミング又は第２のクロックタイミングに切り替える。
【００４４】
（Ａ）コネクタ１２に増設ユニットが接続され、コネクタ１４に増設ユニットが接続されていない場合。
この場合、ＣＰＵ２１は、通信速度の速い増設ユニット４１，４２に合わせて、動作タイミングを第１のクロックタイミングに切り替える。
【００４５】
（Ｂ）コネクタ１２に増設ユニットが接続されておらず、コネクタ１４に増設ユニットが接続されている場合。
この場合、ＣＰＵ２１は、通信速度の遅い増設ユニット５１，５２に合わせて、動作タイミングを第２のクロックタイミングに切り替える。
【００４６】
（Ｃ）コネクタ１２及びコネクタ１４に増設ユニットが接続されている場合。
この場合、ＣＰＵ２１は、通信速度の遅い増設ユニット５１，５２に合わせて、動作タイミングを第２のクロックタイミングに切り替える。
【００４７】
（Ｄ）コネクタ１２及びコネクタ１４に増設ユニットが接続されていない場合。
この場合、ＣＰＵ２１は、自装置が動作可能なクロックタイミング、つまり動作タイミングを第１のクロックタイミングに切り替える。
【００４８】
そして、ＣＰＵ２１は、切り替えたクロックタイミングにて接続された増設ユニットに対する処理を行う。
本実施形態のコントロールユニット１０は、内部バス２２に接続されたメモリ部２３を有している。上述したように、この内部バス２２には、増設ユニット５１，５２を接続するためのＩＦ部２４が接続されている。従って、第２のクロックタイミングは、ＩＦ部２４を介して行うパラレル通信による増設ユニット５１，５２のアクセスと、メモリ部２３に対するアクセスとに基づいて設定される。
【００４９】
図５は、ＣＰＵ２１の処理フローを示す。
先ず、ＣＰＵ２１は、増設ユニットの接続を判定する（ステップＳ１）。
次に、ＣＰＵ２１は、クロックタイミングの切り替えを行う（ステップＳ２）。
【００５０】
そして、ＣＰＵ２１は、接続された増設ユニットに対するチャネル番号の設定を行う（ステップＳ３）。チャネル番号は、例えば、図１において、左側に接続された増設ユニット５１，５２に対して、コントロールユニット１０に近いユニットから順に「１」「２」が設定される。なお、４台の増設ユニットが接続されている場合、順に「１」〜「４」のチャネル番号が設定される。また、図１において、右側に接続された増設ユニット４１，４２に対して、コントロールユニット１０に近いユニットから順に「５」「６」が設定される。なお、３台の増設ユニットが接続されている場合、順に「５」〜「７」のチャネル番号が設定される。
【００５１】
そして、ＣＰＵ２１は、設定されたクロックタイミングに従って、ステップＳ４〜ステップＳ１１の処理を順次実行する。まず、ＣＰＵ２１は、チャネル番号「０」（図において「ＣＨ０」として示す。以下チャネル番号について同様に示す。）、自ユニットの処理を実行する（ステップＳ４）。自ユニットの処理は、図４に示す入力部２５と出力部２６に対する処理である。次に、ＣＰＵ２１は、チャネル番号「１」〜「７」に対する処理を順次実行する（ステップＳ５〜ステップＳ１１）。なお、本実施形態において、増設ユニット５１，５２にチャネル番号「１」「２」が設定され、増設ユニット４１，４２にチャネル番号「５」「６」が設定されている。従って、ＣＰＵ２１は、ステップＳ５において増設ユニット５１に対する処理を実行し、ステップＳ６において増設ユニット５２に対する処理を実行する。更に、ＣＰＵ２１は、ステップＳ９において増設ユニット４１に対する処理を実行し、ステップＳ１０において増設ユニット４２に対する処理を実行する。なお、設定されていないチャネル番号については、例えば、処理をスキップする、又は接続確認の処理を行うようにしてもよい。また、上記の設定されたチャネル番号の増設ユニットについて各処理において接続確認を行うようにしてもよい。そして、接続確認により、接続状態に変化があった場合、図示しない表示部にエラーを表示する、エラーランプを点灯させる、上位装置にエラーを通知する、等の処理を適宜実施してもよい。
【００５２】
（作用）
次に、上述のプログラマブルコントローラの作用を説明する。
図６（ａ）に示すように、プログラマブルコントローラは、コントロールユニット１０と、コントロールユニット１０の右側に接続された増設ユニット４１，４２とを含む。コントロールユニット１０と増設ユニット４１，４２は、図４に示す第１のバスラインＢＵ１を構成する。コントロールユニット１０のＣＰＵ２１（図４参照）は、第１のクロックタイミングを設定する。この第１のクロックタイミングにより、増設ユニット４１，４２が高速にアクセスされる。
【００５３】
図６（ｂ）に示すように、プログラマブルコントローラは、コントロールユニット１０と、コントロールユニット１０の左側に接続された増設ユニット５１，５２とを含む。コントロールユニット１０と増設ユニット５１，５２は、図４に示す第２のバスラインＢＵ２を構成する。コントロールユニット１０のＣＰＵ２１（図４参照）は、第２のクロックタイミングを設定する。この第２のクロックタイミングにより、増設ユニット５１，５２が確実にアクセスされる。
【００５４】
図６（ｃ）に示すように、プログラマブルコントローラは、コントロールユニット１０と、コントロールユニット１０の右側に接続された増設ユニット４１，５２と、コントロールユニット１０の左側に接続された増設ユニット５１，５２とを含む。コントロールユニット１０と増設ユニット４１，４２は、図４に示す第１のバスラインＢＵ１を構成する。コントロールユニット１０と増設ユニット５１，５２は、図４に示す第２のバスラインＢＵ２を構成する。この場合、コントロールユニット１０のＣＰＵ２１（図４参照）は、第２のクロックタイミングを設定する。この第２のクロックタイミングにより、通信速度が異なる増設ユニット４１，４２と増設ユニット５１，５２が混在して接続されたプログラマブルコントローラにおいて、増設ユニット４１，４２，５１，５２が確実にアクセスされる。
【００５５】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）コントロールユニット１０のＣＰＵ２１は、クロック生成部２１ｂを有している。クロック生成部２１ｂは、ＣＰＵ２１の動作の基準となる基準クロック信号を生成する。ＣＰＵ２１は、クロック生成部２１ｂにより生成される基準クロックに基づいて、第１のクロックタイミングと第２のクロックタイミングとを生成する。ＣＰＵ２１は、コントロールユニット１０に接続された増設ユニットを判定する。ＣＰＵ２１は、増設ユニット４１，４２のみが接続されている場合には第１のクロックタイミングに切り替え、増設ユニット５１，５２のみ、または増設ユニット４１，４２，５１，５２が接続されている場合には第２のクロックタイミングに切り替える。
【００５６】
従って、第１のバスラインＢＵ１を構成する増設ユニット４１，４２が接続されている場合には、第１のクロックタイミングにて動作するため、高速な処理が可能となる。また、第２のバスラインＢＵ２を構成する増設ユニット５１，５２、又は増設ユニット４１，４２，５１，５２が接続されている場合には、第１のクロックタイミングより遅い第２のクロックタイミングにて動作するため、接続された増設ユニットを確実に処理できる。
【００５７】
（２）第１のバスラインＢＵ１はシリアル通信を行うシリアルバスラインであり、第２のバスラインＢＵ２はパラレル通信を行うパラレルバスラインである。従って、通信形態の異なる増設ユニット４１，４２，５１，５２を混在してコントロールユニット１０に接続して処理できる。
【００５８】
（３）コントロールユニット１０は、内部バス２２と、内部バス２２とコネクタ１４との間に接続されたＩＦ部２４と、内部バス２２に接続されたメモリ部２３とを有している。ＣＰＵ２１は、内部バス２２を介してメモリ部２３をアクセスするとともに、内部バス２２とＩＦ部２４を介してコネクタ１４に接続される増設ユニット５１と、その増設ユニット５１に接続される増設ユニット５２とを制御する。ＣＰＵ２１は、ＩＦ部２４とメモリ部２３とに応じて第２のクロックタイミングを設定する。従って、内部バス２２に接続されたメモリ部２３を有するコントロールユニット１０において、メモリ部２３に対するアクセスと、コントロールユニット１０に接続された増設ユニット５１，５２の処理とを行うことができる。
【００５９】
（４）ＣＰＵ２１は、基準クロックを１／２ｍ倍（ｍ＝０，１，２・・・）して第１のクロックタイミングを生成する。また、ＣＵ２１は、第１のクロックタイミングを１／２ｎ倍（ｎ＝０，１，２・・・）して第２のクロックタイミングを生成する。たとえば、ＣＰＵ２１は、基準クロックと同じタイミング（基準クロックと同じ周波数：ｍ＝０）の第１のクロックタイミングを生成する。また、ＣＰＵ２１は、基準クロックに基づいて、第１のクロックタイミングを分周（例えば、２分周：ｎ＝１）したタイミングにて第２のクロックタイミングを生成する。
【００６０】
例えば、基準クロックと異なるタイミングの場合、第１のクロックタイミングを生成する付加回路を必要とする場合がある。また、第１のクロックタイミングを分周しない場合、第２のクロックタイミングを生成するために付加回路を必要とする場合がある。このため、本実施形態では、付加回路を必要とせず、容易に第１のクロックタイミングと第２のクロックタイミングとを生成することができる。
【００６１】
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態に対し、第１のクロックタイミングと第２のクロックタイミングを適宜設定してもよい。例えば、基準クロックを２分周して第１のクロックタイミングを設定するとともに、基準クロックを３分周して第２のクロックタイミングを設定する。このように設定しても、上記実施形態と同様の効果が得られる。
【００６２】
・上記実施形態では、内部バス２２にメモリ部２３とＩＦ部２４とが接続されているが、メモリ部２３とＩＦ部２４とが互いに異なる内部バスに接続された構成としてもよい。このように設定しても、上記実施形態と同様の効果が得られる。
【００６３】
・上記実施形態に対し、コントロールユニット１０の左側に接続する増設ユニットの最大台数を適宜変更してもよい。また、コントロールユニット１０の右側に接続する増設ユニットの最大台数を適宜変更してもよい。
【００６４】
・上記実施形態に対し、図４に示す入力部２５と出力部２６の少なくとも一方が省略されてもよい。
・上記実施形態に対し、図４に示すコントロールユニット１０に、例えばネットワーク接続や、メモリカード等の他の機能を適宜付加してもよい。
【００６５】
・上記実施形態に対し、増設ユニットに対するチャネル番号を適宜変更してもよい。例えば、図４において、コントロールユニット１０の右側に接続される増設ユニット４１，４２に対してチャネル番号「１」「２」を設定し、コントロールユニット１０の左側に接続される増設ユニット５１，５２にチャネル番号「４」「５」を設定してもよい。また、増設ユニット４１，４２，５１，５２にチャネル番号「１」「２」「３」「４」（又は増設ユニット５１，５２，４１，４２にチャネル番号「１」「２」「３」「４」）を設定してもよい。
【００６６】
・上記実施形態に対し、基準クロックを分周（２分周以上）して第１のクロックタイミングを生成してもよい。また、基準クロックを３分周以上に分周して第２のクロックタイミングを生成してもよい。
【００６７】
・上記実施形態に対し、基準クロックを逓倍（周波数を２ｎ倍（ｎ＝０，１，２・・・）以上）して第１のクロックタイミングを生成してもよい。また、基準クロックを逓倍して第２のクロックタイミングを生成してもよい。
【００６８】
・上記実施形態に対し、基準クロックを逓倍して第１のクロックタイミングを生成するとともに、基準クロックを分周して第２のクロックタイミングを生成してもよい。また、基準クロックを分周して第１のクロックタイミングを生成するとともに、基準クロックを逓倍して第２のクロックタイミングを生成してもよい。
【００６９】
・上記実施形態に対し、第１のバスライン及び第２のバスラインを、シリアル通信を行うシリアルバスラインとしてもよい。また、第１のバスライン及び第２のバスラインを、パラレル通信を行うパラレルバスラインとしてもよい。
【符号の説明】
【００７０】
１０…コントロールユニット、１２…コネクタ（第１のコネクタ）、１４…コネクタ（第２のコネクタ）、２１…ＣＰＵ（基準クロック生成手段、第１クロック生成手段、第２クロック生成手段、クロック切替手段、処理手段）、２２…内部バス、２３…メモリ部、２４…インタフェース部（ＩＦ部）、４１，４２…増設ユニット、５１，５２…増設ユニット、ＢＵ１…第１のバスライン、ＢＵ２…第２のバスライン。
【図１】
2019028758.tif 000003
【図２】
2019028758.tif 000004
【図３】
2019028758.tif 000005
【図４】
2019028758.tif 000006
【図５】
2019028758.tif 000007
【図６】
2019028758.tif 000008
【図７】
2019028758.tif 000009