インデックス修飾

インデックス修飾について簡単に説明します。マニュアルには「インデックス修飾は,インデックスレジスタを使用した間接設定です。」と記載されています。難しく書いていますが、実際に使ってみれば簡単に使用できます。 データを扱うことが多い場合に使用するといいでしょう。

データレジスタの値を変更することは簡単です。ではデータレジスタのデバイス番号(アドレス)を変更することは可能でしょうか?例えばプログラム上では「D0」と指定していますが、この「D0」を「D3」や「D100」のように色々なアドレスに変更することができるのです。 これを可能にするのがインデックス修飾で、これに使うものがインデックスレジスタとなります。

データレジスタは「D」ですが、インデックスレジスタは「Z」を使用します。値はデータレジスタのように使用でき、MOVで書込みが出来ます。 使い方も簡単で、まず[MOVP K3 Z1]として「Z1」のインデックスレジスタに3を書き込みます。そして「D0Z1」の用に対象のデータレジスタの後ろに続けてインデックスレジスタを書けば、「D0Z1」=「D3」のことになります。

[MOVP K1 D0Z1]と書き、「Z1」の値をあらかじめ設定して、書き込めば条件によっていろいろなアドレスに変更すれば、書込み先のデータレジスタのアドレスを変更できます。

またデータレジスタだけでなく、内部リレーに対しても使用可能です。「M0Z1」等のように書けばいいのです。「Z1」の値が100なら「M100」を指定したことと同じになります。

「M1Z0」=「M1」のアドレス部分、つまり1+「Z0」の値となります。「Z0」の値が10であれば「M11」となります。「Z」も0〜始まってCPUによって上限がありますが、複数あります。機種によっては「V」も使用できます。

これだけの説明では実際必要ないように見えます。単純なプログラムではまず使うことはありません。しかしデータ処理などを行う場合は使用しないと、とんでもなく長いプログラムになってしまいます。簡単な使用例を載せておきます。

上の回路図はネジ締め機を操作する回路の一部です。制御するネジ締め機は、シーケンサーからスタート信号を入れると10箇所ネジを順番に締めていくとします。 現在何番目のネジを締めているかという情報は「D0」に入ってくるとします。BCDで変換するなどして、とにかく「D0」に番号が入ります。 そしてネジ締め機が動作している間は「X10」が入ります。各ポイントのネジを締め終わったら、ネジ締めが正常に完了した場合「X11」に信号が、ネジ締め不良となった場合「X12」に信号が0.5秒程度入ってくるとします。

「D0」と「X11」と「X12」の情報で、現在何番目のネジを締めて、そのネジが正常に締め付けられたがどうかが分かります。これをデータレジスタに保存してみましょう。

まず、現在のネジ締めポイントは常に「Z0」に書き込みます。そしてネジ締めOKのときは1を、NGのときは2を書き込みます。上記の回路のようにしてください。 すると、1番目のネジ締め情報は「D11」にはいり、2番目のネジ締め情報は「D12」にはいります。インデックスレジスタをつけているため、順番に振り分けてくれます。

これがインデックスレジスタの簡単な使用方法です。

次の項目のデータテーブルを扱うでは、もう少し詳細に説明してみます。



PCによるシーケンス制御の活用

シーケンス制御を短期間で理解するには通信講座がお勧めです。シーケンス制御講座(このサイト)ではシーケンス制御をできるだけわかりやすく説明していますので、一度目を通していただければ通信講座も短期間で身につくと思います。


わかりやすい電気保全

シーケンス制御講座(このサイト)ではシーケンス制御について詳しく解説していますが、実際の保全業務となるともう少し広い範囲の知識も必要です。故障した設備を素早く原因を探して素早く直す。実際はなかなか難しいことです。 浅くてもいいので少し広く知識を持っていれば、役にたつと思います。


図解入門 よくわかる最新 シーケンス制御と回路図の基本はKindle版(電子書籍)です。単行本ご希望の方は、フォーマットで単行本を選択してください。または、トップページよりご購入ください。

Copyright (C) 2010 シーケンス制御講座, All rights reserved.