プログラムをインデックス修飾する

ここで紹介するテクニックは一般的なものではありません。このようなこともできると認識してください。しかし場合によってはこのようなプログラムを作成するかもしれません。 そのときはプログラムの説明書みたいなものも必要です。それと依頼人には必ず確認して作成してください。

ここで紹介するプログラムですが、動作プログラムそのものをインデックス修飾させて、「FOR」「NEXT」命令で繰り返し処理を行うものです。 全く同じ動作のプログラムを10個作成する場合、同じようなプログラムを10個作成しないといけません。ここでは1個のプログラムを10回繰り返し処理を行い、10個のプログラムとして処理していきます。 注意点としては、このような作成方法ではモニタができません。デバイスモニタのみでデバッグする必要があります。作成するのは簡単ですが、デバッグするのは難しくなるという欠点があります。

まずサンプルプログラムを見てみます。

普通のプログラムです。スイッチが入るとシリンダが動作して、シリンダ動作後は元に戻りサイクル完了します。このプログラムを10個分、動作させて見ましょう。

まず「X」の入力を動作プログラムの中から外します。あらかじめ「M」の内部コイルに変換しておきます。理由は後で説明します。

この状態では先ほどの動作と変わりません。では次のようにしてください。

こんな感じでしょうか?これは動作プログラム部分を10回繰り返し処理してます。そしてその中の内部リレーにはすべて「Z0」のインデックスレジスタがついています。 1回繰り返しするたびに「Z0」には10を加算しています。「X」と「Y」の入出力はNo2までで省いていますが、実際にはNo10まで入れてください。 これで同じよう名プログラムを10個作成したことと同じような動作になります。

「X」と「Y」の入出力をループ外に出した理由ですが、単純に故障対策です。[X」や「Y」に直接インデックス修飾を掛けることも可能ですが。もし接点が故障したとき大変なのであらかじめ内部リレーに変換したのです。

このような書き方は一般的ではなく、モニタもできないのでお勧めはできません。知識として覚えておいてください。



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