JP2010257193A - 多重接続並列演算型プログラマブルコントローラ - Google Patents
多重接続並列演算型プログラマブルコントローラ Download PDFInfo
- Publication number
- JP2010257193A JP2010257193A JP2009106178A JP2009106178A JP2010257193A JP 2010257193 A JP2010257193 A JP 2010257193A JP 2009106178 A JP2009106178 A JP 2009106178A JP 2009106178 A JP2009106178 A JP 2009106178A JP 2010257193 A JP2010257193 A JP 2010257193A
- Authority
- JP
- Japan
- Prior art keywords
- external bus
- cpu
- bus
- bus clock
- external
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】CPUモジュールの接続台数に変更があっても、バス調停の必要なく、簡易にかつ容易に、各CPUモジュールにバス使用権を与えること。
【解決手段】本プログラマブルコントローラは、CPU内蔵の複数のCPUモジュール2と、上記各CPUモジュールが並列に多重接続される外部バス1と、を具備し、各CPUモジュール2は、それぞれ、外部バス1から所定データを入力し、内部で所定の並列演算を実行すると共に、各実行結果を外部バス1に制御データとして出力する一方、外部バスクロックに所定周期ごと順次的に同期して、当該外部バス1を使用してデータ伝送を行う。
【選択図】図1
【解決手段】本プログラマブルコントローラは、CPU内蔵の複数のCPUモジュール2と、上記各CPUモジュールが並列に多重接続される外部バス1と、を具備し、各CPUモジュール2は、それぞれ、外部バス1から所定データを入力し、内部で所定の並列演算を実行すると共に、各実行結果を外部バス1に制御データとして出力する一方、外部バスクロックに所定周期ごと順次的に同期して、当該外部バス1を使用してデータ伝送を行う。
【選択図】図1
Description
本発明は、CPU内蔵の複数のCPUモジュールを外部バスに並列に多重接続して、各CPUモジュールはその内部では内部バスを用いてデータ伝送して並列演算を行う一方、外部とのデータ入・出力には外部バスを用いるプログラマブルコントローラに関するものである。
産業機械の制御装置であるプログラマブルコントローラは、ユーザが作成したユーザプログラム、例えば、ラダープログラム等のシーケンスプログラムを実行し、それに接続された制御機器を制御するようになっている。
このようなプログラマブルコントローラにおいては、PLCバス等の外部バス上にCPUモジュール、1ないし複数の入出力モジュール等の各種モジュールが接続されている。これらCPUモジュールはシーケンスプログラムメモリと、CPUと、を内蔵する。CPUは、入出力モジュールからの入力データに従い、内部ではシーケンスプログラムに従い演算を実行し入出力モジュールに演算結果を出力データとして出力する。
この場合、CPUはシーケンスプログラムの実行のため、入出力モジュールに対してデータ送信要求を行い、入出力モジュールはこれに応答してセンサなどの入力デバイスデータをCPUに送信し、CPUはアクチュエータなどの出力デバイスにデータを出力制御する。
ところで、制御速度の向上や制御の利便性向上、あるいは高信頼性のための冗長性向上のため、複数のCPUモジュールを外部バスに多重接続し、これら各CPUモジュールそれぞれの内蔵CPUに並列演算させて制御を分散する、いわゆるマルチCPU方式化することが考えられる。特許文献1参照。
しかしながら、このようなプログラマブルコントローラ仕様においては、各CPUモジュールが同時に外部バスを使用して例えば、入出力モジュールや共有メモリ等との間でデータ伝送をすることはできないので、バス調停回路によりバスアービトレーション(調停)を行う必要がある。
従来、CPUモジュールは、バスを使用して例えば、メモリにデータを書き込みあるいは読み出しする場合は、バス調停回路に対して、バス使用要求をアサートする。バス調停回路は、バスからのバス使用要求が競合すると、アービトレーションアルゴリズムにしたがって、複数のバス使用要求のうちの1つの要求にのみバス使用権を与える。
ところで、このようなバス調停は外部バスに接続するCPUモジュールの台数増や台数減などにより変更等があれば、バス使用権の付与調整を行う必要があるが、このような調整は必ずしも容易ではない。
なお、バス調停については例えば特許文献2がある。
本発明により解決すべき課題は、CPUモジュールの外部バスへの接続台数に増減変更があっても、簡易にかつ容易に各CPUモジュールにバス使用権を与えられるようにすることである。
本発明第1による多重接続並列演算型プログラマブルコントローラは、CPU内蔵の複数のCPUモジュールと、上記各CPUモジュールが並列に多重接続される外部バスと、を具備し、各CPUモジュールは、それぞれ外部バスから所定データを入力し、内部で所定の並列演算を実行すると共に、各実行結果を外部バスに制御データとして出力する一方、外部バスクロックに所定周期ごと順次的に同期して、当該外部バスを使用してデータ伝送を行うことを特徴とするものである。
本発明第1によれば、各CPUモジュールがそれぞれ外部バスクロックに所定周期ごと順次的に同期して、当該外部バスを使用してデータ伝送を行うので、外部バスに接続されるCPUモジュールの台数が例えば増加しても、各CPUモジュールそれぞれの外部バス使用を容易に制御することができる。例えば、CPUモジュールの接続台数が2台であれば、外部バスクロック交互にかつ外部バスクロックに同期して各CPUモジュールは外部バスをデータ伝送に使用することができる。また、CPUモジュールの接続台数が3台以上であれば、外部バスクロックに順次的かつ周期的に同期して各CPUモジュールは外部バスをデータ伝送に使用することができる。
本発明第2によるプログラマブルコントローラは、CPU内蔵の複数のCPUモジュールと、上記各CPUモジュールが並列に多重接続される外部バスと、外部バス上にバスクロックを供給するバスクロック源と、各CPUモジュールそれぞれに対して外部バス上でのデータ伝送を外部バスクロックにより制御するバスクロック制御部と、を具備し、各CPUモジュールは、それぞれ外部バスから所定データを入力し、内部で所定の並列演算を実行すると共に、各実行結果を外部バスに制御データとして出力する一方、バスクロック制御部は、各CPUモジュールそれぞれのCPUに対して、外部バスクロックに順次的かつ周期的に同期して、当該外部バスの使用権を付与する制御を行う、ことを特徴とする。
本発明第2によれば、外部バスに接続されるCPUモジュールの台数が増加しても、バスクロック制御部により、各CPUモジュールそれぞれの外部バス使用を制御することができる。例えば、CPUモジュールの接続台数が2台であれば、外部バスクロック交互にかつ外部バスクロックに同期して各CPUモジュールは外部バスをデータ伝送に使用することができる。また、CPUモジュールの接続台数が3台以上であれば、外部バスクロックに順次的かつ周期的に同期して各CPUモジュールは外部バスをデータ伝送に使用することができる。
本発明第2において、好ましい態様は、上記バスクロック制御部は、外部バスへのCPUモジュールの台数に応じてバスクロックの周波数を可変することができるようになっていることである。
この態様では、CPUモジュールの接続台数が増減しても、外部バスクロック上でデータ伝送速度を一定に維持することができる。
本発明によると、CPUモジュールの接続台数に変更があっても、バス調停の必要なく、簡易にかつ容易に、各CPUモジュールにバス使用権を与えることができる。
以下、添付した図面を参照して、本発明の実施の形態に係る多重接続並列演算型プログラマブルコントローラを説明する。図1は本実施の形態のプログラマブルコントローラの構成を示す。
図1を参照して、外部バス1上には、N台(Nは2以上の整数)のCPUモジュール2と、外部メモリ4と、入出力モジュール6、とが接続されている。
各CPUモジュール2は、内部バス2aを有し、この内部バス2aにCPU2b、メモリ2c、バスインターフェース2dが接続されている。CPU2bは、入出力モジュール6からの入力データを外部バス1を介して入力し、内部では入力データに対応して、メモリ2cに格納のシーケンスプログラムに従い演算を実行し、その演算結果を外部バス1を介して入出力モジュール6に制御データとして出力する。
そして、実施の形態では、外部バス1には、バスクロック源8と、バスクロック制御部10と、を接続している。バスクロック源8は外部バス1上に外部バスクロックを出力するものである。この外部バスクロックの周波数は、可変することができる。この外部バスクロックの周波数は、CPUモジュール2の接続台数に応じて可変することができる。
バスクロック制御部10は、バスクロック源8と各CPUモジュール2とに接続されている。バスクロック制御部10は、制御線11により各CPUモジュール2に接続され、この制御線11上に各CPUモジュール2それぞれからモジュール番号を送信され、これにより外部バス1に対するCPUモジュール2の接続台数を認識することができる。そして、バスクロック制御部10は、この認識に基づいて、バスクロック源8を制御して、外部バス1上にその接続台数に対応した周波数の外部バスクロックを出力させることができる。バスクロック制御部10はまた、各CPUモジュール2に当該各CPUモジュール2の外部バス1に対する接続台数のデータを入力する。
バスクロック制御部10はまた、各CPUモジュール2それぞれに対して外部バス1上でのデータ伝送を外部バスクロックにより制御するものであり、各CPUモジュール2それぞれのCPU2bに対して、外部バスクロックに順次的かつ周期的に同期して、当該外部バス1の使用権を付与する制御を行うようになっている。なお、入出力モジュール6にはセンサ等の入力デバイスや、アクチュエータ等の出力デバイスを含むターゲットシステム12が接続されている。
なお、バスクロック制御部10に代えて、各CPUモジュール2それぞれが、互いに通信して、外部バスクロックに順次的かつ周期的に同期して、当該外部バス1の使用権を相互に付与する制御を行うようにしてもよい。
図2を参照してバスクロック制御部10の制御動作を説明すると、図2(a)はCPUモジュール2が2台(N=2)の場合の外部バスクロックのタイムチャートを示す。各CPUモジュールを符号で第1CPUモジュールを2A、第2CPUモジュールを2Bとすると、第1CPUモジュール2Aは外部バスクロックCLK1、CLK3,CLK5,…と奇数番号の外部バスクロックにより、また、第2CPUモジュール2Bは、外部バスクロックCLK2、CLK4,CLK6,…と偶数番号の外部バスクロックに同期して、外部バス1の使用権をバスクロック制御部10から付与される。
図2(b)はCPUモジュールが3台(N=3)の場合の外部バスクロックのタイムチャートを示す。第1、第2、第3CPUモジュールそれぞれを符号で2A,2B,2Cとする。第1、第2、第3CPUモジュール2A,2B,2Cはそれぞれ外部バスクロック3個を1周期としてこの周期内の外部バスクロックに同期して順次に外部バス1の使用権をバスクロック制御部10から付与される。図2(b)の例では、第1CPUモジュール2Aは、外部バスクロックCLK1,CLK4,…により、第2CPUモジュール2Bは、外部バスクロックCLK2,CLK5,…により、第3CPUモジュール2Cは、外部バスクロックCLK3,CLK6,…、により、それぞれ、応答して、外部バス1の使用権をバスクロック制御部10から付与される。
図2(c)は、CPUモジュールが2台(N=2)の場合の外部バスクロックのタイムチャートを示す。各CPUモジュールを符号で第1CPUモジュールを2A、第2CPUモジュールを2Bとすると、各CPUモジュール2A,2Bはそれぞれ連続する2つの外部バスクロックを1周期として各周期内では連続して、各周期ごと交互に外部バスクロックに同期して外部バス1の使用権をバスクロック制御部10から付与される。この図2(c)の例では、CPUモジュール2Aでは、最初に連続する2つの外部バスクロックCLK1,CLK2,CPUモジュール2Bでは、次に連続する2つの外部バスクロックCLK3,CLK4…により、…というようにして、外部バス1の使用権をバスクロック制御部10から付与される。
バスクロック制御部10は、バスクロック源8から外部バス1上に出力される外部バスクロックの周波数(周期)を可変制御することができる。これを図3を参照して説明すると、図3(a)では、CPUモジュールが2台(符号で2A,2B)の場合であり、外部バスクロック制御部10は、バスクロック源8を制御して、外部バスクロックの周期をT1にしている。各CPUモジュール2A,2Bは、各周期T1で交互に、外部バス1の使用権を与えられる。
そして、CPUモジュールが図3(b)で示すように4台(符号で2A,2B,2C,2D)となった場合、外部バスクロック制御部10は、バスクロック源8を制御して、外部バスクロックの周期をT2にしている。各CPUモジュール2A,2B,2C,2Dは、各周期T2で順次に、外部バス1の使用権を与えられる。
この場合、周期T2は、周期T1の半分であり、外部バスクロック周波数は2倍となっている。
図3(a)と図3(b)とを比較して明らかであるように、例えば、第1CPUモジュール2Aでは、外部バスクロックの周期がT1の場合でその周波数が低い場合も、周期がT2の場合でその周波数が2倍高い場合でも、外部バス1を占有してデータを伝送できるタイミングは同じである。
以上説明したように、本実施の形態では、各CPUモジュール2はそれぞれ、外部バスクロックに順次的かつ周期的に同期して、外部バス1の使用権を付与されるから、CPUモジュール台数が増加しても、各CPUモジュール2は、それぞれ、外部バス使用権を得るタイミングが、外部バスクロックに順次的あるいは周期的に同期させることですみ、外部バス使用権を容易に得ることができる。
1 外部バス
2 CPUモジュール
4 外部メモリ
6 入出力モジュール
8 バスクロック源
10 バスクロック制御部
2 CPUモジュール
4 外部メモリ
6 入出力モジュール
8 バスクロック源
10 バスクロック制御部
Claims (3)
- CPU内蔵の複数のCPUモジュールと、
上記各CPUモジュールが並列に多重接続される外部バスと、
を具備し、
上記各CPUモジュールは、それぞれ、外部バスから所定データを入力し、内部で所定の並列演算を実行すると共に、各実行結果を外部バスに制御データとして出力する一方、外部バスクロックに所定周期ごと順次的に同期して、当該外部バスを使用してデータ伝送を行う、ことを特徴とするプログラマブルコントローラ。 - CPU内蔵の複数のCPUモジュールと、上記各CPUモジュールが並列に多重接続される外部バスと、外部バス上にバスクロックを供給するバスクロック源と、上記各CPUモジュールそれぞれに対して外部バス上でのデータ伝送を外部バスクロックにより制御するバスクロック制御部と、を具備し、各CPUモジュールは、それぞれ外部バスから所定データを入力し、内部で所定の並列演算を実行すると共に、各実行結果を外部バスに制御データとして出力する一方、バスクロック制御部は、各CPUモジュールそれぞれのCPUに対して、外部バスクロックに順次的かつ周期的に同期して、当該外部バスの使用権を付与する制御を行う、ことを特徴とするプログラマブルコントローラ。
- 上記バスクロック制御部は、外部バスへのCPUモジュールの台数に応じてバスクロックの周波数を可変することができるようになっている、ことを特徴とする請求項2に記載のプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009106178A JP2010257193A (ja) | 2009-04-24 | 2009-04-24 | 多重接続並列演算型プログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009106178A JP2010257193A (ja) | 2009-04-24 | 2009-04-24 | 多重接続並列演算型プログラマブルコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010257193A true JP2010257193A (ja) | 2010-11-11 |
Family
ID=43318030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009106178A Pending JP2010257193A (ja) | 2009-04-24 | 2009-04-24 | 多重接続並列演算型プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010257193A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160150401A (ko) * | 2015-06-22 | 2016-12-30 | 엘에스산전 주식회사 | Plc 시스템 |
-
2009
- 2009-04-24 JP JP2009106178A patent/JP2010257193A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160150401A (ko) * | 2015-06-22 | 2016-12-30 | 엘에스산전 주식회사 | Plc 시스템 |
KR101870492B1 (ko) * | 2015-06-22 | 2018-06-22 | 엘에스산전 주식회사 | Plc 시스템 |
US10324440B2 (en) | 2015-06-22 | 2019-06-18 | Lsis Co., Ltd. | Programmable logic controller system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2171557B1 (en) | Clock frequency adjustment for semi-conductor devices | |
JP5231800B2 (ja) | 半導体集積回路装置および半導体集積回路装置のクロック制御方法 | |
JP5829890B2 (ja) | 半導体データ処理装置、タイムトリガ通信システム及び通信システム | |
US20120223749A1 (en) | Clock synchronization circuit and semiconductor integrated circuit | |
JP6200503B2 (ja) | 遅延ロック・ループを使用するメモリ・デバイスのための省電力の装置及び方法 | |
JP4404637B2 (ja) | 局所同期回路間の情報交換 | |
JP4753895B2 (ja) | 遅延調整回路を有するアレイ型プロセッサ | |
JP2010257193A (ja) | 多重接続並列演算型プログラマブルコントローラ | |
WO2007105376A1 (ja) | 集積回路、及び集積回路システム | |
JP6395647B2 (ja) | 半導体装置 | |
JP4956713B2 (ja) | 互いに同期しない回路モジュールを備える回路 | |
JP4624928B2 (ja) | 半導体集積回路装置 | |
US7205815B2 (en) | Method and integrated circuit apparatus for reducing simultaneously switching output | |
JP2002318782A (ja) | バスシステム | |
JPH0215357A (ja) | データ処理装置 | |
KR100734521B1 (ko) | 시스템 온 칩을 위한 ip 모듈 | |
JPS62160564A (ja) | パイプライン制御方式 | |
KR100532608B1 (ko) | 직/병렬화회로를 구비한 버스시스템 | |
JP7439474B2 (ja) | プログラマブルコントローラシステムおよびモジュール | |
JP5304510B2 (ja) | 調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法 | |
JPS6347866A (ja) | 信号制御回路 | |
JP2009129307A (ja) | データ転送装置 | |
JP2002366945A (ja) | 画像処理装置および画像処理方法 | |
JP2010033314A (ja) | バスアクセス回路装置及びバスアクセス方法 | |
JP3709355B2 (ja) | クロック同期化システム、及びその方法 |