JP3341061B2 - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JP3341061B2 JP3341061B2 JP12419793A JP12419793A JP3341061B2 JP 3341061 B2 JP3341061 B2 JP 3341061B2 JP 12419793 A JP12419793 A JP 12419793A JP 12419793 A JP12419793 A JP 12419793A JP 3341061 B2 JP3341061 B2 JP 3341061B2
- Authority
- JP
- Japan
- Prior art keywords
- bit data
- bit
- memory
- operation instruction
- user 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.)
- Expired - Lifetime
Links
Landscapes
- Programmable Controllers (AREA)
Description
を実行するビット演算プロセッサを有するプログラマブ
ルコントローラ(以下、PLCという)に関する。
令や応用命令を実行するプロセッサの他に、ビット単位
のデータ(以下、ビットデータという)の演算命令を専
門に実行するビット演算プロセッサを設け、ビットデー
タ演算命令の高速化と共にPLC全体の命令処理時間の
高速化を図ることが考えられている。
有するPLCの構成を示す。
と、ユーザプログラムが格納されたユーザプログラムメ
モリ2と、ビットデータを記憶するI/Oメモリ3とを
有しており、ビット演算プロセッサ1にビットデータを
処理するビットデータ演算部1aを有している。
タ演算部1aが、まずユーザプログラムメモリ2からビ
ットデータ演算命令を読込み、続いてI/Oメモリ3に
アクセスしてそのビットデータ演算命令に用いるビット
データを読込み、そしてそのビットデータ演算命令にし
たがってビットデータを演算する、というようにユーザ
プログラムメモリ2から読み込んだビットデータ演算命
令を実行する度にI/Oメモリ3にアクセスしている。
LCでは、ビット演算プロセッサがビットデータ演算命
令を実行する度に外部のI/Oメモリにアクセスしてビ
ットデータを読込む必要があるため、同一ビットデータ
演算命令を実行して同一ビットデータを処理する場合で
も、必ずI/Oメモリへアクセスしなければならず、ビ
ットデータの演算に時間がかかる、という問題がある。
間をより短縮化できるPLCを提供することを目的とす
る。
め、本発明では、ビットデータが記憶されたI/Oメモ
リと、ビットデータ読込み命令およびビットデータ演算
命令からなるユーザプログラムが格納されたユーザプロ
グラムメモリと、上記ユーザプログラムを実行して上記
ビットデータを処理するビット演算プロセッサとを有す
るプログラマブルコントローラであって、同一ビットデ
ータ演算命令が複数回出現する場合、上記ビット演算プ
ロセッサが、最初に出現するビットデータ演算命令を実
行する前に上記I/Oメモリからビットデータを読み込
むビットデータ読込み手段と、上記ビットデータ読込み
手段によって読み出されたビットデータを記憶するビッ
トデータ記憶手段と、上記ビットデータ記憶手段に記憶
されたビットデータを用いて上記同一のビットデータ演
算命令を複数回実行するビットデータ演算手段と、を具
備することで、上記ビットデータについての上記I/O
メモリへのアクセスを1回で済むようにしたことを特徴
とする。
ログラム中のビットデータ読込み命令を実行した場合に
は、I/Oメモリからビットデータを読み込み、その読
み込んだビットデータをビットデータ記憶手段に記憶
し、ユーザプログラム中のビットデータ演算命令を実行
した場合には、ビットデータ記憶手段にアクセスして、
ビットデータ記憶手段に記憶されたビットデータを用い
て演算を行う。
面に基づいて説明する。
の構成を示している。
PU)11と、後述するビットデータ読込み命令および
ビットデータ演算命令からなるビットデータ演算用のユ
ーザプログラムが格納されたユーザプログラムメモリ
(UM)12と、ビットデータを記憶したI/Oメモリ
(I/OM)13とを有する。
の外部となるユーザプログラムメモリ12およびI/O
メモリ13とは、各々、バス14,15を介して接続さ
れている。
タ演算部11aと、I/Oメモリ13から読み込んだビ
ットデータを記憶するビットデータ記憶手段としてのレ
ジスタ11bとを有する。
グラムメモリ12に格納されたユーザプログラム中のビ
ットデータ読込み命令およびビットデータ演算命令を実
行して、ビットデータ読込み手段およびビットデータ演
算手段として機能するもので、ビットデータ読込み命令
の実行によりI/Oメモリ13からビットデータを読み
込んでレジスタ11bに記憶する一方、ビットデータ演
算命令の実行によりレジスタ11bにアクセスして、レ
ジスタ11bに記憶されたビットデータを用いて当該ビ
ットデータ演算命令を実行するように構成されている。
うにビットデータ演算命令およびビットデータ読込み命
令で構成されており、ユーザプログラムの実行順で最初
に出現するビットデータ演算命令の前にのみビットデー
タ読込み命令を設け、その後繰り返して同一のビットデ
ータ演算命令が出現する場合には、その前にビットデー
タ読込み命令を設けないように予めプログラミングして
おく。
るPLCの動作について図面を参照して説明する。
11aにおける実行手順を示している。なお、この実行
手順は、同一のビットデータ演算命令がn回続く場合
で、最初すなわち1回目のビットデータ演算命令の前に
ビットデータ読込み命令が設定されている場合のユーザ
プログラムの実行手順を示している。
合、ビットデータ演算部11aでは、まずビットデータ
読込み命令を実行して、次に実行するビットデータ演算
命令の実行の際に必要とされるビットデータをI/Oメ
モリ13から読み込んでレジスタ11bに記憶し(ステ
ップ100)、次に当該ビットデータ演算命令の1回目
を実行する(ステップ200-1)。
算命令がn個あるため、このビットデータ演算命令をn
回繰り返して(ステップ200-1〜200-n)、ユーザ
プログラムの実行を終了する。
記載されているT1 (=Tum+Tiom )、T2 (=Tum
+Trg+Talu )は、後述するが各ステップで各々の命
令を実行するのに要する時間を示している。
るビットデータ読込み命令の実行手順およびその実行に
要する時間を示す。
ユーザプログラムメモリ12からそのビットデータ読込
み命令の読み込みを行い(ステップ110)、そのデー
タ読込み命令を実行してI/Oメモリ13からビットデ
ータをレジスタ11bへ書き込みを行う(ステップ12
0)。これでこのビットデータ読込み命令の実行は完了
する。
ビットデータ読込み命令の読み込みに要する時間をTu
m、I/Oメモリ13からビットデータの読込みに要す
る時間をTiom とした場合、そのビットデータ読込み命
令の実行に要する時間T1 は、 T1=Tum+Tiom となる。
200-nにおけるビットデータ演算命令の実行手順およ
びその実行に要する時間を示す。
ットデータ演算命令の実行は、まずユーザプログラムメ
モリ12からビットデータ演算命令の読み込みを行い
(ステップ210)、次いで当該ビットデータ演算命令
の実行に必要とするビットデータをレジスタ11bから
読み込み(ステップ220)、そしてこのビットデータ
を用いて当該ビットデータ演算命令を実行する(ステッ
プ230)。これでこのビットデータ演算命令の実行は
完了する。
ビットデータ演算命令の読み込みに要する時間をTum、
レジスタ11bからビットデータの読み込みに要する時
間をTrg、ビットデータの演算に要する時間をTalu と
した場合、ビットデータ演算命令の実行に要する時間T
2 は、 T2=Tum+Trg+Talu となる。
LCと従来の方式との命令実行時間の差を説明する。
算部における命令実行およびその実行に要する時間を説
明する。
データ演算部1aにおける実行手順を示している。な
お、この従来のPLCにおける実行手順も、同一のビッ
トデータ演算命令がn回続く場合のユーザプログラムの
実行手順を示している。
グラムの実行手順を示しており、当該ユーザプログラム
中には本発明のようなビットデータ読込み命令がなく、
ビットデータ演算部1aは、当該ユーザプログラム中の
各ビットデータ演算命令1〜nを順に実行していくだけ
である(ステップ300-1〜300-n)。なお、各ステ
ップ300-1〜300-nの右横に記載されているT3
(=Tum+Tiom +Talu )は、後述するが、各ステッ
プで各々の命令を実行するのに要する時間を示してい
る。
おける各ビットデータ演算命令の実行手順およびその実
行に要する時間を示しており、まずはユーザプログラム
メモリ2からビットデータ演算命令を読込み(ステップ
310)、続いてI/Oメモリ3にアクセスして当該ビ
ットデータ演算命令の実行に用いるビットデータの読込
みを行い(ステップ320)、そしてそのビットデータ
演算命令に従ってビットデータを演算する(ステップ3
30)。このように、従来では、ビットデータ演算命令
を実行する度にI/Oメモリ3にアクセスしている。
プログラムメモリ12からビットデータ演算命令の読み
込みに要する時間をTum、I/Oメモリ13からビット
データの読み込みに要する時間をTiom 、ビットデータ
の演算に要する時間をTaluとした場合、各ビットデー
タ演算命令の実行に要する時間T3 は、 T3=Tum+Tiom +Talu となる。
Talu に具体的数値を代入して本発明に係るPLCと従
来のPLCとの命令実行時間の差を比較する。
びTalu が、各々、 Tum=120ns Tiom =120ns Trg=20ns Talu =20ns であるとする(なお、レジスタ11bからの命令読込み
時間Trgと、I/Oメモリ13からの命令読み時間Tio
m との間には、通常、Tiom >Trgの関係がある)。
のビットデータを連続して10回演算する場合には、本
実施例によれば、この場合の演算処理時間は、図2〜図
4に示すように、 T1+T2×10 =(Tum+Tiom )+(Tum+Trg+Talu )×10 =(120+120)+(120+20+20)×10 =1840ns となる。
は、図5(a),(b)に示すように、 T3×10 =(Tum+Tiom +Talu )×10 =(120+120+20)×10 =2600ns となる。
スのビットデータを連続して10回演算する場合には、
従来の方式より760nsだけ高速となり、この差は、同
一アドレスのビットデータを演算する回数が増大すれば
する程大きくなる。
ータを複数回用いてビット演算を行う場合でも、そのビ
ットデータについてのI/Oメモリへのアクセスが1回
で済むため、ほぼI/Oメモリ13へのアクセス時間と
レジスタ11bへのアクセス時間との差(Tiom −Trg
)およびその実行回数に応じた分だけ演算時間を高速
化できる。
けるビットデータ演算命令のビット幅を、従来のものと
比較する。
た従来のビット演算プロセッサ1におけるビットデータ
演算命令をマシンコードで示した場合のビット幅の割り
当てを示しており、ビットデータ演算命令の演算種別を
示す情報が格納される演算種別エリア71と、当該ビッ
トデータ演算命令の実行の際に使用されるビットデータ
のI/Oメモリ3上の格納領域を示す情報、すなわちア
ドレスが格納されるメモリ指定エリア72とが確保され
ている。
ロセッサ11におけるビットデータ演算命令をマシンコ
ードで示した場合のビット幅の割り当てを示しており、
ビットデータ演算命令の演算種別を示す情報が格納され
る演算種別エリア81と、当該ビットデータ演算命令の
実行の際に使用されるビットデータのレジスタ11b上
の格納領域を示すアドレスが格納されるレジスタ指定エ
リア82とが確保されている。
より、レジスタ指定エリア82のビット幅のほうがアド
レスの指定等の関係から少なくて済み、また容易に少な
くすることができるため、本発明によるPLCの方が、
メモリ指定エリア72のビット幅とレジスタ指定エリア
82のビット幅との差、すなわち図中、破線で囲まれた
エリア83の幅だけ、ビットデータ演算命令のビット幅
を短くすることができる。
プログラムのプログラムサイズが減少するため、プログ
ラムメモリのメモリサイズが削減できると共に、プログ
ラム読込み時間が減少し、この点でもプログラム実行の
高速化を図ることができる。次に、本発明の第2実施例
を説明する。図7に第2実施例のPLCの構成を示す。
ッサ21のビットデータ演算部21aおよびレジスタ2
1bの構成については第1実施例のものと同一で、第1
実施例の場合と異なる点は、ユーザプログラムメモリお
よびI/Oメモリを単一の外部メモリ22で構成し、ビ
ット演算プロセッサ21と当該外部メモリ22とをバス
24で接続し、ビット演算プロセッサ21と、外部のユ
ーザプログラムメモリおよびI/Oメモリとを接続する
バスを単一のバスにして構成したものである。つまり、
第1実施例では、図1に示すように外部のユーザプログ
ラムメモリ12あるいはI/Oメモリ13に接続するバ
ス14,15を分離して別々に設けていたのを、図7に
示すように単一のバス24に置き換え、ユーザプログラ
ムメモリおよびI/Oメモリを単一の外部メモリ22で
構成したものである。
PLCでは、ビット演算プロセッサ21が外部メモリ2
2のユーザプログラムメモリに相当するエリアからバス
24を介してユーザプログラム中の各命令を順次読み込
んで実行し、ビットデータ読込み命令を実行した際に
は、外部メモリ22のI/Oメモリに相当するエリアか
らバス24を介してビットデータを読込んでレジスタ2
1bに記憶し、ビットデータ演算命令を実行した際に
は、レジスタ21bからビットデータを読出し、そのビ
ットデータで演算命令を実行する。
部のユーザプログラムメモリおよびI/Oメモリとを接
続するバスを単一のバス24で構成した場合であって
も、ビット演算プロセッサ21が同一アドレスのビット
データを連続して複数回演算する場合には、外部メモリ
22のI/Oメモリに相当するエリアへのバス24を介
してのアクセスは1回のみで済み、同一ビットデータの
2回目以降の演算ではレジスタ21bへアクセスしてバ
ス24を使用しないため、外部メモリ22のユーザプロ
グラムメモリに相当するエリアからバス24を介しての
ビットデータ演算命令の読み込みにほとんど影響を与え
ることがなくなり、ビット演算プロセッサと外部のユー
ザプログラムメモリおよびI/Oメモリとを接続するバ
スを別々に分離して設けた場合とほぼ同速度でビットデ
ータの演算を実行できることになる。
モリへのバスが単一バスであっても、外部メモリへのバ
スを別々に設けた場合と同等の高速度で、ビットデータ
の演算処理が可能となると共に、外部メモリへのバスを
単一にしたことによりユーザプログラムメモリとI/O
メモリとを単一の外部メモリ22で構成することが可能
になるため、PLCの構成が簡単になり、PLCの製造
コストの低減化が図れる。
施例の場合と同様に図6(b)に示す構造のビットデー
タ演算命令を使用しているため、従来の場合と較べて、
ビットデータ演算用のユーザプログラムのプログラムサ
イズが減少する。
ムメモリのメモリサイズが削減できると共に、プログラ
ム読込み時間が減少し、この点でもプログラム実行の高
速化を図ることができる。
ト演算プロセッサ内にレジスタ等のビットデータ記憶手
段を設け、ビット演算プロセッサがユーザプログラム中
のビットデータ読込み命令を実行した場合には、I/O
メモリからビットデータを読み込んで、その読み込んだ
ビットデータをビットデータ記憶手段に記憶し、ユーザ
プログラム中のビットデータ演算命令を実行する場合に
は、ビットデータ記憶手段にアクセスして、ビットデー
タ記憶手段に記憶されたそのビットデータを用いて演算
を行うようにしたため、同一ビットデータを複数回用い
てビット演算を行う場合には、そのビットデータについ
てのI/Oメモリへのアクセスが1回で済むことにな
り、演算速度を高速化できる。
とユーザプログラムメモリおよびI/Oメモリとを接続
するバスを単一にしているが、この場合でも、ビット演
算プロセッサが同一アドレスのビットデータを連続して
複数回演算する場合には、単一バスを介してのI/Oメ
モリへのアクセスは1回のみで済み、2回目以降の演算
ではレジスタへアクセスして当該バスを使用しないた
め、ユーザプログラムメモリに相当するエリアからバス
を介してのビットデータ演算命令の読み込みにほとんど
影響を与えることがなくなる。
けた場合と同等の高速度でビットデータの演算処理が可
能になると共に、ユーザプログラムメモリとI/Oメモ
リとを単一のメモリで構成することが可能になるため、
PLCの構成が簡単になり、PLCの製造コストの低減
化が図れる。
令を当該ビットデータ演算命令の種別を示す情報と、当
該ビットデータ演算命令の実行の際に使用されるビット
データのビットデータ記憶手段における格納領域を示す
情報とで構成したため、ビットデータ記憶手段がレジス
タ等の場合におけるこの格納領域指定情報は、I/Oメ
モリの場合における格納領域指定情報より演算命令のビ
ット幅が短くて済むことになり、ビットデータ演算用の
ユーザプログラムのプログラムサイズが減少する。
ズが削減できると共に、プログラム読込み時間が減少
し、この点でもプログラム実行の高速化を図ることがで
きる。
ブロック図。
ローチャート。
ーチャート。
チャート。
示すフローチャート。
すブロック図。
ブロック図。
構成を示すブロック図。
段,ビットデータ演算手段) 11b レジスタ(ビットデータ記憶手段)
Claims (3)
- 【請求項1】 ビットデータが記憶されたI/Oメモリ
と、ビットデータ読込み命令およびビットデータ演算命
令からなるユーザプログラムが格納されたユーザプログ
ラムメモリと、上記ユーザプログラムを実行して上記ビ
ットデータを処理するビット演算プロセッサとを有する
プログラマブルコントローラであって、同一ビットデータ演算命令が複数回出現する場合、 上記ビット演算プロセッサが、最初に出現するビットデータ演算命令を実行する前に 上
記I/Oメモリからビットデータを読み込むビットデー
タ読込み手段と、 上記ビットデータ読込み手段によって読み出されたビッ
トデータを記憶するビットデータ記憶手段と、 上記ビットデータ記憶手段に記憶されたビットデータを
用いて上記同一のビットデータ演算命令を複数回実行す
るビットデータ演算手段と、 を具備することで、上記ビットデータについての上記I
/Oメモリへのアクセスを1回で済むようにしたことを
特徴とするプログラマブルコントローラ。 - 【請求項2】 ビットデータが記憶されたI/Oメモリ
と、ビットデータ読込み命令およびビットデータ演算命
令からなるユーザプログラムが格納されたユーザプログ
ラムメモリと、上記ユーザプログラムを実行して上記ビ
ットデータを処理するビット演算プロセッサとを有する
プログラマブルコントローラであって、 同一ビットデータを複数回用いてビット演算を行なう場
合、 上記ビット演算プロセッサが、 最初に出現するビットデータ演算命令を実行する前に上
記I/Oメモリから上記同一ビットデータを読み込むビ
ットデータ読込み手段と、 上記ビットデータ読込み手段によって読み出されたビッ
トデータを記憶するビットデータ記憶手段と、 上記ビットデータ記憶手段に記憶されたビットデータを
複数回用いて上記ビッ トデータ演算命令を実行するビッ
トデータ演算手段と、 を具備することで、上記ビットデータについての上記I
/Oメモリへのアクセスを1回で済むようにした ことを
特徴とするプログラマブルコントローラ。 - 【請求項3】 ビットデータ演算命令は、当該ビットデ
ータ演算命令の種別を示す情報と、当該ビットデータ演
算命令の実行の際に使用されるビットデータのビットデ
ータ記憶手段における格納領域を示す情報とから構成さ
れていることを特徴とする請求項1または請求項2記載
のプログラマブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12419793A JP3341061B2 (ja) | 1993-05-26 | 1993-05-26 | プログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12419793A JP3341061B2 (ja) | 1993-05-26 | 1993-05-26 | プログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06332508A JPH06332508A (ja) | 1994-12-02 |
JP3341061B2 true JP3341061B2 (ja) | 2002-11-05 |
Family
ID=14879392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12419793A Expired - Lifetime JP3341061B2 (ja) | 1993-05-26 | 1993-05-26 | プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3341061B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1703347B1 (en) | 2005-03-15 | 2018-10-17 | Omron Corporation | Programmable logic controller device and programmable logic controller system |
-
1993
- 1993-05-26 JP JP12419793A patent/JP3341061B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH06332508A (ja) | 1994-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3024422B2 (ja) | プログラマブルコントローラおよびプログラマブルコントローラの運転方法 | |
JP3341061B2 (ja) | プログラマブルコントローラ | |
US6311266B1 (en) | Instruction look-ahead system and hardware | |
JPS601655B2 (ja) | デ−タプリフェツチ方式 | |
JPH0821009B2 (ja) | チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム | |
JP3130798B2 (ja) | バス転送装置 | |
JPS63249206A (ja) | プログラマブルコントロ−ラ | |
JPH11259308A (ja) | プログラマブルコントローラ | |
JPH03113562A (ja) | 小型産業用コンピュータ | |
JP2002358102A (ja) | プログラマブル・ロジック・コントローラのプログラミング装置 | |
JP3695078B2 (ja) | パルス出力命令を持つプログラマブルコントローラ | |
JP2573391B2 (ja) | プログラマブルコントローラ | |
JPH0518138B2 (ja) | ||
JPH0452842A (ja) | メモリチェック方式 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JPS6053330B2 (ja) | プログラム書き込み方式 | |
JP3428253B2 (ja) | シーケンサ | |
JPH0844570A (ja) | プログラム実行システム及び方法 | |
JPH0421028A (ja) | レジスタ管理方法 | |
JPS61248152A (ja) | プロシ−ジヤ切替制御方式 | |
JPH05289712A (ja) | 言語変換装置 | |
JPH01300352A (ja) | ダンプ領域指示制御方式 | |
JPH07175513A (ja) | プロセス制御装置 | |
JPH043226A (ja) | 演算処理装置 | |
JPH03246602A (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020710 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080823 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080823 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090823 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100823 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100823 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110823 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110823 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120823 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130823 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |