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

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

Info

Publication number
JPH1165622A
JPH1165622A JP22352497A JP22352497A JPH1165622A JP H1165622 A JPH1165622 A JP H1165622A JP 22352497 A JP22352497 A JP 22352497A JP 22352497 A JP22352497 A JP 22352497A JP H1165622 A JPH1165622 A JP H1165622A
Authority
JP
Japan
Prior art keywords
instruction
execution
program
application instruction
sequence 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
Application number
JP22352497A
Other languages
English (en)
Inventor
Koichi Masuda
晃一 増田
Takashi Moriuchi
孝 森内
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP22352497A priority Critical patent/JPH1165622A/ja
Publication of JPH1165622A publication Critical patent/JPH1165622A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 低コストで且つシステムの変更,拡張を容易
に行い得る状態でシーケンスプログラムの応用命令を最
適化し、高速なプログラマブルコントローラを得る。 【解決手段】 汎用CPU1は、シーケンスプログラム
格納メモリ4に格納されているシーケンスプログラムを
順次読出して、シーケンスプログラム実行用メモリ(実
行用メモリ)5のシーケンスプログラム領域に実行用プ
ログラムとして転送すると共に、応用命令が記述されて
いるPステップを検出すると、当該応用命令を対応する
機械語命令に変換して実行用メモリ5のAI領域に格納
する。そして、最適化が行われた応用命令が記述されて
いるPステップには、応用命令処理ルーチンの先頭番地
を示すポインタを格納してSP領域に転送する。以上の
前処理を行った後、汎用CPU1は、実行用メモリ5か
ら実行用プログラムを読出して実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ユーザが作成した
シーケンスプログラムを最適化処理することにより、当
該シーケンスプログラムの実行速度の高速化を図るプロ
グラマブルコントローラに関する。
【0002】
【従来の技術】プログラマブルコントローラにおいて
は、シーケンスプログラムの大半を占めるビット演算を
中心とする基本命令を高速に処理するためにカスタマイ
ズされたビット演算プロセッサを設け、そのビット演算
プロセッサが処理できない複雑な命令については汎用の
CPUを用いて処理する構成とすることが良く行われて
いる。
【0003】斯様なプログラマブルコントローラに関す
る従来技術として、例えば、特開昭63−95503号
公報に開示されているものがある。これは、シーケンス
プログラム(以下、単にプログラムと称す)中のビット
演算,ワード演算を夫々独立に処理するビット演算処理
回路,ワード演算処理回路を設けて、プログラムの実行
時に、ビット演算処理回路が処理を行っている状態か
ら、ワード演算をワード演算処理回路に処理させるよう
切換える場合に、ハードウエア回路を追加して前記切換
を短時間内に行うようにしたものである。
【0004】しかし、この従来技術においては、ワード
演算命令の一部として存在する応用命令(例えば、メモ
リ間転送や、メモリ間の論理演算或いは乗除算など)を
如何に最適化するかについては何等考慮されていない。
【0005】また、特開平1−245306号公報に開
示されているものは、前記応用命令の内メモリ間転送な
どについて、プログラムの実行前に、予めオペランドア
ドレスの計算を行っておくことにより、プログラムの実
行を高速化したものであるが、この方式では、やはり、
応用命令の実行手順そのものについては最適化処理され
ていない。
【0006】
【発明が解決しようとする課題】また、特開平3−19
6204号公報に開示されているものは、各応用命令を
CPUが直接実行可能な機械語レベルの命令処理ルーチ
ンに予め変換してOBJメモリに格納し、実行前にプロ
グラム中のステップに記述されている応用命令をOBJ
メモリ内部の命令処理ルーチンの先頭アドレスに変換す
ると共に、当該ステップには、応用命令であることを示
す演算識別コードを付加する前処理を行うようになって
いる。
【0007】そして、プログラムの実行時において、ビ
ット演算処理プロセッサが演算識別コードからフェッチ
した命令が応用命令であることを認識した場合は、アド
レス加算許可信号を出力し、ハードウエア回路によりワ
ード演算処理プロセッサが出力するアドレス信号(シス
テム上のOBJメモリの先頭アドレス)と前記命令処理
ルーチンの先頭アドレスとを加算して当該命令処理ルー
チンをOBJメモリから読み出させ、ワード演算処理プ
ロセッサに実行させるようにしている。
【0008】この方式では、応用命令の最適化は十分に
なされるが、複雑なハードウエア回路を必要とするため
にコストがかかり、また、システムの変更,拡張を柔軟
に行うことができない、という問題がある。
【0009】本発明は上記事情に鑑みてなされたもので
あり、その目的は、低コストで且つシステムの変更,拡
張を容易に行い得る状態でシーケンスプログラムの応用
命令を最適化することができるプログラマブルコントロ
ーラを提供することにある。
【0010】
【課題を解決するための手段】請求項1記載のプログラ
マブルコントローラによれば、最適化手段は、ユーザプ
ログラム格納手段に格納されているシーケンスプログラ
ムを順次読出して、実行用プログラム格納手段のシーケ
ンスプログラム領域に実行用プログラムとして転送する
と共に、応用命令が記述されているステップを検出する
と、当該応用命令を対応する機械語命令に変換して前記
実行用プログラム格納手段の応用命令処理領域に格納す
る。そして、その最適化が行われた応用命令が記述され
ているステップには、応用命令処理ルーチンの先頭番地
を示すポインタを格納して前記シーケンスプログラム領
域に転送する。
【0011】即ち、プログラム実行手段は、実行用プロ
グラム格納手段に格納されている実行用プログラムを実
行すれば、応用命令処理領域において予め最適化処理さ
れている応用命令を実行することができる。従って、従
来とは異なり、実行用プログラムの実行時に応用命令を
処理するためのハードウエアを必要とせず、システムを
低価格で構成することができる。また、応用命令の追加
・変更などが生じた場合でも、容易に対応することがで
きる。
【0012】請求項2記載のプログラマブルコントロー
ラによれば、最適化手段は、指定した応用命令について
のみ最適化処理を行うので、例えば、シーケンスプログ
ラム中において一定以上の出現頻度を有する応用命令を
指定して最適化処理すれば、実行用プログラム格納手段
の格納容量が制限されている場合であっても、出現頻度
の高い応用命令を優先的に最適化処理することにより、
効率的に前記格納容量を利用することができる。従っ
て、全ての応用命令を最適化処理した場合と比較して、
シーケンスプログラムの実行速度の低下を極力少なくす
ることができる。
【0013】請求項3記載のプログラマブルコントロー
ラによれば、最適化手段は、最適化処理しなかった応用
命令の各オペランドのアドレッシングモードの組合せを
判別し、その応用命令が記述されているステップには、
アドレッシングモードの組合せに応じたデータ読出しル
ーチンの先頭番地を示すポインタを格納してシーケンス
プログラム領域に転送する。
【0014】そして、プログラム実行手段は、最適化処
理されなかった応用命令に対しては、各オペランドにつ
いて実アドレスの計算式が予め用意されているデータ読
出しルーチンにより実アドレスを計算して命令の実行に
必要なデータを読出し、また、その実行結果データを格
納する。従って、プログラム実行手段は、実行用プログ
ラムを実行する時に各オペランドについて各々アドレッ
シングモードを判別する必要がなくなるので、最適化処
理されなかった応用命令が存在する場合でも、その実行
速度を極力速くすることができる。
【0015】
【発明の実施の形態】以下、本発明の第1実施例につい
て図1乃至図5を参照して説明する。図1は、プログラ
マブルコントローラの電気的構成を示す機能ブロック図
である。この図1において、汎用CPU(最適化手段,
プログラム実行手段,以下、単にCPUと称す)1及び
ビット演算プロセッサ(プログラム実行手段,以下、演
算プロセッサと称す)2は、ROMからなる実行プログ
ラム格納メモリ(データ読出しルーチン格納手段)3,
RAMからなるシーケンスプログラム格納メモリ(ユー
ザプログラム格納手段,以下、格納メモリと称す)4及
びシーケンスプログラム実行用メモリ(実行用プログラ
ム格納手段,以下、実行用メモリと称す)5に、アドレ
ス及びデータバス並びに制御信号線などからなるシステ
ムバス6を介して接続されている。
【0016】演算プロセッサ2は、シーケンスプログラ
ム中の基本命令(ビット演算,ワード加減算,ワード論
理演算など)のみを実行するようになっている。また、
CPU1は、シーケンスプログラムの実行前に後述する
ように前処理を行うと共に、シーケンスプログラム中の
応用命令(ワード乗除算,分岐,ロングワード四則演算
及び論理演算などの、演算プロセッサ2では実行できな
い命令)を実行するようになっている。
【0017】実行プログラム格納メモリ3には、CPU
1の前処理用プログラム(シーケンスプログラム中で使
用される複数の応用命令を機械語レベルの命令に翻訳す
るための変換プログラムを含む)や、後述するデータ読
出しルーチンなどが格納されている。
【0018】格納メモリ4には、図示しないプログラミ
ング装置においてユーザにより作成されて転送されたシ
ーケンスプログラムが格納されている。尚、基本命令
は、図示しないプログラミング装置において、演算プロ
セッサ2が直接実行できる形式に予め変換された状態に
ある。
【0019】実行用メモリ5には、CPU1によって前
処理が行われた結果の実行用プログラムが格納されるよ
うになっており、プログラムの実行時には、CPU1及
び演算プロセッサ2は、実行用メモリ5から実行用プロ
グラムを読出して実行するようになっている。尚、CP
U1は、実行用メモリ5にアクセスする時は、演算プロ
セッサ2の内部を経由しているシステムバス6を介して
アクセスするようになっている。
【0020】次に、本実施例の作用について図2乃至図
5をも参照して説明する。 シーケンスプログラムの前処理 図2は、外部よりプログラムの実行指令が与えられた場
合に、CPU1が、プログラムを実行する前に行う前処
理の内容を示すフローチャートである。この図2におい
て、CPU1は、「各応用命令数のカウント」の処理ス
テップS1において、格納メモリ4に格納されているシ
ーケンスプログラムを全て読出し、そのシーケンスプロ
グラム中に用いられている応用命令の出現頻度を、各応
用命令毎にカウントする。ここでは、オペランドも含め
て同じ命令か否かが判断される。次に、「出現頻度順に
ソートしたテーブルを作成」の処理ステップS2に移行
する。
【0021】処理ステップS2において、CPU1は、
ステップS1でカウントした各応用命令を出現頻度の高
い順にソートして、作業領域のメモリ上に最適化テーブ
ルを作成する。最適化テーブルには、応用命令が記述さ
れているステップのアドレスが書込まれている。尚、以
降では、シーケンスプログラム中のステップをPステッ
プと称す。
【0022】また、ここでは、応用命令であっても、最
適化処理することによって高速に実行し得ないもの(例
えば、大量データのブロック転送のように実行そのもの
に時間を要するものや、その他特殊な用途向きに設けら
れている命令など)については最適化処理の対象から除
外する。
【0023】この場合、一般にプログラマブルコントロ
ーラのシーケンスプログラムは、システム構成が多少異
なっているとしても基本的な処理には大きな相違がない
ので、異なる複数のシーケンスプログラムをサンプルと
して、予め各命令の出現頻度の割合を統計的に得た結果
を、個別のシーケンスプログラムにおける各命令の出現
頻度の割合と比較すると、両者は略一致することが予想
される。
【0024】一方、シーケンスプログラムに使用してい
る応用命令の種類数が多い場合には、ステップS2のよ
うに各応用命令の実際の出現頻度を求めたときに、出現
頻度が同じとなる応用命令が複数種類ある場合も出てく
る。そこで、このような時に何れを優先して最適化処理
するかを、上述したように予め統計的に得ておいた命令
の出現頻度の割合に基づいて、統計的に出現頻度の高い
ものを優先して選択するようにする。次に、「1ステッ
プ読出す」の処理ステップS3に移行する。
【0025】処理ステップS3において、CPU1は、
格納メモリ4に格納されているシーケンスプログラムを
再び先頭から1ステップ分読出し(データアクセス)、
次の「応用命令か?」の判断ステップS3aに移行す
る。判断ステップS3aにおいて、CPU1は、ステッ
プS3で読出したPステップに記述されている命令が応
用命令か否かを判断する。記述されている命令が基本命
令であり「NO」と判断した場合は、「SP領域に転
送」の処理ステップS11に移行する。
【0026】処理ステップS11において、CPU1
は、基本命令を、実行用メモリ5のシーケンスプログラ
ム領域(SP領域,図3参照)にそのまま転送する。す
ると、「終了?」の判断ステップS8に移行する。
【0027】判断ステップS8において、CPU1は、
格納メモリ4にあるシーケンスプログラムの読出しを終
了するか否かを、プログラム中のENDコードを読出し
たか否かによって判断する。未だENDコードを読出し
ておらず「NO」と判断するとステップS3に移行し
て、シーケンスプログラムの次のPステップを読出す。
【0028】また、判断ステップS3aにおいて、記述
されている命令が応用命令でありCPU1が「YES」
と判断した場合は、「テーブル上の対象範囲にあり?」
の判断ステップS4に移行する。
【0029】判断ステップS4において、CPU1は、
ステップS3で読込んだシーケンスプログラムのPステ
ップに記述されている命令が、最適化テーブルの最適化
対象範囲にあるか否かを判断する。ここで、最適化対象
範囲とは、実行用メモリ5の容量の制限等の制約によっ
て、予め最適化処理する応用命令数を制限する必要があ
る場合に、最適化テーブルの先頭から一定範囲内にある
もの、即ち、一定以上の出現頻度を有するもののみを最
適化処理の対象とすることにより設定した範囲である。
【0030】そして、判断ステップS4において、Pス
テップに記述されている命令が最適化対象範囲にある応
用命令の場合は、CPU1は「YES」と判断して「コ
ンパイル処理」の処理ステップS5に移行する。処理ス
テップS5において、CPU1は、応用命令を、CPU
1が直接実行可能な機械語レベルの命令ルーチンに変換
(コンパイル)処理する。
【0031】図4は、応用命令が記述されたPステップ
を機械語レベルの命令ルーチンに変換した場合の一例を
ニーモニックで示すものである。ここでは、シーケンス
プログラム中において、 (1) C=A*B と記述された応用命令(ワード乗算命令)のPステップ
は、 のように変換される。ここで、A,B,Cは、特定のア
ドレスに対応付けられたラベルである。
【0032】即ち、アドレスAの内容とアドレスBの内
容とを乗算してその結果をアドレスCに格納するという
命令は、機械語レベルでは、 1:アドレスAの内容を(CPU1の)レジスタR0に
転送 2:アドレスBの内容をレジスタR1に転送 3:レジスタR0とR1とを乗算し、結果をレジスタR
1に格納 4:レジスタR1の内容をアドレスCに転送 5:次のPステップにリターン のような手順で実行される。また、この段階で、即値ア
ドレスに変換可能なオペランドアドレスについては、即
値アドレスに変換される。次に、「AI領域に転送」の
処理ステップS6に移行する。
【0033】処理ステップS6において、CPU1は、
(2)のように変換された命令ルーチンを(実際は、
(2)のニーモニックに対応するバイナリデータ形式
で)、実行用メモリ5の応用命令処理領域(AI領域)
に転送する(図3参照)。AI領域に転送された命令ル
ーチンの先頭アドレスは、例えば10000H番地とす
る。次に、「ポインタを埋め込んだステップをSP領域
に転送」の処理ステップS7に移行する。
【0034】処理ステップS7において、CPU1は、
ステップS3で読込んだPステップを実行用メモリ5の
SP領域に転送する。この時、乗算命令“*”のオペコ
ードには、ステップS6でAI領域に転送された命令ル
ーチンの先頭アドレス10000Hを示すポインタが埋
め込まれる。そして、ステップS8に移行する。
【0035】一方、判断ステップS4において、Pステ
ップに記述されている応用命令が最適化対象範囲外の場
合、CPU1は「NO」と判断して「アドレッシングの
組合せを判別」の処理ステップS9に移行する。
【0036】ここで、図5は、例えば(1)のワード乗
算命令のように、3つのオペランド1,2,3を使用す
る応用命令が格納メモリ4に配置されている状態を示す
ものであるが、オペコードの冒頭部分には、3つのオペ
ランド1,2,3夫々のアドレッシングモード(直接,
間接,インデックス,定数など)の組合せを示すコード
(以下、組合せコードと称す)が配置されている。
【0037】そして、CPU1は、処理ステップS9に
おいて、ステップS3でオペコードと共に読出してある
組合せコードから、例えば3つのオペランド1,2,3
夫々のアドレッシングモードの組合せを判別する。
【0038】尚、この組合せの数は、アドレッシングモ
ードの直接,間接,インデックス,定数などが夫々デー
タ長16ビット,32ビットについて存在し、命令によ
っては、扱うオペランド数が最大6程度になることか
ら、異なる命令との組合せも含めると300種類程にな
る。CPU1は、組合せを判別すると「組合せに応じた
ポインタを埋め込んだステップをSP領域に転送」の処
理ステップS10に移行する。また、ここでは、前述し
たように、予め最適化処理の対象外となっている応用命
令については、特に処理を行わない。
【0039】処理ステップS10において、CPU1
は、ステップS9で判別した組合せに応じたデータ読出
しルーチンの先頭番地(実行プログラム格納手段3のア
クセスアドレス)を示すポインタをPステップに埋め込
んで、実行用メモリ5のSP領域に転送する。即ち、図
3に示した応用命令のポインタ(10000H)の代わ
りに、実行プログラム格納メモリ3の領域内のアドレス
(例えば、3000Hなど)を示すポインタが格納され
たPステップがSP領域に転送される。そして、ステッ
プS8に移行する。
【0040】ここで、実行プログラム格納手段3に格納
されているデータ読出しルーチンは、アドレッシングモ
ードの組合せに応じて、夫々のオペランドについて実ア
ドレスの計算式が用意されているルーチンである。
【0041】以上の処理をシーケンスプログラムの全て
のPステップについて行い、ステップS8で「YES」
と判断すると、CPU1は、演算プロセッサ2にシーケ
ンスプログラムの実行権を渡す。すると、演算プロセッ
サ2は、実行用メモリ5の先頭番地を読出しに行く(イ
ンストラクションアクセス)ことによって、シーケンス
プログラムの実行を開始する。
【0042】シーケンスプログラムの実行 シーケンスプログラムの内容は、前述のようにその大半
をビット演算を含む基本命令が占めるため、実行時にお
いて主に処理を行っているのは演算プロセッサ2であ
る。演算プロセッサ2は、実行用メモリ5のSP領域か
ら応用命令をフェッチすると、内部のステータスレジス
タ(図示せず)に、応用命令をフェッチしたことを示す
フラグをセットして、処理を中断する。
【0043】一方、CPU1は、シーケンスプログラム
の実行中は演算プロセッサ2のステータスレジスタをポ
ーリングしている。そして、上記のフラグがセットされ
たことを認識すると、実行用メモリ5にアクセスして演
算プロセッサ2に代わって応用命令を処理する。
【0044】(a)最適化処理されている応用命令の実
行 最適化処理されている応用命令のPステップには、前述
のように、実行用メモリ5のAI領域に転送された命令
ルーチンの先頭番地を示すポインタが埋め込まれてい
る。例えば、(1)の乗算命令の場合は、ポインタは1
0000H番地を示しているので、CPU1は1000
0H番地にジャンプして、(2)のように変換されてい
る機械語命令を実行する。
【0045】AI領域にある命令ルーチンは、オペラン
ドのアドレスが全て即値に変換されているため、CPU
1は、命令実行に必要なデータを直ちに読出すことがで
き、また、命令の実行結果のデータを、格納先(デステ
ィネーション)にも直ちに書込むことができるので、応
用命令の実行を高速に行うことができる。そして、
“5:RET”によって、次の命令が記述されているS
P領域のPステップに戻ると共に、CPU1は、シーケ
ンスプログラムの実行権を再び演算プロセッサ2側に戻
す。
【0046】(b)最適化処理されていない応用命令の
実行 最適化処理されていない応用命令のステップには、前述
のように、実行プログラム格納メモリ3にあるデータ読
出しルーチンの先頭番地を示すポインタが埋め込まれて
いる。CPU1は、そのポインタが示すデータ読出しル
ーチンの先頭番地へジャンプすることによって、各オペ
ランドに対応するデータを読出す。
【0047】ここで、通常のシーケンスプログラムの実
行時における1つのオペランドについての処理手順は、 1.オペランドの読出し 2.アドレッシングモードの判別 3.実アドレスの計算 となっているが、本実施例においては、各オペランドの
アドレッシングモードに対応したデータ読出しルーチン
を用いてデータを読出すことにより、CPU1は、実行
時における上記の“2.アドレッシングモードの判別”
の処理を省略して、オペランドを読出した後は直ちに実
アドレスを計算することができる。従って、応用命令が
扱うオペランド数が多いものである程、実行時間を短縮
する効果が大きくなる。
【0048】以上のように本実施例によれば、CPU1
は、格納メモリ4に格納されているシーケンスプログラ
ムを順次読出して、実行用メモリ5のSP領域に実行用
プログラムとして転送すると共に、応用命令が記述され
ているPステップを検出すると、当該応用命令を対応す
る機械語命令に変換して実行用メモリ5のAI領域に格
納する。そして、その最適化が行われた応用命令が記述
されているPステップには、応用命令処理ルーチンの先
頭番地を示すポインタを格納してSP領域に転送するよ
うにした。
【0049】即ち、CPU1は、実行用メモリ5に格納
されている実行用プログラムを実行すれば、最適化処理
対象となっている応用命令をフェッチした場合は、その
応用命令について、AI領域において予め機械語レベル
で最適化処理されているルーチンを実行することができ
る。従って、従来とは異なり、実行用プログラムの実行
時において応用命令を処理するためのハードウエアを必
要とせず、システムを低価格で構成することができる。
また、応用命令の追加・変更などが生じた場合でも、コ
ンパイル処理のソフトウエアを変更することによって容
易に対応することができる。
【0050】また、本実施例によれば、CPU1は、シ
ーケンスプログラム中において一定以上の出現頻度を有
する応用命令を最適化処理の対象として指定したので、
実行用メモリ5の容量が制限されている場合であって
も、出現頻度の高い応用命令を優先的に最適化処理する
ので、プログラムの実行速度をより高速にすることがで
きる。
【0051】更に、本実施例によれば、CPU1は、最
適化処理しなかった応用命令の各オペランドのアドレッ
シングモードの組合せを判別し、その応用命令が記述さ
れているPステップには、アドレッシングモードの組合
せに応じた実行プログラム格納メモリ3中にあるデータ
読出しルーチンの先頭番地を示すポインタを格納してS
P領域に転送するようにした。
【0052】従って、最適化処理されなかった応用命令
は、アドレッシングモードの組合せ毎に予め用意された
データ読出しルーチンによって各オペランドの実アドレ
スを計算して必要なデータを読出すことにより、CPU
1は、実行用プログラムを実行する時に各オペランドに
ついて各々アドレッシングの種類を判別する必要がなく
なるので、最適化処理されなかった応用命令の実行速度
をより速くすることができる。
【0053】本発明は上記し且つ図面に記載した実施例
にのみ限定されるものではなく、次のような変形または
拡張が可能である。図2に示すフローチャートにおい
て、ステップS9及びS10は必要に応じて設ければ良
く、最適化処理対象外の応用命令については、実行用メ
モリ5のSP領域にそのまま転送するようにしても良
い。
【0054】また、実行用メモリ5の容量に実用上制限
がなければ、ステップS1,S2,S4,S9及びS1
0を省略することにより、全ての応用命令を最適化処理
の対象としても良い。同じ優先順位の応用命令の何れか
を選択する場合に、統計的に得た命令の出現頻度の割合
を適用するのに代えて、例えば、オペランドのより多い
命令を選択しても良いし、或いは、単に最適化テーブル
の配置順が先にあるものを選択しても良い。また、ステ
ップS1及びS2に代えて、上記統計的出現頻度の割合
のみを適用して最適化処理の優先順位を決定しても良
い。斯様な場合は、前処理に要する時間を短縮すること
ができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す電気的構成の機能ブロ
ック図
【図2】前処理を中心とするCPUの制御内容を示すフ
ローチャート
【図3】実行用メモリのシーケンスプログラム領域及び
応用命令処理領域を概念的に示す図
【図4】応用命令(ワード乗算命令)を機械語レベル
(ニーモニック)に変換した一例を示す図
【図5】応用命令のフォーマットの一例を示す図
【符号の説明】
1は汎用CPU(最適化手段,プログラム実行手段)、
2はビット演算プロセッサ(プログラム実行手段)、3
は実行プログラム格納メモリ(データ読出しルーチン格
納手段)、4はシーケンスプログラム格納メモリ(ユー
ザプログラム格納手段)、5はシーケンスプログラム実
行用メモリ(実行用プログラム格納手段)を示す。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ユーザが作成したシーケンスプログラム
    が格納されるユーザプログラム格納手段と、 実行用プログラムが格納される実行用プログラム格納手
    段と、 前記ユーザプログラム格納手段に格納されているシーケ
    ンスプログラムを順次読出して、前記実行用プログラム
    格納手段のシーケンスプログラム領域に実行用プログラ
    ムとして転送すると共に、前記シーケンスプログラムに
    おいて応用命令が記述されているステップを検出する
    と、当該応用命令を対応する機械語命令に変換して前記
    実行用プログラム格納手段の応用命令処理領域に格納す
    ることにより最適化処理を行い、その最適化が行われた
    応用命令が記述されているステップには、応用命令処理
    ルーチンの先頭番地を示すポインタを格納して前記シー
    ケンスプログラム領域に転送する最適化手段と、 前記実行用プログラム格納手段に格納された実行用プロ
    グラムを実行するプログラム実行手段とを備えたことを
    特徴とするプログラマブルコントローラ。
  2. 【請求項2】 前記最適化手段は、指定した応用命令に
    ついてのみ前記最適化処理を行うことを特徴とする請求
    項1記載のプログラマブルコントローラ。
  3. 【請求項3】 各オペランドのアドレッシングモードの
    組合せ毎に、各オペランドについての実アドレスの計算
    式が予め用意されているデータ読出しルーチンが格納さ
    れるデータ読出しルーチン格納手段を備え、 前記最適化手段は、最適化処理しなかった応用命令につ
    いては、各オペランドのアドレッシングモードの組合せ
    を判別することにより、当該応用命令が記述されている
    ステップには、そのアドレッシングモードの組合せに応
    じた前記データ読出しルーチンの先頭番地を示すポイン
    タを格納して前記シーケンスプログラム領域に転送する
    ことを特徴とする請求項2記載のプログラマブルコント
    ローラ。
JP22352497A 1997-08-20 1997-08-20 プログラマブルコントローラ Pending JPH1165622A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22352497A JPH1165622A (ja) 1997-08-20 1997-08-20 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22352497A JPH1165622A (ja) 1997-08-20 1997-08-20 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH1165622A true JPH1165622A (ja) 1999-03-09

Family

ID=16799502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22352497A Pending JPH1165622A (ja) 1997-08-20 1997-08-20 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH1165622A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002258914A (ja) * 2001-02-28 2002-09-13 Fuji Electric Co Ltd 描画システム、プログラム開発システム、コントローラ、及びプログラム実行システム
JP2002323912A (ja) * 2001-04-26 2002-11-08 Fuji Electric Co Ltd プログラム仕様書作成装置、作成方法、およびシーケンス制御システム
KR101333639B1 (ko) * 2011-10-27 2013-11-27 (주)성림엠앤씨 머신코드 생성 방식을 이용한 원격감시제어장치의 설비 제어방법 및 그 원격감시제어장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002258914A (ja) * 2001-02-28 2002-09-13 Fuji Electric Co Ltd 描画システム、プログラム開発システム、コントローラ、及びプログラム実行システム
JP2002323912A (ja) * 2001-04-26 2002-11-08 Fuji Electric Co Ltd プログラム仕様書作成装置、作成方法、およびシーケンス制御システム
KR101333639B1 (ko) * 2011-10-27 2013-11-27 (주)성림엠앤씨 머신코드 생성 방식을 이용한 원격감시제어장치의 설비 제어방법 및 그 원격감시제어장치

Similar Documents

Publication Publication Date Title
US6405302B1 (en) Microcomputer
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
EP0476722B1 (en) Data processing system
JPS635777B2 (ja)
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
US6687808B2 (en) Data processor using indirect register addressing
US5978905A (en) Program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions
US5095426A (en) Data processing system for effectively handling exceptions during execution of two different types of instructions
JP4004915B2 (ja) データ処理装置
US5274776A (en) Information processing system having mode signal holding means and selecting operand access mode based on mode signal indicating type of currently executed instruction
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
CA2003004C (en) Apparatus and method for executing a conditional branch instruction
US5390306A (en) Pipeline processing system and microprocessor using the system
US6044455A (en) Central processing unit adapted for pipeline process
JPH1165622A (ja) プログラマブルコントローラ
US5237664A (en) Pipeline circuit
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
US7886133B2 (en) Information processing apparatus and method for accelerating information processing
JP3430635B2 (ja) 定数参照最適化処理装置
JP2525492B2 (ja) プログラマブルコントロ―ラ
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP4545777B2 (ja) データ処理装置
JP2000112754A (ja) データ処理装置
JP4702004B2 (ja) マイクロコンピュータ