【テクノ言語とG言語のご紹介⑩】テクノ言語のサンプル紹介(穴あけマシン)
テクノの野崎です。
今回からはテクノ言語・G言語のサンプルプログラムをご紹介していきます。
まずは「穴あけマシン」を例にとってご紹介します。
※テクノ言語・G言語は1行1動作の形式でプログラムを作成します。
右絵はX、Y、Z軸の穴あけマシンを想定しています。
X/Y軸で位置決めをし、Z軸で穴あけ。この動作を穴数だけ繰り返すといった流れです。
■テクノ言語のサンプル例
PTPとLINのみを使用した例です。
※PTPとLINについては「テクノ言語とG言語のご紹介④と⑤」をご確認ください。
PTP X1000 Y0; /* 位置決め */
LIN Z-100 F1000 ; /* 穴開け下降(1穴目) */
LIN Z100; /* 戻り 上昇 */
PTP X0 Y1000; /* 2穴目へ 位置決め */
LIN Z-100; /* 穴開け下降(2穴目) */
LIN Z100; /* 戻り 上昇 */
■G言語のサンプル例
G00 X1000 Y0; /* 位置決め
G01 Z-100 F1000; /* 穴開け下降(1穴目)
G01 Z100; /* 戻り 上昇
G00 X0 Y1000; /* 2穴目へ位置決め
G01 Z-100; /* 穴開け下降(2穴目)
G01 Z100; /* 戻り 上昇
シンプルに作成できることがおわかり頂けたのではないでしょうか。
次回は軸と汎用出力を同時に制御した場合のパンチングマシンの例を掲載します。
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。
【テクノ言語とG言語のご紹介⑨】テクノ言語のサンプル紹介(汎用入力処理)
テクノの野崎です。
今回はテクノ言語における「汎用入力処理」のサンプルをご紹介します。
※テクノ言語は1行1動作の形式でプログラムを作成します。
サンプル:「汎用入力処理」
汎用入力処理は「△□R○○」を使用します。
△:処理内容指定(E、J、W、S)
E(Exit):プログラム強制終了
この信号がアクティブになると、強制的に動作プログラムを完了して停止します。
W(Wait):ステップ実行開始待ち
各動作ステップの先頭でこの入力をチェックします。アクティブであれば停止します。
J(Jump):スキップ
この信号がアクティブになるとそのステップの動作を途中終了し、次のステップへ進行します。
S(Stop):一時停止
この信号がアクティブな間、動作を停止します。
※アクティブ:正論理・負論理指定がTRUEのこと
□:正論理・負論理指定(なし、N)
なし:正論理(ONのときTRUE、OFFのときFALSE)
N :負論理(OFFのときTRUE、ONのときFALSE)
○:制御ビット指定
判別を行うビットの番号を指定します。範囲は0~63です。
汎用入力処理はセンサーや外部機器からの信号のON/OFF状態によって、運転プログラムの実行を停止/終了/スキップしたい場合に使用します。
移動命令と同一のステップで実行できます。
右上図は下記のサンプルプログラムの軌跡例になります。
==========================
① CALL SUB L5 JR01 WR02;
② PTPA X0 Y0;
③ END;
④ :SUB
LIN X40000 Y20000 F40000 ER00 SR03;
⑤ LIN X40000 Y-20000;
⑥ LIN X-40000 Y-20000;
⑦ LIN X-40000 Y20000;
⑧ LIN Y-40000;
⑨ END;
==========================
・運転プログラム実行開始時、Ri01のみがONの場合(起動時の信号の状態 Ri00=OFF、Ri01=ON、Ri02=OFF、Ri03=OFF)
① このステップをスキップ
② (0,0)へ移動して終了
・運転プログラム実行開始時、Ri02のみがONの場合(起動時の信号の状態 Ri00=OFF、Ri01=OFF、Ri02=ON、Ri03=OFF)
① このステップの実行をウェイト
Ri02がOFFになると、”④~⑧”を5回繰り返す
④ (0,0)から、(40000,20000)へ移動
⑤ (40000,20000)から、(80000,0)へ移動
⑥ (80000,0)から、(40000,-20000)へ移動
⑦ (40000,-20000)から、(0,0)へ移動
⑧ (0,0)から、(0,40000)へ移動
・運転プログラム実行開始時、Ri00のみがONの場合(起動時の信号の状態 Ri00=ON、Ri01=OFF、Ri02=OFF、Ri03=OFF)
① ”④”を呼び出す
④ Ri00がONなのでプログラム運転終了
・運転プログラム実行開始時、Ri03のみがONの場合(起動時の信号の状態 Ri00=OFF、Ri01=OFF、Ri02=OFF、Ri03=ON)
① ”④”を呼び出す
④ Ri03がONなのでプログラム途中停止
Ri03がOFFになるとプログラム運転を再開します。
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。
【テクノ言語とG言語のご紹介⑧】テクノ言語のサンプル紹介(汎用出力処理「ONR、OFR」とタイマー命令「TIM」)
テクノの野崎です。
今回はテクノ言語における「汎用出力処理とタイマー命令」のサンプルをご紹介します。
※テクノ言語は1行1動作の形式でプログラムを作成します。
サンプル:「汎用出力処理とタイマー命令」
汎用出力処理は「ONR」、「OFR」、タイマー命令は「TIM」を使用します。
汎用出力処理は、以下のようなときに使用します。
・外部機器の動作ON/OFFを行いたい
・ランプなどをON/OFFしたい
タイマー命令は以下のようなときに使用します。
・プログラムステップの動作時間を指定したい
・運転プログラム中にウェイトを入れたい
両方とも移動命令と同一ステップで実行できます。
右上図は下記のサンプルプログラムの軌跡例になります。
==========================
① TIM1.0 ONR00;
② LIN X40000 Y20000 F40000 OFR00;
③ TIM1.0 ONR01;
④ LIN X40000 Y-20000 OFR01;
⑤ TIM1.0 ONR02;
⑥ LIN X-40000 Y-20000 OFR02;
⑦ TIM1.0 ONR03;
⑧ LIN X-40000 Y20000 OFR03;
⑨ END;
==========================
出力をONするときは"ONR"コードに続けてONする出力のビットを指定します。
出力をOFFするときは"OFR"コードに続けてOFFする出力のビットを指定します。
"TIM"コードに続けて時間を指定します。単位は秒です。
① Ro00出力をONして1秒間停止
② Ro00出力をOFFして、(0,0)から(40000,20000)へ移動
③ Ro01出力をONして1秒間停止
④ Ro01出力をOFFして、(40000,20000)から(80000,0)へ移動
⑤ Ro02出力をONして1秒間停止
⑥ Ro02出力をOFFして、(80000,0)から(40000,-20000)へ移動
⑦ Ro03出力をONして1秒間停止
⑧ Ro03出力をOFFして、(40000,-20000)から(0,0)へ移動
汎用出力やタイマー命令が簡単に記述できることを知っていただけたかと思います。
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。
【テクノ言語とG言語のご紹介⑦】テクノ言語のサンプル紹介(サブルーチンコール「CALL」)
テクノの野崎です。
今回はテクノ言語やG言語における「サブルーチンコール」のサンプルをご紹介します。
※テクノ言語やG言語は1行1動作の形式でプログラムを作成します。
サンプル:「サブルーチンコール」
サブルーチンコールは「CALL」を使用します。
・運転プログラム中の複数の箇所で同じ動作を行わせたい
・同じ動作を繰り返し行いたい
このような際にサブルーチンコールを使います。
右上図は「テクノ言語とG言語のご紹介⑤」でご紹介したインクレ直線補間命令を5回繰り返した際の軌跡を示しています。
その際のプログラムは下記になります。
==========================
① CALL SUB L5;
① 【P0100M98L5;】
② END;
③ :SUB
LIN X40000 Y20000 F40000;
③ 【N0100G91G01X40000Y20000F40000;】
④ LIN X40000 Y-20000;
⑤ LIN X-40000 Y-20000;
⑥ LIN X-40000 Y20000;
⑦ LIN Y-40000;
⑧ END;
【】は代替するG言語命令
==========================
CALL(指令コード)の後にサブルーチン名を任意に指定(SUBとしました)します。
Lは呼び出し回数を指定しています。
※呼び出し回数は省略も出来ます。省略した場合は1回となります。
① ”③ ”~”⑧ ”の動作を5回呼び出す。(5回繰り返す)
③ X軸+40000、Y軸+20000の位置へ移動
④ X軸+40000、Y軸-20000の位置へ移動
⑤ X軸-40000、Y軸-20000の位置へ移動
⑥ X軸-40000、Y軸+20000の位置へ移動
⑦ Y軸-40000の位置へ移動
⑧ メインプログラムに戻る
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。
【テクノ言語とG言語のご紹介⑥】テクノ言語のサンプル紹介(インクレ円弧補間「CIR」)
テクノの野崎です。
ご無沙汰して申し訳ありません。
久しぶりの技術コラムの更新です。
今回はテクノ言語やG言語における「インクレ円弧補間命令」のサンプルをご紹介します。
※テクノ言語やG言語は1行1動作の形式でプログラムを作成します。
サンプル:「インクレ円弧補間命令」
右回りの指令は「CIRR(Circle Rightの略)」、左回りの指令は「CIRL(Circle Leftの略)」コマンドを使用します。
右上図の動きをさせたい場合のプログラムは下記になります。
=======================================
① CIRL X0 Y0 I50000 J0 F50000;
① 【G91G03X0Y0I50000J0F50000;】
② CIRR X50000 Y-50000 I0 J-50000;
③ CIRR X50000 Y50000 I50000 J0;
④ CIRR X-50000 Y50000 I0 J50000;
⑤ CIRR X-50000 Y-50000 I-50000 J0;
END;
【】は代替するG言語命令
=======================================
IとJは中心点を指定しています。※円弧命令開始点(現在位置)からのインクレ値で指定
① (0,0)から、(50000,0)を中心とし、左回りの一周円移動
② (0,0)から、(0,-50000)を中心とし、(50000,-50000)へ移動
③ (50000,-50000)から、(100000,-50000)を中心とし、(100000,0)へ移動
④ (100000,0)から、(100000,50000)を中心とし、(50000,50000)へ移動
⑤ (50000,50000)から、(0,50000)を中心とし、(0,0)へ移動
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。