JPH0922307A - シーケンサ - Google Patents
シーケンサInfo
- Publication number
- JPH0922307A JPH0922307A JP7171694A JP17169495A JPH0922307A JP H0922307 A JPH0922307 A JP H0922307A JP 7171694 A JP7171694 A JP 7171694A JP 17169495 A JP17169495 A JP 17169495A JP H0922307 A JPH0922307 A JP H0922307A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- memory
- lock
- code
- 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
Links
Landscapes
- Advance Control (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【目的】 命令毎のファームウェアあるいはハードウェ
アを増すことなく命令ロックを実現する。また、パイプ
ライン処理を行う場合の命令ロックにも命令実行時間の
増加を無くす。また、接点ロックの操作を容易にする。 【構成】 プログラムメモリ1の各命令コードにはシー
ケンサの命令ロックを示すビット又はコードを設定する
命令ロック部を設け、データメモリ2には命令ロック時
と通常制御時とは別のメモリロケーションに別のデータ
を格納しておき、オペランドデータリード部5は命令フ
ェッチ部3のインストラクションレジスタ3Bの命令ロ
ック部3B1に命令ロックを示すデータがある場合には
データメモリのアドレスをモディファイし、データポイ
ンタ5Aにはデータメモリのメモリロケーションを変え
たアドレスを得てデータを読出す。
アを増すことなく命令ロックを実現する。また、パイプ
ライン処理を行う場合の命令ロックにも命令実行時間の
増加を無くす。また、接点ロックの操作を容易にする。 【構成】 プログラムメモリ1の各命令コードにはシー
ケンサの命令ロックを示すビット又はコードを設定する
命令ロック部を設け、データメモリ2には命令ロック時
と通常制御時とは別のメモリロケーションに別のデータ
を格納しておき、オペランドデータリード部5は命令フ
ェッチ部3のインストラクションレジスタ3Bの命令ロ
ック部3B1に命令ロックを示すデータがある場合には
データメモリのアドレスをモディファイし、データポイ
ンタ5Aにはデータメモリのメモリロケーションを変え
たアドレスを得てデータを読出す。
Description
【0001】
【産業上の利用分野】本発明は、ラダーシーケンスを演
算するシーケンサに係り、特に、ラダープログラムのデ
バッグ機能を実現するための接点ロック処理に関する。
算するシーケンサに係り、特に、ラダープログラムのデ
バッグ機能を実現するための接点ロック処理に関する。
【0002】
【従来の技術】ラダーシーケンスを作成してシーケンサ
に入力し、所定の演算を行うとき、そのデバッグ機能を
実現するために、シーケンサの接点を強制的にONロッ
クしたり、OFFロックする機能が用意されている場合
が多い。
に入力し、所定の演算を行うとき、そのデバッグ機能を
実現するために、シーケンサの接点を強制的にONロッ
クしたり、OFFロックする機能が用意されている場合
が多い。
【0003】図2はラダー回路例を示したもので、複数
のメモリとこれらメモリに対応するメモリ接点とからな
る。また、この回路は図3のプログラムメモリに展開さ
れ、更に図4のようなデータメモリに展開される。図4
中、各数字はメモリロケーションのアドレスを示してい
る。
のメモリとこれらメモリに対応するメモリ接点とからな
る。また、この回路は図3のプログラムメモリに展開さ
れ、更に図4のようなデータメモリに展開される。図4
中、各数字はメモリロケーションのアドレスを示してい
る。
【0004】いま、図2のラダー回路で「M40」の接
点をONロックする場合について考えると、「M40」
のメモリ内容は例えば「0」から「1」に書き換えられ
る。したがって、「M40」の接点を使用している命令
もその演算内容を変える必要がある。例えば図3のプロ
グラムメモリでは、ST M40,AND M40,LD M40の三つの命
令のオペランドデータとして「1」を使用する必要があ
る。
点をONロックする場合について考えると、「M40」
のメモリ内容は例えば「0」から「1」に書き換えられ
る。したがって、「M40」の接点を使用している命令
もその演算内容を変える必要がある。例えば図3のプロ
グラムメモリでは、ST M40,AND M40,LD M40の三つの命
令のオペランドデータとして「1」を使用する必要があ
る。
【0005】従来は、この機能を実現するため、図3に
示すようなプログラムメモリの中からM40をオペラン
ドにしている命令を全て検索し、別コードに変えるなど
して演算内容を変更していた。
示すようなプログラムメモリの中からM40をオペラン
ドにしている命令を全て検索し、別コードに変えるなど
して演算内容を変更していた。
【0006】
【発明が解決しようとする課題】近年、半導体技術が向
上し、大容量メモリが発表されるに連れ、シーケンサの
プログラム容量も大幅に増加している。このような状況
で、大容量のプログラムメモリの命令コードを操作する
ときに、従来のようにプログラムメモリから該当オペラ
ンドを持つ命令を全て検索してそのコードを操作する方
式を採用すると、処理に相当の時間を要し、演算スキャ
ンを乱す等の弊害が生じていた。
上し、大容量メモリが発表されるに連れ、シーケンサの
プログラム容量も大幅に増加している。このような状況
で、大容量のプログラムメモリの命令コードを操作する
ときに、従来のようにプログラムメモリから該当オペラ
ンドを持つ命令を全て検索してそのコードを操作する方
式を採用すると、処理に相当の時間を要し、演算スキャ
ンを乱す等の弊害が生じていた。
【0007】この課題を解決するために、従来のプログ
ラムメモリの内容を変えて接点ロックを行うのに代え
て、プログラムメモリに展開されている命令コードを個
別にロックする方法が考えられる。すなわち、ユーザが
特定する番地での命令においてのみ強制的に指定された
値をもってその命令本来の演算を行わせる。
ラムメモリの内容を変えて接点ロックを行うのに代え
て、プログラムメモリに展開されている命令コードを個
別にロックする方法が考えられる。すなわち、ユーザが
特定する番地での命令においてのみ強制的に指定された
値をもってその命令本来の演算を行わせる。
【0008】この命令コードを置き換える方法を採る
と、全ての命令のファームウェア又はハードウェアをロ
ック付きとロック無しの二種類用意する必要があり、用
意するファームウェア又はハードウェアの負担が大きく
なる。
と、全ての命令のファームウェア又はハードウェアをロ
ック付きとロック無しの二種類用意する必要があり、用
意するファームウェア又はハードウェアの負担が大きく
なる。
【0009】また、元の命令コードとその設定場所を保
存する必要があり、ロックの数が増えてくると、その管
理の手間が増大する。
存する必要があり、ロックの数が増えてくると、その管
理の手間が増大する。
【0010】さらに、他の課題として、シーケンサがパ
イプライン処理を行う場合である。シーケンサでは、通
常、演算速度を向上するため、命令の実行にパイプライ
ン処理を行う。下記表にはパイプライン処理の例を示
す。
イプライン処理を行う場合である。シーケンサでは、通
常、演算速度を向上するため、命令の実行にパイプライ
ン処理を行う。下記表にはパイプライン処理の例を示
す。
【0011】
【表1】
【0012】パイプライン処理は、命令フェッチ部と命
令解析部とオペランドリード部と演算部を効率良く使用
するのに有効である。上記の表において、n+2のステ
ップに着目すると、命令Cのフェッチと命令Bの解析と
オペランドデータリード及び命令Aの演算を並列に処理
していることになる。
令解析部とオペランドリード部と演算部を効率良く使用
するのに有効である。上記の表において、n+2のステ
ップに着目すると、命令Cのフェッチと命令Bの解析と
オペランドデータリード及び命令Aの演算を並列に処理
していることになる。
【0013】すなわち、マイクロコード方式又はハード
ウェア処理方式の何れにも、現在の実行(演算)より先
の命令の実行のために、予め前処理を行っておく。
ウェア処理方式の何れにも、現在の実行(演算)より先
の命令の実行のために、予め前処理を行っておく。
【0014】このパイプライン処理において、命令の並
びは、ユーザがプログラムするわけであるから不確定で
ある。したがって、全ての命令において次の命令に移る
ときまでの処理を統一しておく必要がある。
びは、ユーザがプログラムするわけであるから不確定で
ある。したがって、全ての命令において次の命令に移る
ときまでの処理を統一しておく必要がある。
【0015】ここで、例えば命令Aにロックがなされた
場合、ステップn+1で用意したオペランドでは使用で
きないことになり、ステップn+2で再度ロックデータ
をリードし、ステップn+3で命令Aの演算となる。
場合、ステップn+1で用意したオペランドでは使用で
きないことになり、ステップn+2で再度ロックデータ
をリードし、ステップn+3で命令Aの演算となる。
【0016】このように、命令ロックによる接点ロック
方式では、パイプライン処理を乱し、処理速度が落ちる
(上記の命令Aのロックでは2倍時間を必要とする)。
方式では、パイプライン処理を乱し、処理速度が落ちる
(上記の命令Aのロックでは2倍時間を必要とする)。
【0017】本発明の目的は、命令毎のファームウェア
あるいはハードウェアを増すことなく命令ロックを実現
するシーケンサを提供することにある。
あるいはハードウェアを増すことなく命令ロックを実現
するシーケンサを提供することにある。
【0018】本発明の他の目的は、パイプライン処理を
行う場合の命令ロックにも命令実行時間の増加を無くす
シーケンサを提供することにある。
行う場合の命令ロックにも命令実行時間の増加を無くす
シーケンサを提供することにある。
【0019】本発明の他の目的は、接点ロックの操作を
容易にするシーケンサを提供することにある。
容易にするシーケンサを提供することにある。
【0020】
【課題を解決するための手段】本発明は、前記課題の解
決を図るため、プログラムメモリから命令フェッチでラ
ダープログラムの命令コードを読出し、この命令コード
のオペコードを解析部で解読し、オペランドデータリー
ド部のデータポインタには前記命令コードのオペランド
に対応してデータメモリのアドレスを得、前記解析部の
解析結果と前記データメモリからの読出しデータを使っ
て演算部で演算を実行するシーケンサにおいて、前記プ
ログラムメモリの各命令コードにはシーケンサの命令ロ
ックを示すビット又はコードを設定する命令ロック部を
設け、前記データメモリには命令ロック時と通常制御時
とは別のメモリロケーションに別のデータを格納してお
き、前記オペランドデータリード部はプログラムメモリ
からフェッチした命令コードの前記命令ロック部に命令
ロックを示す設定がなされている場合にはデータメモリ
のアドレスをモディファイして前記メモリロケーション
を変えたアドレスを得ることを特徴とする。
決を図るため、プログラムメモリから命令フェッチでラ
ダープログラムの命令コードを読出し、この命令コード
のオペコードを解析部で解読し、オペランドデータリー
ド部のデータポインタには前記命令コードのオペランド
に対応してデータメモリのアドレスを得、前記解析部の
解析結果と前記データメモリからの読出しデータを使っ
て演算部で演算を実行するシーケンサにおいて、前記プ
ログラムメモリの各命令コードにはシーケンサの命令ロ
ックを示すビット又はコードを設定する命令ロック部を
設け、前記データメモリには命令ロック時と通常制御時
とは別のメモリロケーションに別のデータを格納してお
き、前記オペランドデータリード部はプログラムメモリ
からフェッチした命令コードの前記命令ロック部に命令
ロックを示す設定がなされている場合にはデータメモリ
のアドレスをモディファイして前記メモリロケーション
を変えたアドレスを得ることを特徴とする。
【0021】
【作用】命令ロックによる接点ロックを行うにおいて、
プログラムメモリの各命令コードに命令ロックを示す命
令ロック部を設けておき、この命令ロックの設定が有る
ときにデータメモリのアドレスをモディファイし、命令
ロック時にはデータメモリの別のメモリロケーションか
らデータを得る。
プログラムメモリの各命令コードに命令ロックを示す命
令ロック部を設けておき、この命令ロックの設定が有る
ときにデータメモリのアドレスをモディファイし、命令
ロック時にはデータメモリの別のメモリロケーションか
らデータを得る。
【0022】
【実施例】図1は、本発明の一実施例を示すシーケンサ
のブロック図である。プログラムメモリ1には、例えば
図3に示すようなプログラムが格納される。データメモ
リ2には、例えば図4に示すようなアドレス別にデータ
が格納される。
のブロック図である。プログラムメモリ1には、例えば
図3に示すようなプログラムが格納される。データメモ
リ2には、例えば図4に示すようなアドレス別にデータ
が格納される。
【0023】命令フェッチ部3は、プログラムカウンタ
3Aの値をアドレスとしてプログラムメモリ1から1つ
の命令をデータとしてインストラクションレジスタ3B
に読出す。
3Aの値をアドレスとしてプログラムメモリ1から1つ
の命令をデータとしてインストラクションレジスタ3B
に読出す。
【0024】解析部4は、インストラクションレジスタ
3Bのオペコード部をデコーダ4Aで解読し、パイプラ
インレジスタ4Bに順次格納する。
3Bのオペコード部をデコーダ4Aで解読し、パイプラ
インレジスタ4Bに順次格納する。
【0025】オペランドデータリード部5は、インスト
ラクションレジスタ3Bのオペランド部を取り込み、オ
ペランドに対応するアドレスをデータポインタ5Aに
得、これをデータメモリ2のアドレスとする。このアド
レス指定によりデータメモリ2から読出したデータをデ
ータバッファ5Bからデータレジスタ6に転送する。
ラクションレジスタ3Bのオペランド部を取り込み、オ
ペランドに対応するアドレスをデータポインタ5Aに
得、これをデータメモリ2のアドレスとする。このアド
レス指定によりデータメモリ2から読出したデータをデ
ータバッファ5Bからデータレジスタ6に転送する。
【0026】演算部7は、パイプラインレジスタ4Bか
らの命令コードの解析結果にしたがってデータレジスタ
6のデータを使って演算を実行する。
らの命令コードの解析結果にしたがってデータレジスタ
6のデータを使って演算を実行する。
【0027】このとき、パイプラインレジスタ4Bは、
前記の表1に示すように、ステップに応じて演算部7に
は例えば命令Aによる演算を指令し、同時にプログラム
カウンタ3Aには命令Cのフェッチのためインクリメン
トを指令し、データポインタ5Aには命令Bのポインタ
指定を行う。
前記の表1に示すように、ステップに応じて演算部7に
は例えば命令Aによる演算を指令し、同時にプログラム
カウンタ3Aには命令Cのフェッチのためインクリメン
トを指令し、データポインタ5Aには命令Bのポインタ
指定を行う。
【0028】ここで、プログラムメモリ1に格納される
命令コードは、通常ではオペコード部とオペランド部と
からなる。本実施例では、この命令コードに個別の命令
ロックを示すビット又はコードを設定できるよう、プロ
グラムメモリ1にはオペコードとオペランドの他に命令
ロック部を設ける。
命令コードは、通常ではオペコード部とオペランド部と
からなる。本実施例では、この命令コードに個別の命令
ロックを示すビット又はコードを設定できるよう、プロ
グラムメモリ1にはオペコードとオペランドの他に命令
ロック部を設ける。
【0029】この命令ロック部を設けるのに伴って、命
令フェッチ部3のインストラクションレジスタ3Bには
命令ロック部をフェッチするレジスタ部分3B1を設け
る。
令フェッチ部3のインストラクションレジスタ3Bには
命令ロック部をフェッチするレジスタ部分3B1を設け
る。
【0030】これにより、命令フェッチを行った後のス
テップでオペランドデータによってデータポインタ5A
がデータアドレスを読出す際に、データポインタ5Aで
は命令ロック部3B1が示すビット又はコードによりオ
ペランドをモディファイし、該当するオペランドに対応
するロックデータのアドレスに変換する。
テップでオペランドデータによってデータポインタ5A
がデータアドレスを読出す際に、データポインタ5Aで
は命令ロック部3B1が示すビット又はコードによりオ
ペランドをモディファイし、該当するオペランドに対応
するロックデータのアドレスに変換する。
【0031】このアドレス変換は、全てのオペランドに
対して一律にアドレスを加算したり、バンクを切り替え
たりする方法で実現される。
対して一律にアドレスを加算したり、バンクを切り替え
たりする方法で実現される。
【0032】また、命令ロック時と通常制御とを切り替
えるために、データメモリ2には通常制御で使用するデ
ータのメモリロケーションと、命令ロック時に使用する
データのメモリロケーションとを用意する。
えるために、データメモリ2には通常制御で使用するデ
ータのメモリロケーションと、命令ロック時に使用する
データのメモリロケーションとを用意する。
【0033】なお、実施例において、パイプライン処理
を行わないシーケンサの場合も同様の命令ロック部を設
けてデータアドレスのモディファイを行う。
を行わないシーケンサの場合も同様の命令ロック部を設
けてデータアドレスのモディファイを行う。
【0034】
【発明の効果】以上のとおり、本発明によれば、シーケ
ンサの接点ロックを行うにおいて、プログラムメモリに
はシーケンサの命令ロックを示すビット又はコードを設
定できるようにしておき、この命令ロックの設定が有る
ときにデータメモリのアドレスをモディファイし、命令
ロック時にはデータメモリの別のメモリロケーションか
らデータを得るようにしたため、以下の効果がある。
ンサの接点ロックを行うにおいて、プログラムメモリに
はシーケンサの命令ロックを示すビット又はコードを設
定できるようにしておき、この命令ロックの設定が有る
ときにデータメモリのアドレスをモディファイし、命令
ロック時にはデータメモリの別のメモリロケーションか
らデータを得るようにしたため、以下の効果がある。
【0035】(1)命令毎のファームウェアあるいはハ
ードウェアを増すことなく命令ロックを実現できる。
ードウェアを増すことなく命令ロックを実現できる。
【0036】(2)パイプライン処理を行う場合の命令
ロックにも命令実行時間の増加が無くなる。
ロックにも命令実行時間の増加が無くなる。
【0037】(3)接点ロックの操作は、プログラムメ
モリにある該等命令の命令ロック部を単にロック側に設
定することで済み、ファームウェアの管理を簡単にして
接点ロックが容易になる。
モリにある該等命令の命令ロック部を単にロック側に設
定することで済み、ファームウェアの管理を簡単にして
接点ロックが容易になる。
【図1】本発明の一実施例を示すシーケンサのブロック
図。
図。
【図2】シーケンサのラダー回路の例。
【図3】シーケンサのプログラムメモリの例。
【図4】シーケンサのデータメモリの例。
1…プログラムメモリ 2…データメモリ 3…命令フェッチ部 4…解析部 5…オペランドデータリード部 6…データレジスタ 7…演算部
Claims (1)
- 【請求項1】 プログラムメモリから命令フェッチでラ
ダープログラムの命令コードを読出し、この命令コード
のオペコードを解析部で解読し、オペランドデータリー
ド部のデータポインタには前記命令コードのオペランド
に対応してデータメモリのアドレスを得、前記解析部の
解析結果と前記データメモリからの読出しデータを使っ
て演算部で演算を実行するシーケンサにおいて、 前記プログラムメモリの各命令コードにはシーケンサの
命令ロックを示すビット又はコードを設定する命令ロッ
ク部を設け、 前記データメモリには命令ロック時と通常制御時とは別
のメモリロケーションに別のデータを格納しておき、 前記オペランドデータリード部はプログラムメモリから
フェッチした命令コードの前記命令ロック部に命令ロッ
クを示す設定がなされている場合にはデータメモリのア
ドレスをモディファイして前記メモリロケーションを変
えたアドレスを得ることを特徴とするシーケンサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7171694A JPH0922307A (ja) | 1995-07-07 | 1995-07-07 | シーケンサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7171694A JPH0922307A (ja) | 1995-07-07 | 1995-07-07 | シーケンサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0922307A true JPH0922307A (ja) | 1997-01-21 |
Family
ID=15927962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7171694A Pending JPH0922307A (ja) | 1995-07-07 | 1995-07-07 | シーケンサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0922307A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002084421A1 (en) * | 2001-04-09 | 2002-10-24 | Mitsubishi Denki Kabushiki Kaisha | Programmable controller |
JP2003177805A (ja) * | 2002-11-18 | 2003-06-27 | Meidensha Corp | シーケンサ |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5933504A (ja) * | 1982-08-20 | 1984-02-23 | Toshiba Corp | シ−ケンス制御装置 |
JPS63159905A (ja) * | 1986-12-24 | 1988-07-02 | Hitachi Ltd | プログラマブルコントロ−ラの入出力強制オン/オフ方式 |
JPH0527811A (ja) * | 1991-07-24 | 1993-02-05 | Meidensha Corp | シーケンサの接点ロツク方式 |
JPH06242819A (ja) * | 1993-02-18 | 1994-09-02 | Fanuc Ltd | Pcの信号状態制御方式 |
-
1995
- 1995-07-07 JP JP7171694A patent/JPH0922307A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5933504A (ja) * | 1982-08-20 | 1984-02-23 | Toshiba Corp | シ−ケンス制御装置 |
JPS63159905A (ja) * | 1986-12-24 | 1988-07-02 | Hitachi Ltd | プログラマブルコントロ−ラの入出力強制オン/オフ方式 |
JPH0527811A (ja) * | 1991-07-24 | 1993-02-05 | Meidensha Corp | シーケンサの接点ロツク方式 |
JPH06242819A (ja) * | 1993-02-18 | 1994-09-02 | Fanuc Ltd | Pcの信号状態制御方式 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002084421A1 (en) * | 2001-04-09 | 2002-10-24 | Mitsubishi Denki Kabushiki Kaisha | Programmable controller |
DE10196152B3 (de) * | 2001-04-09 | 2014-11-20 | Mitsubishi Denki K.K. | Programmierbare Steuervorrichtung |
JP2003177805A (ja) * | 2002-11-18 | 2003-06-27 | Meidensha Corp | シーケンサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3548255B2 (ja) | 分岐命令予測機構及び予測方法 | |
EP0996057A1 (en) | Data processor | |
US4954943A (en) | Data processing system | |
US5220656A (en) | System for selecting control parameter for microinstruction execution unit using parameters and parameter selection signal decoded from instruction | |
EP1241567B1 (en) | Method and apparatus for executing coprocessor instructions | |
JPH06236268A (ja) | 命令の長さを判定する装置と方法 | |
US4945511A (en) | Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions | |
KR100413651B1 (ko) | 복수레지스터의데이터전송을워드길이가짧은명령으로실현하는정보처리장치및그정보처리방법 | |
EP0317473A2 (en) | Microcode branch based upon operand length and alignment | |
JP3486690B2 (ja) | パイプライン方式プロセッサ | |
US5440704A (en) | Data processor having branch predicting function | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
JPH03233630A (ja) | 情報処理装置 | |
JPH031231A (ja) | マイクロプログラム制御装置 | |
JPH0922307A (ja) | シーケンサ | |
KR100322725B1 (ko) | 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 | |
EP0180077B1 (en) | A data processing machine for compiling computer programs | |
US5187782A (en) | Data processing system | |
JP2772100B2 (ja) | 並列命令フェッチ機構 | |
US7073049B2 (en) | Non-copy shared stack and register file device and dual language processor structure using the same | |
JP3705263B2 (ja) | シーケンサ | |
US20030018883A1 (en) | Microcode branch prediction indexing to macrocode instruction addresses | |
JP2000112754A (ja) | データ処理装置 | |
JPS6116334A (ja) | デ−タ処理装置 | |
JPH1115659A (ja) | 分岐予測方式 |