プログラムを構造化する

ねじを締める動作を例とし、実際にプログラムを作成します。CALL(サブルーチンコール)命令は使用せず、手軽に使用してみたいと思います。

○ねじ締め部分の構造化

ねじを締める例で考えてみます。ねじを締めるポイントにドライバーが移動したら、ドライバーを下降させてねじを締めに行きます。このとき、ねじ締めをする対象の高さ、ねじの種類が同じであれば、動作は全く同じになります。このねじを締めるという動作部分を構造化します。ここでは説明を前提としているため、ねじについては、ドライバビットの先端に自動的に装着されるものとします。

今回行う構造化は、CALL命令を使用し、サブルーチンをプログラム外に描くのではなく、もっと手軽に使用できるようにそのままプログラムの中に描きます。そのため、毎スキャン演算しますので、高速な試験を行う設備などでは不向きとなります。

○プログラムのイメージ

サンプルのプログラムの中でそのままでは使用できませんが、雰囲気が分かればいいと思います。「M0」から動作が始まって「M2」がねじを締め開始となります。「M2」の接点は少し下にあり、「M310」のパルスを出しています。このパルスによってねじ締め動作を行います。

ねじ締め動作が完了したら、「M320」が0.1秒ONします。「M320」をメイン側の制御に返すとメインのステップは進む仕組みになっています。このねじを締める動作は1回しか書いていません。この部分を何回も使用しています。

今回はCALL命令を使用していませんが、これが構造化であり、メイン制御側がだらだら読みにくくならない描き方です。

さらにねじ締め動作を変更したい場合、この構造化した部分を変更すれば全部変更できるので大変便利です。作成するときも、デバッグするときも便利なので積極的に使っていきましょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする