JPH0736201U - 出力命令二重使用チェック装置 - Google Patents
出力命令二重使用チェック装置Info
- Publication number
- JPH0736201U JPH0736201U JP014291U JP1429194U JPH0736201U JP H0736201 U JPH0736201 U JP H0736201U JP 014291 U JP014291 U JP 014291U JP 1429194 U JP1429194 U JP 1429194U JP H0736201 U JPH0736201 U JP H0736201U
- Authority
- JP
- Japan
- Prior art keywords
- output
- output instruction
- program
- instruction
- address
- 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
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【目的】プログラム命令の中から出力命令の二重使用を
チェックする時間を短縮する。 【構成】プログラム命令を記憶したプログラムメモリ2
から読み出された出力命令を、選別条件テーブル5に設
定(例えば出力命令の最下位アドレス)された出力命令
の選別条件に従って出力命令選別回路4で選別し、選別
された出力命令をスタック記憶回路7に記憶すると共に
このスタック記憶回路7に記憶された一群の出力命令に
対して二重使用のチェックをスタック検索回路6で実行
し、二重使用が有るときには警告回路20により警告し、
二重使用が無いときには選別条件を逐次変更して全ての
出力命令について二重使用をチェックする。選別条件を
設定して出力命令を選別することにより出力命令の読み
出し回数が減少し、チェック時間が短縮される。
チェックする時間を短縮する。 【構成】プログラム命令を記憶したプログラムメモリ2
から読み出された出力命令を、選別条件テーブル5に設
定(例えば出力命令の最下位アドレス)された出力命令
の選別条件に従って出力命令選別回路4で選別し、選別
された出力命令をスタック記憶回路7に記憶すると共に
このスタック記憶回路7に記憶された一群の出力命令に
対して二重使用のチェックをスタック検索回路6で実行
し、二重使用が有るときには警告回路20により警告し、
二重使用が無いときには選別条件を逐次変更して全ての
出力命令について二重使用をチェックする。選別条件を
設定して出力命令を選別することにより出力命令の読み
出し回数が減少し、チェック時間が短縮される。
Description
【0001】
本考案は、シーケンスコントローラのプログラムの命令チェック装置に関し、 特にプログラムにおける出力命令についての二重使用チェック装置に関する。
【0002】
一般に、プログラマブルコントローラが行うプログラム中に同一の出力アドレ スを持つ出力命令が二つ以上あると、プログラマブルコントローラの誤動作の原 因となるため、プログラマブルコントローラの作動に先立ってプログラム中の出 力命令が二重使用されているか否かをチェックすることが知られている。従来の この種の出力命令二重使用チェック装置については、種々知られている。
【0003】 この種の従来の出力命令の二重チェック装置の処理手順の一例を説明する。図 2はシーケンス回路を図式化したシーケンスプログラムを示す。図3は図2のシ ーケンスプログラムのリスト表現を示す。このようなプログラムにおいては、出 力命令の二重使用をチェックするためには、第1ステップとして、プログラムの 一番前にある出力命令を抽出する。図3のプログラム例では、出力命令1が抽出 されると、二重チェック装置は内部メモリのこの出力命令"OUT 0000"を記憶する 。次に、この出力命令を基点として、基点以後のプログラム命令と基点の出力命 令とを比較し、基点の出力命令と同一の命令があるか否かを二重チェック装置は 検出する。基点となっている出力命令と同一の命令がプログラム中にないときは 、二重使用チェック装置は基点を次の出力命令に移す。図3に示す例では出力命 令2の"OUT 0001"が基点となる。このように、順次出力命令の基点を移し、基点 がプログラムの終端に達するまで、二重チェック装置は出力命令の二重使用のチ ェックを繰り返す。
【0004】
けれども、例えば、8192ステップあるシーケンスプログラムの中の4096個の出 力命令に対して二重使用のチェックを行うときプログラムからプログラム命令を 読み取る回数の平均は、読み取り回数=8192+4096×4096≒8192+16.8×106 ≒ 16.8×106 (回)と非常に大きなものとなり、出力命令の二重使用のチェックに 時間がかかるという問題点があった。
【0005】 そこで、本考案の目的は、このような問題点を解決し、出力命令の二重使用の チェック時間を短縮することができる出力命令の二重使用チェック装置を提供す ることにある。
【0006】
上述の目的を達成するため本考案は、シーケンスプログラムを記憶するプログ ラムメモリと、前記プログラムメモリから読み出された命令の中から出力命令を 検出する出力命令検出手段と、出力命令の中から一群の出力命令を選別するため の選別条件を予め定められた一定の順序で逐次設定する条件設定手段と、前記条 件設定手段による選別条件が切り換わる毎に更新され、前記選別条件で選別され た出力命令の使用状態を記憶するスタック手段と、前記選別条件で選別された出 力命令を前記スタック手段に記憶された出力命令と比較することにより出力命令 の二重使用を検出する検出手段とを備えたことを特徴とする。
【0007】
本考案では、出力命令を選別条件に従ってプログラム命令の中から選別し、選 別された一群の出力命令に対して二重使用のチェックを検出手段により行い、選 別された出力命令の中に二重使用されている出力命令がないときには選別条件を 逐次変更して全ての出力命令について二重使用チェックを行うようにしたので、 メモリからの出力命令の読み取り回数が減少し、以てチェック時間を短縮するこ とができる。
【0008】
以下、本考案の一実施例を図面に基づいて詳細かつ具体的に説明する。本実施 例において、出力命令の指示するアドレス"0000"〜"7777"(8進数)の領域を割 り当てている。本実施例はこのように、割り当てたアドレスの最下位アドレスに 着目して予め定めた最下位アドレスの番号を持つ出力命令に対して二重使用チェ ックを行うことによりプログラム命令の読み取り回数を減らすものである。
【0009】 図1は本考案実施例の構成の一例を示す。図1において、2はシーケンスプロ グラムを記憶するプログラムメモリである。1はプログラムメモリ2の読み取り アドレスを設定するプログラムカウンタである。プログラムカウンタ1の計数値 はアドレスバスaを会してプログラムメモリ2に送られる。プログラムメモリ2 はアドレス設定されたプログラム命令をデータバスbに出力する。3はプログラ ム命令が出力命令であるか否かを検出する出力命令検出回路である。出力命令検 出回路3はプログラム命令が出力命令であることを検出すると、信号線cに出力 命令有りを示すレベル"H" の信号を出力する。4は出力命令選別回路であり、信 号線cを介して出力命令有りの信号を受け取ると、このときの出力命令が、選別 条件テーブル5により指示された選別条件に合致するか否かを判定し、選別条件 に合致した出力命令をバスgに出力する。さらに、出力命令選別回路4は、出力 命令が選別条件に合致していないときは、信号線fに選別対象無しを意味するレ ベル"H" の信号を 出力する。出力命令が選別条件に合致したときには信号線e に選別対象有りを示すレベル"H" の信号を出力する。
【0010】 5は選別条件テーブルであり、テーブルポインタが指示する番号を選別条件と して出力命令選別回路へ出力する。テーブルポインタが指示する番号と、出力命 令の指示アドレスの最下位番号とが合致する出力命令が出力命令選別回路4によ り選別される。ただし、出力命令選別回路4は選別した出力命令のアドレス番号 のみを出力する。このため後述のスタック記憶回路7のメモリ容量を小さくでき る。7はスタック記憶回路であり、出力命令選別回路4により選別された出力命 令におけるアドレス部分を記憶する。6はスタック検索回路であり、スタック検 索回路6はスタック記憶回路7に記憶されているアドレス部分をスタックエリア 8(スタック手段)を用いて検索し、現在、出力命令選別回路7から送られてき たアドレス部分と同一のものがスタックエリア8内に有るか否かをチェックする 。ここで、同一アドレス部分が有るときは出力命令が二重に使用されているとし て、信号線iにレベル"H" の信号を出力する。この信号に基づいて警告回路20は 警告音を鳴らしたり、メッセージを表示することにより警告を行う。9はアドレ ス上限チェック部であり、プログラムカウンタ1の値がプログラムの最終アドレ スに達したときには信号線qを介してプログラムリセット信号を送り、プログラ ムカウンタ1をリセットする。プログラムカウンタ1が最終アドレスに達してい ないときにはアドレス上限チェック部9は信号線pにプログラムカウンタ1をイ ンクリメントするためのレベル"H" の信号を出力する。10はテーブルポインタ上 限チェック部であり、テーブルポインタ5'が予め定めた上限に達したか否かを検 出し、テーブルポインタ5'が上限に達したときに信号線rにレベル"H" の信号を 出力する。テーブルポインタ5'が上限に達していないときは信号線sにレベル"H " の信号を出力する。11はアドレス読み出し変換回路であり、プログラムアドレ スを対応する表示パターンに変換する回路である。12は表示パターンに変換され たプログラムアドレスを表示する表示部である。
【0011】 次に、このような構成における出力命令の二重使用のチェック動作を説明する 。図1において、プログラムカウンタ1により設定されたアドレスに相当するシ ーケンスプログラム命令はデータバスbに出力される。出力命令検出回路3では データバスbの中から命令コード部分b'を取り出し、出力命令か否かを判定し、 出力命令のときは信号線cにレベル"H" の信号を出力し、否のときには信号線d にレベル"H" の信号を出力する。出力命令選別回路4は、cの信号を受けたとき にデータバスbの中からi/o アドレス部分(アドレス番号)b"を取り出す。さら に、選別条件テーブル5からデータバスhを介してテーブルポインタ5'の示す選 別条件(アドレス最下位番号)を取り込み、出力命令のi/o アドレス部分b"が選 別の対象となるか否かを判定する。出力命令のi/o アドレス部分b"が選別の対象 となる場合は信号線eにレベル"H" の信号を出力すると共に、データバスgにi/ アドレス部分b"から選別条件部分hを除いたものを出力する。また、否のときは 信号線fにレベル"H" の信号を出力する。
【0012】 スタック検索回路6は、選別対象蟻の信号eを受けたときデータバスgのデー タと、スタックエリア8の先頭からスタックポインタ8'までのデータを順次デー タバスkを介して取り込み、データバスのデータとスタックエリア8'に記憶され たデータとの両者を比較し、一致するデータが有れば信号線iに二重使用有りの 信号を出力し、否のときは信号線jに二重使用無しの信号を出力する。スタック 記憶回路7は、二重使用無しの信号jを受けたときデータバスgのデータをデー タバスlに出力し、信号線mに送出信号を出力する。その後に、さらに信号線n にも送出信号を出力する。スタックエリア8では、送出信号mを受けたときデー タバスlのデータをスタックポインタ8'の示す記憶領域に格納し、スタックポイ ンタ8'をインクリメントする。また、アドレス上限チェック9からの信号qによ りスタックポインタ8'がゼロにクリアされる。オア回路G1では信号線d,f,n のい ずれかの信号"H" を受けたとき信号線oに信号"H" が出力される。アドレス上限 チェック部9では、信号oを受けたときアドレスバスaのアドレスがプログラム メモリ2中のシーケンスプログラムの終わりに達しているかを判定し、達してい るときは信号線qに"H" 信号を出力し、否のときには信号線pに"H" 信号を出力 する。
【0013】 選別条件テーブルポインタ上限チェック部10では、信号qを受けたときにテー ブルポインタ5'が選別条件テーブル5の上限に達しているか否かを判定し、達し ているときは信号線rにレベル"H" の信号を出力し、否のときには信号線sにレ ベル"H" の信号を出力する。選別条件テーブル5が信号sを受けたときテーブル ポインタ5'をインクリメントする。プログラムカウンタ1は信号pを受けたとき アドレスバスaのアドレスをインクリメントする。プログラムカウンタ1は信号 qを受けたときアドレスバスaにプログラムメモリ2の先頭のアドレスを出力す る。アドレス変換回路11を介して表示部12では常時アドレスバスaのアドレスを 取り込み、表示部12にプログラムアドレスを表示するようにしているので、出力 命令のチェック状況を把握することができる。
【0014】 次に、図3 ん3のプログラム例について二重チェックがどのように行われるか を簡単に説明する。ここで、選別条件テーブル5には"0" 〜"7" の選別条件が記 憶されているものとする。プログラムカウンタ1が"0" を計数すると、プログラ ムメモリ2からプログラム命令"STR 0000"(図3参照)がデータバスbに出力さ れる。出力命令検出回路3によりこのプログラム命令は出力命令ではないことが 確認されて、信号線d,オア回路G1, アドレス上限チェック部9および信号線p を介してレベル"H" の信号がプログラムカウンタ1に送られる。すると、プログ ラムカウンタ1の計数値が"1" となり、プログラムメモリ2から出力命令"OUT 0 000"(図3参照)がデータバスbに出力される。出力命令検出回路3によりこの プログラム命令が出力命令であることが確認されると、出力命令選別回路4はこ の出力命令の最下位アドレス"0" とテーブルポインタ5'の指示する選別条件とを 比較し、この出力命令のアドレス部分"000" をスタック記憶回路7に記憶する。 スタック検索回路6はスタックエリア8の記憶内容(現時点では何も記憶されて いない)を参照し、アドレス部分"000" と同一のアドレス番号が有るか否かを検 索する。この検索の結果、アドレス部分"000" と同一のアドレス番号がスタック エリア8の中には記憶されていないことが判明するので、信号線jに否信号が出 力され、スタック記憶回路7に一時記憶されたアドレス部分"000" がスタックエ リア8に記憶される。同様の手順で図3のアドレス3の出力命令"OUT 0001"が出 力命令検出回路3により検出されるが、現在の選別条件は最下位アドレス番号が "0" なので、出力命令選別回路4ではこの出力命令"OUT 0001"は選別されず、ス タックエリア8には記憶されない。このように、最下位アドレス番号"0" を持つ 出力命令のみが選別され、スタックエリア8に記憶された出力番号と比較されて 二重使用についてのチェックが行われる。次に、プログラムカウンタ1がプログ ラムメモリ2の最終アドレスを計数すると、アドレス上限チェック部9によりプ ログラムカウンタ1はリセットされ、テーブルポインタ5'がインクリメントされ 、選別条件が"1" に設定される。さらには、スタックエリア8の内容がクリアさ れる。このようにして次はアドレス最下位番号"1" を持つ出力命令の二重使用が チェックされる。以下同様に、アドレス最下位番号"7" までについての出力命令 の二重使用のチェックが終了すると、テーブルポインタ上限チェック部10により チェックの終了が確認される。
【0015】 このようにして出力命令の二重使用チェックが行われるが、もしも同一の出力 命令が二重使用されていた場合にはスタック検索回路6によりこの二重使用が検 出され、警告回路20が警告を発する。このとき、表示部12には該当する出力命令 のプログラムアドレスが表示されているので、操作者は二重使用されている出力 命令を知ることができる。さらには、本実施例選別条件が切り換わる毎にスタッ クエリア8の内容を更新するようにしているので、スタックエリア8のメモリ容 量をも節約できる。
【0016】 本実施例においては、プログラム命令,出力命令の数を従来例と対応させると プログラム命令の読み出し回数の平均は、読み出し回数=S(8192+M ×M/2)とな る。 S=選別種類の数、例えば出力 n=1 命令のi/o アドレスが8進表現で0000 (8) 〜7777(8) のとき、下1桁を選別条件としたとするとその種類の数は0〜7 の8種類としたときS=8となる。M=スタックエリア8の大きさであり、選別 種類1種に対する出力命令の最大個数である。この結果、M=全出力命令の最大 個数÷S=4096÷8=512 となる。したがって、本実施例の読み出し回数の平均 は、8×(8192 +512 ×512/2)≒1.1 ×106 回となる。従来例における出力命令 の読み出し回数は16.8×106 回であったので、本実施例は出力命令の読み出し回 数において従来例の1.1 ×106/16.8×106 ≒1/15となっており、出力命令の二重 使用のチェックに要する時間が大幅に短縮されることは明らかである。
【0017】
以上説明したように本考案によれば、シーケンスプログラムを記憶するプログ ラムメモリと、前記プログラムメモリから読み出された命令の中から出力命令を 検出する出力命令検出手段と、出力命令の中から一群の出力命令を選別するため の選別条件を予め定められた一定の順序で逐次設定する条件設定手段と、前記条 件設定手段による選別条件が切り換わる毎に更新され、前記選別条件で選別され た出力命令の使用状態を記憶するスタック手段と、前記選別条件で選別された出 力命令を前記スタック手段に記憶された出力命令と比較することにより出力命令 の二重使用を検出する検出手段とを備え、プログラム命令の中から選別条件とし て例えば最下位番号の共通した出力命令を選別し、この選別した出力命令に対し て二重使用のチェックを行うようにしたので、出力命令の読み出し回数が減少し 、以て出力命令の二重使用チェック時間を大幅に短縮することができ、また選別 条件で選別された出力命令の使用状態を記憶するスタック手段は条件設定手段に よる選別条件が切り換わる毎に更新されることから、そのメモリ容量を削減でき るという効果が得られる。
【図面の簡単な説明】
【図1】この考案実施例の構成の一例を示すブロック図
【図2】従来例のプログラムラダー図を示す説明図
【図3】従来例のプログラムを示す説明図
1 プログラムカウンタ 2 プログラムメモリ 3 出力命令検出回路 4 出力命令選別回路 5 選別条件テーブル 5' テーブルポインタ 6 スタック検索回路 7 スタック記憶回路 8 スタックエリア 8' スタックポインタ 9 アドレス上限チェック部 10 テーブルポインタ上限チェック部 11 アドレス読み出し表示変換回路 12 表示部
Claims (2)
- 【請求項1】シーケンスプログラムを記憶するプログラ
ムメモリと、前記プログラムメモリから読み出された命
令の中から出力命令を検出する出力命令検出手段と、出
力命令の中から一群の出力命令を選別するための選別条
件を予め定められた一定の順序で逐次設定する条件設定
手段と、前記条件設定手段による選別条件が切り換わる
毎に更新され、前記選別条件で選別された出力命令の使
用状態を記憶するスタック手段と、前記選別条件で選別
された出力命令を前記スタック手段に記憶された出力命
令と比較することにより出力命令の二重使用を検出する
検出手段とを備えたことを特徴とする出力命令二重使用
チェック装置。 - 【請求項2】請求項1に記載の装置において、選別条件
は、前記出力命令の最下位出力番号が前記条件設定手段
が設定した番号と合致することとしたことを特徴とする
出力命令二重使用チェック装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP014291U JPH0736201U (ja) | 1994-11-18 | 1994-11-18 | 出力命令二重使用チェック装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP014291U JPH0736201U (ja) | 1994-11-18 | 1994-11-18 | 出力命令二重使用チェック装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0736201U true JPH0736201U (ja) | 1995-07-04 |
Family
ID=11856996
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP014291U Pending JPH0736201U (ja) | 1994-11-18 | 1994-11-18 | 出力命令二重使用チェック装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0736201U (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS55166757A (en) * | 1979-06-15 | 1980-12-26 | Sharp Corp | Check unit for overlapping use of output instruction |
| JPS56153445A (en) * | 1980-04-28 | 1981-11-27 | Fujitsu Ltd | Data sorting system by assignment of permissible error range |
| JPS59121537A (ja) * | 1982-12-28 | 1984-07-13 | Nec Corp | ビツトパタ−ン照合回路 |
-
1994
- 1994-11-18 JP JP014291U patent/JPH0736201U/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS55166757A (en) * | 1979-06-15 | 1980-12-26 | Sharp Corp | Check unit for overlapping use of output instruction |
| JPS56153445A (en) * | 1980-04-28 | 1981-11-27 | Fujitsu Ltd | Data sorting system by assignment of permissible error range |
| JPS59121537A (ja) * | 1982-12-28 | 1984-07-13 | Nec Corp | ビツトパタ−ン照合回路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5687313A (en) | Console apparatus for information processing system | |
| JPH0642137B2 (ja) | 表示情報処理装置 | |
| JPH0671952A (ja) | 印字装置 | |
| JPH0736201U (ja) | 出力命令二重使用チェック装置 | |
| JPH10340108A (ja) | プログラマブルロジックコントローラの周辺装置 | |
| JPH0416809B2 (ja) | ||
| JPS6055402B2 (ja) | 物品収納位置検索装置 | |
| CN110910570A (zh) | 货道配置方法、自动售货机及移动终端 | |
| JPH0698003A (ja) | 局間データ転送制御方式 | |
| JPH0410085B2 (ja) | ||
| JPH03177975A (ja) | Cad装置システムのメニュー順序変更方式 | |
| JPH01199212A (ja) | 対話型表示装置の操作手順制御方式 | |
| JPS61240289A (ja) | グラフイツクデイスプレイ装置のピツク処理装置 | |
| CN107974774A (zh) | 一种自动收料控制方法、系统及装置 | |
| JPS62285126A (ja) | 画面出力方式 | |
| JPH021014A (ja) | 電子機器 | |
| JPS5816186B2 (ja) | 文字パタ−ン発生器 | |
| CN118113643A (zh) | Dma控制方法、控制器和计算机可读存储介质 | |
| JP2503032Y2 (ja) | プログラマブルコントロ―ラのプログラミング装置 | |
| JPH06259289A (ja) | 文字パターン破棄制御方式 | |
| JPS61283906A (ja) | プログラマブル・コントロ−ラ | |
| JPS6394328A (ja) | メニユ−画面制御方式 | |
| JPH0523264U (ja) | データ記憶装置 | |
| JPH0272449A (ja) | キャッシュメモリの自動無効化制御回路 | |
| JPH03116204A (ja) | シーケンス表示装置 |