テクノからのお知らせ

2014/09/03 

【テクノ言語と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言語の対応リストもあります。

2014/09/02 

【テクノ言語とG言語のご紹介⑧】テクノ言語のサンプル紹介(汎用出力処理「ONR、OFR」とタイマー命令「TIM」)

【テクノ言語と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言語の対応リストもあります。

2014/08/30 

【テクノ言語とG言語のご紹介⑦】テクノ言語のサンプル紹介(サブルーチンコール「CALL」)

【テクノ言語と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言語の対応リストもあります。

2014/08/29 

【テクノ言語とG言語のご紹介⑥】テクノ言語のサンプル紹介(インクレ円弧補間「CIR」)

【テクノ言語と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言語の対応リストもあります。

2014/04/27 

【テクノ言語とG言語のご紹介⑤】テクノ言語のサンプル紹介(インクレ直線補間「LIN」)

【テクノ言語とG言語のご紹介⑤】テクノ言語のサンプル紹介(インクレ直線補間「LIN」)
テクノの野崎です。

今回はテクノ言語やG言語における「インクレ直線補間命令」のサンプルをご紹介します。
※テクノ言語やG言語は1行1動作の形式でプログラムを作成します。

サンプル:「インクレ直線補間命令」
直線補間命令は「LIN(Linearの略)コマンドを使用します。」
直線補間命令は下記のようなときに使用します。
 ・速度を指定して軸を移動させたい
 ・移動軌跡を直線にしたい
 ・お互いの軸を同期させて動かしたい

指令した全ての軸が、同時に移動を開始して、同時に移動を終了します。

微小な直線補間を連続させることで、自由曲線を描くことも可能です。

右上図は①→②→③→④を目標位置とし、順番に直線補間で移動した場合の軌跡を示しています。
その際のプログラムは下記になります。
==========================
①:LIN X40000 Y20000 F40000:
【①:G01X40000Y20000F40000;】
②:LIN X40000 Y-20000;
③:LIN X-40000 Y-20000;
④:LIN X-40000 Y20000;
  END;
【】は代替するG言語命令
==========================

前回ご紹介したPTPのようにXやYなどの軸を指定し、各軸の移動量[pulse](1pulseを1μmや0.1μmに設定可能)を設定します。また、①のように「F」にて速度[pulse/sec]を指定することも可能です。
指定のない軸は移動を行いません。

次回は円弧補間命令のサンプルをお伝えします。

▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。

テクノ言語/G言語の対応リストもあります。

  • 前へ
  • 次へ