説明

バス調停方式およびマルチCPU構成のプログラマブルコントローラ

【課題】マルチCPUシステムにおいて、各CPUが、共有メモリにアクセス中でも、それぞれの内部バスに接続されている各種メモリの使用を可能として、また、各CPU自体はバス調停を行う必要性をなくす。
【解決手段】本方式は、CPU21に内部バスB21を介してFPGA26を接続し、FPGA16,26それぞれを外部バスB13,B23を介してモジュールバス30に共通接続すると共に、FPGA26にメモリバスB22を介して共有メモリ27を接続し、FPGA26は、CPU21が共有メモリ27にアクセス中でメモリバスB22を占有中のときに、CPU11からアクセス要求があると、CPU21のアクセス優先、アクセス先着順、CPU11アクセス優先かの判断により、共有メモリ27にCPU11がアクセスするためのバス調停を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のCPUを備えたプログラマブルコントローラにおいて、各CPUが1つのメモリを共有メモリとして、当該メモリへアクセスするときのバス調停方式に関するものである。
【背景技術】
【0002】
プログラマブルコントローラはシーケンスプログラムを実行してそれに接続された制御機器をシーケンス制御するようになっている。このようなプログラマブルコントローラにおいて、CPUモジュールにはモジュールバスを介して複数の入出力モジュール等の各種モジュールが接続されている。CPUモジュールに内蔵するCPUはシーケンスプログラムの実行により、例えば入出力モジュールに対してデータ送信要求を行い、入出力モジュールはこれに応答してセンサなどの入力デバイスデータをCPUに送信し、CPUはアクチュエータなどの出力デバイスを制御する。
【0003】
しかしながら、上記プログラマブルコントローラで、1つのCPUにより高速制御化を図るには、CPUを、高速制御が可能であるが価格が高価なCPUに交換することが必要である。そこで、CPUモジュールを複数化し、それぞれのCPUモジュール内のCPUをモジュールバスに接続し、これらCPUに制御を分散する、いわゆるマルチCPU方式化することが考えられる。特許文献1参照。このようなマルチCPU方式構成では、CPUを高速制御可能な高価なものと交換する必要がなくなる。
【0004】
図4を参照して従来のプログラマブルコントローラにおけるマルチCPU方式を説明すると、CPUモジュール10,20それぞれのCPU11,21をモジュールバス30に共通接続し、モジュールバス30には上記両CPU11,21に共有される共有メモリ40を接続している。モジュールバス30には各種モジュール50を接続している。また、CPUモジュール10のCPU11は内部バスB11でワークメモリ14に接続されている。CPUモジュール20のCPU21は内部バスB21でワークメモリ24に接続されている。
【0005】
しかしながら、上記マルチCPU方式では、モジュールバス30にCPU11,21を接続し、モジュールバス30に接続した共有メモリ40を各CPU11,21間で共有使用する場合、各CPU11,21間でモジュールバス30使用上からバス調停を行う必要があった。
【0006】
図5を参照して、CPU11が共有メモリ40をアクセス中の時刻t0−t1は、モジュールバス30がCPU11により占有されているので、CPU21は、共有メモリ40にアクセスすることができないで、ウエイトとなる。一方、CPU11も共有メモリ40にアクセス中であるために、内部バスB11は占有されていて、CPU11はワークメモリ14にアクセスすることができないし、また、CPU11はワークメモリ14を用いたワークができない。CPU21が共有メモリ40をアクセス中の時刻t2−t3は、モジュールバス30がCPU21により占有されているので、CPU11は、共有メモリ40にアクセスすることができないで、ウエイトとなる。一方、CPU21も共有メモリ40にアクセス中であるために、内部バスB21は占有されていて、CPU21はワークメモリ24にアクセスすることができないし、また、CPU21はワークメモリ24を用いたワークができない。このようにしてCPU11,21は互いに割り込みINTにより、バス調停する必要があり、複雑膨大な負荷を制御する場合に上記バス調停を行うと、負荷を高速処理することが困難化する。特に、各CPU11,21間で割り込み処理宣言でバス使用の調停を行う場合、各CPU11,21間で統率をとることが難しく、負荷処理の整然たる分担には不向きである。なお、特許文献には以下のものがある。
【特許文献1】特開2006−031426号公報
【特許文献2】特開2002−024165号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、各CPUが、共有メモリにアクセス中であっても、このアクセス経路をそれぞれの内部バスと切り離すことで当該内部バスに接続されている各種メモリの実行を可能とし、また、各CPU自体はバス調停を行う必要性をなくすことで、負荷の高速制御を可能としたプログラマブルコントローラにおけるバス調停方式を提供するものである。
【課題を解決するための手段】
【0008】
本発明によるマルチCPU構成で共有メモリを備えたプログラマブルコントローラにおけるバス調停方式は、それぞれが制御プログラムを実行するCPUを内蔵した複数のCPUモジュールを備え、各CPUが少なくとも1つのメモリを共有メモリとするプログラマブルコントローラにおいて、各CPUが該共有メモリにアクセスするときのバス調停方式であって、それぞれのCPUモジュールは、内部のCPUそれぞれに内部バスを介してFPGAを接続し、各FPGAそれぞれを外部バスを介してモジュールバスに接続すると共に、少なくとも一方のFPGAにメモリバスを介して共有メモリを接続した構成となし、上記FPGAは、上記内部バスと切り離して各CPUの共有メモリへのアクセスのためのバス調停を行うように、その回路構成がコンフィグレーションされるようになっていることを特徴とするものである。
【0009】
本発明によれば、各CPUのうちいずれか一のCPUが共有メモリにアクセス中であっても、他のCPUは内部バスに接続されているワークメモリにワークすることで負荷のデータ処理等ができる一方、各CPUは、共有メモリへのアクセスのためのバス調停を行う必要がなくなるので、バス調停に要していた時間を負荷のデータ処理に使用することができるようになり、各CPUにより負荷の高速制御が可能となる。
【発明の効果】
【0010】
本発明によると、各CPUは、共有メモリにアクセスするバス調停中であっても、それぞれの内部バスに接続されている各種メモリを用いて制御が可能であり、また、バス調停を行う必要がないから、負荷の高速制御を行うことができる。
【発明を実施するための最良の形態】
【0011】
以下、添付した図面を参照して、本発明の実施の形態に係るマルチCPU構成のプログラマブルコントローラにおけるバス調停方式を説明する。図1は本実施の形態のマルチCPU構成のプログラマブルコントローラの構成を示し、図1において、10,20はCPUモジュールであり、このCPUモジュール10,20は、それぞれ、CPU11,21を内蔵する。このCPU11,21の内部バスB11,B21にシステムプログラムを格納するシステムメモリ12,22、シーケンスプログラムを格納するプログラムメモリ13,23、CPU11,21の作業等に用いるワークメモリ14,24、フラッシュメモリ等からなるコンフィグレーションデータメモリ15,25が接続されている。
【0012】
コンフィグレーションデータは、コンフィグレーションすべき回路構成のデータである。そして、この内部バスB11,21には、バス調停デバイスとしてFPGA16,26が接続されている。
【0013】
FPGA16,26は、SRAM型のフィールドプログラマブルゲートアレイ(Field Programmable Gate Array)であり、図2で示すように、論理ブロックと入出力ブロックと配線とを有する書換え可能な半導体集積回路により構成されている。FPGA16,26は、コンフィグレーションデータメモリ15,25に記憶された回路構成のデータを読み込んで所望の回路構成にコンフィグレーションされる。そして、FPGA16,26は外部バスB13,B23を介してモジュールバス30に接続されている。
【0014】
以上の構成において、本実施の形態では、FPGA16,26に、メモリバスB12,B22を介して共有メモリ17,27が接続されている。CPUモジュール20のFPGA26は、CPU21が共有メモリ27にアクセス中でメモリバスB22を占有中のときに、CPUモジュール10のCPU11から共有メモリ27へのアクセス要求があると、FPGA26は、CPU21のアクセスをCPU11のそれよりも優先するか、アクセス先着順とするか、CPU11のアクセスをCPU21のそれよりも優先するかの判断を行う。この判断により、共有メモリ27に対するCPU11,21のアクセスするためのバス調停を行うようになっている。
【0015】
このバス調停を、図3を参照して説明する。図3でAは図1の点線(A)で示すCPU21の共有メモリ27へのアクセスを示し、Bは図1の点線(B)で示すCPU11の共有メモリ27へのアクセスを示す。
【0016】
図3(a)で示すように、FPGA26は、CPU21のアクセスをCPU11のそれよりも優先する場合(A>B)では、CPU21が共有メモリ27にアクセス中であるときに、CPU11からアクセス要求があっても、CPU11にウエイトをかけ、CPU21のアクセスが終了すると、メモリバスB22を開放すると共に、CPU11に対するウエイトを解除して、CPU11のアクセスを許可する。
【0017】
図3(b)で示すように、FPGA26は、アクセス先着順(A=B)の場合では、CPU21がCPU11よりも先に共有メモリ27にアクセスしているのであれば、CPU11にウエイトをかけ、CPU21のアクセスが終了すると、メモリバスB22を開放すると共に、CPU11に対するウエイトを解除して、CPU11のアクセスを許可する。
【0018】
図3(c)で示すように、FPGA26は、CPU21のアクセスよりもCPU11のそれを優先する場合(A<B)では、CPU21が共有メモリ27にアクセス中であっても、CPU11からアクセス要求があると、CPU21にウエイトをかけ、CPU11のアクセスを優先的に許可し、CPU11のアクセスが終了すると、メモリバスB22を開放すると共に、CPU21のウエイトを解除して、CPU21のアクセス続行を許可する。
【0019】
上記いずれのバス調停においても、各CPU11,21それぞれの内部バスB11,B21はバス調停から切り離されており、各CPU11,21は内部バスB11,B21を使用して制御を実行することができる。
【0020】
そして、上記したようにFPGA26がバス調停を行うから、CPU21は、内部バスB21を用いてワークメモリ24にアクセスしてワークを行って負荷のデータ処理等ができると共に、CPU21は、バス調停を行う必要がなくなるので、バス調停に要していた時間を負荷のデータ処理に使用することができるようになり、負荷の高速制御が可能となる。
【0021】
なお、CPUモジュール10のFPGA16、共有メモリ17も、同様に、バス調停を行うことができるようにしてもよい。
【0022】
なお、図1で示す実施の形態では、ワークメモリ14,24とは別に共有メモリ17,27を設けているが、上記ワークメモリ14,24を共有メモリ17,27とすることもできる。
【0023】
なお、図1で示す実施の形態では、共有メモリ17,27をそれぞれのCPUモジュール10,20が内蔵しているが、一方のCPUモジュール10にのみ共有メモリ17を設け、他方のCPUモジュール20の共有メモリ27を設けずに、かつ、その共有メモリ17をCPUモジュール10のFPGA16と、CPUモジュール20のFPGA26とに接続した構成とし、両FPGA16,26がバス調停するようにしてもよい。この場合、両FPGA16,26の間でバス調停に関するデータを通信して互いのバス調停を監視できるようにしてもよい。
【図面の簡単な説明】
【0024】
【図1】図1は本発明の実施形態に係るプログラマブルコントローラの構成を示す図である。
【図2】図2はコンフィグレーションデータメモリの構成を示す図である。
【図3】図3は共有メモリへのアクセスのためのバス調停の説明に供する図である。
【図4】図4は従来のプログラマブルコントローラの構成を示す図である。
【図5】図5は共有メモリへのアクセスのためのバス調停の説明に供する図である。
【符号の説明】
【0025】
10,20 CPUモジュール
30 モジュールバス
50 モジュール
11,21 CPU
12,22 システムメモリ
13,23 プログラムメモリ
14,24 ワークメモリ
15,25 コンフィグレーションデータメモリ
16,26 FPGA
17,27 共有メモリ
B11,B21 内部バス
B12,B22 メモリバス
B13,B23 外部バス

【特許請求の範囲】
【請求項1】
それぞれが制御プログラムを実行するCPUを内蔵した複数のCPUモジュールを備え、各CPUが少なくとも1つのメモリを共有メモリとするプログラマブルコントローラにおいて、各CPUが該共有メモリにアクセスするときのバス調停方式であって、
それぞれのCPUモジュールは、内部のCPUそれぞれに内部バスを介してFPGAを接続し、各FPGAそれぞれを外部バスを介してモジュールバスに接続すると共に、少なくとも一方のFPGAにメモリバスを介して共有メモリを接続した構成となし、
上記FPGAは、上記内部バスと切り離して各CPUの共有メモリへのアクセスのためのバス調停を行うように、その回路構成がコンフィグレーションされる、プログラマブルコントローラにおけるバス調停方式。
【請求項2】
それぞれが制御プログラムを実行するCPUを内蔵した複数のCPUモジュールを備え、各CPUが少なくとも1つのメモリを共有メモリとするプログラマブルコントローラであって、各CPUが該共有メモリにアクセスするときのバス調停方式が上記請求項1に記載の方式である、プログラマブルコントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate