(57)【特許請求の範囲】
【請求項１】
ＣＰＵユニットと、
前記ＣＰＵユニットにより制御される補助ユニットと、
第１のバスを備え、前記第１のバスに前記補助ユニットが装着される第１のベースユニットと、
前記第１のバスよりも高速な第２のバスを備え、前記第２のバスは内部バスおよび外部バスを備え、前記内部バスに前記ＣＰＵユニットが装着される第２のベースユニットと、
前記第１のバスと前記外部バスとに接続され、前記ＣＰＵユニットと前記補助ユニットとの間で送受信される制御データの転送を行うバス変換器と
を備え、
前記バス変換器は、前記ＣＰＵユニットが送信した前記補助ユニットに対する要求を受信したとき、要求毎のＩＤを生成して前記生成したＩＤを前記ＣＰＵユニットに返信し、
前記ＣＰＵユニットは、前記ＩＤを受信すると、前記送信済みの要求に対応する前記補助ユニットからの応答の受信を待つことなく前記第２のバスを介した次の要求の送信を実行する、
ことを特徴とするプログラマブルコントローラ。
【請求項２】
前記バス変換器は、前記補助ユニットが前記ＣＰＵユニットに対して送信した応答を受信すると、前記受信した応答を前記受信した応答に対応する要求のＩＤとともに前記ＣＰＵユニットに転送し、
前記ＣＰＵユニットは、前記補助ユニットが送信した応答を受信すると、前記応答とともに受信したＩＤに基づいて前記送信済みの要求との対応付けを行う、
ことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記バス変換器は、前記補助ユニットが送信した応答を一時格納する応答格納領域を備え、前記応答格納領域に一時格納されている応答を前記ＣＰＵユニットへ送信する、
ことを特徴とする請求項２に記載のプログラマブルコントローラ。
【請求項４】
前記バス変換器は、前記応答格納領域に一時格納されている応答をＣＳＭＡ／ＣＤ方式に基づいて前記ＣＰＵユニットへ送信する、
ことを特徴とする請求項３に記載のプログラマブルコントローラ。
【請求項５】
前記第２のバスをバス調停するバス調停部をさらに備え、
前記バス変換器は、前記バス調停部にアクセス許可を要求し、前記アクセス許可を取得した後、前記応答格納領域に一時格納されている応答を前記ＣＰＵユニットへ送信する、
ことを特徴とする請求項３に記載のプログラマブルコントローラ。
【請求項６】
前記バス変換器は、前記補助ユニットが送信した応答を一時格納する応答格納領域を備え、
前記ＣＰＵユニットは、前記応答格納領域に一時格納されている応答を任意のタイミングで読み出す、
ことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項７】
前記バス変換器を複数備えるとともに、前記複数のバス変換器は前記外部バスでデイジーチェーン状に接続され、
前記夫々のバス変換器は、前記ＣＰＵユニットから前記外部バスを介して要求を受信したとき、前記受信した要求の送信先が自バス変換器に前記第１のバスを介して接続されている補助ユニットでない場合、前記受信した要求を後段のバス変換器に転送し、前記受信した要求の送信先が自バス変換器に前記第１のバスを介して接続されている補助ユニットである場合、前記受信した要求を前記後段のバス変換器に転送しない、
ことを特徴とする請求項１〜６のいずれか１つに記載のプログラマブルコントローラ。
【請求項８】
第１のバスを備え、前記第１のバスに補助ユニットが装着される第１のベースユニットの前記第１のバスと、前記第１のバスよりも高速な第２のバスを備え、前記第２のバスは内部バスおよび外部バスを備え、前記内部バスに前記補助ユニットを制御するＣＰＵユニットが装着される第２のベースユニットの前記外部バスと、に接続され、前記ＣＰＵユニットと前記補助ユニットとの間で送受信される制御データの転送を行うバス変換器であって、
前記ＣＰＵユニットが送信した前記補助ユニットに対する要求を受信したとき、前記ＣＰＵユニットが送信した要求毎のＩＤを生成して前記生成したＩＤを前記ＣＰＵユニットに返信し、前記ＣＰＵユニットに、前記ＩＤを受信後、前記送信済みの要求に対応する前記補助ユニットからの応答の受信を待つことなく前記第２のバスを介した次の要求の送信を実行することを可能とする、
ことを特徴とするバス変換器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用機器などの被制御装置を制御するプログラマブルコントローラおよびバス変換器に関する。
【背景技術】
【０００２】
従来、プログラマブルコントローラ（以下、単にＰＬＣ）には、ベースユニットに１以上の機能ユニットを装着して構成されるものがある。機能ユニットには、ＰＬＣ全体の制御を行うＣＰＵユニットのほか、ＰＬＣの制御目的に合わせて選択されるアナログ入力ユニット、アナログ出力ユニット、温度制御ユニット、およびモーションコントローラユニットなどがある。これらのＣＰＵユニット以外の機能ユニットを総称して補助ユニットということとする。ＣＰＵユニットは、ベースユニットが備えるバスを介して補助ユニットとの間で通信を行い、補助ユニットの制御を実行する。
【０００３】
また、ベースユニットは、増設することが可能となっており（例えば特許文献１、特許文献２、特許文献３、特許文献４参照）、ベースユニットを増設することによって補助ユニットを装着するスロットの不足や、ベースユニット間の距離を離すことによって離れた位置に設置された被制御装置の制御に対応することができるようになっている。以降、ベースユニットを複数有するＰＬＣにおいて、ＣＰＵユニットが装着されたベースユニットを基本ベース、基本ベースに増設され、基本ベースに対してスレーブとして動作するベースユニットを増設ベースということとする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−４７７６６号公報
【特許文献２】特開平６−１２４１０３号公報
【特許文献３】特開平７−３１１６０５号公報
【特許文献４】特開平４−３７３００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
さて、ＣＰＵユニットの処理速度が高速でかつバスが高速であるほど、より高速な制御を行うことができる。したがって、ＰＬＣメーカは、より良い性能の製品を提供するために、より高速なバスを備えたベースユニットを開発する。一方、より高速なバスを備えたベースユニットが発売される毎にＰＬＣを構成する補助ユニットを高速バス対応のものに買い換えることはユーザにとって負担が大きい。そこで、高速バスに対応していない既存の補助ユニットを使用することができるように、高速バスを備えた基本ベースと、既存の補助ユニットのための基本ベースよりもバス速度が遅い増設ベースと、を接続して用いることができると便利である。
【０００６】
しかしながら、単純に高速バスと低速バスとを接続すると、ＰＬＣ全体の性能が低速バスの性能まで低下してしまうという問題があった。例えば特許文献４に開示されている技術によれば、基本ベース上のＣＰＵユニットは、低速バスにアクセスする場合、バスクロックを落としてアクセスする。
【０００７】
本発明は、上記に鑑みてなされたものであって、速度が異なるバスを介して機能ユニット間で効率的な通信を行うことができるＰＬＣおよびバス変換器を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ＣＰＵユニットと、前記ＣＰＵユニットにより制御される補助ユニットと、第１のバスを備え、前記第１のバスに前記補助ユニットが装着される第１のベースユニットと、前記第１のバスよりも高速な第２のバスを備え、前記第２のバスは内部バスおよび外部バスを備え、前記内部バスに前記ＣＰＵユニットが装着される第２のベースユニットと、前記第１のバスと前記外部バスとに接続され、前記ＣＰＵユニットと前記補助ユニットとの間で送受信される制御データの転送を行うバス変換器とを備え、前記バス変換器は、前記ＣＰＵユニットが送信した前記補助ユニットに対する要求を受信したとき、要求毎のＩＤを生成して前記生成したＩＤを前記ＣＰＵユニットに返信し、前記ＣＰＵユニットは、前記ＩＤを受信すると、前記送信済みの要求に対応する前記補助ユニットからの応答の受信を待つことなく前記第２のバスを介した次の要求の送信を実行する、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、バス変換器は、第２のバスを介して要求を受信完了した後、応答の転送を待つことなくＩＤを返信し、ＣＰＵユニットは、ＩＤを受信した後、第２のバスよりも低速な第１のバスを用いた応答の受信を待つことなく第２のバスを利用できるので、速度が異なるバスを介して機能ユニット間で効率的な通信を行うことができる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１のＰＬＣの構成を示す図である。
【図２】図２は、実施の形態１のバス変換器の構成を説明する図である。
【図３】図３は、ＣＰＵユニットの外部バスを介した通信にかかる動作を説明するフローチャートである。
【図４】図４は、バス変換器による転送動作を説明するフローチャートである。
【図５】図５は、バス変換器による転送動作のうちの要求を転送する動作を説明するブロック図である。
【図６】図６は、バス変換器による転送動作のうちの結果データを転送する動作を説明するブロック図である。
【図７】図７は、結果データ転送処理を詳しく説明するフローチャートである。
【図８】図８は、実施の形態１のＰＬＣの効果を説明するためのタイミングチャートである。
【図９】図９は、実施の形態２のＰＬＣの構成を示す図である。
【図１０】図１０は、実施の形態２のバス変換器の構成を説明する図である。
【図１１】図１１は、実施の形態２のバス変換器による結果データ転送処理を説明するフローチャートである。
【図１２】図１２は、実施の形態３のＰＬＣの構成を示す図である。
【図１３】図１３は、実施の形態３のバス変換器の構成を説明する図である。
【図１４】図１４は、ＣＰＵユニットの外部バスを介した通信にかかる動作を説明するフローチャートである。
【図１５】図１５は、結果データ転送処理を説明するフローチャートである。
【図１６】図１６は、ベース間の接続とバス変換器が備える第１バスＩ／Ｆの構成とを説明する図である。
【図１７】図１７は、第１バスＩ／Ｆの要求受信時の動作を説明するフローチャートである。
【図１８】図１８は、実施の形態５のＰＬＣの構成を説明する図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるプログラマブルコントローラ（ＰＬＣ）およびバス変換器の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明にかかる実施の形態１のＰＬＣの構成を示す図である。
【００１３】
図示するように、ＰＬＣ１００は、基本ベース１と、増設ベース２ａ、２ｂとが外部バス３で接続されて構成されている。基本ベース１は、ＣＰＵユニット１３と、４つの補助ユニット１２と、増設バスインタフェース（Ｉ／Ｆ）１４と、を備えており、前記夫々の構成要素は内部バス１１で夫々接続されている。
【００１４】
増設ベース２ａは、４つの補助ユニット２２ａとバス変換器２３ａとを備え、前記夫々の構成要素は内部バス２１ａで夫々接続されている。同様に、増設ベース２ｂは、４つの補助ユニット２２ｂとバス変換器２３ｂとを備え、前記夫々の構成要素は内部バス２１ｂで夫々接続されている。
【００１５】
なお、基本ベース１に接続される増設ベースの数は、１以上であればいくつであってもよい。また、ベース１、２ａ、２ｂの夫々が備える補助ユニット１２、２２ａ、２２ｂの数は１以上であればいくつであっても構わない。なお、増設ベース２ａおよび増設ベース２ｂは同様の構成となっているので、以降、増設ベースに関する説明を行うときは代表として増設ベース２ａについてのみ説明する場合がある。
【００１６】
増設バスＩ／Ｆ１４は、内部バス１１と外部バス３とを接続するためのインタフェースである。バス変換器２３ａは、外部バス３と内部バス２１ａとを接続するためのインタフェースである。
【００１７】
ＣＰＵユニット１３は、ＰＬＣ１００が備える補助ユニット１２、２２ａ、２２ｂとの間で制御データを送受信することによって補助ユニット１２、２２ａ、２２ｂを制御する。具体的には、ＣＰＵユニット１３は、内部バス１１を介して補助ユニット１２に要求を送信する。ＣＰＵユニット１３から要求を受信した補助ユニット１２は要求された動作を実行後、要求に対応する結果データ（応答）を内部バス１１を介してＣＰＵユニット１３へ送信する。例えば、要求としては、補助ユニット１２が温度制御ユニットである場合、被制御装置の温度を設定する要求がある。該要求を受信した温度制御ユニットは、目標温度を要求された温度に設定すると、設定完了を通知する旨の結果データを送信する。また、要求の別の例としては、補助ユニット１２がアナログ入力ユニットである場合、入力値を読み出す要求がある。該要求を受信したアナログ入力ユニットは、入力値を読み出し、読み出した入力値を結果データとして送信する。同様に、ＣＰＵユニット１３は、増設バスＩ／Ｆ１４、外部バス３、バス変換器２３ａ、および内部バス２１ａを介して補助ユニット２２ａに要求を送信する。補助ユニット２２ａは、要求に対応する結果データをＣＰＵユニット１３へ送信する。
【００１８】
内部バス１１には、内部バス２１ａおよび内部バス２１ｂよりも高速なものが採用されている。そして、外部バス３は、内部バス１１と同じ速度でかつ同じ伝送方式を採用したものであるとする。
【００１９】
ここで、要求と結果データとでトランザクションを構成するようにすると、内部バス２１ａの性能がボトルネックとなり、効率的な通信を行うことができないという問題が生じる。すなわち、ＣＰＵユニット１３および補助ユニット１２は、増設ベース２ａより高速な動作が可能にも関わらず、増設ベース２ａへのアクセスを行っている間、該アクセスが終わるまで待機を余儀なくされるのである。そこで、実施の形態１では、バス変換器２３ａが外部バス３を介して要求を受信完了した後、結果データの転送を待つことなく外部バス３を解放するようにした。これにより、ＣＰＵユニット１３は結果データを受信するまで待つことなく次の通信を行うことができ、効率的な通信を行うことができる。
【００２０】
具体的には、バス変換器２３ａは、要求を受信する毎にＩＤを発行し、発行したＩＤを返信する。そして、要求とＩＤとでトランザクションを構成する。ＩＤ発行はアクセス先の補助ユニット２２ａが結果データを送信するよりも高速に実行され、さらに、発行されたＩＤは低速な内部バス２１ａを介することなく伝送されるので、ＣＰＵユニット１３は、結果データを受信するよりも早くＩＤを受信することができる。その結果、外部バス３の占有時間、言い換えるとＣＰＵユニット１３の待機時間が短縮される。
【００２１】
図２は、実施の形態１のバス変換器２３ａの構成を説明する図である。図示するように、バス変換器２３ａは、制御部２４、第１バスＩ／Ｆ２５、第２バスＩ／Ｆ２６、バス変換部２７、ＩＤ管理部２８、およびバッファ２９を備えている。
【００２２】
第１バスＩ／Ｆ２５は、外部バス３を介して基本ベース１と通信を行うためのインタフェースである。第２バスＩ／Ｆ２６は、内部バス２１ａを介して補助ユニット２２ａと通信を行うためのインタフェースである。バス変換部２７は、外部バス３と内部バス２１ａとの間の伝送方式の変換を行う。例えば、外部バス３をシリアル伝送方式、内部バス２１ａをパラレル伝送方式であるものとすると、バス変換部２７は、内部バス２１ａから受信したパラレルデータをシリアルデータに変換して制御部２４へ渡す。また、バス変換部２７は、制御部２４から受信したシリアルデータをパラレルデータに変換して第２バスＩ／Ｆ２６へ渡す。
【００２３】
制御部２４は、ＩＤ管理部２８およびバッファ２９を用いて、第１バスＩ／Ｆ２５を介して受信する要求および第２バスＩ／Ｆ２６およびバス変換部２７を介して受信する結果データの転送を実行する。
【００２４】
ＩＤ管理部２８は、バス変換器２３ａが受信した要求毎にＩＤを発行する。なお、ＩＤは、ＣＰＵユニット１３が発行済みの要求を互いに識別することが可能な識別子であるものとする。
【００２５】
バッファ２９には、要求格納領域２９−１と結果格納領域２９−２とが確保されている。要求格納領域２９−１には外部バス３を介して受信した要求が、結果格納領域２９−２には内部バス２１ａを介して受信した結果データが、夫々ＩＤと対応付けられてＦＩＦＯ方式に従って一時格納される。要求格納領域２９−１に格納された要求は、順次補助ユニット２２ａへ送信され、結果格納領域２９−２に格納された結果データは、制御部２４によって順次ＣＰＵユニット１３へ送信される。
【００２６】
次に、実施の形態１のＰＬＣ１００の通信にかかる動作を説明する。図３は、ＣＰＵユニット１３の外部バス３を介した通信にかかる動作を説明するフローチャートである。図示するように、ＣＰＵユニット１３は、外部バス３を介してアクセス先の補助ユニット２２（補助ユニット２２ａ、補助ユニット２２ｂ）に要求を送信する（ステップＳ１）。アクセス先の補助ユニット２２が備えるバス変換器２３（バス変換器２３ａ、バス変換器２３ｂ）からＩＤが返信され、ＣＰＵユニット１３は、該ＩＤを受信する（ステップＳ２）。そして、ＣＰＵユニット１３は、結果データの受信を監視し（ステップＳ３）、結果データの受信がない場合（ステップＳ３、Ｎｏ）、ステップＳ１へ移行して別のアクセスにかかる補助ユニット２２への要求を送信する。結果データの受信があった場合（ステップＳ３、Ｙｅｓ）、ＣＰＵユニット１３は、受信した結果データに付加されたＩＤに基づいて送信済みの要求との対応付けを行い、結果データの処理を行う（ステップＳ４）。ステップＳ４の後、ステップＳ１へ移行して、ＣＰＵユニット１３は、別のアクセスにかかる補助ユニット２２への要求を送信する。
【００２７】
図４は、バス変換器２３ａによる転送動作を説明するフローチャートであり、図５は、前記転送動作のうちの要求を転送する動作を説明するブロック図であり、図６は、前記転送動作のうちの結果データを転送する動作を説明するブロック図である。
【００２８】
まず、制御部２４が外部バス３から受信する要求を認識すると（ステップＳ１１）、制御部２４はＩＤ管理部２８にＩＤ発行を要求する（ステップＳ１２）。そして、ＩＤが発行されると、制御部２４は、発行されたＩＤを外部バス３を介してＣＰＵユニット１３へ返信し（ステップＳ１３）、制御部２４は、受信した要求の内容をＩＤと対応づけて要求格納領域２９−１に格納する（ステップＳ１４）。なお、外部バス３から連続して要求を受信した場合、制御部２４は、要求を受信する毎にステップＳ１１〜ステップＳ１４の動作を繰り返し、受信した要求を要求格納領域２９−１に蓄積する。
【００２９】
続いて、制御部２４は、要求格納領域２９−１に格納されている要求を内部バス２１ａを介して補助ユニット２２ａへ送信する（ステップＳ１５）。そして、制御部２４は、補助ユニット２２ａから返ってくる結果データをＩＤと対応づけて結果格納領域２９−２に格納する（ステップＳ１６）。そして、制御部２４は、結果格納領域２９−２に格納されている結果データを対応するＩＤとともにＣＰＵユニット１３へ送信する結果データ転送処理を実行し（ステップＳ１７）、転送動作を終了する。
【００３０】
図７は、結果データ転送処理を詳しく説明するフローチャートである。なお、実施の形態１では、バス変換器２３ａは、外部バス３に対してＣＳＭＡ／ＣＤ（Carrier  Sense  Multiple  Access  with  Collision  Detection）方式に基づいて結果データを送信するものとする。ＣＳＭＡ／ＣＤ方式はバス調停方式の中では比較的簡単に実装することができる。
【００３１】
図７に示すように、まず、制御部２４は、外部バス３が空いているか否かを判断する（ステップＳ２１）。外部バス３が空いていない場合とは、ＣＰＵユニット１３が要求送信、ＩＤ受信、結果データ受信を実行中である場合を含む。外部バス３が空いていない場合（ステップＳ２１、Ｎｏ）、ステップＳ２１を繰り返すことによって外部バス３が空くまで待機する。外部バス３が空いている場合（ステップＳ２１、Ｙｅｓ）、制御部２４は、結果格納領域２９−２に格納されている結果データを対応するＩＤとともにＣＰＵユニット１３へ送信開始する（ステップＳ２２）。制御部２４は、結果データの送信中も外部バス３が他のアクセスと衝突しているか否かを監視し（ステップＳ２３）、アクセスの衝突を検知したとき（ステップＳ２３、Ｙｅｓ）、ステップＳ２１へ移行して衝突が解消するまで待機する。なお、制御部２４は、アクセスの衝突により送信が中断された場合、衝突が解消すると（ステップＳ２１、Ｙｅｓ）、１個の結果データの中断された部分からではなく、１個の結果データの最初から送信する。
【００３２】
外部バス３においてアクセスの衝突が検知されず（ステップＳ２３、Ｎｏ）、１個の結果データを送信完了すると（ステップＳ２４）、制御部２４は、ステップＳ２１へ移行して、結果格納領域２９−２に格納されている次の結果データの送信のために外部バス３が空いているか否かを判断する。
【００３３】
このように、受信した結果データを結果格納領域２９−２に一時格納しておき、ＣＰＵユニット１３による外部バス３の使用を妨げないように、外部バス３が空いたときを見計らって結果格納領域２９−２に一時格納されている結果データを順次送信する。
【００３４】
次に、このように動作を行うＰＬＣ１００の効果を説明する。図８は、実施の形態１のＰＬＣ１００の効果を説明するためのタイミングチャートである。図８において、上段から順番に、外部バス３、バス変換器２３ａ、内部バス２１ａ、バス変換器２３ｂ、内部バス２１ｂの通信状態を示している。図示するように、基本ベース１と増設ベース２ａとの間の要求の送信とＩＤの返信とが完了した後、外部バス３が解放され、基本ベース１の要求の送信と増設ベース２ｂのＩＤの返信とが実行されている。この間、外部バス３よりも低速な内部バス２１ａのアクセスが行われている。増設ベース２ｂからのＩＤを受信してから増設ベース２ａからの結果データを受信するまでの間、さらに別のアクセスが可能となっている。このように、本実施の形態１によれば、要求とＩＤとがトランザクションを構成し、ＣＰＵユニット１３は、低速なバスアクセスの完了まで待機することなく高速な外部バス３および内部バス１１を利用して別のアクセスを実行することができる。
【００３５】
以上説明したように、本発明の実施の形態１によれば、バス変換器２３は、ＣＰＵユニット１３が送信した補助ユニット２２に対する要求を受信したとき、要求毎のＩＤを生成し、生成したＩＤをＣＰＵユニット１３に返信し、ＣＰＵユニットは、ＩＤを受信すると、送信済みの要求に対応する補助ユニットからの結果データの受信を待つことなく内部バス１１（または、内部バス１１および外部バス３）を介した次の要求の送信を実行する、ように構成したので、速度が異なるバスを介して機能ユニット間で効率的な通信を行うことができるようになる。
【００３６】
また、バス変換器２３は、補助ユニット２２が送信した結果データを一時格納する結果格納領域２９−２を備え、結果格納領域２９−２に一時格納されている結果データをＣＰＵユニット１３へ送信するように構成したので、外部バス３が空くまで結果格納領域２９−２に結果データを一時格納しておくことができるので、バス変換器２３はＣＰＵユニット１３による外部バス３および内部バス１１の使用を妨げることなく結果データを送信することができる。
【００３７】
また、バス変換器２３は、結果格納領域２９−２に一時格納されている結果データをＣＳＭＡ／ＣＤ方式に基づいてＣＰＵユニット１３へ送信するように構成したので、バス変換器２３はＣＰＵユニット１３による外部バス３および内部バス１１の使用を妨げることなく結果データを送信することができる。また、ＣＳＭＡ／ＣＤ方式はバス調停方式の中でも比較的実装が容易な方式であるので、簡単な構成で外部バス３および内部バス１１のバス調停を行うことができる。
【００３８】
実施の形態２．
実施の形態１では、バス変換器はＣＳＭＡ／ＣＤ方式に基づいて結果データの転送タイミング調整を行った。実施の形態２では、外部バスおよび基本ベース内の内部バスのバス調停を行うアービタ（バス調停部）を備える。
【００３９】
図９は、本発明にかかる実施の形態２のＰＬＣの構成を示す図である。図示するように、ＰＬＣ２００は、基本ベース１と増設ベース２ａおよび２ｂとが外部バス３で接続されて構成されている。基本ベース１は、補助ユニット１２、ＣＰＵユニット１３、増設バスＩ／Ｆ１４のほか、外部バス３のバス調停を行うアービタ４１を備えている。補助ユニット１２、ＣＰＵユニット１３、増設バスＩ／Ｆ１４、およびアービタ４１は内部バス１１で互いに接続されている。
【００４０】
一方、増設ベース２ａは、補助ユニット２２ａとバス変換器４２ａとを備えている。また、増設ベース２ｂは、補助ユニット２２ｂとバス変換器４２ｂとを備えている。
【００４１】
増設ベース２ａが備えるバス変換器４２ａは、ＲＥＱＵＥＳＴ信号およびＧＲＡＮＴ信号でアービタ４１と接続されている。バス変換器４２ａは、ＲＥＱＵＥＳＴ信号をアービタ４１に出力してバス使用権を要求する。アービタ４１は、バス調停の結果、バス使用権をバス変換器４２ａに与える場合、バス変換器４２ａに対してＧＲＡＮＴ信号を出力する。
【００４２】
同様に、増設ベース２ｂが備えるバス変換器４２ｂは、ＲＥＱＵＥＳＴ信号およびＧＲＡＮＴ信号でアービタ４１と接続されている。バス変換器４２ｂは、ＲＥＱＵＥＳＴ信号をアービタ４１に出力してバス使用権を要求する。アービタ４１は、バス調停の結果、バス使用権をバス変換器４２ｂに与える場合、バス変換器４２ｂに対してＧＲＡＮＴ信号を出力する。
【００４３】
以降、増設ベースに関し、代表として増設ベース２ａについてのみ説明する。
【００４４】
図１０は、実施の形態２のバス変換器４２ａの構成を説明する図である。図示するように、バス変換器４２ａは、制御部４３、第１バスＩ／Ｆ２５、第２バスＩ／Ｆ２６、バス変換部２７、ＩＤ管理部２８、およびバッファ２９を備えている。図示するように、制御部４３は、ＲＥＱＵＥＳＴ信号およびＧＲＡＮＴ信号が接続されており、結果データをＣＰＵユニット１３に送信する場合、ＲＥＱＵＥＳＴ信号およびＧＲＡＮＴ信号を用いてバス使用権を確保した後、前記結果データを送信開始する。その他の実施の形態１と同名でかつ同一の符号を付した構成要素は、実施の形態１と同様の動作を行うので、ここでは詳細な説明を省略する。
【００４５】
図１１は、実施の形態２のバス変換器４２ａによる結果データ転送処理を説明するフローチャートである。図示するように、制御部４３は、まず、ＲＥＱＵＥＳＴ信号を出力する（ステップＳ３１）。そして、制御部４３は、アービタ４１からのＧＲＡＮＴ信号を受信したか否かを判定する（ステップＳ３２）。ＧＲＡＮＴ信号の出力がない場合（ステップＳ３２、Ｎｏ）、制御部４３は、ステップＳ３２の判定を繰り返す。
【００４６】
ＧＲＡＮＴ信号を受信すると（ステップＳ３２、Ｙｅｓ）、結果データを対応するＩＤとともにＣＰＵユニット１３へ送信し（ステップＳ３３）、ステップＳ３１へ移行して次の結果データの送信のためのＲＥＱＵＥＳＴ信号を出力する。
【００４７】
以上述べたように、本発明の実施の形態２によれば、バス変換器２３は、アービタ４１にＲＥＱＵＥＳＴ信号を出力し、アービタ４１がＧＲＡＮＴ信号を出力した後、結果データをＣＰＵユニット１３へ送信するように構成したので、実施の形態１とは異なるバス調停方式でバス変換器２３はＣＰＵユニット１３による外部バス３および内部バス１１の使用を妨げることなく結果データを送信することができる。
【００４８】
実施の形態３．
実施の形態１および実施の形態２では、バス変換器は外部バス３に対してバスマスタとして動作する。実施の形態３では、外部バス３に対してバススレーブとして動作する場合の構成例を説明する。
【００４９】
図１２は、実施の形態３のＰＬＣの構成を示す図である。図示するように、ＰＬＣ３００は、基本ベース１と増設ベース２ａおよび２ｂとが外部バス３で接続されて構成されている。基本ベース１は、補助ユニット１２、ＣＰＵユニット５１および増設バスＩ／Ｆ１４を備えている。補助ユニット１２、ＣＰＵユニット５１、および増設バスＩ／Ｆ１４は内部バス１１で互いに接続されている。
【００５０】
一方、増設ベース２ａは、補助ユニット２２ａとバス変換器５２ａとを備えている。また、増設ベース２ｂは、補助ユニット２２ｂとバス変換器５２ｂとを備えている。以降、増設ベースに関し、代表として増設ベース２ａについてのみ説明する。
【００５１】
ＣＰＵユニット５１は、要求を発行し、該要求に対応するＩＤを受信した後、所望のタイミングで要求発行先の増設ベースが備えるバス変換器５２（バス変換器５２ａまたはバス変換器５２ｂ）に結果データ確認を送信することによって対象のバス変換器５２から結果データを読み出す。なお、結果データ確認は、読み出し対象の結果データのＩＤを付加したものとする。
【００５２】
図１３は、実施の形態３のバス変換器５２ａの構成を説明する図である。図示するように、バス変換器５２ａは、制御部５３、第１バスＩ／Ｆ２５、第２バスＩ／Ｆ２６、バス変換部２７、ＩＤ管理部２８、およびバッファ５４を備えている。バッファ５４には、要求格納領域２９−１および結果格納領域５４−２が確保されている。制御部５３は、ＣＰＵユニット５１から結果データ確認を受信すると、付加されているＩＤに対応する結果データを結果格納領域５４−２から読み出して、読み出した結果データをＩＤとともにＣＰＵユニット５１へ送信する。なお、実施の形態１および実施の形態２では結果格納領域２９−２はＦＩＦＯの方式に従って結果データを格納するものとしているが、本実施の形態３の結果格納領域５４−２は、ＦＩＦＯ方式に基づいて読み出しが行われるのではなく、所望のデータを読み出すことができるようになっている。
【００５３】
図１４は、ＣＰＵユニット５１の外部バス３を介した通信にかかる動作を説明するフローチャートである。図示するように、ＣＰＵユニット５１は、外部バス３を介してアクセス先の補助ユニット２２（補助ユニット２２ａあるいは補助ユニット２２ｂ）に要求を送信する（ステップＳ４１）。アクセス先の補助ユニット２２が備えるバス変換器５２からＩＤが返信され、ＣＰＵユニット５１は、該ＩＤを受信する（ステップＳ４２）。その後、ＣＰＵユニット５１は、結果データ確認を送信する（ステップＳ４３）。そして、ＣＰＵユニット５１は該結果データを受信し、受信した結果データをデータ処理する（ステップＳ４４）。ステップＳ４４の後、ＣＰＵユニット５１は、ステップＳ４１へ移行して次のアクセスを行う。なお、ＣＰＵユニット５１は、ステップＳ４１およびステップＳ４２の動作を複数アクセスにかかる分だけ続けて実行し、ステップＳ４３およびステップＳ４４の動作を前記ステップＳ４１およびステップＳ４２の繰り返し動作を終了した後で実行することも可能である。
【００５４】
図１５は、結果データ転送処理を説明するフローチャートである。図示するように、制御部５３は、結果データ確認を受信すると（ステップＳ５１）、結果格納領域５４−２から対応する結果データを読み出して、読み出した結果データをＩＤとともにＣＰＵユニット５１へ送信する（ステップＳ５２）。そして、ＣＰＵユニット５１は、新たな結果データ確認の受信を待ちうけ、ステップＳ５１へ移行する。
【００５５】
以上述べたように、本発明の実施の形態３によれば、ＣＰＵユニット５１は、結果格納領域５４−２に一時格納されている結果データを任意のタイミングで読み出すように構成したので、バス変換器５２をバススレーブとして動作するように構成することも可能となる。
【００５６】
実施の形態４．
実施の形態１〜３の外部バス３は、増設ベース間でデイジーチェーン状に接続できるように構成するようにしてもよい。実施の形態４では、一例として実施の形態１の外部バス３をデイジーチェーン状に接続できるようにした構成について説明する。
【００５７】
図１６は、ベース間の接続とバス変換器２３が備える第１バスＩ／Ｆ２５の構成とを説明する図である。図示するように、実施の形態４のＰＬＣ４００は、基本ベース１と増設ベース２ａとが増設バスＩ／Ｆ１４およびバス変換器２３ａが備える第１バスＩ／Ｆ２５を介して一対一で外部バス３で接続され、増設ベース２ａと増設ベース２ｂとがバス変換器２３ａが備える第１バスＩ／Ｆ２５およびバス変換器２３ｂが備える第１バスＩ／Ｆ２５を介して一対一で外部バス３で接続されている。すなわち、増設ベース２ａ、２ｂは基本ベース１にデイジーチェーン状に接続されている。
【００５８】
さらに、各増設ベースが備える第１バスＩ／Ｆ２５は、要求転送部６１をさらに備えている。要求転送部６１は、外部バス３を介して受信した要求の送信先が自増設ベース２に内部バス２１を介して接続されている補助ユニット２２であるか否かに基づいて、後段の増設ベースに転送するか否かを決定する。
【００５９】
一般に、ＣＰＵユニット１３は、ＰＬＣ４００の立ち上げ時などにおいて、接続されている増設ベース２の接続関係を検出し、増設ベース２毎に固有の識別番号をＣＰＵユニット１３内の管理テーブルに登録する。増設ベース２毎の識別番号は、例えば増設ベース２に備えられる設定ピンなどにより与えられる。ＣＰＵユニット１３は、外部バス３を介して要求を送信するとき、該要求にアクセス先の補助ユニット２２が属する増設ベース２の識別番号を付す。要求転送部６１は、自増設ベース２の識別番号と受信した要求に付された識別番号とを比較することによって、自増設ベース２に接続されている補助ユニット２２がアクセス対象であるか否かを判定する。
【００６０】
なお、後段の増設ベースとは、増設ベース２が複数接続されている場合において、自増設ベース２に接続され、基本ベース１から遠い側に接続されている増設ベース２を指す。例えば増設ベース２ａを基準とすると、増設ベース２ｂが増設ベース２ａに接続され、基本ベース１よりも遠い側に接続されているので、増設ベース２ｂが後段の増設ベースということになる。
【００６１】
図１７は、第１バスＩ／Ｆ２５の要求受信時の動作を説明するフローチャートである。図示するように、まず、第１バスＩ／Ｆ２５は、要求を受信すると（ステップＳ６１）、要求転送部６１は、自増設ベース２（より正確には自増設ベース２に内部バス２１を介して接続されている補助ユニット２２）がアクセス対象であるか否かを判定する（ステップＳ６２）。自増設ベース２がアクセス対象であった場合（ステップＳ６２、Ｙｅｓ）、要求転送部６１は、制御部２４へ受信した要求を送信し（ステップＳ６３）、要求受信時の動作が終了となる。自増設ベース２がアクセス対象ではなかった場合（ステップＳ６２、Ｎｏ）、要求転送部６１は、後段の増設ベース２へ受信した要求を転送し（ステップＳ６４）、要求受信時の動作を終了する。
【００６２】
以上述べたように、本発明の実施の形態４によれば、バス変換器２３は外部バス３でデイジーチェーン状に接続され、バス変換器２３の夫々は、ＣＰＵユニット１３から要求を受信したとき、受信した要求の送信先が自バス変換器２３に内部バス２１を介して接続されている補助ユニット２２でない場合、受信した要求を後段のバス変換器２３に転送し、受信した要求の送信先が自バス変換器２３に内部バス２１を介して接続されている補助ユニット２２である場合、受信した要求を後段のバス変換器２３に転送しない、ように構成したので、要求の不要な転送を防止するとともに、後段のバス変換器２３に不要な動作を実行させることを防止することができるようになる。
【００６３】
実施の形態５．
実施の形態１〜４の説明においては、バス変換器は増設ベースに備えられるものとして説明したが、バス変換器と増設ベースとを別々のユニットとして構成することも可能である。
【００６４】
図１８は、実施の形態５のＰＬＣの構成を説明する図である。図示するように、ＰＬＣ５００は、基本ベース１、複数の増設ベース４（ここでは増設ベース４ａ、増設ベース４ｂ）、およびバス変換器７１を備えて構成されている。バス変換器７１は基本ベース１と外部バス３で接続されている。また、バス変換器７１は、増設ベース４ａおよび増設ベース４ｂと外部バス５で接続されている。
【００６５】
増設ベース４ａは、複数の補助ユニット２２ａが接続される内部バス２１ａと、内部バス２１ａと外部バス５とを接続するための増設バスＩ／Ｆ７２ａを備えている。同様に、増設ベース４ｂは、複数の補助ユニット２２ｂが接続される内部バス２１ｂと、内部バス２１ｂと外部バス５とを接続するための増設バスＩ／Ｆ７２ｂを備えている。外部バス５は、外部バス３よりもバス速度が低速なものとなっており、例えば内部バス２１ａや内部バス２１ｂと同一のバス速度、伝送方式のものが採用されている。バス変換器７１は、外部バス３と外部バス５とを接続し、基本ベース１に装着されているＣＰＵユニット１３と増設ベース４（増設ベース４ａ、増設ベース４ｂ）に装着されている補助ユニット２２（補助ユニット２２ａ、補助ユニット２２ｂ）との間のデータの転送を実行する。
【００６６】
なお、バス変換器７１には、実施の形態１〜４に説明した何れの構成を採用することもできる。外部バス５は第２バスＩ／Ｆ２６に接続される。
【００６７】
このように、バス変換器と増設ベースとを別々のユニットとして構成することができる。バス変換器と増設ベースとを別々のユニットとして構成すると、ユーザは、バス速度が高速な基本ベース１や外部バス３を導入した後であっても、増設ベース４ａ、増設ベース４ｂ、および外部バス５として、ユーザが既に所有しているハードウェア資産を活用することができるようになるため、ユーザにとっての利便性が向上する。
【００６８】
なお、実施の形態１〜５においては、ＣＰＵユニットが要求の送信元であるものとして説明したが、基本ベース１が備える補助ユニット１２としてモーションＣＰＵユニットを含む場合、該モーションＣＰＵユニットも要求の送信元となるように構成するようにしてもよい。
【産業上の利用可能性】
【００６９】
以上のように、本発明にかかるプログラマブルコントローラおよびバス変換器は、産業用機器などの被制御装置を制御するプログラマブルコントローラおよびバス変換器に適用して好適である。
【符号の説明】
【００７０】
１  基本ベース、２，２ａ，２ｂ，４，４ａ，４ｂ  増設ベース、３  外部バス、５  外部バス、１１  内部バス、１２，２２，２２ａ，２２ｂ  補助ユニット、１３，５１  ＣＰＵユニット、２１，２１ａ，２１ｂ  内部バス、２３，２３ａ，２３ｂ，４２ａ，４２ｂ，５２，５２ａ，５２ｂ，７１  バス変換器、２４，４３，５３  制御部、２５  第１バスＩ／Ｆ、２６  第２バスＩ／Ｆ、２７  バス変換部、２８  ＩＤ管理部、２９，５４  バッファ、２９−１  要求格納領域、２９−２，５４−２  結果格納領域、４１  アービタ、６１  要求転送部、７１  バス変換器。
【図１】
0005473817.tif 000002
【図２】
0005473817.tif 000003
【図３】
0005473817.tif 000004
【図４】
0005473817.tif 000005
【図５】
0005473817.tif 000006
【図６】
0005473817.tif 000007
【図７】
0005473817.tif 000008
【図８】
0005473817.tif 000009
【図９】
0005473817.tif 000010
【図１０】
0005473817.tif 000011
【図１１】
0005473817.tif 000012
【図１２】
0005473817.tif 000013
【図１３】
0005473817.tif 000014
【図１４】
0005473817.tif 000015
【図１５】
0005473817.tif 000016
【図１６】
0005473817.tif 000017
【図１７】
0005473817.tif 000018
【図１８】
0005473817.tif 000019