JP3024719B2 - プログラマブルコントローラの演算処理方法 - Google Patents
プログラマブルコントローラの演算処理方法Info
- Publication number
- JP3024719B2 JP3024719B2 JP4145741A JP14574192A JP3024719B2 JP 3024719 B2 JP3024719 B2 JP 3024719B2 JP 4145741 A JP4145741 A JP 4145741A JP 14574192 A JP14574192 A JP 14574192A JP 3024719 B2 JP3024719 B2 JP 3024719B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- sequence
- cpu
- processing
- 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 - Lifetime
Links
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
- Programmable Controllers (AREA)
Description
PU)とビット演算プロセッサ(BP)の2つのプロセ
ッサでシーケンス命令の実行を行うプログラマブルコン
トローラの演算処理方法に関する。
ことにより電子機器の自動制御を行うプログラマブルコ
ントローラでは、高速演算処理を実現するために、シー
ケンス命令の中のビット演算を行うビット演算プロセッ
サ(以下、BPと称す)とビット演算以外のシーケンス
命令(以下、この命令を応用命令と称す)を実行する中
央演算処理装置(CPU)とを設けている。ビット演算
としては主にアンド,オア等のビット情報の論理演算や
ビット情報の読み/書きを行い、プログラマブルコント
ローラでは接点情報の論理演算や入出力処理にBPが用
いられる。また、応用命令は、ビット値以外の数値演算
や各種情報処理の実行を指示する命令である。
命令はBPにおいて自己のBPで実行可能か否かの判別
が行われ、シーケンス命令がBPにおいて実行の不可の
場合には、そのシーケンス命令の実行権がCPUに引き
渡される。CPUは、シーケンス命令の実行権を受け取
ると、シーケンス命令の種類内容に対応した実際の演算
処理を実行する。より具体的には、シーケンス命令の種
類毎に、その命令に対応した演算処理を規定した詳細の
プログラム情報が予めシステムプログラムメモリに格納
されているので、CPUはシーケンス命令の命令コード
からシステムプログラムメモリの読出し先頭アドレスを
識別又は算出する。次に算出された先頭アドレスを用い
てプログラム情報を読出して演算実行する。
の中のオペランド部(演算に用いるパラメータ値の格納
アドレス)の示す情報を各種メモリから読出す。CPU
側で応用命令を実行すると、CPUはBPにシーケンス
命令の実行権を引き渡す。実行権を引き渡されたBPは
次のシーケンス命令について、上述の同様の処理を行
う。このようにしてBPとCPUとはシーケンス命令の
種類に対応して、シーケンスプログラム中のシーケンス
命令を実行していく。
グラマブルコントローラの処理速度の向上が図られてき
たが、より一層の高速処理が望まれている。
て、プログラマブルコントローラのシーケンスプログラ
ム実行速度をより高めることの可能なプログラマブルコ
ントローラの演算処理方法を提供することにある。
るために、請求項1の発明は、シーケンスプログラム中
に記載されたシーケンス命令の中のビット演算命令を第
1のプロセッサが実行し、該ビット演算命令以外の応用
命令を第2のプロセッサが実行し、シーケンス命令の種
類を前記第1のプロセッサが識別して、シーケンス命令
を実行するプロセッサを決定するプログラマブルコント
ローラの演算処理方法において、前記第2のプロセッサ
が実行するシーケンス命令の種類毎に該シーケンス命令
の示す処理内容を示すプログラム情報をメモリに予め記
憶しておき、前記第1のプロセッサは前記シーケンス命
令の識別を行う際に、前記応用命令についての種類識別
をも実行し、当該識別結果に対応させて前記メモリに記
憶のプログラム情報の格納アドレスを前記第2のプロセ
ッサに引き渡すとともに、前記第1のプロセッサは前記
応用命令についての種類識別を行った場合には、識別の
対象となったシーケンス命令から、前記第2のプロセッ
サの実行に用いるオペランド情報を取り出し、当該第2
のプロセッサに引き渡すことを特徴とする。
シーケンス命令を実行するプロセッサの選択のためにシ
ーケンス命令の識別を行い、CPU(第2のプロセッ
サ)がシーケンス命令に対応のプログラム情報の格納ア
ドレスを決定するためのシーケンス命令の識別(又は算
出)を行う点に着目し、本発明では第1プロセッサの識
別処理を利用して、第2プロセッサが必要とするプログ
ラム格納アドレスやオペランド情報を第1プロセッサか
ら第2プロセッサに引き渡す。
に説明する。
コントローラの回路構成を図1に示す。
M(リードオンリメモリ)30に格納されたシステムプ
ログラムに従って装置全体の動作制御を司る他、システ
ム運転時にはユーザー用RAM(ランダムアクセスメモ
リ)50のシーケンスプログラムの中の応用命令を演算
実行する。
読取りアドレスを指定するプログラムカウンタ10Aが
設けられており、このプログラムカウンタ10Aの指示
するアドレスからシーケンス命令がCPU10又はBP
20により読出され、バス上に送出される。CPU10
とBP20とはバス以外にも信号線接続され、この信号
線を介して動作タイミング信号や本発明に関わる情報信
号の授受が行われる。
で、ビット単位の演算を行うプロセッサを用いる。BP
20内には本発明に関わるシーケンス命令−アドレス変
換回路20Aおよびオペランド情報作成回路20Bが設
けられている。
は、従来、CPUがソフト処理で行っていた、シーケン
ス命令についての詳細プログラムの先頭格納アドレスの
算出処理をハードで行う回路である。回路の一例として
はシフトレジスタ等を用いて、以下の処理を実行する。
すなわち、シーケンス命令の中の命令コードを表わす複
数ビットをシフト処理によりマスクし、マスク後のビッ
ト情報の中の特定ビットを抽出することにより読出しア
ドレスを作成する。
を図2に示す。図2において、デコーダ101は従来の
ように読出しのシーケンス命令がBPが実行すべきであ
るか否かの判別を信号識別する。デコーダ101は、そ
の他、本発明に関わる処理として、BP非実行のシーケ
ンス命令(応用命令)を検出したとき、そのシーケンス
命令の中のオペランド部分をレジスタ102に格納する
ための制御信号を発生する。レジスタ102に格納され
たオペランドが、CPU10の応用命令の実行に必要な
情報として、CPU10に引き渡される。
PU10の実行するシステム処理を規定したシステムプ
ログラムが格納されている。従来のシステムROMと異
なる点は、本実施例のシステムROM30には、シーケ
ンス命令(応用命令)の詳細プログラムが記載されてお
らず、システムRAM40上に記載される点である。
り、ワークメモリとしてCPU10の演算処理に用いる
データを記憶する。本発明に関わる記憶領域としては、
CPU側で実行するシーケンス命令の種類毎に、その詳
細なプログラム、すなわち、CPU10が演算実行する
プログラムを記憶する領域(以下、ジャンプテーブルと
称す)40Aが設けられている。また、このジャンプテ
ーブルの中のCPUが実際にアクセス(読出し)すべき
アドレス(ジャンプ先指定情報)を記憶する領域(ジャ
ンプ先指定レジスタと称す)40Bも設けられている。
時等の初期化処理において、CPU10に書き込まれ、
ジャンプ先指定レジスタ40Bの内容はシステム運転時
BP20により書き込まれる。
ミング装置から入力された電子機器制御用のシーケンス
プログラムを格納する。
実行処理を図3および図4を参照しながら説明する。な
お、図3はBP20の実行するハード処理手順を示すフ
ローチャートであり、図4はCPU10の実行するソフ
ト処理手順を図示したフローチャートである。
憶装置又は、内部メモリのいずれか予め定められたメモ
リからジャンプテーブルに記載すべき内容がCPU10
により読出され、ジャンプテーブル40Aに書き込まれ
る(図4のステップT10)。システム起動に応じCP
U10はプログラムカウンタ10Aにシーケンスプログ
ラムの先頭読出しアドレスを設定し、BP20を起動さ
せる(図4のステップT11)。
ステップS10)、プログラムカウンタ10Aの示すユ
ーザー用RAM50アドレスからシーケンス命令を読出
し、読出しのシーケンス命令がBP20において実行可
能であるか否かの判定を行う(図3のステップS1
2)。実行可の判定が得られた場合は、従来と同様、B
P20内においてシーケンス命令の指示するビット演算
を実行する(図3のステップS20→S21)。
ラムカウンタ10Aの値を、次に読出すべきアドレス値
に更新する(図3のステップS22)。
間は、CPU10はジャンプ先指定レジスタに対するB
P20の書き込みを監視し、システム処理等の内部処理
を行う(図4のステップT13→T14→T21→T1
3のループ処理)。
がたとえば加算処理に関する応用命令の場合、図3のス
テップS12の処理でBP20の処理不可の判定が得ら
れると、BP20内のシーケンス命令−アドレス変換回
路20AによりCPU10のジャンプ先アドレスが作成
され、BP20の読み/書き機能によりジャンプ先アド
レスがシステムRAM40内のジャンプ先指定レジスタ
40Bに書き込まれる(図3のステップS31→S4
1)。
ス命令中のオペランドが設定され、このオペランド情報
がCPU10に引き渡される(図3のステップS4
2)。このようにして、BP20は、CPU10のジャ
ンプ先アドレスをレジスタ40Bに書き込みと同時にオ
ペランド情報をCPU10に送出する。この後、BP2
0はCPU10内のプログラムカウンタを進め、停止す
る(ステップS44)。
みをCPU10側で、検知すると、CPU10はジャン
プ先指定レジスタ40Bの内容を読出し(図4のステッ
プT13)、読出した内容、すなわち、ジャンプテーブ
ル40A内のジャンプ先アドレス、この例では加算処理
に関する詳細プログラムを格納するアドレスへジャンプ
する。以下、CPU10はこの詳細プログラムをジャン
プテーブル40Aから読出し、BP20から送られてき
たオペランド情報に基づき、加数をメモリから読出して
加算処理を行う(図4のステップT31〜T32)。応
用命令の中の加算処理の終了後、CPU10はBP20
に再起動をかける。BP20は再起動の指示に応じ、次
の新しいシーケンス命令についての上述の判別処理なら
びにシーケンスビット演算処理又は応用命令関連処理を
実行する。
0側で実行プロセッサの判別を行う際に、応用命令につ
いてはCPU10のジャンプ先アドレスおよび演算に必
要なオペランド情報をハードにより作成してしまう。
テップをかけてジャンプ先アドレスおよびオペランド情
報をソフトで演算作成する場合に比べてBP側でCPU
の処理と並行してハードで作成する本実施例の方が処理
時間が短縮される。
ーケンスプログラム全体の処理時間が大幅に短縮され
る。
定レジスタ40Bへの書き込みをCPU10側で監視す
るようにしているが、BP20の停止指示をCPU10
側が受けたときに、CPU10がジャンプ先指定レジス
タ40Bへの読出しを行うようにしてもよい。またこの
停止指示をCPU10に対する割込指示を行う場合、C
PU10側の割込処理でジャンプ先指定レジスタの変更
有無の監視を行うこともできる。ただし、この場合は、
従来のようにCPU10内のレジスタのプッシュ,ポッ
プ処理が必要となる。
4バイトのジャンプテーブルを想定しているが、これに
限定することなく、ジャンプテーブルを所望のバイト数
とすることができる。
書き換え自在メモリ(RAM)に格納することにより次
のような利点がある。
ついてユーザーの欲求するシーケンス命令を選択でき、
システム用ROMの容量を小さくし、製造コストの低減
に寄与することができる。
セット等に詳細プログラムを保存し、システム立ち上げ
時にシステムRAMに転送すると、ユーザー側でもプロ
グラミング装置を用いて所望のシーケンス命令を作成す
ることができる。
グラム情報は次の種類がある。
ス命令中にはオペランド情報がなく命令コードだけでシ
ーケンス命令が構成される場合は、ビット演算プロセッ
サはデコーダの識別結果に対応させてジャンプ先テーブ
ルのアドレスのみを引き渡す(請求項1の発明に対
応)。
ド情報、たとえば、演算対象のデータの格納アドレス等
が含まれている場合は、本実施例のようにデコーダの識
別結果に基づきオペランド情報の取り出し、引き渡しを
BPが行う(請求項2の発明に対応)。
1プロセッサ(BP)側の識別処理を用いて、第2プロ
セッサ(CPU)側の応用命令に必要な、プログラム情
報の格納アドレスやオペランド情報を用意する。この結
果、従来第2のプロセッサが時系列的に行っていた処理
の一部をBP側で並行処理するので、従来よりもシーケ
ンス命令の処理時間が短縮される。
である。
成を示すブロック図である。
ーチャートである。
ローチャートである。
Claims (1)
- 【請求項1】 シーケンスプログラム中に記載されたシ
ーケンス命令の中のビット演算命令を第1のプロセッサ
が実行し、該ビット演算命令以外の応用命令を第2のプ
ロセッサが実行し、シーケンス命令の種類を前記第1の
プロセッサが識別して、シーケンス命令を実行するプロ
セッサを決定するプログラマブルコントローラの演算処
理方法において、 前記第2のプロセッサが実行するシーケンス命令の種類
毎に該シーケンス命令の示す処理内容を示すプログラム
情報をメモリに予め記憶しておき、 前記第1のプロセッサは前記シーケンス命令の識別を行
う際に、前記応用命令についての種類識別をも実行し、 当該識別結果に対応させて前記メモリに記憶のプログラ
ム情報の格納アドレスを前記第2のプロセッサに引き渡
すとともに、 前記第1のプロセッサは前記応用命令についての種類識
別を行った場合には、識別の対象となったシーケンス命
令から、前記第2のプロセッサの実行に用いるオペラン
ド情報を取り出し、当該第2のプロセッサに引き渡す こ
とを特徴とすることを特徴とするプログラマブルコント
ローラの演算処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4145741A JP3024719B2 (ja) | 1992-06-05 | 1992-06-05 | プログラマブルコントローラの演算処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4145741A JP3024719B2 (ja) | 1992-06-05 | 1992-06-05 | プログラマブルコントローラの演算処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05341820A JPH05341820A (ja) | 1993-12-24 |
JP3024719B2 true JP3024719B2 (ja) | 2000-03-21 |
Family
ID=15392078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4145741A Expired - Lifetime JP3024719B2 (ja) | 1992-06-05 | 1992-06-05 | プログラマブルコントローラの演算処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3024719B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6294142B2 (ja) * | 2014-04-25 | 2018-03-14 | ファナック株式会社 | 被演算データ読み出しのための外部メモリアクセスが発生しないプログラマブルコントローラ |
-
1992
- 1992-06-05 JP JP4145741A patent/JP3024719B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05341820A (ja) | 1993-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2883784B2 (ja) | マイクロコンピュータ | |
JP2982875B2 (ja) | スレーブ制御装置 | |
JPS6055849B2 (ja) | 命令制御方式 | |
JP3024719B2 (ja) | プログラマブルコントローラの演算処理方法 | |
JP2001256044A (ja) | データ処理装置 | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JP3441262B2 (ja) | データ処理装置 | |
JP3074809B2 (ja) | プログラマブル・コントローラ | |
JPS5835648A (ja) | プログラム実行制御方式 | |
JP2000076095A (ja) | プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体 | |
JPS5856051A (ja) | アクセス割込みによるアドレス・コンペア方式 | |
JP2982129B2 (ja) | マイクロプログラム制御装置 | |
JPS6341092B2 (ja) | ||
JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
JPH05241853A (ja) | プログラマブルコントローラ | |
JPH04275603A (ja) | プログラマブル・コントローラ | |
JPH1139159A (ja) | 計算機システム | |
JPH08249024A (ja) | プログラマブルコントローラ | |
JPS595931B2 (ja) | 演算処理システムのアドレス停止方式 | |
JP2002169690A (ja) | 情報処理装置及び電子機器 | |
JPH04332003A (ja) | プログラマブルコントローラ | |
JPH0773049A (ja) | プログラムのシミュレータ装置 | |
JPS63228332A (ja) | 命令実行制御方式 | |
JPH11288306A (ja) | プログラマブルコントローラの演算方式 | |
JPH0330029A (ja) | 計算機の入出力シミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 13 |