(57)【要約】【課題】ＣＰＵがダイレクトアクセスできる内部メモリの空間を仮想的に広くするために、複数のメモリバンクをセレクトして用いるに際して、そのメモリバンクのセレクトを容易化する。【解決手段】本プログラマブルコントローラは、ＣＰＵの主メモリに対応するメモリバンクを各モジュール内に割り当てて配置するとともに、ＣＰＵは、スロット番号により当該モジュール内のメモリバンクをセレクトしてダイレクトアクセス可能とした。【選択図】図１
2010039736.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス制御を実行するＣＰＵを内蔵する第１モジュールと、上記第１モジュールに対してベースボード上の各スロットに装着されて接続される複数の第２モジュールと、を有し、上記ＣＰＵは各スロットそれぞれに付したスロット番号を各第２モジュールの識別に用いるプログラマブルコントローラにおいて、上記ＣＰＵの主メモリに対応したメモリバンクを各第２モジュールそれぞれに割り当て配置し、上記ＣＰＵは、上記スロット番号により各第２モジュール内のメモリバンクを自動的にセレクトすることができるようになっている、プログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス制御を実行するＣＰＵと、このＣＰＵに対してベースボード上の各スロットに装着されて接続されるモジュールとを有するプログラマブルコントローラにかかわり、特には、上記ＣＰＵが、シーケンス制御上、ダイレクトアクセス可能なメモリ空間より大きいメモリ空間にアクセスすることを可能とするメモリマッピング方式に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、シーケンスプログラムを実行してそれに接続された制御機器をシーケンス制御するものであり、ＣＰＵモジュールに対してベースボード上の各スロットに装着されて接続されるＩ／Ｏモジュール等を有し、各スロットに番号（スロット番号）付けし、ＣＰＵモジュール内のＣＰＵはスロット番号によりＩ／Ｏモジュールを識別してシーケンス制御を実行するようになっている。例えばＣＰＵモジュールは、Ｉ／Ｏモジュールに対してそのスロット番号等で識別してデータ送信要求を行い、Ｉ／Ｏモジュールはこれに応答してスロット番号と共にセンサなどの入力デバイスデータをプログラマブルコントローラ本体に送信するなどの制御を行う。
【０００３】
ところで、ＣＰＵがシーケンスプログラムの実行のため、ダイレクトアクセスできる主メモリ空間は狭いので、主メモリ容量に対応した容量のメモリバンクを複数設定し、各バンクをバンク番号でセレクトすることで、あたかも、ＣＰＵからは主メモリ空間がバンク数分広がったように見えるようにした技術が提案されている。
【０００４】
しかしながら、メモリバンクのセレクトには、バンク番号を別途に設定する必要があり、そのためのプログラム設計が煩雑化し、処理速度にも影響するものとなっていた。なお、下記の特許文献１、２を先行技術文献として挙げる。
【特許文献１】特開平５−１８９３０６号公報
【特許文献２】特開２００７−２９９１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明により解決すべき課題は、メモリバンクのセレクトを自動化することでプログラム設計の容易化ならびに、処理速度の向上化を図ることである。
【課題を解決するための手段】
【０００６】
本発明によるプログラマブルコントローラは、シーケンス制御を実行するＣＰＵを内蔵する第１モジュールと、上記第１モジュールに対してベースボード上の各スロットに装着されて接続される複数の第２モジュールと、を有し、上記ＣＰＵは各スロットそれぞれに付したスロット番号を各第２モジュールの識別に用いるプログラマブルコントローラにおいて、上記ＣＰＵの主メモリに対応したメモリバンクを各第２モジュールそれぞれに割り当て配置し、上記ＣＰＵは、上記スロット番号により各第２モジュール内のメモリバンクを自動的にセレクトすることができるようになっていることを特徴とするものである。
【０００７】
なお、第１モジュールは、ＣＰＵモジュールであり、第２モジュールは、Ｉ／Ｏモジュール、通信モジュール、制御モジュール、機能モジュール、モーションモジュール、電源モジュール等の各種モジュールを含む。
【０００８】
ベースボード上のスロットにモジュールが接続されると、第１モジュール内のＣＰＵにはその接続されたモジュールからスロット番号が送信される。このことにより、ＣＰＵはスロットにモジュールが接続されているかどうかが判り、このことによりそのモジュール内のメモリバンクをセレクトするのに、その都度、バンク番号をわざわざ設定する必要なく、スロット番号のみでメモリバンクを自動セレクトすることができ、プログラム設計が容易となるうえ、プログラマブルコントローラにおいてＣＰＵの制御処理速度も格段に向上するものとなる。
【発明の効果】
【０００９】
本発明によれば、メモリバンクのセレクトが自動的に行うことができるので、プログラマブルコントローラにおけるプログラム設計が容易となると共に、ＣＰＵの制御速度も向上させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラを詳細に説明する。
【００１１】
図１は本実施の形態の方式に用いるベースボードに装着前のＩ／Ｏモジュールを示し、図２はベースボードに装着したＩ／Ｏモジュールを示し、図３はＣＰＵモジュールとＩ／Ｏモジュールの内部ブロック構成ならびにスロット番号データの送信状態を示す。これらの図を参照して、１はＣＰＵモジュール、２はベースボード、３１−３５はＩ／Ｏモジュールを示す。ベースボード２にはＩ／Ｏモジュール３１−３５が装着されるスロット４１−４５が形成されている。各スロット４１−４５にはＩ／Ｏモジュール３１−３５が接続される。なお、実施の形態では、スロット４１−４５に装着するモジュールをＩ／Ｏモジュール３１−３５としたが、他のモジュール、例えば通信モジュール、制御モジュール、電源モジュール等の各種モジュールを含む。
【００１２】
各Ｉ／Ｏモジュール３１−３５は、スロット４１−４５に装着されることで、ＣＰＵモジュール１と電気的に相互に接続される。各スロット４１−４５にはスロット番号１−５が付されている。実施の形態ではスロット数を図解の都合で５つとする。Ｉ／Ｏモジュール３１−３５は、スロット４１−４５に装着されることでモジュールバス５を介してＣＰＵモジュール１とデータ通信が可能となる。
【００１３】
ＣＰＵモジュール１は、ＣＰＵ１ａ、ＣＰＵの１ＭＢの主メモリ１ｂ、バスインターフェース１ｃならびに、システム制御プログラムを格納するシステムＲＯＭ１ｄ、ユーザプログラムであるシーケンスプログラムを格納するプログラムＲＯＭ１ｅ、Ｉ／Ｏ信号のＯＮ／ＯＦＦ状態データを記憶するデータＲＡＭ１ｆ、等がある。
【００１４】
Ｉ／Ｏモジュール３１−３５は、ＣＰＵ３ａ、Ｉ／Ｏ回路３ｂ、インターフェース３ｃを備えると共に、メモリバンク３ｄ（メモリバンク１−５）を備える。なお、インターフェース３ｃは、ＦＰＧＡで構成することができる。ＦＰＧＡは、プログラマブル論理デバイスの一例として、ユーザが任意に論理を設計できるフィールド・プログラマブル・ゲート・アレイの略称で例えば米国ＸＩＬＩＮＸ社のＸＣシリーズ等がある。ＦＰＧＡは、例えばコンフィグレーションデータメモリに記憶された回路構成のデータを読み込んで所望の回路構成にコンフィグレーションされる。
【００１５】
各Ｉ／Ｏモジュール３１−３５はスロット４１−４５に装着されると、モジュールバス５を介してＣＰＵモジュールに、スロット番号１−５を送信する。Ｉ／Ｏモジュール３１はスロット番号１、Ｉ／Ｏモジュール３２はスロット番号２、Ｉ／Ｏモジュール３３はスロット番号３、Ｉ／Ｏモジュール３４はスロット番号４、Ｉ／Ｏモジュール３５はスロット番号５を、それぞれ、ＣＰＵモジュール１に送信する。
【００１６】
ＣＰＵモジュール１のＣＰＵ１ａは、主メモリ１ｂの容量（メモリ空間）が１ＭＢであり、その１ＭＢに対応した物理アドレスでもって主メモリ１ｂにダイレクトアクセスすることができるが、それ以上の物理アドレスにダイレクトアクセスすることはできない。そこで、本実施の形態では、各Ｉ／Ｏモジュール３１−３５それぞれに１ＭＢのメモリバンク３ｄ（メモリバンク１−５）を設け、スロット番号１−５により、各Ｉ／Ｏモジュール３１−３５内のメモリバンク３ｄ（メモリバンク１−５）をセレクト可能としている。すなわち、図４で示すように、スロット番号１は、Ｉ／Ｏモジュール３１内のメモリバンク３ｄ（メモリバンク１）、スロット番号２は、Ｉ／Ｏモジュール３２内のメモリバンク３ｄ（メモリバンク２）、スロット番号３は、Ｉ／Ｏモジュール３３内のメモリバンク３ｄ（メモリバンク３）、スロット番号４は、Ｉ／Ｏモジュール３４内のメモリバンク３ｄ（メモリバンク４）、スロット番号５は、Ｉ／Ｏモジュール３５内のメモリバンク３ｄ（メモリバンク５）に対応させて、セレクト可能としている。そして、各Ｉ／Ｏモジュール３１−３５内のメモリバンク３ｄ（メモリバンク１−５）に論理アドレスを設定し、ＣＰＵモジュール１のＣＰＵ１ａが、ダイレクトアクセス可能としている。
【００１７】
以上の構成において、各Ｉ／Ｏモジュール３１−３５が、スロット４１−４５それぞれに装着されると、ＣＰＵモジュール１のＣＰＵ１ａに対してその装着に係るスロット番号１−５ならびにモジュール情報等が送信され、これにより、ＣＰＵモジュール１のＣＰＵ１ａは、どのスロット４１−４５にどのＩ／Ｏモジュール３１−３５が装着されたかを識別することにより、必要なシーケンス制御を実行することができる。そして、ＣＰＵモジュール１のＣＰＵ１ａは、各スロット４１−４５に接続されているＩ／Ｏモジュール３１−３５内のメモリバンク３ｄを仮想の主メモリとして用いることができるようになる。
【００１８】
したがって、本実施の形態では、ＣＰＵモジュール１のＣＰＵ１ａは、スロット４１−４５に接続されたモジュール３１−３５から受信するスロット番号１−５により当該モジュール３１−３５内のメモリバンク３ｄを自動的にセレクトして仮想の主メモリとしてダイレクトアクセスすることができるので、従来のようにメモリバンクセレクトにバンク番号をわざわざ設定する必要がなくなり、プログラム設計が容易になるうえ、ＣＰＵ１ａの制御速度も向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】図１は本発明の実施形態に係り、プログラマブルコントローラのベースボードのスロットに各モジュールを装着する前の構成を示す図である。
【図２】図２はベースボードのスロットに各モジュールを装着した構成を示す図である。
【図３】図３はＣＰＵモジュールとＩ／Ｏモジュールの内部ブロック構成を示す図である。
【図４】図４はスロット番号とメモリバンクとの関係を示す図である。
【符号の説明】
【００２０】
１  ＣＰＵモジュール
１ａ  ＣＰＵ
１ｂ  主メモリ
２  ベースボード
３１−３５  Ｉ／Ｏモジュール
４１−４５  スロット
【図１】
2010039736.tif 000003
【図２】
2010039736.tif 000004
【図３】
2010039736.tif 000005
【図４】
2010039736.tif 000006