サブプログラム(サブルーチン)の
呼び出し設定方法
ホーム > 資料の掲載ページ > プログラミング方法 > サブプログラムの呼び出し設定方法 >
かんたんコントローラ(型名:CTC-67 / CTC-77 )とCTCツールを使用して
サブプログラム(サブルーチン)の呼び出し
設定方法 を解説します


PC に 「ビジュアルシーケンス編集ソフト(型名:CTCツール) 」が
インストールされていない場合は、
無償提供していますので こちら よりダウンロードしてご利用下さい。

サブプログラム(又は サブルーチン)とは
プログラム中で動作内容が決まっていて、
繰り返し利用される同じ作業を別プログラムとしてまとめたものです。
呼び出す側の「主」となるもの(メインプログラム)と対比して「サブプログラム」と呼ばれます。
サブルーチン とも呼びます。
プログラムの中で、繰り返し利用され同じ作業を サブプログラム化 することで、
工程数 や プログラミング工数の削減、メンテナンスを容易に行うことができます。
1.プログラム例を参考にして、解説します
下のプログラムは、工程00を実行後、
工程01で 【 0軸 の メカシリンダ/サーボモータ 】 が【 ポイント番号1 】 へ 移動後、
工程04 を実行( 【 0軸 の メカシリンダ/サーボモータ 】が【 ポイント番号3 】 へ 移動)します。
その後、工程02に戻り、【 ポイント番号2 】 へ 移動して終了します。

下のプログラムは、サブプログラム(工程07、工程08)の呼び出し例です。

工程03 の 飛び越しアイコン により、 飛び越し先工程番号指定ダイアログ で指定した
工程7 から始まる サブプログラム に飛び越し、プログラムを実行します。

プログラムとしては、工程07 から 工程08 の ストップアイコン まで実行後、
飛び越しアイコン(工程03) の 次の工程04 に戻ります。

ここで、飛び越し先工程番号指定ダイアログ 内の
【サブプログラムからの復帰時に位置も復帰させる軸】 の 0軸 に 「チェック」 が
入っているので、サブプログラムから工程04 に戻る時の 《 メカシリンダ / サーボモータ 》は
サブプログラム実行前の(工程01で移動した)位置 【 ポイント番号1 】 の位置へ戻ってから、
工程04 のプログラム動作を行います。

二つの サブプログラム の呼び出し例
工程03 の飛び越しアイコンにより、
飛び越し先工程番号指定ダイアログ で指定した工程10から始まるサブプログラムに飛び越し実行します。
工程10から工程12 の ストップアイコン まで実行後、
飛び越しアイコンの次の工程04 に戻るプログラムです。
同じように、工程04 の飛び越しアイコンにより、
飛び越し先工程番号指定ダイアログ で指定した工程14から始まるサブプログラムに飛び越し実行します。
工程15 のストップアイコンまで実行後、飛び越しアイコンの次の工程05に戻るプログラムです。
この時、飛び越し先工程番号指定ダイアログ 内の
【サブプログラムからの復帰時に位置も復帰させる軸】 の 0軸、1軸に 「チェック」が入っているので、
工程04に戻る時の 《 メカシリンダ/サーボモータ 》 は、
サブプログラムに移行する前の(工程01で移動した)【 ポイント番号3 】の位置へ戻ってから、
工程04に実行動作(工程14から始まるサブプログラムの実行)を行います。

サブプログラム の複数個所からの呼び出し例
工程01で 【 0軸 の メカシリンダ/サーボモータ 】 が【 ポイント番号1 】 へ移動後
出力設定、その後 飛び越しアイコンにより、飛び越し先工程番号指定ダイアログ で指定した
工程10から始まるサブプログラムに飛び越し実行します。
工程10から工程12 の ストップアイコン まで実行後、
飛び越しアイコンの次の工程02 に戻ります。
工程02 で 【 0軸 の メカシリンダ/サーボモータ 】 が【 ポイント番号2 】 へ移動後
出力設定、その後 飛び越しアイコンにより、飛び越し先工程番号指定ダイアログ で指定した
工程10から始まるサブプログラムに飛び越し実行します。
工程10から工程12 のストップアイコンまで実行後、
飛び越しアイコンの次の工程03に戻ります。
以下、同じように工程07まで サブプログラムを利用して、最終工程08で終了します。
2.プログラミングの解説です
飛び越しアイコン を設定し、 入力条件指定ダイアログ を
すべて 【 X 】 に設定すると、タイマー設定欄に
飛び越し先工程番号指定ダイアログ が挿入、自動表示されます。
飛び越し先工程番号 を入力すれば、その工程先のプログラムを
実行することが出来ます(サブプログラムの作成)。

飛び越し先サブプログラムのストップアイコン まで実行すると、
飛び越しアイコン の次の工程に戻りプログラムを実行します。

複数個所から、ひとつのサブプログラムを呼び出す事も可能です。

サブプログラムに飛び越す前の《 メカシリンダ/サーボモータ 》の
現在位置を保持することも可能です。
【サブプログラムからの復帰時に位置も復帰させる軸】 欄に
チェックを入れると、サブプログラムへ飛び越す前の
《 メカシリンダ/サーボモータ 》の位置を記憶していて、
サブプログラムから戻ってきた時に飛び越す前と同じ位置に復帰します。

プログラムは指定された工程番号(サブプログラム)から順次実行し、
ストップアイコン まで実行すると、飛び越しアイコン の
次の工程に戻り実行します。
なお、
メインプログラムの終了工程、サブルーチンプログラムの終了工程には
ストップアイコン の設定(配置)を忘れずにしてください。