JPH03141401A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ

Info

Publication number
JPH03141401A
JPH03141401A JP27857289A JP27857289A JPH03141401A JP H03141401 A JPH03141401 A JP H03141401A JP 27857289 A JP27857289 A JP 27857289A JP 27857289 A JP27857289 A JP 27857289A JP H03141401 A JPH03141401 A JP H03141401A
Authority
JP
Japan
Prior art keywords
instruction
data
memory
bit
read
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
Application number
JP27857289A
Other languages
English (en)
Inventor
Koji Koizumi
小泉 浩治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP27857289A priority Critical patent/JPH03141401A/ja
Publication of JPH03141401A publication Critical patent/JPH03141401A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ピットシーケンス命令(プログラム命令)の
うち、コイル命令を高速に、実行することが可能なプロ
グラマブルコントローラに関する。
[従来の技術] プログラマブルコントローラでは、一般に、ピットシー
ケンス命令を次のように処理する。
(1)プログラムメモリから、ユーザの記述した命令を
読出す。
(2)読出した命令で指定されるデータメモリから演算
の対象となるデータを読出す。
(3)読出した命令を解読し、それに基づく指定の演算
を行い、その結果をピットアキュムレータに格納する。
従来この種のコントローラでは上記(1)、(2)、(
3)のステップを順次処理しており、このため1つのピ
ットシーケンス命令の演算処理には必ず(1)→(2)
→(3)のステップを要し、多数のピットシーケンス命
令を順次実行する場合には、演算の高速化という点で問
題が生じていた。
この問題を解決するための従来装置として次のようなも
のが知られている。
命令を記憶するプログラムメモリと、データを記憶する
データメモリを分離・独立したバス構成にすることによ
り、(1)現在、実行すべぎ命令で指示されるデータメ
モリからのデータの読出し・演算サイクルと、(2)次
の命令の先読みサイクルとを並行して処理する、いわゆ
るパイプライン処理を行なう。
ピットシーケンス命令は、接点命令とコイル命令に大別
される。接点命令はデータメモリから人力情報(接点情
報)を読出す命令である。コイル命令はデータメモリか
ら現在の記憶情報を読出し、その記憶内容を演算結果に
修正記憶する命令である。上述の如きパイプライン処理
では、演算すべきデータの読出しのみで書込みが不要な
接点命令に関しては命令の読出しとデータの読出しとを
1クロツクサイクルで並行して実行できるため、連続し
て1クロツクサイクル毎に演算結果を出すことが可能で
ある。しかしながらコイル命令のように、データのリー
ド・モディファイ・ライトの操作、即ち、データメモリ
からワード単位でデータを読出しした後、指定の1ビツ
トだけ修正して再度同一アドレスにワード単位で書込む
操作が必要な場合には、データ操作に2クロツクサイク
ルを要していた。
[発明が解決しようとする課題] 従来装置においては、コイル命令に関しては全て無条件
に2クロツクサイクルで演算を処理するようにしていた
ため、コイル命令がプログラム中に多数存在する場合に
は、演算処理に時間がかかるという不具合が従来装置に
は有った。
そこで本発明の目的は、上述の点に鑑みて、コイル命令
の実行処理時間を短縮することが可能なプログラマブル
コントローラを提供することにある。
[課題を解決するための手段〕 このような目的を達成するために、本発明は、プログラ
ム命令に基き、データメモリに格納されたデータを読出
し、当該読出されたデータに対する演算処理を行ない、
前記データメモリの格納データを前記演算処理の結果に
書き換えるプログラマブルコントローラにおいて、前記
読出されたデータを記憶する記憶手段と、該記憶手段に
記憶されたデータと前記演算処理の結果とが一致するか
否かを比較判定する比較手段と、該比較手段の一致信号
に応じて当該演算処理の結果の書き換えを禁止して次の
プログラム命令の実行を指示する指示手段とを具えたこ
とを特徴とする。
[作 用] 本発明は、本来、プログラム命令の実行時の演算結果と
、データメモリに記憶されているデータが等しければ即
ち、データの状態変化がなければプログラム命令の中の
データの書換え指示を実行する必要は無いことに着目し
ている。このため、比較手段の一致信号に応じて指示手
段が次のプログラム命令の実行を指示するので、データ
の書き換え処理は行なわれず、1クロツクサイクルでこ
のプログラム命令を処理することができる。
[実施例] 以下、図面を参照して本発明の実施例を詳細に説明する
第1図は本発明実施例のプログラマブルコントローラの
回路構成を示す。
プログラマブルコントローラは、コントローラの処理内
容を記述したプログラムを格納・記t、!!するプログ
ラムメモリ1、演算の対象となるデータまたは、演算結
果を格納・記憶するデータメモリ2、及び演算を実行す
るプロセッサ3によりイ1育成される。
以下、プロセッサ3の構成について述べる。
4はプログラムカウンタであり、プログラムメモリ1の
読出しアドレス、すなわち、次に実行すべき命令位置の
アドレスを生成する。通常は1命令の読出しの終了毎に
内容が更新される。更新は後述する制御回路6から発信
される更新許可信号に応じてなされる。
5は命令レジスタで、プログラムメモリ1から読出した
命令を保持する。この記憶内容に応じて命令が実行され
る。通常は前記プログラムカウンタ4の内容更新と同一
のタイミングで保持内容(命令)が更新される。命令レ
ジスタは図示の如く2つあり、第1の命令レジスタ5a
は、接点命令を1クロックサイクル期間中、保持し、コ
イル命令を2クロックサイクル期間中、保持する。第2
の命令レジスタ5bは、全ての命令を1クロックサイク
ル期間中、保持する。
第1の命令レジスタ5aは、セレクタ14aの情報選択
によって第2の命令レジスタ5bの保持内容を必要に応
じて転写することができる。命令レジスタに保持されて
いる命令のフォーマットは第2図に示すように、命令の
種類を示す命令コート部0P、ワードデータ内のビット
位置情報B^及び演算対象データが格納されているデー
タメモリ2に対するワードアドレスWAから構成されて
いる。2つの命令レジスタのいずれか一方の命令を実行
するために、各部にはセレクタ14bで選択された命令
が供給される。尚、図示していないがセレクタ14への
切換指示は制御回路6により与えられる。
制御回路6は、命令の命令コード部OPを解読し、命令
実行に必要な制御信号を各部へ供給する。
7はメモリデータレジスタであり、データメモリの所定
のアドレス、即ち、命令のワードアドレス部WAで示さ
れるアドレスから読出したワードデータを保持する。
8はマルチプレクサで、メモリデータレジスタ7にデー
タが取出されるときにそのデータ中の指定の1ビツトを
命令のビット位置情報BAに従って選択するものである
9は、マルチプレクサ8から送られる指定ビットと、ビ
ットアキュムレータlOに保持されているビット演算結
果との論理演算を行うビット演算ロジック回路であり、
演算の種類は命令の命令コード部OPで与えられる。こ
のロジックでのビット演算結果は、ピットアキュムレー
タlOにセットされる。
11はコイル命令用ロジックである。詳細は後述するが
、命令レジスタ5から与えられる命令がコイル命令(ピ
ットアキュムレータlOにセットされている演算結果を
データメモリ2の指定位置に書込む命令)の時に、メモ
リデータレジスタ7から転送されるワードデータの指定
ビットにピットアキュムレータ10の内容を反映する。
(第5図参照) 12はスタックメモリで、ピットアキュムレータlOの
内容を一時退避する場合に用いられる。
13は、クロックゼネレータであり、プロセッサ3を構
成するレジスタ、カウンタ類はこのクロックに同期して
動作する。
14はデータを切換えるためのセレクタである。
次に、第3図に示すリレーシーケンス中の、R1001
,八1002.W400G、R1003,W4001.
R1004,・・・とし)うプログラム命令を例にとり
、第4図のタイムチャートに基づき本実施例の動作説明
を行う。
まず、各命令の機能を以下に示す。
R1001は、データメモリ2のアドレス100番地の
ワードデータを読出し、このデータのビット位置1のビ
ット情報(ON10FF情報)をマルチプレクサ8、ビ
ット演算ロジック9を介してピットアキュムレータ10
にセットすることを指示するリード命令(R命令)であ
る。リード命令は接点命令に分類される。
A1002は、データメモリ2のアドレス100番地の
ワードデータを読出し、このデータのビット位置2のビ
ット情報(ON10FF情報)と、先にピットアキュム
レータ10にセットされているビット情報との論理積(
AND)をとり、その結果をピットアキュムレータ10
にセットすることを指示するアンド命令で、接点命令に
分類される。
W4000はピットアキュムレータ1oにセットされて
いる演算結果を、データメモリ2のアドレス400番地
のビット位置0に書込むライト命令で、コイル命令に分
類される。
ビットシーケンス命令は、接点命令とコイル命令に大別
されることは既に述べたが、接点命令の処理は、 (1)プログラムメモリ1から命令を読出す。
(2)読出した命令で指示されるデータメモリ2のアド
レス位置からワードデータを読出すと共に、所定のビッ
ト演算を実行し、その結果をビットアキエムレータ10
にセットする。
という2つのステップを実行するものである。
これは第4図に示すように、例えばT1のサイクルの時
刻toにおいて、プロセッサ3は、R命令を読出すため
にプログラムカウンタ4に保持したアドレス情報をプロ
グラムメモリ1に供給する。
プログラムメモリlは、このアドレス情報で示されるメ
モリ位置に記憶している命令をデータバスPGに出力す
る。このデータ(メモリから読出した命令)は時刻tl
において確定する(プログラムメモリ1のアクセスタイ
ム後確定するということ)。プロセッサ3は、時刻t2
において命令レジスタ5a、5bにこのデータを保持す
る。同時刻に、プログラムカウンタ4の計数値は、次の
命令を先読みするために制御回路6の指示により更新さ
れる。
引続き、T2のサイクルの先頭で命令レジスタ5aまた
は5bに保持された命令のいずれか一方が制御回路6で
判断されセレクタ14bを介して各部へ供給される。デ
ータメモリ2には、命令のワードアドレス部WA(本例
では100番地)が供給される。
また、命令の命令コード部OPは制御回路6とビット演
算ロジック回路9に、ビット位置情報HAはマルチプレ
クサ8とコイル命令用ロジック回路11にそれぞれ供給
され、ビット演算が実行できる状態になる。
データメモリ2は、前記アドレスW^にて示されるメモ
リ位置に記憶しているワードデータをデータバス00に
出力する。このデータは時刻t、において確定し、(デ
ータメモリ2のアクセスタイム後確定するということ)
プロセッサ3のメモリデータレジスタフとマルチプレク
サ8に供給される。
マルチプレクサ8は、ワードデータ中からビット位置選
択情報B^で示される1ビツト(本例ではビットN00
1のデータ)゛を選択し、ビット演算ロジック回路9に
転送する。
ビット演算ロジック回路9は、命令コード部OPマ指示
されるビット演算を前記転送された1ビツトとビットア
キュムレータ10との間で実行し、この実行結果をビッ
トアキエムレータlOに転送する。R命令でのビット演
算は、単にマルチプレクサ8から転送されたデータをそ
のまま、ビットアキュムレータに転送するだけである。
時刻t4において、上記ビット演算結果はビットアキエ
ムレータlOにセットされる。同時刻に前述のワードデ
ータがメモリデータレジスタ7に保持、されるが、W命
令時以外はすてられる。
R100Iという命令は以上のようにT1.T?!の2
クロツクサイクルで処理が完了する。尚、T2のサイク
ルでは、プログラムメモリ1とデータメモリ2のバス(
アドレス、データ、コントローラの各la)が分離・独
立しているので、R100I命令の演算と並行して次の
命令A1002の先読みが行われる。従って接点命令に
関しては、1クロツクサイクル毎に命令レジスタ5が更
新され、演算結果も1クロツクサイクル毎に出ることに
なる。
T3のサイクルも同様であり、^1002命令の演算と
W4000命令の先読みが並行して行われる。
以上の通り、多数の接点命令が順次処理される場合には
、1つの命令に着目すると2クロツクサイクルで処理さ
れるが、命令先読みと、データ読取り・演算が同時並行
に行われるため、1命令の処理時間は1クロツクサイク
ルで完了するものと見なせる。
次に本発明に関わるW4000命令の動作説明を行う。
命令の機能は前述の如くであるが、この動作には、第4
図のように2通りある。
(1) T4とT5のサイクルのように、2クロックサ
イクル要し、演算を行う。
(2)T7のサイクルのように、1クロックサイクルで
演算を終了する。
従来は、上記(1)のみの動作であったが、本発明では
命令で取扱うデータ値によっては(2)の動作をも可能
とする。
W4000命令は、ビットアキュムレータlOにセット
されている演算結果を、データメモリ2のアドレス40
0番地のビット位置0に書込むものであるが、ピットア
キュムレータlOの内容とデータメモリ2の内容が一致
していれば、修正データを書込む必要が無いことに着目
したもので、上記2つのデータが一致しているかどうか
の比較をして、不一致なら上記(1)の動作で書込み処
理を行い、致していれば(2)の動作で書込み処理は行
わず、次の命令(第3図、第4図の例ではR1004命
令)の演算に8行する。
以下に、本発明による上記(1)及び(2)の動作につ
いて第4図に基づき詳細に説明する。
まず、(1)の場合であるが、T3のサイクルで先読み
されたW4000命令は時刻t3で命令レジスタ5に取
込まれる。T4のサイクルの先頭で、プロセッサ3は、
比較すべきデータが格納されているデータメモリ2から
データを読取るために、接点命令の処理と同様に命令の
ワードアドレス部WA(本例では400番地)を供給し
、これに対して確定したワードデータ(時i+Jta)
を時刻t7でメモリデータレジスタ7に取込む。したが
ってメモリデータレジスタ7が記憶手段として動作する
またこのワードデータ中の指定の1ビツトがマルチプレ
クサ8で選択されビット演算ロジック回路9に転送され
る。ビット演算ロジック回路9は、転送データとピット
アキュムレータ10にセットされている演算結果とが等
しいかどうか比較し、その結果を時刻t7においてビッ
ト演算ロジック回路9の内部のフリップフロップにセッ
トする。したがってビット演算ロジック回路9が比較手
段として動作する。
フリップフロップの出力(第4図の一致信号EQU)は
、制御回路6とコイル命令用ロジック回路11とに供給
される。またT4のサイクルでは次の命令R1003の
先読みが並行して行われ、時刻t7で第2の命令レジス
タ5bに保持される。第1の命令レジスタ5aは変化せ
ずW4000命令を保持したままになっている。
従って、 T5のサイクルにおいて命令レジスタ5aと
5bの保持する命令は異なる。これは前記比較結果(E
QU)に応じていずれの命令でも実行できるようにする
ためである。第4図のT5サイクルは、比較した結果が
不一致(EQU”Low)である場合を示している。制
御回路6は、T5サイクルでは、不一致のためW400
0命令を実行するようセレクタ14bを第1の命令レジ
スタ5a側に切換える。
また、コイル命令用ロジック回路11は、制御回路6の
指示により、メモリデータレジスタフに保持されたワー
ドデータに対して第5図(A)、(B)のような1ビッ
ト書換え処理(モディファイ)を行い、この結果をデー
タメモリに供給する。このデータは、時刻t6において
データメモリ2に書込まれる。またT5のサイクルでは
、次の命令が既に第2の命令レジスタ5bに保持されて
いるので、命令の先読みをする必要が無く、プログラム
メモリ側のバスは混信しない。
時刻t6において、第2の命令レジスタ5bの内容はセ
レクタ14aを通して第1の命令レジスタ5aに転写さ
れる。
次に前述(2)の場合の動作について説明する。
T7のサイクルにおける動作は、T4サイクルと同様に
つき説明は省略するが、時刻t9においてデータメモリ
2の該当ビットとピットアキュムレータlOとの比較結
果がビット演算ロジック回路9の内部フリップフロップ
にセットされる。T8のサイクルは比較結果が一致(E
QII〜High)している場合を示している。制御回
路6は、1ビット書換えは不要と判断しW4001命令
の演算を切捨てるためセレクタ14bを第2の命令レジ
スタ5b側に切換える。これによってT8のサイクルは
次の命令旧004の演算を実行することになる。っまり
W4001命令は1クロツクサイクルで完了することに
なる。したがって制御回路6が指示手段として動作する
[発明の効果】 本発明によれば、演算結果と該当データメモリの読出し
データが一致している場合には、プログラム命令の処理
を途中で切捨てて次の命令の処理に6行するので、この
プログラム命令を多数処理する場合はど処理時間を短縮
することができる。
例えば、ピットシーケンス命令が10,000ステツプ
あり、コイル命令の出現頻度を20%、コイル命令での
状態変化率を20%と仮定すると、(1)従来方式での
コイル命令実行うロック数は、10,0OOX O,2
X 2 = 4,000クロツク(2)本発明によるコ
イル命令実行うロック数は、10,000xQ、2 x
 (0,2x2 +0.8 x1)=2.400クロツ
ク となり、(1) −(2) =1,600クロツクとい
う大幅な時間を削減することができる。
【図面の簡単な説明】
第1図は本発明実施例の回路構成を示すプロツ第2図は
本発明実施例のピットシーケンス命令のフォーマットを
示す説明図、 第3図は本発明実施例のりレージ−ケンスを示すラダー
図、 第4図は第3図のりレージ−ケンスを処理する場合の処
理タイミングを示すタイミングチャート、 第5図(A)、(B)は本発明実施例においてコイル命
令用ロジックの1ビツトを書換えた状態を示す説明図で
ある。 1・・・プログラムメモリ、 2・・・データメモリ、 5・・・命令レジスタ、 6・・・制御回路、 9・・・ピット演算ロジック、 lG・・・ピットアキュムレータ、 14・・・セレクタ。 り図、 水先日月実施イタllyシーγシス命令のフォーマ・ソ
トを庁\す言延B月図第 2図 本発明実施イ列のリレーシ ケンスを示すラタ゛−図 第3図 本発朗実り恒例の害と膿九処理の内容を尽す説明図用 5図

Claims (1)

  1. 【特許請求の範囲】 1)プログラム命令に基き、データメモリに格納された
    データを読出し、当該読出されたデータに対する演算処
    理を行ない、前記データメモリの格納データを前記演算
    処理の結果に書き換えるプログラマブルコントローラに
    おいて、 前記読出されたデータを記憶する記憶手段と、該記憶手
    段に記憶されたデータと前記演算処理の結果とが一致す
    るか否かを比較判定する比較手段と、 該比較手段の一致信号に応じて当該演算処理の結果の書
    き換えを禁止して次のプログラム命令の実行を指示する
    指示手段と を具えたことを特徴とするプログラマブルコントローラ
JP27857289A 1989-10-27 1989-10-27 プログラマブルコントローラ Pending JPH03141401A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27857289A JPH03141401A (ja) 1989-10-27 1989-10-27 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27857289A JPH03141401A (ja) 1989-10-27 1989-10-27 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH03141401A true JPH03141401A (ja) 1991-06-17

Family

ID=17599135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27857289A Pending JPH03141401A (ja) 1989-10-27 1989-10-27 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH03141401A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4962876A (ja) * 1972-10-16 1974-06-18

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4962876A (ja) * 1972-10-16 1974-06-18

Similar Documents

Publication Publication Date Title
KR900003591B1 (ko) 데이터 처리장치
JPS6028015B2 (ja) 情報処理装置
JPS63291134A (ja) 論理集積回路
US5542079A (en) Data driven processor for reading data from storage to apply prescribed operation in response to operation updating instruction and updating the contents of the storage
JPH03141401A (ja) プログラマブルコントローラ
US8200943B2 (en) Microprocessor
JP3696625B2 (ja) データ駆動型情報処理装置
JP3055139B2 (ja) マイクロプログラム制御方式
JPH0272430A (ja) 演算処理装置
JPWO2000073863A1 (ja) プログラマブルコントローラ
JPH0224721A (ja) プログラム制御装置
JPH0158522B2 (ja)
JP4037941B2 (ja) 制御装置
JPS63249206A (ja) プログラマブルコントロ−ラ
JPS60186936A (ja) プログラマブルコントロ−ラ
JP3190945B2 (ja) マイクロプログラム制御回路
JPH0756886A (ja) ペトリネットに基づく並列制御システム
JP2000029508A (ja) プログラマブルコントローラ
JPH08297583A (ja) 割り込み処理装置およびその方法
JP2573391B2 (ja) プログラマブルコントローラ
JP2002014807A (ja) マイクロプロセッサ
JPH02178837A (ja) マイクロプログラムの調速方式
JPS5875250A (ja) デジタル情報処理装置
JP2000242524A (ja) プロセッサのソフトウエアシミュレータ
JPS6028014B2 (ja) マイクロプロセツサ