JPS62117002A - プログラマブルコントロ−ラの演算方式 - Google Patents
プログラマブルコントロ−ラの演算方式Info
- Publication number
- JPS62117002A JPS62117002A JP25667685A JP25667685A JPS62117002A JP S62117002 A JPS62117002 A JP S62117002A JP 25667685 A JP25667685 A JP 25667685A JP 25667685 A JP25667685 A JP 25667685A JP S62117002 A JPS62117002 A JP S62117002A
- Authority
- JP
- Japan
- Prior art keywords
- operator
- address
- instruction
- bit
- program
- 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
Landscapes
- Programmable Controllers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(発明の技術分野)
この発明は、メインプログラムメモリ及びサブプログラ
ムメモリから生成されるI/Oアドレスにより被制御部
を制御するためのプログラマブルコントa−テの演算方
式に関する。
ムメモリから生成されるI/Oアドレスにより被制御部
を制御するためのプログラマブルコントa−テの演算方
式に関する。
(発明の技術的背景とその問題点)
プログラマブルコントローラ(シーケンス制御装置)は
コンピュータ技術の発展とあいまって、機械制御の加工
1組立、搬送等に広く利用されている。このような制御
に対し、特に近年制御対象が増加する中で@算に要する
実行時間は長くならず、メモリ6厘は少なくといった要
求がでてきている0通常、プログラマブルコントローラ
の命令語は演算の種類を定義する演算コード(OPコー
ド)と、制御対象における[/Oのアドレスを指定する
演算子(LOGコード)とによって構成され、このうち
演算子LOGのビット数によって制御★4象の最大1/
Oアドレス点数が制限される0例えば、演算子部が12
ビツトであれば最大の1/O点数は4086点となる。
コンピュータ技術の発展とあいまって、機械制御の加工
1組立、搬送等に広く利用されている。このような制御
に対し、特に近年制御対象が増加する中で@算に要する
実行時間は長くならず、メモリ6厘は少なくといった要
求がでてきている0通常、プログラマブルコントローラ
の命令語は演算の種類を定義する演算コード(OPコー
ド)と、制御対象における[/Oのアドレスを指定する
演算子(LOGコード)とによって構成され、このうち
演算子LOGのビット数によって制御★4象の最大1/
Oアドレス点数が制限される0例えば、演算子部が12
ビツトであれば最大の1/O点数は4086点となる。
第5図は従来のプログラマブルコントローラの演算方式
を示すブロック図であり、演算を実行する演算側gg1
Mlから出力されるアドレス更新クロう・り信号GKが
プログラノ・カウンタ2に人力されると、プロゲラ1、
カウンタ2はそのクロ・・り信号に応じたアドレス信号
ADをプログラムメモリ3に人力する。このプログラム
メモリ3において、アドレス信号が指定されるとデータ
DDが出力され、演算制御部lから出力されるプログラ
ム読取信号PRに応じて命令レジスタ4にこのデータD
Oが読取られる。そして、命令レジスタ4において演算
コードOPと演算子部LOGとに分けられ、演算コード
OPは演算制御部lに送られる。演算制御部lではこの
び算コートOPに従って演算を実行する一力、演算子部
LIIGが170アドレスとして被制御部(制御対象)
5に送られると、被制iJ1部5において所定の制御か
なされ、演算制御部lとの間でI/Oデータが授受され
て所定の制御が行なわれる。
を示すブロック図であり、演算を実行する演算側gg1
Mlから出力されるアドレス更新クロう・り信号GKが
プログラノ・カウンタ2に人力されると、プロゲラ1、
カウンタ2はそのクロ・・り信号に応じたアドレス信号
ADをプログラムメモリ3に人力する。このプログラム
メモリ3において、アドレス信号が指定されるとデータ
DDが出力され、演算制御部lから出力されるプログラ
ム読取信号PRに応じて命令レジスタ4にこのデータD
Oが読取られる。そして、命令レジスタ4において演算
コードOPと演算子部LOGとに分けられ、演算コード
OPは演算制御部lに送られる。演算制御部lではこの
び算コートOPに従って演算を実行する一力、演算子部
LIIGが170アドレスとして被制御部(制御対象)
5に送られると、被制iJ1部5において所定の制御か
なされ、演算制御部lとの間でI/Oデータが授受され
て所定の制御が行なわれる。
このような従来のプログラマブルコントローラにわいて
、被制御部5の規模が大さく多点数のIloを必要とす
る場合は、演算子を拡張して命令+iaを21.八にす
る方式が一般的にとられている。この34合、1つの命
令を実行するのに2回の命令語の読泡りを必要とするた
め演算実行時間が陵〈なり、また、命令語を格納するプ
ログラムメモリの容にが2倍になってしまうという欠点
があった。
、被制御部5の規模が大さく多点数のIloを必要とす
る場合は、演算子を拡張して命令+iaを21.八にす
る方式が一般的にとられている。この34合、1つの命
令を実行するのに2回の命令語の読泡りを必要とするた
め演算実行時間が陵〈なり、また、命令語を格納するプ
ログラムメモリの容にが2倍になってしまうという欠点
があった。
(発明の1」的)
この発明はE述のような事情からなされたものであり、
この発明の目的は、1/O点数の拡張の1段として命令
語の1悟長を拡張することなく、且つ高速に演算を実行
するプログラマブルコントローラの演算方式を提供する
ことにある。
この発明の目的は、1/O点数の拡張の1段として命令
語の1悟長を拡張することなく、且つ高速に演算を実行
するプログラマブルコントローラの演算方式を提供する
ことにある。
(発明の概要)
この発明は、プログラムが格納されているプログラムメ
モリから呼出される命令レジスタで生成されるI/Oア
ドレスにより、被制御部を制Utするプログラムプルコ
ノトローラの演算方式に関するもので、プログラムメモ
リのうちメインプログラムメモリから呼djされた命令
レジスタの中の演算子コードに対し、サブプログラムメ
モリから呼出されたシフトレジスタでオフセットを加え
ることにより構成されるI/Oアドレスによって、被制
御部を制御するようにしたものである。
モリから呼出される命令レジスタで生成されるI/Oア
ドレスにより、被制御部を制Utするプログラムプルコ
ノトローラの演算方式に関するもので、プログラムメモ
リのうちメインプログラムメモリから呼djされた命令
レジスタの中の演算子コードに対し、サブプログラムメ
モリから呼出されたシフトレジスタでオフセットを加え
ることにより構成されるI/Oアドレスによって、被制
御部を制御するようにしたものである。
(発明の実施例)
第1図はこの発明を実現する装置の一実施例を示すブロ
ック図であり、演算を実行する演算制御部IOから出力
されるアドレス更新クロック信号GKIがメインプログ
ラムカウンタ!3に入力されると、メインプログラムカ
ウンタ13はそのクロック信号に応じたアドレス信号A
DIをメインプログラムメモリ14に人力する。このメ
インプログラムメモリ14において、アドレス^DIが
指定されるとデータロ01が出力され、演算制御部/O
かも出力されるプログラム読取信号PRIに応じて、命
令レジスタ16にこのデータ001が読取られる。そし
て、命令レジスタ16において演算コートOPと演r1
/一部[、OCとに分けられ、演算コードOPは演算制
御部/Oに送られてこの演算コートOPに従ってrA算
を実行し、rA算了部LOGはI/Oアドレスバ2・フ
ァ18に送られる。また 更新クロック信号CKIがn
進カウンタ11により1/nされてからサブプログラム
カウンタ12に入力されると、サブプログラムカウンタ
12はそのグロック信号に応じたアドレス信号AD2を
ナププログラムメモリ15に人力する。このサブプログ
ラムメモリ15において、アドレスAD2が指定される
とデータロロ2が出力され、演算制御部/Oから出力さ
れるプログラム読取信号PR2に応じてnビットシフト
レジスタ17にこのデータ002が読取られる。このn
ビ・ノトシフトレシスタ17はアドレス更新クロックG
KIが入力されるとデータがシフトされ、演算子オフセ
ラ)BTがI/Oアドレス八ツフ718の下位ビットl
ニセットされ、前述の11Ii+算Y部LOCと」(に
I/Qアドレスパンフtから出力され、I/Oアドレス
として波制jl11部(制」対象)5に送られると被制
御部5では所定の制御がなされ、Q:jrJiし制御部
/Oとの間でI/Oデータが授受されて所定の制御が行
なわれる。
ック図であり、演算を実行する演算制御部IOから出力
されるアドレス更新クロック信号GKIがメインプログ
ラムカウンタ!3に入力されると、メインプログラムカ
ウンタ13はそのクロック信号に応じたアドレス信号A
DIをメインプログラムメモリ14に人力する。このメ
インプログラムメモリ14において、アドレス^DIが
指定されるとデータロ01が出力され、演算制御部/O
かも出力されるプログラム読取信号PRIに応じて、命
令レジスタ16にこのデータ001が読取られる。そし
て、命令レジスタ16において演算コートOPと演r1
/一部[、OCとに分けられ、演算コードOPは演算制
御部/Oに送られてこの演算コートOPに従ってrA算
を実行し、rA算了部LOGはI/Oアドレスバ2・フ
ァ18に送られる。また 更新クロック信号CKIがn
進カウンタ11により1/nされてからサブプログラム
カウンタ12に入力されると、サブプログラムカウンタ
12はそのグロック信号に応じたアドレス信号AD2を
ナププログラムメモリ15に人力する。このサブプログ
ラムメモリ15において、アドレスAD2が指定される
とデータロロ2が出力され、演算制御部/Oから出力さ
れるプログラム読取信号PR2に応じてnビットシフト
レジスタ17にこのデータ002が読取られる。このn
ビ・ノトシフトレシスタ17はアドレス更新クロックG
KIが入力されるとデータがシフトされ、演算子オフセ
ラ)BTがI/Oアドレス八ツフ718の下位ビットl
ニセットされ、前述の11Ii+算Y部LOCと」(に
I/Qアドレスパンフtから出力され、I/Oアドレス
として波制jl11部(制」対象)5に送られると被制
御部5では所定の制御がなされ、Q:jrJiし制御部
/Oとの間でI/Oデータが授受されて所定の制御が行
なわれる。
第2図はこの発明による命令語の構成を示すもので、メ
インプログラムメモリ14のデータ001を読取る命令
レジスタ16は、演算の種類を定義する演算コードOP
とT/Oアドレスを指定する演算子LOGとから成り、
nビットシフトレジスタ17は91子オフセツトLOC
OFSTから成る。そして、!/Oアドレスバッファ1
8はその上位ビットを演算子LOGとし、下位の1ビツ
トは演算子オフセラ) LOGOFS丁のうちシフトさ
れる上位1ビツトLOCOFST lにより構成される
。つまり、被M制御部を制御するT/Oアドレスは、演
算子LOGに決算子オフセフ) LOGOFSTIが加
えられたものとなり、I/Oアドレス点数が2倍に拡張
されたことを示している。
インプログラムメモリ14のデータ001を読取る命令
レジスタ16は、演算の種類を定義する演算コードOP
とT/Oアドレスを指定する演算子LOGとから成り、
nビットシフトレジスタ17は91子オフセツトLOC
OFSTから成る。そして、!/Oアドレスバッファ1
8はその上位ビットを演算子LOGとし、下位の1ビツ
トは演算子オフセラ) LOGOFS丁のうちシフトさ
れる上位1ビツトLOCOFST lにより構成される
。つまり、被M制御部を制御するT/Oアドレスは、演
算子LOGに決算子オフセフ) LOGOFSTIが加
えられたものとなり、I/Oアドレス点数が2倍に拡張
されたことを示している。
第3図(^)、(B)はメインプログラム及びサブプロ
グラムメモリの構成を示しており、双方のプログラムメ
モリ共に1語はnビットItであり、メインプログラム
のメモリ容量をn語とした場合について示すもので、こ
の場合のサブプログラムメモリのメモリ容量はN/r+
+Jになる。
グラムメモリの構成を示しており、双方のプログラムメ
モリ共に1語はnビットItであり、メインプログラム
のメモリ容量をn語とした場合について示すもので、こ
の場合のサブプログラムメモリのメモリ容量はN/r+
+Jになる。
つまり、メインプログラムメモリのl If/iについ
てサブプログラムメモリが順々にシフトして行き、1ビ
ツトずつ加えられるようになっている。
てサブプログラムメモリが順々にシフトして行き、1ビ
ツトずつ加えられるようになっている。
以上のような構成において、その動作を第4図を参照し
て説明する。
て説明する。
まず、メインプログラムカウンタ13及びサブプログラ
ムカウンタ12の内容を初期化(ステップSl) した
後、サブプログラムメモリI5から演n子オフセy)デ
ータ002を読取ってnビットシフトレジスタに並列に
セットする(ステップ52)0次に、メインプログラム
メモリ!4からデータ001を読取り(ステップS3)
、演算コードOP及び演算子LOCt−命令レジスタ1
6にセットする。この命令レジスタIBのうち演算コー
ドOPは演算制御部lOに送られ、演算子LOGはnビ
ットシフトレジスタ17の演算子オフセットの上位1ビ
ツトと共に、T/Oアドレス八−/7ア18にセットさ
れてT/Oアドレスを生成して演算を実行する(ステッ
プ54)0次に、メインプログラムカウンタ13を更新
すると同時にnビットシフトレジスタ17を1ビツトシ
フトしくステップS5)。
ムカウンタ12の内容を初期化(ステップSl) した
後、サブプログラムメモリI5から演n子オフセy)デ
ータ002を読取ってnビットシフトレジスタに並列に
セットする(ステップ52)0次に、メインプログラム
メモリ!4からデータ001を読取り(ステップS3)
、演算コードOP及び演算子LOCt−命令レジスタ1
6にセットする。この命令レジスタIBのうち演算コー
ドOPは演算制御部lOに送られ、演算子LOGはnビ
ットシフトレジスタ17の演算子オフセットの上位1ビ
ツトと共に、T/Oアドレス八−/7ア18にセットさ
れてT/Oアドレスを生成して演算を実行する(ステッ
プ54)0次に、メインプログラムカウンタ13を更新
すると同時にnビットシフトレジスタ17を1ビツトシ
フトしくステップS5)。
nilカウンタl1t−l″だけカウントする。このス
テップ83〜ステツプS5までがn回緑返されて実行さ
れると、n語の命令語を実行することになり、サブプロ
グラムカウンタ12は“l”だけ進む、この時、nビッ
トシフトレジスタはn回シフトしているから、既に有効
なデータではなくなっている。そこで、再度サブプログ
ラムメモリ15から演算子オフセットデータロロ2を読
取り(ステップS7) 、 nビットシフトレジスタ
17にセットする。これをN回繰返す(ステップS8)
ことにより、プログラム実行は終Tするこのプログラム
実行においてT/Oアドレスの点数をみると、nビット
長の命令語に対し、n回に1回の演算子オフセットデー
タ002の読取リサイクルを挿入しているので、(r+
+I)ビット長の命令Mを実行したことと等価になり、
従ってT/Oアドレスの点数は2倍に拡張できたことに
なる。つまり、従来の方法によれば、被制御部が大きく
T/Oアドレスを増す必要がある場合には、命令語を2
語にすることにより対処していたため、僅かなT/Oア
ドレスの不足の場合にも演算時間が大幅に長くなったり
、この命令語を格納するプログラムメモリの6晴が2倍
になるなど無駄が大きかったが、この発明では必要に応
じT/Oアドレスの点数を増すことができるのである。
テップ83〜ステツプS5までがn回緑返されて実行さ
れると、n語の命令語を実行することになり、サブプロ
グラムカウンタ12は“l”だけ進む、この時、nビッ
トシフトレジスタはn回シフトしているから、既に有効
なデータではなくなっている。そこで、再度サブプログ
ラムメモリ15から演算子オフセットデータロロ2を読
取り(ステップS7) 、 nビットシフトレジスタ
17にセットする。これをN回繰返す(ステップS8)
ことにより、プログラム実行は終Tするこのプログラム
実行においてT/Oアドレスの点数をみると、nビット
長の命令語に対し、n回に1回の演算子オフセットデー
タ002の読取リサイクルを挿入しているので、(r+
+I)ビット長の命令Mを実行したことと等価になり、
従ってT/Oアドレスの点数は2倍に拡張できたことに
なる。つまり、従来の方法によれば、被制御部が大きく
T/Oアドレスを増す必要がある場合には、命令語を2
語にすることにより対処していたため、僅かなT/Oア
ドレスの不足の場合にも演算時間が大幅に長くなったり
、この命令語を格納するプログラムメモリの6晴が2倍
になるなど無駄が大きかったが、この発明では必要に応
じT/Oアドレスの点数を増すことができるのである。
なお、ここでは演算子オフセットを1ビツトとして説明
したが、複数ビットとすることにより、ある程度必要な
T/Oアドレスの点数を増すことが可能である。
したが、複数ビットとすることにより、ある程度必要な
T/Oアドレスの点数を増すことが可能である。
(発明の効果)
以上のようにこの発明によれば、命令1f/lを格納す
るプログラムメモリを2つ持つことにより命令語の1;
/i長を拡張することなく、制御対象の大きさに応じて
最小限のメモリ容2−でI/Oアドレス点数の拡張かり
能になり、 11つ高速の演算処理かで′きるので極め
て効率のよい演算方式を提供できる。
るプログラムメモリを2つ持つことにより命令語の1;
/i長を拡張することなく、制御対象の大きさに応じて
最小限のメモリ容2−でI/Oアドレス点数の拡張かり
能になり、 11つ高速の演算処理かで′きるので極め
て効率のよい演算方式を提供できる。
第1図はこの発明を実現する装置の一実施例を示すブロ
ック図、第2図はこの発明のI/Oアドレスのビット構
成の一例を示す図、第3図(A)、(B)はこの発明の
プログラムメモリの一例を示す図、第4図はこの発明の
動作例を示すフローチャート、第5図は従来例を示すブ
ロック図である。 1./O・・・演算制御部、 2,12.13・・・プ
ログラムカウンタ、3.14.+5・・・プログラムメ
モリ、4,16・・・命令レジスタ、5・・・被制御部
、11・・・n進カウンタ、17・・・nビットシフト
レジスタ、18・・・I/Oアドレスバッファ。 出願人代理人 安 形 雄 三 第 4 図 メインアロγラムメモリ nごツL (A) 第 3 サブア07ラムメt−J nピット (B) 間
ック図、第2図はこの発明のI/Oアドレスのビット構
成の一例を示す図、第3図(A)、(B)はこの発明の
プログラムメモリの一例を示す図、第4図はこの発明の
動作例を示すフローチャート、第5図は従来例を示すブ
ロック図である。 1./O・・・演算制御部、 2,12.13・・・プ
ログラムカウンタ、3.14.+5・・・プログラムメ
モリ、4,16・・・命令レジスタ、5・・・被制御部
、11・・・n進カウンタ、17・・・nビットシフト
レジスタ、18・・・I/Oアドレスバッファ。 出願人代理人 安 形 雄 三 第 4 図 メインアロγラムメモリ nごツL (A) 第 3 サブア07ラムメt−J nピット (B) 間
Claims (1)
- プログラムが格納されているプログラムメモリから呼出
される命令レジスタで生成されるI/Oアドレスにより
、被制御部を制御するプログラマブルコントローラの演
算方式において、前記プログラムメモリのうちメインプ
ログラムメモリから呼出された命令レジスタの中の演算
子コードに対し、サブプログラムメモリから呼出された
シフトレジスタでオフセットを加えることにより構成さ
れるI/Oアドレスで前記被制御部を制御するようにし
たことを特徴とするプログラマブコントローラの演算方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25667685A JPS62117002A (ja) | 1985-11-18 | 1985-11-18 | プログラマブルコントロ−ラの演算方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25667685A JPS62117002A (ja) | 1985-11-18 | 1985-11-18 | プログラマブルコントロ−ラの演算方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62117002A true JPS62117002A (ja) | 1987-05-28 |
Family
ID=17295918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25667685A Pending JPS62117002A (ja) | 1985-11-18 | 1985-11-18 | プログラマブルコントロ−ラの演算方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62117002A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260322A (zh) * | 2014-06-30 | 2016-01-20 | 中兴通讯股份有限公司 | 一种对循环缓冲区消除循环移位的方法和装置 |
-
1985
- 1985-11-18 JP JP25667685A patent/JPS62117002A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260322A (zh) * | 2014-06-30 | 2016-01-20 | 中兴通讯股份有限公司 | 一种对循环缓冲区消除循环移位的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4181942A (en) | Program branching method and apparatus | |
US4037213A (en) | Data processor using a four section instruction format for control of multi-operation functions by a single instruction | |
JPS62117002A (ja) | プログラマブルコントロ−ラの演算方式 | |
JPH0628499A (ja) | データ駆動型情報処理装置 | |
US5875323A (en) | Processor using implicit register addressing | |
JPH06103225A (ja) | チェーン式dma方式及びそのためのdmaコントローラ | |
JPH0560629B2 (ja) | ||
JPS6148174B2 (ja) | ||
JPH0831033B2 (ja) | データ処理装置 | |
JPH0612253A (ja) | マイクロコンピュータ | |
JPH0514359B2 (ja) | ||
JPS6378235A (ja) | マイクロコンピユ−タ | |
JPH01295347A (ja) | マイクロコンピュータ装置 | |
JP2512994B2 (ja) | ベクトルレジスタ | |
JP3221003B2 (ja) | 入出力ポート | |
JPH0135376B2 (ja) | ||
JP2000029508A (ja) | プログラマブルコントローラ | |
JP2973578B2 (ja) | ビット演算処理装置 | |
JPH03129429A (ja) | マイクロプログラム制御装置 | |
JPH0266667A (ja) | 並列処理演算器 | |
JPH038016A (ja) | ラッチデータビット操作回路 | |
JPH02121191A (ja) | 半導体記憶装置 | |
JPS6398735A (ja) | マイクロ制御装置 | |
JPH03257572A (ja) | マルチプロセッサシステム | |
JPS63305405A (ja) | シ−ケンス制御の処理方法および処理装置 |