JP4975586B2 - 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ - Google Patents
複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ Download PDFInfo
- Publication number
- JP4975586B2 JP4975586B2 JP2007286092A JP2007286092A JP4975586B2 JP 4975586 B2 JP4975586 B2 JP 4975586B2 JP 2007286092 A JP2007286092 A JP 2007286092A JP 2007286092 A JP2007286092 A JP 2007286092A JP 4975586 B2 JP4975586 B2 JP 4975586B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- instruction
- execution
- program
- circuit
- 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.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000007796 conventional method Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Description
1ビットのデータに対して演算処理を行う等の単純ではあるがCPUで演算処理を行う場合には数十サイクルを要する命令を、このような演算処理に特化した回路構成を有する専用LSI(専用大規模集積回路)は数サイクルで演算処理を実行することができる。
しかし、前記専用LSIは、タイマ、カウンタ、乗算・除算などの複雑な命令を実行するように構成されていない。そのため、CPUは、専用LSIが実行できないタイマ、カウンタ、乗算・除算などの複雑な命令を実行する。また、CPUは、プログラムカウンタのセット、プログラム実行開始フラグのセット等の専用LSIに対する制御も行っている。
はじめに、CPUは、プログラム実行回路内部のプログラムカウンタに値をセットし、また、プログラム実行回路部のシーケンスプログラム実行開始フラグをオンすることにより、プログラム実行回路を起動する。
プログラムカウンタの値は、シーケンスプログラムが格納されているメモリ上のアドレスを示している。プログラム実行回路は、プログラムカウンタの値をアドレスとしてメモリを読んでプログラムを取込み順次実行する。
また、シーケンスプログラムを構成する命令のオブジェクトコードには、専用LSIのプログラム実行回路で実行できる命令であるか否かを判別するためのデータを含ませておき、プログラム実行回路が命令を取込んだ段階で、これを判別する。
CPUが“CPU命令実行要求信号”を検知するための手段としては、“CPU命令実行要求信号”による割込み、またはCPUのI/Oポート端子に“CPU命令実行要求信号”を接続し、これをポーリングするという手法を使用する。
また、本発明はCPUを1個用いる構成であるので、高速化に伴う装置の大型化、多消費電力化や、高コスト化を避けることができる。
プログラマブルコントローラ100は、CPU1、外部メモリ2、および、専用LSI3を備えている。CPU1は専用LSI3を制御または補助している。
シーケンスプログラムの実行順序は以下のようになる。
(1)CPU1はプログラム実行回路3a1〜3an内部のプログラムカウンタに値をセットし、また、プログラム実行回路3a1〜3an内部のシーケンスプログラム実行開始フラグをオンすることにより、プログラム実行回路を起動する。起動されるプログラム実行回路は1つの場合、複数の場合が起こりうる。
(2)起動されたプログラム実行回路(k)はプログラムカウンタの値に従って、外部メモリ2からシーケンスプログラムを取込み、順次実行していく。なお、プログラム実行回路(k)は、専用LSI3に内蔵されるプログラム実行回路3a1〜3anの任意の1つを意味する。
(4)プログラム実行回路(k)はCPU1に対してCPU命令実行要求信号s1を出力、FIFOレジスタに自らのID番号(k)、ポインタレジスタのデータを書込み、シーケンスプログラムの実行停止状態に入る。
(5)CPU1は、専用LSI3から出力されるCPU命令実行要求信号s1を検知すると、専用LSI3内部のFIFOレジスタ3cを読み、自らが実行すべきプログラムが格納されている外部メモリ2上のアドレスからプログラムを取り出して順次実行する。終了したら、専用LSI3内部のCPU命令実行完了レジスタ3eに対して書込み動作を行なう。CPU命令実行完了レジスタ3eへの書込み動作により、プログラム実行回路(k)に対してCPU命令実行完了信号s2が1パルス出力される。CPU1の命令実行結果の出力は、CPU1が専用LSI3の内部メモリ3gにデータを書込むことにより行なわれる。詳細は従来技術と同様である。
(7)プログラム実行回路(k)は、CPU命令実行完了信号s2を検知すると、CPU命令実行要求信号s1を取下げ、シーケンスプログラムの実行を再開する。
(8)プログラム実行回路3a1〜3anの中の、複数のプログラム実行回路が調停回路4を構成するFIFOレジスタ3cに同時に書込みを行おうとした場合、ID番号の若いプログラム実行回路のものから順に書込みを行うことができることにする。このようにすることにより、各プログラム実行回路3a1,3a2,・・・3anから実行要求されているCPU1に対するこれらの命令を順番に従って順次実行できるようにしている。
図3は本発明のプログラマブルコントローラに用いられる調停回路の一例である。FIFOレジスタへの書込み処理は書込み調停回路3iが調停する。図4は本発明のプログラマブルコントローラに用いられるFIFOレジスタへの書込みの調停を説明する図であり、図5は本発明のプログラマブルコントローラに用いられる書込み調停回路の一例である。
ここで、プログラム実行回路のFIFOレジスタへの書込み処理は、次のような手順により実行する。
プログラム実行回路(k)は、書込み調停回路3iに対してリクエスト信号(k)を出力する。このリクエスト信号(k)は、FIFOレジスタへ書込みが完了するまで出力し続けるものとする。
書込み調停回路は他の優先順位の高いプログラム実行回路からのリクエスト信号を受けていなければプログラム実行回路(k)に対してグラント信号(k)を出力する。このグラント信号(k)は、リクエスト信号(k)の出力が取下げられるまで出力し続けるものとする。
プログラム実行回路(k)はグラント信号(k)を受取ったら、FIFOレジスタへの書込みを行い、書込みが完了したらリクエスト信号を取下げる。
図5は書込み調停回路の一例である。複数のプログラム実行回路から、同時(全く同時刻)にFIFOレジスタへの書込み処理が開始された場合、即ち、複数のプログラム実行回路から同時に書込み調停回路3iに対してリクエスト信号が出力された場合、グラント信号は、最も優先順位の高いプログラム実行回路に対してのみ出力される。図5の例では、ID番号の若いプログラム実行回路の優先順位を高くしている。
2 外部メモリ
3 専用LSI(専用大規模集積回路)
3a1〜3an プログラム実行回路
3b1〜3bn ポインタレジスタ
3c FIFOレジスタ
3d ID番号ラッチ・デコード回路
3e CPU命令実行完了レジスタ
3f オアゲート
3g 内部メモリ
3h I/Oデータコントローラ
3i 書込み調停回路
4 調停回路
5 I/O機器
6 データバス
7 アドレスバス
100 プログラマブルコントローラ
s1 CPU命令実行要求信号
s2 CPU命令実行完了信号
Claims (1)
- 複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラにおいて、
前記複数の独立したシーケンスプログラムのそれぞれに対応して設けられ、前記複数の独立したシーケンスプログラムの中で所定の第1の命令を並行して実行する複数のプログラム実行回路と、
並行して実行されている複数の独立したシーケンスプログラムの中で、前記プログラム実行回路で実行できない第2の命令を実行する1台のCPUと、
前記複数のプログラム実行回路で発生した少なくとも1つの前記CPUに対する前記第2の命令の実行要求及び前記CPUが前記第2の命令を実行するために必要な情報を発生した順に前記CPUに転送する第1の転送手段と、
前記CPUが前記第2の命令の実行を完了したことを示す情報を前記プログラム実行回路に転送する第2の転送手段と、
を備え、
前記プログラム実行回路は、
前記第2の命令が発生したときにCPU命令実行要求信号を出力し該CPU命令実行要求信号を出力してからCPUが該命令の実行を完了するまで停止状態となるCPU命令実行要求手段と、
CPUが前記第2の命令の実行を完了した信号を受けてプログラム実行を再開する再開手段と、
を有し、
前記第1の転送手段は、
前記第2の命令が発生したときに前記CPU命令実行要求信号を順次受け付ける受付手段と、
前記第2の命令が発生した前記プログラム実行回路のID番号と前記第2の命令のプログラムアドレスを順次記憶する記憶手段と、
前記記憶手段に記憶されているプログラムアドレスに基づいてCPUが順次前記第2の命令を実行していくためのCPU命令実行開始信号を前記受付手段からCPUに順次出力するCPU実行開始手段と、
を有し、
前記第2の転送手段は、
CPUが前記第2の命令の実行を完了する毎に完了した前記第2の命令に対応する前記ID番号のプログラム実行回路にCPU命令実行完了信号と実行結果を出力するCPU実行完了通知手段と、
を有することを特徴とするプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007286092A JP4975586B2 (ja) | 2007-11-02 | 2007-11-02 | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007286092A JP4975586B2 (ja) | 2007-11-02 | 2007-11-02 | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009116445A JP2009116445A (ja) | 2009-05-28 |
JP2009116445A5 JP2009116445A5 (ja) | 2010-06-17 |
JP4975586B2 true JP4975586B2 (ja) | 2012-07-11 |
Family
ID=40783553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007286092A Expired - Fee Related JP4975586B2 (ja) | 2007-11-02 | 2007-11-02 | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4975586B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4809497B2 (ja) * | 2010-02-25 | 2011-11-09 | ファナック株式会社 | 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ |
JP2013222364A (ja) | 2012-04-18 | 2013-10-28 | Renesas Electronics Corp | 信号処理回路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11161615A (ja) * | 1997-11-25 | 1999-06-18 | Mitsubishi Electric Corp | 制御命令演算処理装置 |
-
2007
- 2007-11-02 JP JP2007286092A patent/JP4975586B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009116445A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017185396A1 (zh) | 一种用于执行矩阵加/减运算的装置和方法 | |
US10657039B2 (en) | Control device for a motor vehicle | |
US9063907B2 (en) | Comparison for redundant threads | |
JP5994679B2 (ja) | 処理装置、及び処理装置の制御方法 | |
CN105824696B (zh) | 一种具有定时中断功能的处理器装置 | |
JP4975586B2 (ja) | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ | |
JP4112813B2 (ja) | バスシステム及びそのコマンドの伝達方法 | |
JP2000105759A (ja) | 集積回路及び集積回路用のデータを記録した記録媒体 | |
JP2015141717A (ja) | 推測的割込みシグナリング | |
JP2006293741A (ja) | プロセッサ | |
JP3456894B2 (ja) | シーケンス制御装置 | |
JP3139310B2 (ja) | ディジタル信号処理装置 | |
JPS6158861B2 (ja) | ||
JPS62269237A (ja) | デ−タプロセツサ | |
JP2003233403A (ja) | 制御装置およびプログラミング装置 | |
JP5194360B2 (ja) | 情報処理装置およびその制御方法 | |
JP2003029966A (ja) | データ処理装置 | |
JP5088566B2 (ja) | 割込機能を備えたplc | |
JP2020140290A (ja) | 中央演算処理装置 | |
JP2006285719A (ja) | 情報処理装置および情報処理方法 | |
JP2009199424A (ja) | マイクロコンピュータ | |
JPH08115214A (ja) | ディジタル信号処理装置 | |
JP2011192024A (ja) | 入出力制御装置 | |
JP2008299740A (ja) | 非同期マイクロプロセッサ、電子情報装置 | |
JPH03164945A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100426 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120313 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120411 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4975586 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150420 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |