JPH07120167B2 - シ−ケンス制御の処理方法および処理装置 - Google Patents
シ−ケンス制御の処理方法および処理装置Info
- Publication number
- JPH07120167B2 JPH07120167B2 JP62141490A JP14149087A JPH07120167B2 JP H07120167 B2 JPH07120167 B2 JP H07120167B2 JP 62141490 A JP62141490 A JP 62141490A JP 14149087 A JP14149087 A JP 14149087A JP H07120167 B2 JPH07120167 B2 JP H07120167B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processing
- register
- value
- address
- 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
- Executing Machine-Instructions (AREA)
- Programmable Controllers (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、シーケンス制御の処理方法及び処理装置に係
り、特にその高速化に関するものである。
り、特にその高速化に関するものである。
従来のシーケンス制御装置(シーケンスコントローラと
いう)としては、例えば特願昭59−36040号記載のもの
がある。この従来装置では、プロセス入出力装置との間
でデータ授受を行うためのビツトレジスタと、演算器
と、演算結果を記憶するアキユムレータとを有し、アン
ド処理やオア処理の実行時には、最初にプロセス入出力
装置からビツトレジスタにデータを読出し、次に演算器
による論理演算を行い、最後に演算結果をアキユムレー
タに記憶するという処理を行っていた。
いう)としては、例えば特願昭59−36040号記載のもの
がある。この従来装置では、プロセス入出力装置との間
でデータ授受を行うためのビツトレジスタと、演算器
と、演算結果を記憶するアキユムレータとを有し、アン
ド処理やオア処理の実行時には、最初にプロセス入出力
装置からビツトレジスタにデータを読出し、次に演算器
による論理演算を行い、最後に演算結果をアキユムレー
タに記憶するという処理を行っていた。
第10図は、シーケンス処理のうちの、アンド処理の例を
示したものである。ここでI1は読出し命令(LD命令)、
I2はアンド命令、I3は書き込み命令(ST)であり、これ
ら命令の対象となるプロセス入出力装置のアドレスがそ
れぞれPIO1〜PIO3で示してある。このシーケンス処理
は、下記のように書くことができる。
示したものである。ここでI1は読出し命令(LD命令)、
I2はアンド命令、I3は書き込み命令(ST)であり、これ
ら命令の対象となるプロセス入出力装置のアドレスがそ
れぞれPIO1〜PIO3で示してある。このシーケンス処理
は、下記のように書くことができる。
(PIO3)=(PIO1)・(PIO2)但し(a)は、アドレス
aに格納されたデータ(論理値)を示す。このシーケン
ス処理を、従来のシーケンスコントローラでは第11図
(a)に示すフローで行つていた。即ち、各命令はそれ
ぞれ、命令の読出し(ステツプ1101,1104,1107)、読出
した命令の指示するアドレス(プロセス入出力装置)ま
たはアキユムレータACCからビツトレジスタ(Dr)への
データ転送(ステツプ1102,1105,1108)、及び命令の指
示する処理の実行(ステツプ1103,1106、1109)の3ス
テツプにより実行される。
aに格納されたデータ(論理値)を示す。このシーケン
ス処理を、従来のシーケンスコントローラでは第11図
(a)に示すフローで行つていた。即ち、各命令はそれ
ぞれ、命令の読出し(ステツプ1101,1104,1107)、読出
した命令の指示するアドレス(プロセス入出力装置)ま
たはアキユムレータACCからビツトレジスタ(Dr)への
データ転送(ステツプ1102,1105,1108)、及び命令の指
示する処理の実行(ステツプ1103,1106、1109)の3ス
テツプにより実行される。
第12図は、シーケンス処理のうちの、オア処理の例を示
したものである。ここで、I4は読出し命令、I5はオア命
令、I6は書き込み命令である。このシーケンス処理は、
以下のように書くことができる。
したものである。ここで、I4は読出し命令、I5はオア命
令、I6は書き込み命令である。このシーケンス処理は、
以下のように書くことができる。
(PIO6)=(PIO4)+(PIO5) この処理を、従来のシーケンスコントローラでは第13図
(a)に示すフローで行つていた。即ちこの場合も、各
命令I4〜I6はそれぞれ3ステツプの処理によつて実行さ
れていた。
(a)に示すフローで行つていた。即ちこの場合も、各
命令I4〜I6はそれぞれ3ステツプの処理によつて実行さ
れていた。
上記従来技術では、アンド処理やオア処理の実行時に、
プロセス入出力装置のデータ読出しと、論理演算とを必
ず行うから、処理の高速化に限度があつた。
プロセス入出力装置のデータ読出しと、論理演算とを必
ず行うから、処理の高速化に限度があつた。
本発明の目的は、シーケンス処理を高速化することので
きるシーケンス制御の処理方法及び処理装置を提供する
にある。
きるシーケンス制御の処理方法及び処理装置を提供する
にある。
上記の目的は、プロセス入出力装置からビツトレジスタ
へ読出した第1のデータの値(0か1か)と命令の種類
とに応じて、0、1、またはプロセス入出力装置から読
出した第2のデータのいずれかを演算結果として出力す
る手段とを設けることにより達成され、さらに、複数の
処理結果をデータとして演算処理を行うときの、以前に
得た処理結果を一時退避しておくためのスタツク手段を
設けることにより達成される。
へ読出した第1のデータの値(0か1か)と命令の種類
とに応じて、0、1、またはプロセス入出力装置から読
出した第2のデータのいずれかを演算結果として出力す
る手段とを設けることにより達成され、さらに、複数の
処理結果をデータとして演算処理を行うときの、以前に
得た処理結果を一時退避しておくためのスタツク手段を
設けることにより達成される。
アンド演算のときは、一つのデータが0のとき他方のデ
ータ値に関係なく答えは0であり、一つのデータが1の
ときは他方のデータ値そのものが答えになる。また、オ
ア演算のときは、一つのデータが1のとき他方のデータ
値に関係なく答えは1であり、一つのデータが0のとき
は他方のデータ値そのものが答えになる。従つて命令が
アンド演算かオア演算かの判定とプロセス入出力装置か
ら読出した第一のデータの値とから、答えとして0又は
1をビツトレジスタにセツトするか(これは第一のデー
タそのもので、判定前にセツトされているので実際には
何もしなくてよい)、あるいは第二のデータをプロセス
入出力装置から読出してその値をビツトレジスタにセツ
トすればよく、従来のようにアキユムレータとのデータ
転送及び論理演算ステツプ、第二データ不要のときでも
それをプロセス入出力装置から読出するステツプ等を省
略でき、処理が高速化される。また、前回の処理結果と
今回の処理結果との演算処理を行うときには、前回の処
理結果をスタツクへ退避しておき、この退避した値と今
回の処理結果であるビツトレジスタの値とから、それら
の値を判定して必要なときのみビツトレジスタの値を書
き換えて答えとする。このようにスタツクを用いると、
そこへのデータの入出力は高速に行えるから、全体の処
理も高速化される。
ータ値に関係なく答えは0であり、一つのデータが1の
ときは他方のデータ値そのものが答えになる。また、オ
ア演算のときは、一つのデータが1のとき他方のデータ
値に関係なく答えは1であり、一つのデータが0のとき
は他方のデータ値そのものが答えになる。従つて命令が
アンド演算かオア演算かの判定とプロセス入出力装置か
ら読出した第一のデータの値とから、答えとして0又は
1をビツトレジスタにセツトするか(これは第一のデー
タそのもので、判定前にセツトされているので実際には
何もしなくてよい)、あるいは第二のデータをプロセス
入出力装置から読出してその値をビツトレジスタにセツ
トすればよく、従来のようにアキユムレータとのデータ
転送及び論理演算ステツプ、第二データ不要のときでも
それをプロセス入出力装置から読出するステツプ等を省
略でき、処理が高速化される。また、前回の処理結果と
今回の処理結果との演算処理を行うときには、前回の処
理結果をスタツクへ退避しておき、この退避した値と今
回の処理結果であるビツトレジスタの値とから、それら
の値を判定して必要なときのみビツトレジスタの値を書
き換えて答えとする。このようにスタツクを用いると、
そこへのデータの入出力は高速に行えるから、全体の処
理も高速化される。
以下、本発明を実施例により詳細に説明する。第1図は
本発明の装置の一実施例を示したものであり、シーケン
スコントローラ42は、命令アドレス発生器43、デコーダ
44、ビツトレジスタ45、ゲート46等から成つている。命
令は第2図に示したフオーマツトから成り、命令メモリ
1から命令バス50上に出力される命令のうち、コードは
バス51を介してデコーダ44へ、プロセス入出力装置のア
ドレス(PIOアドレス)はバス52を介してプロセス入出
力装置2へ出力される。バス54は、プロセス入出力装置
2とビツトレジスタ45間でデータ授受を行うためのバス
である。
本発明の装置の一実施例を示したものであり、シーケン
スコントローラ42は、命令アドレス発生器43、デコーダ
44、ビツトレジスタ45、ゲート46等から成つている。命
令は第2図に示したフオーマツトから成り、命令メモリ
1から命令バス50上に出力される命令のうち、コードは
バス51を介してデコーダ44へ、プロセス入出力装置のア
ドレス(PIOアドレス)はバス52を介してプロセス入出
力装置2へ出力される。バス54は、プロセス入出力装置
2とビツトレジスタ45間でデータ授受を行うためのバス
である。
次に、本実施例の動作を説明する。命令読出しは、デコ
ーダ44からアドレス更新信号56を出力し、アドレス更新
信号56を受信した命令アドレス発生器43は実行する命令
のアドレスを命令アドレスバス53上に出力する。そうす
ると、命令メモリ1から読出された命令のコード部は、
バス51を介してデコーダ44へ送られ、PIOアドレスはバ
ス52を介してプロセス入出力装置2へ出力される。プロ
セス入出力装置2では、このアドレスと、デコーダ44か
らのリード信号57を受信すると、対応するデータがバス
54上に読出され、このデータは、デコーダ44からのラツ
チ信号59によつてビツトレジスタ45にセツトされる。
ーダ44からアドレス更新信号56を出力し、アドレス更新
信号56を受信した命令アドレス発生器43は実行する命令
のアドレスを命令アドレスバス53上に出力する。そうす
ると、命令メモリ1から読出された命令のコード部は、
バス51を介してデコーダ44へ送られ、PIOアドレスはバ
ス52を介してプロセス入出力装置2へ出力される。プロ
セス入出力装置2では、このアドレスと、デコーダ44か
らのリード信号57を受信すると、対応するデータがバス
54上に読出され、このデータは、デコーダ44からのラツ
チ信号59によつてビツトレジスタ45にセツトされる。
プロセス入出力装置2へのデータ書き込みは、デコーダ
44からゲートオン信号60を出力することによりゲート46
をオンとして、バス54上にデータを出力し、その後デコ
ーダ44からライト信号58を出力してバス54上のデータを
プロセス入出力装置2へ書き込むことにより実行する。
44からゲートオン信号60を出力することによりゲート46
をオンとして、バス54上にデータを出力し、その後デコ
ーダ44からライト信号58を出力してバス54上のデータを
プロセス入出力装置2へ書き込むことにより実行する。
以上が、本実施例の動作であるが、これらによつて実行
される基本的シーケンス処理は、第3図に示したよう
に、命令及びビツトレジスタ45の内容の違いによつて、
(イ),(ロ),(ハ)の3種類の内のどれかである。
即ち、(イ)命令を読出し、そのPIOアドレスに従つて
プロセス入出力装置からデータを読出してビツトレジス
タDrへセツトする、(ロ)命令読出しのみを行う、
(ハ)命令を読出し、そのPIOアドレスに従つてビツト
レジスタDrの内容をプロセス入出力装置へ書き込む、の
いずれかである。
される基本的シーケンス処理は、第3図に示したよう
に、命令及びビツトレジスタ45の内容の違いによつて、
(イ),(ロ),(ハ)の3種類の内のどれかである。
即ち、(イ)命令を読出し、そのPIOアドレスに従つて
プロセス入出力装置からデータを読出してビツトレジス
タDrへセツトする、(ロ)命令読出しのみを行う、
(ハ)命令を読出し、そのPIOアドレスに従つてビツト
レジスタDrの内容をプロセス入出力装置へ書き込む、の
いずれかである。
これらの基本的シーケンス処理による処理方法を、従来
例で用いた第10図〜第13図の場合によりまず説明する。
第10図の命令I1は読出し命令(LD)であるので、ビツト
レジスタDrの値に関係なく第3図の処理(イ)が実行さ
れる。これは第11図(b)のステツプ1101,1102であ
る。次の命令I2はアンド命令であるから、ビツトレジス
タ45の値Drによつて処理が異なる。即ち、Dr=0のとき
は(これは、ビツトレジスタ45の値Drがバス55を介して
デコーダ44へ与えられているので、命令を読出したとき
にすぐ判定できる)、第3図の(ロ)の処理、つまり命
令読出しだけで終わる処理となり、Dr=1のときは第3
図(イ)の処理を実行する。これは第11図(b)のステ
ツプ1110,1105であり、これによつてアンド処理の答え
がビツトレジスタ45にセツトされる。第10図最後の命令
I3は書き込み(ST)であるから、第3図(ハ)の処理、
つまり第11図(b)のステツプ1107,1109が実行され、
アドレスPIO3へアンド処理の答えが書き込まれる。
例で用いた第10図〜第13図の場合によりまず説明する。
第10図の命令I1は読出し命令(LD)であるので、ビツト
レジスタDrの値に関係なく第3図の処理(イ)が実行さ
れる。これは第11図(b)のステツプ1101,1102であ
る。次の命令I2はアンド命令であるから、ビツトレジス
タ45の値Drによつて処理が異なる。即ち、Dr=0のとき
は(これは、ビツトレジスタ45の値Drがバス55を介して
デコーダ44へ与えられているので、命令を読出したとき
にすぐ判定できる)、第3図の(ロ)の処理、つまり命
令読出しだけで終わる処理となり、Dr=1のときは第3
図(イ)の処理を実行する。これは第11図(b)のステ
ツプ1110,1105であり、これによつてアンド処理の答え
がビツトレジスタ45にセツトされる。第10図最後の命令
I3は書き込み(ST)であるから、第3図(ハ)の処理、
つまり第11図(b)のステツプ1107,1109が実行され、
アドレスPIO3へアンド処理の答えが書き込まれる。
第11図(b)と同(a)を比べれば明らかなように、従
来方法のとき9ステツプで処理されたアンド演算が、本
実施例では5又は6ステツプで処理でき、このステツプ
数の減少分だけ処理が高速化できる。
来方法のとき9ステツプで処理されたアンド演算が、本
実施例では5又は6ステツプで処理でき、このステツプ
数の減少分だけ処理が高速化できる。
第12図のオア処理の場合も、第3図を適用すると第13図
(b)のフローで処理されることが容易にわかり、アン
ド処理のときと同じく高速化できる。
(b)のフローで処理されることが容易にわかり、アン
ド処理のときと同じく高速化できる。
第4図はアンド、オアの双方を含むシーケンスの例であ
つて、いまプロセス入出力装置2の各アドレスの値が次
のとおりとする: (PIO11)=1 (PIO12)=(PIO13)=0 第1図,第3図で示した実施例によりこのシーケンス処
理を行うと以下のようになる。まず、命令I11は読出し
命令であるから、第3図(イ)の処理となり、ビツトレ
ジスタ45にはアドレスPIO11の値“1"が記憶される(第
5図ステツプ501,502)。次の命令I12はオア命令であ
り、このときビツトレジスタ45の内容は“1"であるか
ら、第3図(ロ)の処理(ステツプ503)となり、次の
命令に進む。命令I13はアンド命令であり、このときビ
ツトレジスタの内容は1であるから、第3図(イ)の処
理となり、ビツトレジスタ45にはアドレスPIO13の値
“0"が記憶される(ステツプ504,505)。命令I14は書き
込み命令であるから、第3図(ハ)の処理となり、ビツ
トレジスタ45の内容“0"がアドレスPIO14に書き込まれ
る(ステツプ506,507)。以上の処理によつて、(PIO1
4)=((PIO11)+(PIO12))・(PIO13) なる演算結果が第5図の7ステツプで得られる。これは
従来方法の4つの命令で12ステツプ要するのに比べて、
大幅に高速化されていることを示している。
つて、いまプロセス入出力装置2の各アドレスの値が次
のとおりとする: (PIO11)=1 (PIO12)=(PIO13)=0 第1図,第3図で示した実施例によりこのシーケンス処
理を行うと以下のようになる。まず、命令I11は読出し
命令であるから、第3図(イ)の処理となり、ビツトレ
ジスタ45にはアドレスPIO11の値“1"が記憶される(第
5図ステツプ501,502)。次の命令I12はオア命令であ
り、このときビツトレジスタ45の内容は“1"であるか
ら、第3図(ロ)の処理(ステツプ503)となり、次の
命令に進む。命令I13はアンド命令であり、このときビ
ツトレジスタの内容は1であるから、第3図(イ)の処
理となり、ビツトレジスタ45にはアドレスPIO13の値
“0"が記憶される(ステツプ504,505)。命令I14は書き
込み命令であるから、第3図(ハ)の処理となり、ビツ
トレジスタ45の内容“0"がアドレスPIO14に書き込まれ
る(ステツプ506,507)。以上の処理によつて、(PIO1
4)=((PIO11)+(PIO12))・(PIO13) なる演算結果が第5図の7ステツプで得られる。これは
従来方法の4つの命令で12ステツプ要するのに比べて、
大幅に高速化されていることを示している。
第6図は、本発明の別の実施例を示したものであり、シ
ーケンスコントローラ3は、アドレスレジスタ10,命令
レジスタ11,デコーダー12,マイクロプログラムアドレス
発生器13,マイクロプログラムメモリ14,制御器15,命令
アドレス発生器16,ビツトレジスタ17,スタツク18,ゲー
ト19,制御信号21〜30などより成る。
ーケンスコントローラ3は、アドレスレジスタ10,命令
レジスタ11,デコーダー12,マイクロプログラムアドレス
発生器13,マイクロプログラムメモリ14,制御器15,命令
アドレス発生器16,ビツトレジスタ17,スタツク18,ゲー
ト19,制御信号21〜30などより成る。
命令レジスタ11は、命令メモリ1から読出した命令を記
憶するものであり、記憶した命令のうち、命令コードを
バス33を介してデコーダ12へ出力し、プロセス入出力装
置アドレスをバス37,アドレスレジスタ10,アドレスバス
4を介してプロセス入出力装置2へ出力する。デコーダ
12は、命令コードとビツトレジスタ17の内容とスタツク
18の内容を解析して実行するマイクロプログラムの先頭
アドレスを決定し、それをマイクロプログラムアドレス
発生器13へ出力する。マイクロプログラムアドレス発生
器13は、アドレスカウンタ機能とジヤンプ先アドレスラ
ツチ機能をあわせもつものであり、バス35上にマイクロ
プログラムアドレスを出力する。マイクロプログラムメ
モリ14は、バス36上にマイクロプログラムを出力し、こ
のマイクロプログラムは制御器15を経て、制御信号21〜
30となり、各装置を制御する。命令アドレス発生器16
は、実行する命令のアドレスを出力するものであり、出
力された命令アドレスは、バス37、アドレスレジスタ1
0、アドレスバス4を介して命令メモリ1へ出力され
る。ビツトレジスタ17は、プロセス入出力装置2から読
出したデータを記憶するものであり、ゲート19は、ビツ
トレジスタ17の内容をプロセス入出力装置2へ出力する
ものである。スタツク18は、ビツトレジスタ17の内容を
一時退避するためのものである。
憶するものであり、記憶した命令のうち、命令コードを
バス33を介してデコーダ12へ出力し、プロセス入出力装
置アドレスをバス37,アドレスレジスタ10,アドレスバス
4を介してプロセス入出力装置2へ出力する。デコーダ
12は、命令コードとビツトレジスタ17の内容とスタツク
18の内容を解析して実行するマイクロプログラムの先頭
アドレスを決定し、それをマイクロプログラムアドレス
発生器13へ出力する。マイクロプログラムアドレス発生
器13は、アドレスカウンタ機能とジヤンプ先アドレスラ
ツチ機能をあわせもつものであり、バス35上にマイクロ
プログラムアドレスを出力する。マイクロプログラムメ
モリ14は、バス36上にマイクロプログラムを出力し、こ
のマイクロプログラムは制御器15を経て、制御信号21〜
30となり、各装置を制御する。命令アドレス発生器16
は、実行する命令のアドレスを出力するものであり、出
力された命令アドレスは、バス37、アドレスレジスタ1
0、アドレスバス4を介して命令メモリ1へ出力され
る。ビツトレジスタ17は、プロセス入出力装置2から読
出したデータを記憶するものであり、ゲート19は、ビツ
トレジスタ17の内容をプロセス入出力装置2へ出力する
ものである。スタツク18は、ビツトレジスタ17の内容を
一時退避するためのものである。
第7図は、本実施例における基本的シーケンス処理を示
すもので、(ニ)〜(リ)の6種類のどれかが実行され
る。これらは(ニ)命令読出し、ビツトレジスタの内容
Drをスタツク18(Sr)へ転送、プロセス入出力装置から
ビツトレジスタへの読出し、(ホ)命令読出し、プロセ
ス入出力装置からビツトレジスタへの読出し、(へ)命
令読出しのみ、(ト)命令読出し、ビツトレジスタへ1
をセツト、(チ)命令読出し、ビツトレジスタへ0をセ
ツト、(リ)命令読出し、ビツトレジスタの内容Drをプ
ロセス入出力装置へ書き込み、の6種類で、どれになる
かは命令の種類、ビツトレジスタの内容Dr、スタツクの
内容Srにより決まる。ビツトレジスタ17の内容Drが信号
31として、またスタツク18の内容Srが信号37として、命
令レジスタ内のコードが信号33としてデコーダ12に与え
られるので、デコーダ12は、読出された命令が命令レジ
スタ11へセツトされたステツプ時に上記のどれを実行す
るかの判定を行うことができる。
すもので、(ニ)〜(リ)の6種類のどれかが実行され
る。これらは(ニ)命令読出し、ビツトレジスタの内容
Drをスタツク18(Sr)へ転送、プロセス入出力装置から
ビツトレジスタへの読出し、(ホ)命令読出し、プロセ
ス入出力装置からビツトレジスタへの読出し、(へ)命
令読出しのみ、(ト)命令読出し、ビツトレジスタへ1
をセツト、(チ)命令読出し、ビツトレジスタへ0をセ
ツト、(リ)命令読出し、ビツトレジスタの内容Drをプ
ロセス入出力装置へ書き込み、の6種類で、どれになる
かは命令の種類、ビツトレジスタの内容Dr、スタツクの
内容Srにより決まる。ビツトレジスタ17の内容Drが信号
31として、またスタツク18の内容Srが信号37として、命
令レジスタ内のコードが信号33としてデコーダ12に与え
られるので、デコーダ12は、読出された命令が命令レジ
スタ11へセツトされたステツプ時に上記のどれを実行す
るかの判定を行うことができる。
この実施例の動作を第8図のシーケンスを例にして説明
する。同図において、 (PIO21)=0 (PIO22)=1 (PIO23)=0 (PIO24)=(PIO25)=(PIO27)=1 とする。命令I21は読出し命令(LD)であるから、第7
図(ニ)の処理となり、ビツトレジスタ17には(PIO2
1)=0がセツトされる(第9図ステツプ901〜903)。
但しこのとき、スタツク18の内容Srは不定である。しか
しスタツク18の内容Srの違いによつて処理が異なるのは
後述のオアスペシヤルとアンドスペシヤルの場合のみで
あり、この2つの命令はシーケンス処理の構成上読出し
命令が2回以上実行された後にしか出現しない。読出し
命令を2回以上実行すればスタツク18の内容Srが必ず確
定するため何ら問題は生じない。さて次の命令I22はア
ンド命令であり、このときビツトレジスタ17の内容はDr
であるから、(ヘ)の処理のみとなり(ステツプ90
4)、次の命令I23に進む。この命令は読出し命令である
から(ニ)の処理となり、スタツク18にはビツトレジス
タ17の内容0が退避され、その後ビツトレジスタ17には
(PIO23)=0がセツトされる(ステツプ905〜907)。
命令I24はオア命令であり、このときビツトレジスタ17
の内容Dr=0であるから、(ホ)の処理となり、ビツト
レジスタ17には(PIO24)=1がセツトされる(ステツ
プ908,ステツプ909)。命令I25はアンド命令であり、こ
のときビツトレジスタ17の内容Dr=1であるから、再び
(ホ)の処理となり、ビツトレジスタ17には(PIO25)
=1がセツトされる(ステツプ910,911)。命令I26はオ
アスペシヤルである。この命令はスタツクの内容Srとビ
ツトレジスタの内容Drとのオアを算出してDrにその結果
をセツトするもので、今の場合Dr=1、Sr=0であるか
ら、(ヘ)の処理となり(ステツプ912)、次の命令に
進む。命令I27はアンド命令であり、このときビツトレ
ジスタ17の内容Dr=1であるから、(ホ)の処理とな
り、ビツトレジスタ17には(PIO27)=1がセツトされ
る(ステツプ913,914)。命令I28は書き込み命令である
から、(リ)の処理となり、ビツトレジスタ17の内容Dr
=1がアドレスPIO28に書き込まれる(ステツプ915,91
6)。以上の処理をまとめると下記演算を実行したのと
同じ結果となる。
する。同図において、 (PIO21)=0 (PIO22)=1 (PIO23)=0 (PIO24)=(PIO25)=(PIO27)=1 とする。命令I21は読出し命令(LD)であるから、第7
図(ニ)の処理となり、ビツトレジスタ17には(PIO2
1)=0がセツトされる(第9図ステツプ901〜903)。
但しこのとき、スタツク18の内容Srは不定である。しか
しスタツク18の内容Srの違いによつて処理が異なるのは
後述のオアスペシヤルとアンドスペシヤルの場合のみで
あり、この2つの命令はシーケンス処理の構成上読出し
命令が2回以上実行された後にしか出現しない。読出し
命令を2回以上実行すればスタツク18の内容Srが必ず確
定するため何ら問題は生じない。さて次の命令I22はア
ンド命令であり、このときビツトレジスタ17の内容はDr
であるから、(ヘ)の処理のみとなり(ステツプ90
4)、次の命令I23に進む。この命令は読出し命令である
から(ニ)の処理となり、スタツク18にはビツトレジス
タ17の内容0が退避され、その後ビツトレジスタ17には
(PIO23)=0がセツトされる(ステツプ905〜907)。
命令I24はオア命令であり、このときビツトレジスタ17
の内容Dr=0であるから、(ホ)の処理となり、ビツト
レジスタ17には(PIO24)=1がセツトされる(ステツ
プ908,ステツプ909)。命令I25はアンド命令であり、こ
のときビツトレジスタ17の内容Dr=1であるから、再び
(ホ)の処理となり、ビツトレジスタ17には(PIO25)
=1がセツトされる(ステツプ910,911)。命令I26はオ
アスペシヤルである。この命令はスタツクの内容Srとビ
ツトレジスタの内容Drとのオアを算出してDrにその結果
をセツトするもので、今の場合Dr=1、Sr=0であるか
ら、(ヘ)の処理となり(ステツプ912)、次の命令に
進む。命令I27はアンド命令であり、このときビツトレ
ジスタ17の内容Dr=1であるから、(ホ)の処理とな
り、ビツトレジスタ17には(PIO27)=1がセツトされ
る(ステツプ913,914)。命令I28は書き込み命令である
から、(リ)の処理となり、ビツトレジスタ17の内容Dr
=1がアドレスPIO28に書き込まれる(ステツプ915,91
6)。以上の処理をまとめると下記演算を実行したのと
同じ結果となる。
(PIO28)=((PIO21)・(PIO22)+((PIO23) +(PIO24))・(PIO25))・PIO27 この例の場合、従来方法では8個の命令I21〜I28に各3
ステツプ必要で合計24ステツプを要したが、本実施例で
は第9図に示したとおり16ステツプで処理が終わり、高
速化されている。
ステツプ必要で合計24ステツプを要したが、本実施例で
は第9図に示したとおり16ステツプで処理が終わり、高
速化されている。
なお上記第8図のシーケンスでは、アンドスペシヤルは
用いていないが、この命令もオアスペシヤルと同様で、
スタツク18へ退避した値Srと、ビツトレジスタ17の値Dr
とのアンドをとるもので、先に求めた演算結果をスタツ
クへ退避することによつて、そのデータ転送等の高速化
をはかるためのものである。
用いていないが、この命令もオアスペシヤルと同様で、
スタツク18へ退避した値Srと、ビツトレジスタ17の値Dr
とのアンドをとるもので、先に求めた演算結果をスタツ
クへ退避することによつて、そのデータ転送等の高速化
をはかるためのものである。
また、本実施例では、シーケンス処理をマイクロプログ
ラムで実行する構成としているが、シーケンス処理をハ
ードウエアで実行した場合においても本発明の動作原理
は同じであり、同様の効果であることは明白である。さ
らに、以上説明した2つの実施例は、1ビツトのシーケ
ンス演算を実行するシーケンスコントローラの例を示し
ているが、1ビツトのシーケンス演算機能とワード演算
機能を合わせもつシーケンスコントローラで実行した場
合においても、本発明の動作原理は同じであり、同様の
効果であることは明白である。
ラムで実行する構成としているが、シーケンス処理をハ
ードウエアで実行した場合においても本発明の動作原理
は同じであり、同様の効果であることは明白である。さ
らに、以上説明した2つの実施例は、1ビツトのシーケ
ンス演算を実行するシーケンスコントローラの例を示し
ているが、1ビツトのシーケンス演算機能とワード演算
機能を合わせもつシーケンスコントローラで実行した場
合においても、本発明の動作原理は同じであり、同様の
効果であることは明白である。
本発明によれば、論理演算を不要とするとともに、条件
によつてはプロセス入出力装置のデータ読出しを不要と
することができるので、シーケンス処理を高速化できる
という効果がある。
によつてはプロセス入出力装置のデータ読出しを不要と
することができるので、シーケンス処理を高速化できる
という効果がある。
第1図は本発明の一実施例の構成図、第2図は命令のフ
オーマツトを示す図、第3図は第1図の実施例における
基本的シーケンス処理を示す図、第4図はシーケンス処
理の例を示す図、第5図は第4図のシーケンスを第1図
の実施例により処理するときの処理フロー図、第6図は
本発明の別の実施例を示す構成図、第7図は第6図の実
施例における基本的シーケンス処理を示す図、第8図は
シーケンス処理の例を示す図、第9図は第8図のシーケ
ンスを第6図の実施例により処理するときの処理フロー
図、第10図及び第11図はアンド演算のシーケンスとその
処理フローを示す図、第12図及び第13図はオア演算のシ
ーケンスとその処理フローを示す図である。 1……命令メモリ、2……プロセス入出力装置、3,42…
…シーケンスコントローラ、12,44……デコーダ、17,45
……ビツトレジスタ、18……スタツク。
オーマツトを示す図、第3図は第1図の実施例における
基本的シーケンス処理を示す図、第4図はシーケンス処
理の例を示す図、第5図は第4図のシーケンスを第1図
の実施例により処理するときの処理フロー図、第6図は
本発明の別の実施例を示す構成図、第7図は第6図の実
施例における基本的シーケンス処理を示す図、第8図は
シーケンス処理の例を示す図、第9図は第8図のシーケ
ンスを第6図の実施例により処理するときの処理フロー
図、第10図及び第11図はアンド演算のシーケンスとその
処理フローを示す図、第12図及び第13図はオア演算のシ
ーケンスとその処理フローを示す図である。 1……命令メモリ、2……プロセス入出力装置、3,42…
…シーケンスコントローラ、12,44……デコーダ、17,45
……ビツトレジスタ、18……スタツク。
Claims (4)
- 【請求項1】プロセスをシーケンス制御するための命令
を格納した命令メモリから第1の処理対象データのアド
レスを有したデータ読出し命令を受け取つたときにはプ
ロセス入出力装置の当該アドレスから上記第1の処理対
象データを読出して処理作業用に設けられたレジスタへ
セツトして当該命令の処理を終わり、上記命令メモリか
ら第2の処理対象データのアドレスを有したアンド命令
を受けとりかつ上記レジスタにセツトされている値が0
のとき、あるいは上記命令メモリから第2の処理対象デ
ータのアドレスを有したオア命令を受けとりかつ上記レ
ジスタにセツトされている値が1のときには上記第2の
処理対象データを読出すことなく当該命令の処理を終わ
り、上記命令メモリから第2の処理対象データのアドレ
スを有したアンド命令を受けとりかつ上記レジスタにセ
ツトされている値が1のとき、あるいは上記命令メモリ
から第2の処理対象データのアドレスを有したオア命令
を受けとりかつ上記レジスタにセツトされている値が0
のときには上記第2の処理対象データをプロセス入出力
装置の当該アドレスから読出してこれを上記レジスタへ
セツトして当該命令の処理を終わり、上記命令メモリか
ら書き込みアドレスを有した書き込み命令を受け取つた
ときには上記レジスタの値をプロセス入出力装置の上記
書き込みアドレスへ転送して当該命令の処理を終了する
ようにしたことを特徴とするシーケンス制御の処理方
法。 - 【請求項2】中間処理結果を退避するためのスタツクを
設けるとともに:前記命令メモリより前記データ読出し
命令を受けとつたときにはまず前記レジスタの値を上記
スタツクへ転送したのちプロセス入出力装置の前記アド
レスから前記第1の処理対象データを読出して前記レジ
スタへセツトして当該命令の処理を終わり、前記命令メ
モリよりスペシヤルアンド命令を受けとつたときには、
上記レジスタの値が1で上記スタツクの値が0のときは
上記レジスタの値を0にセツトしそれ以外のときには何
もしないで当該命令の処理を終わり、前記命令メモリよ
りスペシヤルオア命令を受けとつたときには、上記レジ
スタの値が0で上記スタツクの値が1のときには上記レ
ジスタの値を1にセツトしそれ以外のときには何もしな
いで当該命令の処理を終る;ようにしたことを特徴とす
る、特許請求の範囲第1項記載のシーケンス制御の処理
方法。 - 【請求項3】命令メモリからプロセスをシーケンス制御
するための命令を読出す命令読出し手段と、レジスタ
と、該レジスタとプロセス入出力装置との間のデータ転
送を行うデータ転送手段と、制御手段とを備えるととも
に;前記命令メモリから第1の処理対象データのアドレ
スを有したデータ読出し命令を受けとつたときにはプロ
セス入出力装置の当該アドレスから上記第1の処理対象
データを読出して上記レジスタへセツトして当該命令の
処理を終わり、上記命令メモリから第2の処理対象デー
タのアドレスを有したアンド命令を受けとりかつ上記レ
ジスタにセツトされている値が0のとき、あるいは上記
命令メモリから第2の処理対象データのアドレスを有し
たオア命令を受けとりかつ上記レジスタにセツトされて
いる値が1のときには上記第2の処理対象データを読出
すことなく当該命令の処理を終わり、上記命令メモリか
ら第2の処理対象データのアドレスを有したアンド命令
を受けとりかつ上記レジスタにセツトされている値が1
のとき、あるいは上記命令メモリから第2の処理対象デ
ータのアドレスを有したオア命令を受けとりかつ上記レ
ジスタにセツトされている値が0のときには上記第2の
処理対象データをプロセス入出力装置の当該アドレスか
ら上記データ転送手段により読出させてこれを上記レジ
スタへセツトして当該命令の処理を終わり、上記命令メ
モリから書き込みアドレスを有した書き込み命令を受け
取つたときには上記レジスタの値をプロセス入出力装置
の上記書き込みアドレスへ上記データ転送手段により転
送させて当該命令の処理を終了する;機能を上記制御手
段に有せしめたことを特徴とするシーケンス制御の処理
装置。 - 【請求項4】中間処理結果を退避するためのスタツクを
設けるとともに:前記命令メモリより前記データ読出し
命令を受けとつたときにはまず前記レジスタの値を上記
スタツクへ転送したのちプロセス入出力装置の前記アド
レスから前記第1の処理対象データを読出して前記レジ
スタへセツトして当該命令の処理を終わり、前記命令メ
モリよりスペシヤルアンド命令を受けとつたときには、
上記レジスタの値が1で上記スタツクの値が0のときは
上記レジスタの値を0にセツトしそれ以外のときには何
もしないで当該命令の処理を終わり、前記命令メモリよ
りスペシヤルオア命令を受けとつたときには、上記レジ
スタの値が0で上記スタツクの値が1のときは上記レジ
スタの値を1にセツトしそれ以外のときには何もしない
で当該命令の処理を終る;機能を前記制御手段に有せし
めたことを特徴とする、特許請求の範囲第3項記載のシ
ーケンス制御の処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62141490A JPH07120167B2 (ja) | 1987-06-08 | 1987-06-08 | シ−ケンス制御の処理方法および処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62141490A JPH07120167B2 (ja) | 1987-06-08 | 1987-06-08 | シ−ケンス制御の処理方法および処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63305405A JPS63305405A (ja) | 1988-12-13 |
| JPH07120167B2 true JPH07120167B2 (ja) | 1995-12-20 |
Family
ID=15293128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62141490A Expired - Lifetime JPH07120167B2 (ja) | 1987-06-08 | 1987-06-08 | シ−ケンス制御の処理方法および処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07120167B2 (ja) |
-
1987
- 1987-06-08 JP JP62141490A patent/JPH07120167B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63305405A (ja) | 1988-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6239780B2 (ja) | ||
| JPS623461B2 (ja) | ||
| JPS6212529B2 (ja) | ||
| EP0240606A2 (en) | Pipe-line processing system and microprocessor using the system | |
| JPH07120167B2 (ja) | シ−ケンス制御の処理方法および処理装置 | |
| JP2731047B2 (ja) | プログラムのオペランドチェック方式 | |
| JP3695078B2 (ja) | パルス出力命令を持つプログラマブルコントローラ | |
| JP2000029508A (ja) | プログラマブルコントローラ | |
| JP3130798B2 (ja) | バス転送装置 | |
| JP2883489B2 (ja) | 命令処理装置 | |
| JPH0233173B2 (ja) | ||
| JP2710219B2 (ja) | Dma制御装置 | |
| JPS5842487B2 (ja) | プログラムのロ−デイング方式 | |
| JPS62147545A (ja) | 情報処理装置における転送命令処理方式 | |
| JPH0588893A (ja) | 並列演算処理装置 | |
| JPS6238748B2 (ja) | ||
| JPH01140351A (ja) | データ処理装置 | |
| JPH0426494B2 (ja) | ||
| JPH06295252A (ja) | 計算機 | |
| JPH0738157B2 (ja) | レジスタ選択方式 | |
| JPH08328852A (ja) | プログラマブルコントローラおよびそのレジスタ初期化方法 | |
| JPS6349942A (ja) | 演算処理装置 | |
| JPS61188635A (ja) | マイクロコンピユ−タ | |
| JPS6146562A (ja) | 配列要素の演算処理方式 | |
| JPS62210541A (ja) | レジスタ選択方式 |