インデックスとは
インデックスと言われても、よくわからないと思います。
使い方を理解してから、利用できればいいですね。
通常のラダーシーケンスでは、あまり使うことはありませんが、
データーを扱うようになれば、とっても便利なデバイスです。
本来インデックスとは「索引」「見出し」などの意味をもつ言葉で、データベースに関わるシーンで用いられる際には、格納されたデータをより早く検索したり抽出できるように作られる索引データのことを言います。
なんとなくわかったようで分からないですね。
インデックスZが使えるデバイス数
Qシリーズのデバイス設定を見ると
インデックスZが使えるデバイス数は20となっています。
Z0 ~ Z19 までが使用できる点数です。
インデックスレジスタは Z というデバイスの中に数値を入れることができます。
そのZは係数みたいに使えます。
すなわち
10 × Z =??
Z=1 の場合は 10 となります。
Z=2 の場合は 20 となります。
このように Z は 数値を扱って瞬時に目的のデーターを抽出することができます。
沢山のデータ表の中から、順番に並んだパラメーターを条件付けで抽出することができるわけですね。
インデックスの使用例
例題として以下の表を見て下さい。
Z0 で Dレジスタ何番目かを指定しています。
指定していることが分かれば、
次に D5 のデータレジスタをどうするか?
MOV命令を使って
[ MOV D0Z0 D1000 ] とすれば
D5 のデータが D1000 に転送されます。
D1000 に転送された情報をタッチパネルに表示したり
計算のパラメーターとして使ったりできます。
または、
時間でZの数値をインクリメントしていけば、
一定時間毎のサンプリンでデータ収集が出来ますね。
インデックスレジスタによる装飾が可能なデバイス
ビット、ワードに幅広くインデックスの装飾が出来ます。
特殊なインデックスとしては、
Z0 と Z1 があります。
これは、タイマーとカウンターに関してインデックスが使用できます。
他の Z2 ~のインデックスは使用できませんので注意してください。
とは言っても
通常使いであれば、全て使用できるのであまり気にしないで使えます。
タイマーやカウンタに対してインデックスを使いそうなら
スポンサーリンク *****************
サンプル インデックスラダー回路
X0 ON で Z0に 1を書き込む
X1 ON で Z0に 2を書き込む
X2 ON で Z0に 3を書き込む
T0Z0 はZ0に 1 の時には T1 を
T0Z0 はZ0に 2 の時には T2 を
T0Z0 はZ0に 3 の時には T3 を
T5 に置き換えてれば T5,T6,T7 になり
k20 のところを D1000 にすれば指定した時間だけ処理できます。
たとえば、
X0,X1、X2 がONした時 それぞれの時間を変える場合
X0 ON で Z0に 1を書き込む
X1 ON で Z0に 2を書き込む
X2 ON で Z0に 3を書き込む
さらに
X0 ON で D1000に 20を書き込む
X1 ON で D1000に 30を書き込む
X2 ON で D1000に 40を書き込む
そうすると
X0 ON で Z0に 1を書き込み
X0 ON で D1000に 20を書き込むわけです。
X1,X2でも同様にすると
Z=1 で T5Z0 は T6 で D1000 が 20 となります。
Z=2 で T5Z0 は T7 で D1000 が 30 となります。
Z=3 で T5Z0 は T8 で D1000 が 40 となります。
D1000 についても インデックスレジスタが使えますね。