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
Application number
JP4145741A
Other languages
English (en)
Other versions
JPH05341820A (ja
Inventor
冨美夫 池嶋
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 JP4145741A priority Critical patent/JP3024719B2/ja
Publication of JPH05341820A publication Critical patent/JPH05341820A/ja
Application granted granted Critical
Publication of JP3024719B2 publication Critical patent/JP3024719B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央演算処理装置(C
PU)とビット演算プロセッサ(BP)の2つのプロセ
ッサでシーケンス命令の実行を行うプログラマブルコン
トローラの演算処理方法に関する。
【0002】
【従来の技術】従来、シーケンスプログラムを実行する
ことにより電子機器の自動制御を行うプログラマブルコ
ントローラでは、高速演算処理を実現するために、シー
ケンス命令の中のビット演算を行うビット演算プロセッ
サ(以下、BPと称す)とビット演算以外のシーケンス
命令(以下、この命令を応用命令と称す)を実行する中
央演算処理装置(CPU)とを設けている。ビット演算
としては主にアンド,オア等のビット情報の論理演算や
ビット情報の読み/書きを行い、プログラマブルコント
ローラでは接点情報の論理演算や入出力処理にBPが用
いられる。また、応用命令は、ビット値以外の数値演算
や各種情報処理の実行を指示する命令である。
【0003】ユーザーメモリから読出されたシーケンス
命令はBPにおいて自己のBPで実行可能か否かの判別
が行われ、シーケンス命令がBPにおいて実行の不可の
場合には、そのシーケンス命令の実行権がCPUに引き
渡される。CPUは、シーケンス命令の実行権を受け取
ると、シーケンス命令の種類内容に対応した実際の演算
処理を実行する。より具体的には、シーケンス命令の種
類毎に、その命令に対応した演算処理を規定した詳細の
プログラム情報が予めシステムプログラムメモリに格納
されているので、CPUはシーケンス命令の命令コード
からシステムプログラムメモリの読出し先頭アドレスを
識別又は算出する。次に算出された先頭アドレスを用い
てプログラム情報を読出して演算実行する。
【0004】この演算実行に関連して、シーケンス命令
の中のオペランド部(演算に用いるパラメータ値の格納
アドレス)の示す情報を各種メモリから読出す。CPU
側で応用命令を実行すると、CPUはBPにシーケンス
命令の実行権を引き渡す。実行権を引き渡されたBPは
次のシーケンス命令について、上述の同様の処理を行
う。このようにしてBPとCPUとはシーケンス命令の
種類に対応して、シーケンスプログラム中のシーケンス
命令を実行していく。
【0005】
【発明が解決しようとする課題】このようにして、プロ
グラマブルコントローラの処理速度の向上が図られてき
たが、より一層の高速処理が望まれている。
【0006】そこで、本発明の目的は、上述の点に鑑み
て、プログラマブルコントローラのシーケンスプログラ
ム実行速度をより高めることの可能なプログラマブルコ
ントローラの演算処理方法を提供することにある。
【0007】
【課題を解決するための手段】このような目的を達成す
るために、請求項1の発明は、シーケンスプログラム中
に記載されたシーケンス命令の中のビット演算命令を第
1のプロセッサが実行し、該ビット演算命令以外の応用
命令を第2のプロセッサが実行し、シーケンス命令の種
類を前記第1のプロセッサが識別して、シーケンス命令
を実行するプロセッサを決定するプログラマブルコント
ローラの演算処理方法において、前記第2のプロセッサ
が実行するシーケンス命令の種類毎に該シーケンス命令
の示す処理内容を示すプログラム情報をメモリに予め記
憶しておき、前記第1のプロセッサは前記シーケンス命
令の識別を行う際に、前記応用命令についての種類識別
をも実行し、当該識別結果に対応させて前記メモリに記
憶のプログラム情報の格納アドレスを前記第2のプロセ
ッサに引き渡すとともに、前記第1のプロセッサは前記
応用命令についての種類識別を行った場合には、識別の
対象となったシーケンス命令から、前記第2のプロセッ
サの実行に用いるオペランド情報を取り出し、当該第2
のプロセッサに引き渡すことを特徴とする。
【0008】
【0009】
【作用】本発明は、従来、BP(第1のプロセッサ)が
シーケンス命令を実行するプロセッサの選択のためにシ
ーケンス命令の識別を行い、CPU(第2のプロセッ
サ)がシーケンス命令に対応のプログラム情報の格納ア
ドレスを決定するためのシーケンス命令の識別(又は算
出)を行う点に着目し、本発明では第1プロセッサの識
別処理を利用して、第2プロセッサが必要とするプログ
ラム格納アドレスやオペランド情報を第1プロセッサか
ら第2プロセッサに引き渡す。
【0010】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0011】図1は、本発明を適用したプログラマブル
コントローラの回路構成を図1に示す。
【0012】図1において、CPU10はシステムRO
M(リードオンリメモリ)30に格納されたシステムプ
ログラムに従って装置全体の動作制御を司る他、システ
ム運転時にはユーザー用RAM(ランダムアクセスメモ
リ)50のシーケンスプログラムの中の応用命令を演算
実行する。
【0013】CPU10内にはユーザー用RAM50の
読取りアドレスを指定するプログラムカウンタ10Aが
設けられており、このプログラムカウンタ10Aの指示
するアドレスからシーケンス命令がCPU10又はBP
20により読出され、バス上に送出される。CPU10
とBP20とはバス以外にも信号線接続され、この信号
線を介して動作タイミング信号や本発明に関わる情報信
号の授受が行われる。
【0014】BP20はメモリに対して読み/書き可能
で、ビット単位の演算を行うプロセッサを用いる。BP
20内には本発明に関わるシーケンス命令−アドレス変
換回路20Aおよびオペランド情報作成回路20Bが設
けられている。
【0015】シーケンス命令−アドレス変換回路20A
は、従来、CPUがソフト処理で行っていた、シーケン
ス命令についての詳細プログラムの先頭格納アドレスの
算出処理をハードで行う回路である。回路の一例として
はシフトレジスタ等を用いて、以下の処理を実行する。
すなわち、シーケンス命令の中の命令コードを表わす複
数ビットをシフト処理によりマスクし、マスク後のビッ
ト情報の中の特定ビットを抽出することにより読出しア
ドレスを作成する。
【0016】オペランド情報作成回路20Bの回路構成
を図2に示す。図2において、デコーダ101は従来の
ように読出しのシーケンス命令がBPが実行すべきであ
るか否かの判別を信号識別する。デコーダ101は、そ
の他、本発明に関わる処理として、BP非実行のシーケ
ンス命令(応用命令)を検出したとき、そのシーケンス
命令の中のオペランド部分をレジスタ102に格納する
ための制御信号を発生する。レジスタ102に格納され
たオペランドが、CPU10の応用命令の実行に必要な
情報として、CPU10に引き渡される。
【0017】図1に戻り、システムROM30には、C
PU10の実行するシステム処理を規定したシステムプ
ログラムが格納されている。従来のシステムROMと異
なる点は、本実施例のシステムROM30には、シーケ
ンス命令(応用命令)の詳細プログラムが記載されてお
らず、システムRAM40上に記載される点である。
【0018】システムRAM40は読み/書き自在であ
り、ワークメモリとしてCPU10の演算処理に用いる
データを記憶する。本発明に関わる記憶領域としては、
CPU側で実行するシーケンス命令の種類毎に、その詳
細なプログラム、すなわち、CPU10が演算実行する
プログラムを記憶する領域(以下、ジャンプテーブルと
称す)40Aが設けられている。また、このジャンプテ
ーブルの中のCPUが実際にアクセス(読出し)すべき
アドレス(ジャンプ先指定情報)を記憶する領域(ジャ
ンプ先指定レジスタと称す)40Bも設けられている。
【0019】ジャンプテーブル40Aの内容は電源投入
時等の初期化処理において、CPU10に書き込まれ、
ジャンプ先指定レジスタ40Bの内容はシステム運転時
BP20により書き込まれる。
【0020】ユーザー用RAM50は不図示のプログラ
ミング装置から入力された電子機器制御用のシーケンス
プログラムを格納する。
【0021】このような回路におけるシーケンス命令の
実行処理を図3および図4を参照しながら説明する。な
お、図3はBP20の実行するハード処理手順を示すフ
ローチャートであり、図4はCPU10の実行するソフ
ト処理手順を図示したフローチャートである。
【0022】電源投入時、メモリカセットなどの外部記
憶装置又は、内部メモリのいずれか予め定められたメモ
リからジャンプテーブルに記載すべき内容がCPU10
により読出され、ジャンプテーブル40Aに書き込まれ
る(図4のステップT10)。システム起動に応じCP
U10はプログラムカウンタ10Aにシーケンスプログ
ラムの先頭読出しアドレスを設定し、BP20を起動さ
せる(図4のステップT11)。
【0023】この起動指示を受けたBP20は(図3の
ステップS10)、プログラムカウンタ10Aの示すユ
ーザー用RAM50アドレスからシーケンス命令を読出
し、読出しのシーケンス命令がBP20において実行可
能であるか否かの判定を行う(図3のステップS1
2)。実行可の判定が得られた場合は、従来と同様、B
P20内においてシーケンス命令の指示するビット演算
を実行する(図3のステップS20→S21)。
【0024】この後、BP20はCPU10内のプログ
ラムカウンタ10Aの値を、次に読出すべきアドレス値
に更新する(図3のステップS22)。
【0025】BP20がビット演算処理を実行している
間は、CPU10はジャンプ先指定レジスタに対するB
P20の書き込みを監視し、システム処理等の内部処理
を行う(図4のステップT13→T14→T21→T1
3のループ処理)。
【0026】一方、BP20が読出したシーケンス命令
がたとえば加算処理に関する応用命令の場合、図3のス
テップS12の処理でBP20の処理不可の判定が得ら
れると、BP20内のシーケンス命令−アドレス変換回
路20AによりCPU10のジャンプ先アドレスが作成
され、BP20の読み/書き機能によりジャンプ先アド
レスがシステムRAM40内のジャンプ先指定レジスタ
40Bに書き込まれる(図3のステップS31→S4
1)。
【0027】また、図2のレジスタ102にはシーケン
ス命令中のオペランドが設定され、このオペランド情報
がCPU10に引き渡される(図3のステップS4
2)。このようにして、BP20は、CPU10のジャ
ンプ先アドレスをレジスタ40Bに書き込みと同時にオ
ペランド情報をCPU10に送出する。この後、BP2
0はCPU10内のプログラムカウンタを進め、停止す
る(ステップS44)。
【0028】ジャンプ先指定レジスタ40Bへの書き込
みをCPU10側で、検知すると、CPU10はジャン
プ先指定レジスタ40Bの内容を読出し(図4のステッ
プT13)、読出した内容、すなわち、ジャンプテーブ
ル40A内のジャンプ先アドレス、この例では加算処理
に関する詳細プログラムを格納するアドレスへジャンプ
する。以下、CPU10はこの詳細プログラムをジャン
プテーブル40Aから読出し、BP20から送られてき
たオペランド情報に基づき、加数をメモリから読出して
加算処理を行う(図4のステップT31〜T32)。応
用命令の中の加算処理の終了後、CPU10はBP20
に再起動をかける。BP20は再起動の指示に応じ、次
の新しいシーケンス命令についての上述の判別処理なら
びにシーケンスビット演算処理又は応用命令関連処理を
実行する。
【0029】以上、述べたように、本実施例ではBP2
0側で実行プロセッサの判別を行う際に、応用命令につ
いてはCPU10のジャンプ先アドレスおよび演算に必
要なオペランド情報をハードにより作成してしまう。
【0030】このため、従来のようにCPU側で複数ス
テップをかけてジャンプ先アドレスおよびオペランド情
報をソフトで演算作成する場合に比べてBP側でCPU
の処理と並行してハードで作成する本実施例の方が処理
時間が短縮される。
【0031】加えて、シーケンス応用命令が多い程、シ
ーケンスプログラム全体の処理時間が大幅に短縮され
る。
【0032】本実施例の他に次の例を実現できる。
【0033】1)本実施例ではBP20のジャンプ先指
定レジスタ40Bへの書き込みをCPU10側で監視す
るようにしているが、BP20の停止指示をCPU10
側が受けたときに、CPU10がジャンプ先指定レジス
タ40Bへの読出しを行うようにしてもよい。またこの
停止指示をCPU10に対する割込指示を行う場合、C
PU10側の割込処理でジャンプ先指定レジスタの変更
有無の監視を行うこともできる。ただし、この場合は、
従来のようにCPU10内のレジスタのプッシュ,ポッ
プ処理が必要となる。
【0034】2)本実施例では1シーケンス命令あたり
4バイトのジャンプテーブルを想定しているが、これに
限定することなく、ジャンプテーブルを所望のバイト数
とすることができる。
【0035】3)本実施例のようにジャンプテーブルを
書き換え自在メモリ(RAM)に格納することにより次
のような利点がある。
【0036】a)ユーザーに提供するシーケンス命令に
ついてユーザーの欲求するシーケンス命令を選択でき、
システム用ROMの容量を小さくし、製造コストの低減
に寄与することができる。
【0037】b)シーケンスプログラム保存用メモリカ
セット等に詳細プログラムを保存し、システム立ち上げ
時にシステムRAMに転送すると、ユーザー側でもプロ
グラミング装置を用いて所望のシーケンス命令を作成す
ることができる。
【0038】4)ジャンプテーブルに記載しておくプロ
グラム情報は次の種類がある。
【0039】a)ファンクション命令のようにシーケン
ス命令中にはオペランド情報がなく命令コードだけでシ
ーケンス命令が構成される場合は、ビット演算プロセッ
サはデコーダの識別結果に対応させてジャンプ先テーブ
ルのアドレスのみを引き渡す(請求項1の発明に対
応)。
【0040】b)その他、シーケンス命令中にオペラン
ド情報、たとえば、演算対象のデータの格納アドレス等
が含まれている場合は、本実施例のようにデコーダの識
別結果に基づきオペランド情報の取り出し、引き渡しを
BPが行う(請求項2の発明に対応)。
【0041】
【発明の効果】以上、説明したように、本発明では、第
1プロセッサ(BP)側の識別処理を用いて、第2プロ
セッサ(CPU)側の応用命令に必要な、プログラム情
報の格納アドレスやオペランド情報を用意する。この結
果、従来第2のプロセッサが時系列的に行っていた処理
の一部をBP側で並行処理するので、従来よりもシーケ
ンス命令の処理時間が短縮される。
【図面の簡単な説明】
【図1】本発明実施例のシステム構成を示すブロック図
である。
【図2】図1のオペランド情報作成回路20Bの回路構
成を示すブロック図である。
【図3】図1のBP20が実行する処理手順を示すフロ
ーチャートである。
【図4】図1のCPU10が実行する処理手順を示すフ
ローチャートである。
【符号の説明】
10 CPU 10A プログラムカウンタ(PC) 20 ビット演算プロセッサ(BP) 20A シーケンス命令−アドレス変換回路 20B オペランド情報作成回路 30 システムROM 40 システムRAM 40A ジャンプテーブル 40B ジャンプ先指定レジスタ 50 ユーザー用RAM

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 シーケンスプログラム中に記載されたシ
    ーケンス命令の中のビット演算命令を第1のプロセッサ
    が実行し、該ビット演算命令以外の応用命令を第2のプ
    ロセッサが実行し、シーケンス命令の種類を前記第1の
    プロセッサが識別して、シーケンス命令を実行するプロ
    セッサを決定するプログラマブルコントローラの演算処
    理方法において、 前記第2のプロセッサが実行するシーケンス命令の種類
    毎に該シーケンス命令の示す処理内容を示すプログラム
    情報をメモリに予め記憶しておき、 前記第1のプロセッサは前記シーケンス命令の識別を行
    う際に、前記応用命令についての種類識別をも実行し、 当該識別結果に対応させて前記メモリに記憶のプログラ
    ム情報の格納アドレスを前記第2のプロセッサに引き渡
    とともに、 前記第1のプロセッサは前記応用命令についての種類識
    別を行った場合には、識別の対象となったシーケンス命
    令から、前記第2のプロセッサの実行に用いるオペラン
    ド情報を取り出し、当該第2のプロセッサに引き渡す
    とを特徴とすることを特徴とするプログラマブルコント
    ローラの演算処理方法。
JP4145741A 1992-06-05 1992-06-05 プログラマブルコントローラの演算処理方法 Expired - Lifetime JP3024719B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6294142B2 (ja) * 2014-04-25 2018-03-14 ファナック株式会社 被演算データ読み出しのための外部メモリアクセスが発生しないプログラマブルコントローラ

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