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

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

Info

Publication number
JPH07319692A
JPH07319692A JP11063194A JP11063194A JPH07319692A JP H07319692 A JPH07319692 A JP H07319692A JP 11063194 A JP11063194 A JP 11063194A JP 11063194 A JP11063194 A JP 11063194A JP H07319692 A JPH07319692 A JP H07319692A
Authority
JP
Japan
Prior art keywords
instruction
address
data
stored
programmable controller
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
JP11063194A
Other languages
English (en)
Inventor
Hideyuki Odaka
秀之 小高
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 JP11063194A priority Critical patent/JPH07319692A/ja
Publication of JPH07319692A publication Critical patent/JPH07319692A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【目的】第1種命令と第2種命令とからなるシーケンス
制御プログラムの第1種、第2種命令のそれぞれを、第
1制御演算手段と第2制御演算手段とによって処理する
形式のプログラマブルコントローラの実行速度を上げ
る。 【構成】データ入力手段としてのバスドライバ22と分配
回路40、データ出力回路としてのバスドライバ21と選択
回路30、レジスタRA,RB 、先頭番地生成回路IA、ビット
プロセッサ(BP)21とからなるBPU120 を第1制御
演算手段として使用し、BP21はシーケンス制御命令を
入力すると第1種命令と第2種命令に区分し、第2種命
令の場合は、この命令に含まれる情報から先頭番地生成
回路IA内のメモリを検索して第2種命令の実行プログラ
ムを格納するプログラムの先頭番地を得、レジスタRA,R
B にオペランドをシーケンス制御プログラムから読み出
して格納後、制御を第2制御演算手段に渡して第2種命
令を実行させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、主としてビットと単位
の演算処理を行う第1の制御演算手段(以下の説明では
BPUの略語を使う)と、汎用のデータ処理を行う第2
の制御演算手段(以下の説明ではCPUの略語を使う)
とによってシーケンス制御命令を実行するプログラマブ
ルコントローラに関する。
【0002】
【従来の技術】プログラマブルコントローラは一般に制
御演算手段を有し、プログラマブルコントローラによる
シーケンス制御は、この制御演算手段がシーケンス制御
の内容を現すプログラムを実行することによって行われ
る。シーケンス制御は自動扉の前に人が検出されたこと
を条件に扉を開くといった条件制御や、扉を開き人の通
過後に閉じるといった順序制御が大部分を占め、これら
の制御は論理演算などのビット単位のデータ処理を主と
する制御である。従って、プログラマブルコントローラ
を構成する制御演算手段が1個の場合は、この制御演算
手段が実行するプログラムの大部分がアンド、オア、ノ
ットなどの論理演算命令やビット単位のデータ転送など
のビット単位の処理(以下の説明ではビットデータ処理
と略記する)であるといえる。ところが制御演算手段の
発達にともないプログラマブルコントローラは単に条件
制御や順序制御にとどまらず、位置決め制御や、環境の
温度制御など等簡単な論理演算に比較すると複雑でデー
タ量が多い演算を必要とする制御をも実行できるように
なった。しかし大きいデータを扱い複雑な処理を行う命
令を有する制御演算手段はビットデータ処理も勿論実行
可能ではあるが、ビットデータ処理の処理速度に関して
は、ビットデータ処理専用に作られた制御演算手段には
遠く及ばない。そこで、プログラマブルコントローラが
実行する命令の内、ビットデータ処理はこの処理専用に
作られた第1の制御演算手段としての、ビットプロセッ
サ(以下の説明ではBPと略称する)を有するビット演
算処理手段(BPU)を使用してシーケンス制御全体と
しての実行速度を上げ、大きいデータを扱う命令には、
大きいデータの処理に適した第2の制御演算手段として
のCPUを使用して高度のデータ処理をも行える形式の
プログラマブルコントローラが製作されるようになっ
た。以下の説明ではBPUが実行するシーケンス制御命
令を第1種命令、CPUが実行するシーケンス制御命令
を第2種命令と記して区別する。
【0003】BPUとCPUの両方を有するプログラマ
ブルコントローラの一例を、図7により説明する。図に
おいて、1はプログラマブルコントローラである。10は
CPU、20はBPU、30はシステムROM、40はシステ
ムRAM、50はユーザーRAMであり、これらはプログ
ラマブルコントローラ1の主要部を構成する要素であ
る。システムROM30は、このプログラマブルコントロ
ーラの主要機能を決定するシステムプログラムと、CP
Uが実行すべき第2種命令用のプログラム(第2種命令
はCPUが固有にもつ機械語の一つのみで処理できない
場合が多く、この場合は第2種命令の名称に代表される
サブルーチンプログラムにより処理される)が格納され
た読み出し専用のメモリである。システムRAM40は、
シーケンス制御プログラムの実行に当たって必要とされ
るデータが格納される記憶手段としてのRAM(Random
Access Memory)であり、ユーザーRAM50は、シーケ
ンス制御プログラムが格納されるRAMである。ABはア
ドレスバスであって、CPU10またはBPU20の制御の
もとに出力される番地信号を伝送する信号母線であり、
DBはデータバスであって、このプログラマブルコントロ
ーラを構成する各部分のデータを伝送する信号母線であ
り、CBはコントロールバスであって、CPU10あるいは
BPU20から出力される制御信号や、制御信号を入力さ
れた構成要素の応答信号を伝送する信号母線である。60
はユーザーRAM50に格納されたシーケンス制御プログ
ラムを構成する命令の格納番地を記憶するプログラムカ
ウンタ(以下の説明ではPCと略記する)であって、P
C60はCPU10またはBPU20からコントロールバスCB
を介して端子OEに入力される信号が0になることを条件
に、このカウンタが記憶するデータを番地信号としてア
ドレスバスABに出力し、CPU10からコントロールバス
CBを介して端子WEに入力される信号が0になることを条
件に、この時点にデータバスDBを経由して伝送されてい
るデータを記憶し、また端子CKに0,1,0と変化する
パルスが、1回入力されるごとに、このカウンタが記憶
するデータに1を加算する。
【0004】図8の(a) は、プログラマブルコントロー
ラ1によって処理される命令の一般的な形式を示した図
であって、命令は命令の主要機能を現す命令コードIC
と、命令の処理の対象となるデータの所在場所を示すメ
モリの番地、などのオペランドOPi(i は番号1 〜3)とか
らなる。命令のメモリへの格納順序は、CPUの命令の
実行順序に合わせて、例えば本例の様にオペランドが3
個ある場合は、番地n 〜n+3 番地のメモリに命令コード
IC、第 1オペランドOP1 、第2オペランドOP2 、第3オ
ペランドOP3 の順序にする。図8の(b) は命令コードIC
の構成例を示す図であって、本例では命令コードICを構
成する各ビット単位の記憶要素の最上位のビットB0の内
容が0か1かによって、第1種命令と第2種命令とを区
分し、ビットB0に続く複数ビット群B1によって命令の種
類を現し、ビット群B1に続くビット群B2によってオペラ
ンドの数などを現す。図8の(c) はオペランドOPi の構
成例を示す図であって、本例では最上位からの複数ビッ
トOB0 でオペランドの種類別、例えばこのオペランドが
即値として直接処理されるデータか、データの所在を示
す番地かを表し、OB0 に続く複数ビットOB1 で即値や番
地などを表す。
【0005】図7に示した構成要素を有するプログラマ
ブルコントローラ1の動作を図9に示すフローチャート
により説明する。なお処理する命令は、図8に示したオ
ペランドに番地を含む形式のものとする。図9に戻り、
プログラマブルコントローラの電源が投入されるとCP
U10(図7)がシステムROM30に格納されたシステム
プログラムに従って、初期設定CS0 を実行する。初期設
定CS0 にはシーケンス制御プログラムの最初に実行すべ
き命令が格納されているメモリの番地をPC60に設定す
る動作が含まれる。初期設定CS0 が終了した段階でCP
U10はBPU20を起動させる信号をコントロールバスCB
を介してBPU20に送信して、シーケンス制御を実行す
るための制御をBPU20に渡し、CPU10に課せられた
他の仕事があればこれを実行する。BPU20はプログラ
マブルコントローラ1への起動信号を処理BS1 において
待ち、起動信号が入力されるとBPU20は処理BS2 にお
いて、PC60を制御し、PC60が記憶するデータを番地
信号として、ユーザーRAM50に格納されたシーケンス
制御プログラムの命令を読み込み、処理BS3 において第
1種命令か否かを判断する。第1種命令の場合は処理BS
4 においてBPU20内部の回路によって処理する。第2
種命令の場合は、CPU10にシーケンス制御の実行を再
開する指令信号を送信して、制御をCPU10に渡し、C
PU10からの処理完了の信号を図のフローチャートの符
号SW2 に示す命令実行上の位置で待機する。CPU10は
BP20からの信号を入力されると、その時実行中の他の
プログラムがあれば、そのプログラムの実行は一時中断
してフローチャートに符号SW1で示す命令実行上の位置
からシーケンス制御の命令を実行する。即ち、BPU20
から渡された制御に従って、PC60が示す番地からシー
ケンス制御プログラムの命令を処理CS1 によって読み出
し、この命令を構成する命令コードIC( 図8の(b) 参
照)から処理CS2 において命令の種類を判別し、さらに
この処理で実行内容を格納したプログラムの先頭番地を
生成し、生成した先頭番地を処理CS3 においてCPU中
のレジスタに格納する。ついで処理CS4 において先に読
み込まれた命令コードICから、オペランドの数を生成
し、処理CS5 においてこの生成された数をCPU内のレ
ジスタに格納する。処理CS6 においては処理CS5 におい
て判明したオペランドの数だけ、オペランドを順次ユー
ザーRAM50から読み出し、CS6までの処理によって得
られた情報を使用して処理CS7において最終のデータ処
理を行い、完了後シーケンス制御をBPU20に渡す。
【0006】BPU20はフローチャートの符号SW2 で示
した位置からシーケンス制御の実行を再開し、処理BS5
においてPC60が保持するデータに1を加算して、処理
済のシーケンス制御命令の次の番地にPCの内容を歩進
させる。その後処理BS2 の実行に戻り、以後処理BS2 〜
BS5 の処理を繰り返す。以上に述べた処理BS2 〜BS5 の
一巡のサイクルは、実行サイクルと称され、1実行サイ
クルの所要時間はプログラマブルコントローラのプログ
ラム処理速度の指標となる時間である。例えばシーケン
ス制御においてあるスイッチの開閉状態を検出するプロ
グラムがあったとするとこのスイッチの開閉状態が検出
できる機会は、1サイクル中に1度であるから、1実行
サイクルの所要時間が短い程、リアルタイムに近い処理
が行われる。シーケンス制御はリアルタイムの処理を基
本とするから実行サイクルはできるだけ短いことが望ま
しい。特に高速の機械の制御などにおいては、実行サイ
クルの長短がPCの性能を判断する基準になる。
【0007】
【発明が解決しようとする課題】前述したとおり、BP
UとCPUとを構成要素とするプログラマブルコントロ
ーラにおいては、シーケンス制御プログラムのなかで多
数をしめるビットデータ処理を、ビットデータ処理専用
に作られたBPUに実行させることによって、実行サイ
クルの短縮を行っている。ところがシーケンス制御に要
求される制御の内容が次第に高度化し、プログラムの量
も増えるに及んで第2種命令が占める割合や、実行回数
が増大し、実行サイクルの短縮のためには、第2種命令
自体の処理時間の短縮が強く要請されるようになってい
る。
【0008】本発明の目的は、上述した要請に答えるた
めにプログラマブルコントローラにおけるシーケンス制
御プログラムを構成する第2命令の実行時間を短縮する
ことである。
【0009】
【課題を解決するための手段】前述の目的を達成するた
め、本発明によれば、第1種の命令と第2種の命令とか
らなるシーケンス制御用プログラムの内の第1種命令を
実行する第1の制御演算手段と、第2種命令を実行する
第2の制御演算手段と、シーケンス制御プログラムとこ
のプログラムの実行に必要なデータとを格納する記憶手
段とを有するプログラマブルコントローラにおいて、第
1制御演算手段は、先頭番地生成回路とレジスタ群とデ
ータ入力手段とデータ出力手段とを有し、シーケンス制
御用プログラムの命令の形式から第1種命令と第2種命
令の区分をし、第2種命令の場合は、この命令の実行プ
ログラムの先頭番地を先頭番地生成回路内部で生成して
記憶し、さらにデータ入力手段を介して第1種命令のオ
ペランドをレジスタ群に格納し、第2制御演算手段は第
1制御演算手段からの信号を受けて、先頭番地生成回路
が記憶する内容とレジスタ群が記憶する内容とを、デー
タ出力手段を介して入力し、この入力した内容に基づい
て第2種命令を実行するものであることを特徴とする。
【0010】また、第1制御演算手段は番地出力手段を
有し、レジスタ群に格納した第2種命令のオペランドが
第2制御演算手段の演算処理の対象となるデータの所在
番地を表す場合は、この番地を番地出力手段を介して記
憶手段に出力し、この記憶手段から番地の内容をデータ
入力手段を介してレジスタ群に格納するものであること
を特徴とする。
【0011】さらに、第1制御演算手段は、第2種命令
の内の特定の命令用の演算手段と判別手段とを有し、第
2種命令の演算処理の対象となるデータと演算処理の処
理結果を格納すべき記憶手段の番地とをレジスタ群に格
納した場合に、このデータを使って行う演算処理が演算
手段によって処理可能か否かを判別手段によって判別
し、処理可能の場合は、記憶手段に番地出力回路を介し
て番地信号を出力し、演算手段による処理結果をデータ
出力回路を介して記憶手段の番地信号によって指定され
た番地に格納するものであることを特徴とする。
【0012】
【作用】第1種命令と第2種命令とからなるシーケンス
制御用プログラムの内の第1種命令を実行する第1の制
御演算手段と、シーケンス制御プログラムの内の第2種
命令を実行する第2の制御演算手段と、シーケンス制御
プログラムとこのプログラムの実行に必要なデータとを
格納する記憶手段とを有するプログラマブルコントロー
ラにおいて、第1の制御演算手段は、シーケンス制御命
令を読み込むと、この命令の形式から第1種命令と第2
種命令の区分をし、第2種命令の場合は、先頭番地生成
回路にこの命令の実行プログラムの先頭番地を記憶し、
さらにデータ入力手段を介して、この命令のオペランド
を入力し、レジスタ群に記憶する。第2の制御演算手段
は第1の制御演算手段からシーケンス制御命令の実行を
促す信号を受けると、第1の制御演算手段が有するデー
タ出力手段を介して第2種命令の実行プログラムの先頭
番地を先頭番地生成回路から入力し、この命令のオペラ
ンドをレジスタ群から入力して、第2種命令の実行プロ
グラムを実行する。
【0013】さらに、第1制御演算手段に番地出力手段
を付加したものにおいては、レジスタ群に格納した応用
命令のオペランドが第2の制御演算手段の演算処理の対
象となるデータの所在番地を表す場合は、この番地を番
地出力手段を介して記憶手段に出力し、記憶手段から番
地の内容をデータ入力手段を介してレジスタ群に格納
し、第2の制御演算手段は第1の制御演算手段が有する
データ出力手段を介して第2種命令プログラムの先頭番
地を先頭番地生成回路から入力し、この命令の実行に必
要なオペランドをレジスタ群から入力し、入力したオペ
ランドを直接処理の対象とするデータとして扱い、第2
種命令プログラムを実行する。
【0014】さらにまた、第1制御演算手段に演算処理
手段を付加したものにおいては、第1制御演算手段は、
第2種命令の演算処理の対象となるデータと演算処理の
処理結果を格納すべき記憶手段の番地とをレジスタ群に
格納した場合に、このデータを使って行う演算処理が自
己が有する演算手段によって処理可能であることを、自
己が有する判別回路の出力信号が示す場合は、自己のレ
ジスタに格納している処理結果を格納すべき記憶手段の
番地を番地出力回路を介して出力し、この番地に演算手
段の処理結果を直接格納する。
【0015】
【実施例】
(実施例1)図1に請求項1に記載のプログラマブルコ
ントローラの一実施例の内、第1の演算手段としてのB
PU120 のブロック図を示す。このBPUを構成要素と
するプログラマブルコントローラ(以下の説明ではプロ
グラマブルコントローラ100と称する)は、図7に示し
たプログラマブルコントローラとBPUの部分を除いて
同一であり、同一のものは同一の符号を付して説明を省
略する。なお図1において、PC60、アドレスバスAB、
データバスDB、コントロールバスCBは、図7の同符号で
示されたものと同一であり、BPU120 の動作に直接関
係する部分であるので、BPU120 のブロック図ととも
に示されている。
【0016】BPU120 は、ビットプロセッサ(以下の
説明ではBPの略号を使用する)21、データ入力手段と
してのバスドライバ 22 と分配回路40、データ出力手段
としてのバスドライバ 21 と選択回路30とからなる。B
P21は、ビットデータ処理とBPU全体の制御とを行う
回路である。バスドライバ2i(iは番号を示す二桁目の数
1 または2 )は二値の制御信号Si(iは1 または2 の番
号)を入力されて、この信号が能動の値を示すときは、
このバスドライバのデータバスに接続する入力側の端子
への入力データを出力側の端子に出力し、非能動の値を
示すときはデータの通過を遮断する回路であり、選択回
路30は選択信号として二値の制御信号Ao0とAo1 とを入
力され、この信号の組み合わせで作られる数値に対応し
て、データ入力端子に入力される複数組のデータの中か
ら一組のデータを選択して出力側の端子に出力する回路
であり、分配回路40は分配信号として二値の制御信号Ai
0 とAi1 とを入力され、この信号の組み合わせで作られ
る数値に対応して、データ入力端子への一組のデータ
を、複数組ある出力データ端子群の中の一組に出力する
回路である。RA,RB は分配回路40が出力するデータを入
力されて、このデータを信号ENが能動の値になった時点
で記憶し、この記憶したデータを選択回路30に出力する
レジスタであり、IAは分配回路40を介して命令コードを
入力されて、基本命令と応用命令の区分をし、応用命令
の場合はその応用命令が格納されているメモリの先頭番
地をレジスタに格納し、この格納した先頭番地を選択回
路30に出力する命令先頭番地生成回路である。
【0017】図2に命令先頭番地生成回路IAのブロック
図を示す。図において、71はレジスタであり、このレジ
スタを構成する最高位のビット72の内容によって第1種
命令と第2種命令とが区分される。例えばこのビットの
内容が0の場合は、このビットから出力される信号によ
って、図外のビット処理回路が能動となって論理演算等
のビット処理が行われ、1ならば以下に説明する第2種
命令に関する処理が行われる。レジスタ71の内73で示さ
れる部分は第2種命令の先頭番地を格納したRAM75中
の番地を指定するデータが格納された命令部であり、例
えばこの命令部が8ビット構成の場合は256 個の異なる
第2種命令の先頭番地の格納場所を指定することができ
る。この命令部で選択されたRAM75の内容は命令先頭
番地レジスタ76に格納されこのレジスタの内容が選択回
路30(図1参照)に出力される。74はレジスタ71の中の
オペランド部であり、この命令の場合はオペランドの個
数を示す数値が格納されている。以下の説明では、先頭
番地レジスタ76に記憶されているデータを先頭番地生成
回路IAが記憶するデータとして説明する。
【0018】図1のを参照して、プログラマブルコント
ローラ100 の動作を図8に示した形式の命令を実行する
場合を例にして説明する。BPU120 に命令の実行が移
ると、BP21はPC60の端子OEへの信号を0にしてPC
60が保持するシーケンス制御命令が格納されているユー
ザーRAM50( 図6参照)への番地信号を出力して、こ
の番地にある命令コードIC(この番地には図7に示した
命令形式の命令例えば四則演算命令が格納されているも
のとする)を出力させ、同時に信号S2を能動にし、命令
コードICを分配回路40に入力し、さらに同時に分配回路
への入力データが先頭番地生成回路IAに入力されるよう
に、信号Ai0 とAi1 とを分配回路に入力し、先頭番地生
成回路IAに入力されされた命令コードICがデータとして
確立する時点に合わせて、第2種命令の先頭番地を先頭
番地生成回路IAに記憶させる。以上に説明したとおり、
命令コードICの読み込みから命令先頭番地生成回路IAに
記憶されるまでの処理は、ユーザーRAM50に番地信号
が到達し、この番地の内容が先頭番地生成回路IAに記憶
されるまでの回路を構成する、各回路要素の同時に進行
する動作によるので、BPUの1命令の処理時間として
は最短の処理時間である1マシーンサイクルの間に行わ
れる。また先頭番地生成回路IAのオペランド部74(図2
参照)から発せられるオペランドの個数を示す信号によ
り、BP21はPC60の端子CKに1つのパルス信号を送信
してPCの内容に1を加算し、以上に説明した命令コー
ドICの入力動作と同様にして、命令コードICの次の番地
に格納されているオペランドOP1 を読み出し、同時に分
配回路への信号Ai0,Ai1 が示す数を歩進させて分配回路
の出力がレジスタRAに入力される様に制御してオペラン
ドOP1 をレジスタRAに格納する。さらに同様にしてPC
60の内容を歩進させ、オペランドOP1 の格納番地に続く
番地に格納されているオペランドOP2 をレジスタRBに格
納する。一つのオペランドを読み出してレジスタに格納
するまでの処理も同時に進行する回路素子の動作によっ
て行われるので、BPU21の1マシーンサイクル内に完
了する。
【0019】次いでBPU120 は図外のCPUにシーケ
ンス制御命令の実行を促す信号を送信する。この信号を
受けてCPUは選択回路30とバスドライバ21とにコント
ロールバスCBを介して信号を送り命令先頭番地生成回路
IAの内容で示される第2種命令プログラムの先頭番地を
入力し、オペランドOP1,OP2 をレジスタRA,RB から入力
して、第2種読命令プログラムを実行する。
【0020】図3は以上に説明したBPU120 を有する
プログラマブルコントローラの初期設定プログラムを除
く動作を示すフローチャートであり、この図を参照して
図9のフローチャートによって説明した従来の技術によ
るプログラマブルコントローラの動作との差異を説明す
る。BPU120 (図1)は上述のとおりに一つの命令の
実行時間としては最短の1マシンサイクルの間に、処理
BS20を完了する。処理BS20の内容は命令コード読み込み
処理BS2 と、BPUでの処理の可否を判断する処理BS3
と、第2種命令用プログラムの先頭番地読み出しとこの
先頭番地のレジスタへの書き込み処理BS31である。図9
に示したとおり従来のプログラマブルコントローラにお
いては、ここまでに相当する処理をBPU20による処理
BS2 と処理BS3 および、CPU10による処理CS1 〜処理
CS3 によって実行する。従って従来のプログラマブルコ
ントローラ1(図7参照)においてはCPU10による処
理CS1 〜処理CS3 を余計に必要とし、これを処理時間で
比較すると、本実施例のプログラマブルコントローラ10
0 においては1マシーンサイクルで完了する処理が、従
来のプログラマブルコントローラ1においては、CPU
10による処理CS1 〜処理CS3 はそれぞれ1マシーンサイ
クル以上の処理時間を必要とするので、BPU20による
処理部分の処理時間を1マシーンサイクルとしてこれを
加え、合計少なくとも4マシーンサイクルを要する。ま
た図3に示す処理BS32においても、プログラマブルコン
トローラ100 においては一つのオペランドあたり、命令
コード読み込みの場合と同様にして1マシーンサイクル
で完了するが、従来のプログラマブルコントローラ1の
場合は、図9に示す処理CS4 と処理CS5 の2個の処理を
必要としデータ読み込みにはデータ読み込みが終了した
か否かの判断をする処理が含まれるので、少なくとも2
マシーンサイクルを必要とする。
【0021】なお本実施例のシーケンス制御プログラム
実行開始時の図外のCPUによる初期設定においては、
応用命令プログラムの先頭番地を、図外の外部の記憶装
置から読み出してデータバスDBを経由し、図1に示した
先頭番地生成回路IAのRAM75(図2参照)に格納する
処理が含まれる。 (実施例2)図4に請求項2に記載のプログラマブルコ
ントローラの一実施例の内、第1の制御演算手段として
のBPU220 のブロック図を示す。このBPU220 を構
成要素とするプログラマブルコントローラは、図7に示
したプログラマブルコントローラとBPUの部分を除い
て同一であり、同一のものは同一の符号を付して説明を
省略する。
【0022】BPU220 は、BP21A 、データ入力手段
としてのバスドライバ22と分配回路40、データ出力手段
としてのバスドライバ21と選択回路30、レジスタRA,RB
、命令先頭番地生成回路IA、番地生出力手段としての
バスドライバ23と選択回路31と番地生成回路80とレジス
タRT、を構成要素とする。これらの構成要素のうち、図
1に示したものと同一のものは、同一の符号を付して説
明を省略する。BP21Aは選択回路31を、この回路への
選択信号Ai2,Ai3 を出力して制御する点を除き、図1に
示したBP21と同一の機能を有するビットプロセッサで
あり、番地生成回路80は、この回路の入力データ端子に
入力されるデータの中の番地に関する部分からPC60が
出力する番地信号と同一の形式の番地信号を生成する回
路であり、例えば、図8の(c) に示した形式のオペラン
ドの場合は、番地部分OB1 の各ビットには1、他のビッ
トには0との論理積演算を施して番地部分を残して上位
のビットを0にする。
【0023】BPU220 を構成要素とするプログラマブ
ルコントローラの命令の実行を図8に示した形式の命令
を実行する場合を例にし、オペランドOP1 〜OP3 は演算
に使用されるデータを格納する記憶手段の番地を表すも
のとして、図4を参照して説明する。シーケンス制御プ
ログラムの実行がBPU220 に移ると、BP21A は先
ず、図1により説明のBP21と同様にして命令コードIC
(図8)を読み込み命令先頭番地生成回路IAに格納し、
次いでバスドライバ22と分配回路40とを介して、オペラ
ンドOP1 をレジスタRAに、オペランドOP2 をレジスタRB
に格納する。
【0024】次いで、BP21A は、次に述べる動作を開
始する。先ず、選択回路31を制御して、レジスタRAの内
容、即ちオペランドOP1 を番地生成回路80に出力し、番
地生成回路80によってオペランドOP1 から生成された番
地信号をレジスタRTに格納する。次いで、バスドライバ
23を制御してアドレスバスABに出力し、オペランドOP1
が示すメモリ番地に格納されているデータを図外のユー
ザーRAMからデータバスDB上に出力させ、このデータ
がデータバス上で安定する時点においてバスドライバ22
と分配回路40を制御してレジスタRAに格納する。以上に
説明したオペランドOP1 から生成される番地によって指
定されるメモリの内容をレジスタに格納するまでの動作
は、番地信号をレジスタRTに格納するまでの1マシーン
サイクルと、番地出力からこの番地で指定された記憶手
段の内容をレジスタRAに格納するまでの1マシーンサイ
クル、計2マシーンサイクルで行われる。BPU220 は
上述のとおりにして、直接演算されるデータをオペラン
ドとして生成し、応用プログラムの先頭番地とともにC
PUに渡す。
【0025】BPU220 を有するプログラマブルコント
ローラの動作は、図3のフローチャートによって説明し
た実施例1のプログラマブルコントローラの動作と同様
であるが、図3に示す処理CS11において、本実施例にお
いては、オペランドとしてBPU220 によって既に作成
されているデータが直接演算の対象とされる点が異な
る。実施例1のプログラマブルコントローラの場合は処
理CS11において直接演算の対象とするデータを得るまで
の動作が、データの所在番地の生成と、生成された所在
番地によるデータの読み出しの準備と、データの読み込
みの、それぞれ異なるマシーンサイクルに分けてCPU
により行われので、3マシーンサイクル以上の時間を必
要とするが、これに相当する処理を本実施例でば前述の
とおりに2マシンサイクルで完了するので、実行サイク
ルがさらに短縮される。 (実施例3)図5に請求項3に記載のプログラマブルコ
ントローラの一実施例の内、第1の制御演算手段として
のBPU320 のブロック図を示す。このBPU320 を構
成要素とするプログラマブルコントローラは、図7に示
したプログラマブルコントローラ1とBPUの部分を除
いて同一であり、同一のものは同一の符号を付して説明
を省略する。
【0026】BPU320 は、BP21B 、データ入力手段
としてのバスドライバ22と分配回路40、データ出力手段
としてのバスドライバ21と選択回路30、レジスタRA,RB,
RC、命令先頭番地生成回路IA、番地出力手段としてのバ
スドライバ23と選択回路31と番地生成回路80とレジスタ
RT、演算手段としての選択回路32と演算器90を構成要素
とする。これらの構成要素のうち、図4に示したものと
同一のものは、同一の符号を付して説明を省略する。
【0027】BP21B は、選択信号Aij(j は番号1 〜2)
がAi3 までの3個の出力信号を有し、この信号によって
選択回路30への8組のデータ群の内から一つのデータ群
が選択できる機能をもち、判別回路100 からの信号SEの
入力値を条件とする動作機能が付加されている点を除
き、図4に示したBP21A と同一の機能を有する。演算
器90は、レジスタRAとレジスタRBとからのデータを入力
されて、この二つのデータの演算、例えば二つのデータ
の積を算出て選択回路32に出力する回路であり、演算結
果の他にこの演算器の実在を示す信号SA10を判別回路10
0 に出力する。91はBPU320 に実装が予定されている
演算器であるが実在しない。判別回路100は命令先頭番
地生成回路IAからの先頭番地信号IA1 を入力されて、そ
の番地信号から、BPU320 内で処理可能な命令か否か
を判断し、処理可能と判断した場合は、演算器の存否を
示す信号SA1i(iは2桁目の番号)を参照し、演算器が実
在するならば、信号SEを能動の値にし、BPU320 内で
処理不能または演算器が存在しない場合は信号SEを非能
動の値にする。
【0028】BPU320 を有するプログラマブルコント
ローラの動作を図5により、またこのプログラマブルコ
ントローラの初期設定完了後の動作を示すフローチャー
ト図6を参照して説明する。なお図のに示すフローチャ
ートは図3に示したフローチャートと同一の処理を表す
部分は同一の符号を付して説明を省略する。初期設定が
完了しBPU320 に制御が渡されると、BP21B は処理
BS2 〜処理BS32までを実行する。ここまでの処理により
命令先頭番地生成回路IAには応用命令の先頭番地が、レ
ジスタRA,RB それぞれデータの所在を表す番地を含むオ
ペランドOP1,OP2 が格納され、またレジスタRCには演算
結果を格納すべき番地を含むオペランドOP3 が格納され
る。
【0029】さらにオペランドの形式からBP21B によ
ってこのオペランドがデータの所在を表す番地と判断さ
れる場合は、BP21B は選択回路31によって先ずレジス
タRAを選択して番地生成回路80を介して生成された番地
をレジスタRTに格納し、続けてバスドライバ23を制御し
て番地をアドレスバスABに出力し、この番地で指定され
たメモリの内容をデータバスDBに出力させ、データが安
定した時点でバスドライバ22を制御してこのデータをレ
ジスタRAに格納する。同様にしてレジスタRBにオペラン
ドOP2 から生成されるメモリ番地の内容を、レジスタRC
にオペランドOP3 から生成されるメモリ番地の内容を格
納する。
【0030】同時に判別回路100 は、命令先頭番地生成
回路IAの出力IA1 と、演算器からの信号SA1iを入力し、
処理可能な命令であって、かつこの命令の演算器が存在
するならばBP21B への信号SEを能動にする。BP21B
は、信号SEが非能動の場合は図6に示す処理BS33におい
て、制御をCPUに渡し、CPUによる処理の完了をフ
ローチャート上SW2 で示される位置で待機し、CPUに
よる処理の完了を待って処理BS5 以下を実行する。信号
SEが能動の場合は、図6に処理BS34として示す処理を次
のとおりに実行する。即ち、BP21B (図5参照)は選
択回路31を制御してレジスタRCの内容を番地生成回路80
とレジスタRTを介して番地信号をアドレスバスABに出力
し、選択回路32と選択回路30とを介して演算器90の出力
データをデータバスDBに出力する。データバスDB上での
データが安定する時点に図外のRAMにデータ書き込み
を促す信号を送信し、データバスDB上のデータをそのR
AMに書き込む。
【0031】演算は以上に説明したとおり、レジスタRA
とレジスタRBにデータが入力されると直ちに引き続き演
算器90によって行われるので、CPUにそれぞれのデー
タを読み込んで処理する方法に比較して早い処理が行わ
れる。
【0032】
【発明の効果】以上に説明したとおり、本発明は、第1
種命令と第2種命令とからなるシーケンス制御用プログ
ラムの内の第1種命令を実行する第1の制御演算手段
と、シーケンス制御プログラムの内の第2種命令を実行
する第2の制御演算手段と、シーケンス制御プログラム
とこのプログラムの実行に必要なデータとを格納する記
憶手段とを有するプログラマブルコントローラにおい
て、第1制御演算手段は、先頭番地生成回路とレジスタ
群とデータ格納手段とデータ出力手段とを有し、シーケ
ンス制御用プログラムの命令の形式から第1種命令と第
2種命令の区分けをし、第2種命令の場合は、この命令
の実行プログラムの先頭番地を先頭番地生成回路の内部
で生成して記憶し、さらにデータ入力手段を介してオペ
ランドをレジスタ群に格納し、第2制御演算手段は第1
の制御演算手段からの信号を入力して、先頭番地生成回
路が記憶する内容とレジスタ群が記憶する内容とを、デ
ータ出力手段を介して入力し、この入力した内容に基づ
いて応用命令を実行するものであるので、本発明によれ
ば、前述のとおりに従来のプログラマブルコントローラ
においては、第2種命令の実行プログラムの先頭番地の
確定までを第2の制御演算手段によって行うために数マ
シーンサイクル以上を要たものを、第1の制御演算手段
によって行い1マシーンサイクルで処理可能とするの
で、高速な実行サイクルを有するプログラマブルコント
ローラが提供される。
【0033】また、第1の制御演算手段は番地出力手段
を有し、レジスタ群に格納した第2種命令のオペランド
が第2の制御演算手段の演算処理の対象となるデータの
所在番地を表す場合は、この番地を番地出力手段を介し
て記憶手段に出力し、この記憶手段から番地の内容をデ
ータ入力手段を介してレジスタ群に格納するので、第2
の制御演算手段は、自体でオペランドに含まれる番地を
示すデータを使用してデータを読み出す必要がなく、デ
ータ読み出しの動作は、データ読み出し速度の早い第1
制御演算手段によるから、さらに高速のプログラマブル
コントローラが提供される。
【0034】さらにまた、 第1制御演算手段は、第2
種命令の内の特定の命令用の演算手段と判別手段とを有
し、第2種命令の演算処理の対象となるデータと演算処
理の処理結果を格納すべき記憶手段の番地とをレジスタ
群に格納した場合に、このデータを使って行う演算処理
が演算手段によって処理可能か否かを判別手段によって
判別し、処理可能の場合は、直接記憶手段の指定された
番地に格納するので、さらに高速に動作するプログラマ
ブルコントローラが提供される。
【図面の簡単な説明】
【図1】請求項1記載の発明による一実施例のプログラ
マブルコントローラの第1の制御演算手段としてのBP
U120 のブロック図と周辺の回路を示す図
【図2】請求項1記載の発明による一実施例のプログラ
マブルコントローラの第1の制御演算手段としてのBP
Uが有する先頭番地生成回路IAのブロック図
【図3】請求項1記載の発明による一実施例のプログラ
マブルコントローラの動作を説明するフローチャート
【図4】請求項2記載の発明による一実施例のプログラ
マブルコントローラの第1の制御演算手段としてのBP
U220 のブロック図と周辺回路を示す図
【図5】請求項3記載の発明による一実施例のプログラ
マブルコントローラの第1の制御演算手段としてのBP
U320 のブロック図と周辺の回路を示す図
【図6】請求項3記載の発明による一実施例のプログラ
マブルコントローラの動作を説明するフローチャート
【図7】従来の第1の制御演算手段と第2の制御演算手
段とを有するプログラマブルコントローラの主要部を示
すブロック図
【図8】シーケンス制御プログラムの命令の形式の一例
の説明図であって、(a) は一つの命令の全体を現す図、
(b) は命令コードICを現す図、(c) はオペランドOPを現
す図
【図9】従来の第1の制御演算手段と第2の制御演算手
段とを有するプログラマブルコントローラの一例の動作
を示すフローチャート
【符号の説明】
1 プログラマブルコントローラ 120,220,320,20 第1の制御演算手段(BPU) BP ビットデータ処理プロセッサ 21,22,23 バスドライバ S1,S2,S3 バスドライバ制御信号 30 選択回路 40 分配回路 Ao0,Ao1 出力制御信号 IA 先頭番地生成回路 RA,RB,RC,RT レジスタ EN 記憶時点を与える信号 PC シーケンス制御プログラム用プログラ
ムカウンタ AB アドレスバス DB データバス CB コントロールバス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】第1種の命令と第2種の命令とからなるシ
    ーケンス制御用プログラムの内の前記第1種命令を実行
    する第1の制御演算手段と、前記第2種命令を実行する
    第2の制御演算手段と、前記シーケンス制御プログラム
    とこのプログラムの実行に必要なデータとを格納する記
    憶手段とを有するプログラマブルコントローラにおい
    て、 前記第1制御演算手段は、先頭番地生成回路とレジスタ
    群とデータ入力手段とデータ出力手段とを有し、前記シ
    ーケンス制御用プログラムの命令の形式から第1種命令
    と第2種命令の区分をし、第2種命令の場合は、この命
    令の実行プログラムの先頭番地を前記先頭番地生成回路
    の内部で生成して記憶し、さらに前記データ入力手段を
    介して前記第1種命令のオペランドを前記レジスタ群に
    格納し、前記第2制御演算手段は前記第1制御演算手段
    からの信号を受けて、前記先頭番地生成回路が記憶する
    内容と前記レジスタ群が記憶する内容とを、前記データ
    出力手段を介して入力し、この入力した内容に基づいて
    前記第2種命令を実行するものであることを特徴とする
    プログラマブルコントローラ。
  2. 【請求項2】請求項1に記載のプログラマブルコントロ
    ーラにおいて、 第1制御演算手段は番地出力手段を有し、レジスタ群に
    格納した第2種命令のオペランドが第2制御演算手段の
    演算処理の対象となるデータの所在番地を表す場合は、
    この番地を番地出力手段を介して記憶手段に出力し、こ
    の記憶手段から前期番地の内容をデータ入力手段を介し
    て前記レジスタ群に格納するものであることを特徴とす
    るプログラマブルコントローラ。
  3. 【請求項3】請求項2に記載のプログラマブルコントロ
    ーラにおいて、 第1制御演算手段は、第2種命令の内の特定の命令用の
    演算手段と判別手段とを有し、第2種命令の演算処理の
    対象となるデータと演算処理の処理結果を格納すべき記
    憶手段の番地とをレジスタ群に格納した場合に、このデ
    ータを使って行う演算処理が前記演算手段によって処理
    可能か否かを前記判別手段によって判別し、処理可能の
    場合は、前記記憶手段に番地出力回路を介して番地信号
    を出力し、前記演算手段による処理結果をデータ出力回
    路を介して前記記憶手段の前記番地信号によって指定さ
    れた番地に格納するものであることを特徴とするプログ
    ラマブルコントローラ。
JP11063194A 1994-05-25 1994-05-25 プログラマブルコントローラ Pending JPH07319692A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11063194A JPH07319692A (ja) 1994-05-25 1994-05-25 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11063194A JPH07319692A (ja) 1994-05-25 1994-05-25 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH07319692A true JPH07319692A (ja) 1995-12-08

Family

ID=14540656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11063194A Pending JPH07319692A (ja) 1994-05-25 1994-05-25 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH07319692A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016711A1 (fr) * 1999-08-30 2001-03-08 Ip Flex Inc. Progiciel et processeur de donnees

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016711A1 (fr) * 1999-08-30 2001-03-08 Ip Flex Inc. Progiciel et processeur de donnees
AU776972B2 (en) * 1999-08-30 2004-09-30 Ip Flex Inc. Program product and data processing system
US6826674B1 (en) 1999-08-30 2004-11-30 Ip Flex, Inc. Program product and data processor
US6904514B1 (en) 1999-08-30 2005-06-07 Ipflex Inc. Data processor

Similar Documents

Publication Publication Date Title
EP0199173A2 (en) Data processing system
JPH06309177A (ja) マイクロコンピュータ
US5495588A (en) Programmable controller having joined relay language processor and general purpose processor
US5165026A (en) Programmable controller in which fetching of operand data and fetching of operand addresses are simultaneously performed
JPH07319692A (ja) プログラマブルコントローラ
EP0397414B1 (en) Control device having a function of modifying a microinstruction
AU629007B2 (en) Apparatus for accelerating store operations in a risc computer
JP2525492B2 (ja) プログラマブルコントロ―ラ
JPS59142610A (ja) ストア−ド・プログラム式制御装置
JP2727023B2 (ja) 情報処理装置
JPH1139159A (ja) 計算機システム
JP2696970B2 (ja) 情報処理装置
KR960011685A (ko) 인터럽트 요구를 처리하기 위한 데이타 처리장치 및 방법
JP3024719B2 (ja) プログラマブルコントローラの演算処理方法
JP2802109B2 (ja) メモリアクセス制御方式
JPH03222043A (ja) マイクロプロセッサおよびそのプログラム開発装置
JP3111496B2 (ja) 多分岐命令の処理方式
JPS59144909A (ja) ストア−ド・プログラム式制御装置
JPH0619705B2 (ja) 電子計算機システム
JPH0778730B2 (ja) 情報処理装置
JPH10312279A (ja) ビット検索回路およびこれを有するマイクロプロセッサ
JPH08297583A (ja) 割り込み処理装置およびその方法
JPS5882342A (ja) マイクロプログラム制御装置
JPH0991137A (ja) データ処理装置
JPH05100891A (ja) プログラムデバツグ装置