データテーブルを扱う

インデックス修飾の本来の使用方法を説明します。シーケンサーでかなり多いデータの取り扱い時に使用してみます。 と言っても、ここでかなり多いデータをすべて書くのはめんどくさいので、一部分だけ書いて説明します。

シーケンサーはFA機器で、設備の自動化などに使うことが多いと思います。1台の設備を1種類の製品加工のみに使うこともありますし、複数の機種に対応した設備もあります。 複数の機種に対応した設備の場合、機種により動作を変更したり、判定値を変更する必要があります。今回は説明用として試験機の判定値を変更する方向で考えて見ます。

複数の機種といっても、10機種程度であれば特に問題はないのですが、10000程度になると大変な事になります。まずは下の表のように機種を一定の法則で振り分けます。

大条件は機種を大きく分ける条件で、車で例えると「メーカー」です。条件は更に詳細な条件で、車で例えると「排気量」になります。ここで注意が必要な条件はメーカーAの車には1600ccがあり、メーカーBには1600ccがなくても、メーカーBにも1600ccという条件を設定しておかなければいけません。 もちろんここには値が入ってきませんが、並び方を一定にしておかなければ演算ができません。

大条件1
条件値1値2値3値4
ZR0ZR1ZR2ZR3
ZR4ZR5ZR6ZR7
ZR8ZR9ZR10ZR11
ZR12ZR13ZR14ZR15
ZR16ZR17ZR18ZR19
ZR20ZR21ZR22ZR23
ZR24ZR25ZR26ZR27
ZR28ZR29ZR30ZR31
ZR32ZR33ZR34ZR35
10ZR36ZR37ZR38ZR39
大条件2
条件値1値2値3値4
ZR40ZR41ZR42ZR43
ZR44ZR45ZR46ZR47
ZR48ZR49ZR50ZR51
ZR52ZR53ZR54ZR55
ZR56ZR57ZR58ZR59
ZR60ZR61ZR62ZR63
ZR64ZR65ZR66ZR67
ZR68ZR69ZR70ZR71
ZR72ZR73ZR74ZR75
10ZR76ZR77ZR78ZR79

上記のように設定します。ZRというのはファイルレジスタで、ラッチ領域のデータレジスタでも問題ありません。 そして大条件や条件は数値で指定します。例えば「D0」が1の時は大条件1、「D1」が5の時は条件5、つまり「ZR16」〜「ZR19」間での値を読み込みます。

大条件や条件を増やせばさらに機種も増えますし、さらに細かく条件設定させることも可能です。今回は説明なので80個程度で説明します。

機種設定は手動で人が行うか、自動で行うかは設備の環境によります。手動で行う場合GOT(三菱のタッチパネル)などで行うと思いますが、GOTで行う場合、大条件1のボタン(実際には機種の名前)を押すと、直接「D0」に値を書き込んでもかまいません。 それか、ビットスイッチによってシーケンサーの回路上で書き込んでも同じです。自動で行う場合は製品に機種情報を持たせる必要があります。その機種情報から「D0」と「D1」に値を書き込めばいいのです。

例えば「大条件2」の「条件5」に機種変更を行います。「D0」には2、「D1」には5が入力されました。

「D0」と「D1」の値が1以上になっていることを確認して、両方とも1を引きます。つまり0から始まるようにしてください。

「D0」は1、「D1」は4になりました。大条件が40個のファイルレジスタで構成されています。そして条件は4個のファイルレジスタで構成されています。下記式で演算させます。

(「D0」×40)+(「D1」×4)=(1×40)+(4×4)=56

「大条件2」の「条件5」の先頭(表の左側)アドレスを見て下さい。「ZR」56となっています。つまり上記演算で出てきた答えと一致します。4個のデータがあるため順番に読込めばデータは読込めます。

上記演算値を「Z1」に入れます。
[MOVP ZR0Z1 D20]
[MOVP ZR1Z1 D21]
[MOVP ZR2Z1 D22]
[MOVP ZR3Z1 D23]
このようにすれば、演算後読込するたびに、「D20」〜「D23」に機種データを読込んできます。

実際のプログラムで確認してみましょう

ここまでの回路は、大条件と条件のデータを設定する回路です。ここでは「B0」などを使用していますが、これはリンクリレーと呼ばれ、もっと別の使い道があるのですが、GOT(タッチパネル)のビットスイッチ(押しボタンスイッチ)などによくしようされます。 このように「B」を使えば、GOTで設定されたスイッチと分かります。会社によっては標準化されている場合もあります。

GOTのボタンが押されると、大条件と条件に値が転送される回路になっています。GOTでなくても「D0」と「D1」に、なんらかの方法で値を転送すればいいのです。

読出部分の回路説明をします。

「B30」で演算を行い、データを読み込みますが、「D0」と「D1」が0より大きいことを条件としてください。機種設定をしていないと実行できないようにするのです。 演算の最初で−1を実行するので、後の演算でエラーを出してしまいます。

そして上で説明した演算を行って、インデックスレジスタ「Z1」値を入れて、MOVで転送します。今回のデータ量は少ないですが、実際には20000個以上のファイルレジスタから、必要なデータを読み込むのも簡単にできるのです。



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

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


わかりやすい電気保全

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


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

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