【テクノ事例】「半導体製造メーカー様の事例 コスト1/2・パフォーマンス2倍」についての詳細資料を掲載
テクノの山中裕貴です。
2014年8月20日にご紹介させて頂きました、「 【テクノ事例】「業界から探す」に半導体製造メーカー様の事例を掲載しました」について、多くのお客様からご質問など反響を頂き、大変嬉しく感じております。
そこで、事例ページよりも若干ではありますが詳しく情報を掲載した資料をこの度、作成しましたためご報告させて頂きます。
本事例におけるご質問や、現状お客様にて抱えているモーション制御に関する問題点などありましたら、ぜひお問い合わせください。
【テクノ技術コラムのご紹介】テクノ言語・G言語のご紹介シリーズ
テクノの山中裕貴です。
ご好評頂いている「野崎の技術コラム」において、「テクノ言語とG言語のご紹介」シリーズを掲載しております。
テクノ言語・G言語の基礎的なご説明からマシンを例にしたサンプルプログラムのご紹介を計13回のシリーズで掲載しております。
運転プログラムは自動機制御の根幹です。
記述のし易さや作成者以外の理解のし易さなどが求められています。
本シリーズで、テクノ言語・G言語の特徴(記述のし易さや理解のし易さ)を記載しております。
また、マシンを例にしたサンプルプログラムをご紹介しております。
テクノのモーションコントローラを使ったことがないお客様も簡単にご理解頂けると思います。
ご興味のある方はぜひ、参考にして頂ければ幸いです。
【テクノ言語とG言語のご紹介⑬】テクノ言語のサンプル紹介(ドリリングマシン)
テクノの野崎です。
今回のテクノ言語・G言語のサンプルプログラムは「ドリリングマシン」を例にとってご紹介します。
また、前回お伝えしたマクロ変数を用いたプログラムでご紹介します。
※テクノ言語・G言語は1行1動作の形式でプログラムを作成します。
右絵はドリリングマシンを連続補間で制御する際のイメージを示しています。
■テクノ言語のサンプル例
PTP Z#1000; /* 穴あけ開始位置へ */
LIN Z#1001 F#1002;/* F1速度でL1深さ穴あけ */
LIN Z#1003 F#1004;/* F2速度でL2深さ穴あけ */
LIN Z#1005 F#1006;/* F3速度でL3深さ穴あけ */
■G言語のサンプル例
G00 Z#1000; /* 穴あけ開始位置へ */
G01 Z#1001 F#1002; /* F1速度でL1深さ穴あけ */
G01 Z#1003 F#1004; /* F2速度でL2深さ穴あけ */
G01 Z#1005 F#1006; /* F3速度でL3深さ穴あけ */
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。
【テクノ言語とG言語のご紹介⑫】テクノ言語のサンプル紹介(マクロ変数)
テクノの野崎です。
今回はテクノ言語における「マクロ変数」をご紹介します。
※テクノ言語・G言語は1行1動作の形式でプログラムを作成します。
運転プログラムの中で、変数や演算(四則演算、判別)を使って、移動指令の移動量や、繰り返し実行時の繰り返し回数、実行するサブルーチンなどを状況に応じて変更したいときに使用します。
マクロ変数は「#XXXX」(XXXXはレジスタ番号)で記載します。
詳細は各種ユーザーズマニュアルの「運転プログラム」をご確認ください。
※マニュアル閲覧には会員登録が必要です。
マクロは①代入、②演算、③条件判断(IF文)、④変数指定が可能です。
G言語でもマクロ変数は使用できます。
①代入
マクロ変数に対し、マクロ変数や即値の代入ができます。
======================================
#1000 = 15; /* ワード形式のマクロ変数へ値(15=0xF)代入 */
#1001 = #1600; /* ワード形式のマクロ変数へ入力ポート0(#1600)の状態を代入 */
#5502 = 6400000; /* ロングワード形式のマクロ変数へ値代入 */
======================================
②演算
マクロ変数に対し、演算を行う事ができます。
四則演算や論理演算を使用し、カウンタや設定値の計算だけでなく、入力やステータスの特定ビットの状態確認なども可能です。
======================================
#1000 = 100; /* 初期値の代入 */
:LOOP
#1532 = #1000; /* オーバライドの変更 */
#1000 = #1000 + 1; /* ワード形式のマクロ変数をインクリメント */
#1000 = #1000 & 127; /* 0~127の範囲で変化するように変更。*/
TIM1.0;
JMP LOOP; /* LOOPラベルへジャンプ。 */
END;
======================================
③条件判断
IF命令を使った条件判断を行うことができます。
マクロ変数を経由することで、演算結果だけでなく、ステータスや入出力状態などの内部情報での分岐も行えます。
======================================
#1000 = 1; /* オーバライド増分値 */
:LOOP
IF #1532 == 200; /* オーバライドが200%の場合 */
#1000 = -1; /* 増分値の符号反転 */
ENDIF;
IF #1532 == 0; /* オーバライドが0%の場合 */
#1000 = 1; /* 増分値の符号反転 */
ENDIF;
#1532 = #1532 + #1000; /* マクロ変数経由でオーバライドを変更 */
TIM1.0;
JMP LOOP; /* LOOPラベルへジャンプ。 */
END;
======================================
④変数指定
移動命令などのパラメータ(目標位置や速度など)をマクロ変数で指定することができます。
マクロ変数で指定することで、運転プログラム内の演算結果から動きを変化させることや、PCやラダーからマクロ変数を指定することで動きを変更できます。
外部から#5500に1辺の長さを設定。
#5500から移動量を計算し、正方形を描画し続けます。
======================================
/*#5500に1辺の長さを設定*/
#5504 = 30000; /* F値は30kpps */
:LOOP
#5502 = #5500; /* 移動量を指定 */
LIN X#5502 Y0 F#5504;
LIN X0 Y#5502 F#5504;
LIN X-#5502 Y0 F#5504;
LIN X0 Y-#5502 F#5504;
JMP LOOP;
END;
======================================
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。
【テクノ言語とG言語のご紹介⑪】テクノ言語のサンプル紹介(パンチングマシン)
テクノの野崎です。
今回のテクノ言語・G言語のサンプルプログラムは軸と汎用出力(パンチの下降/上昇)を同時に制御した「パンチングマシン」を例にとってご紹介します。
※テクノ言語・G言語は1行1動作の形式でプログラムを作成します。
右絵はX、Y軸、I/Oでパンチの下降/上昇を行うパンチングマシンを示しています。
■テクノ言語のサンプル例
PTP X1000 Y0; /*位置決め*/
ONR00 TIM1.0; /*パンチ下降後1秒待*/
OFR00 TIM0.5; /*パンチ上昇後0.5秒待ち*/
(各位置に合わせて繰り返し)
■G言語のサンプル例
G00 X1000 Y0; /*位置決め*/
#1641 = #1641 | 0x0001; /*Ro00をON(パンチ)*/
G04 P1.0; /*パンチ下降後1秒待*/
#1641 = #1641 & 0xFFFE; /*Ro00をOFF*/
G04 P0.5; /*パンチ上昇後0.5秒待*/
(繰り返し)
(#1641のbit0に、汎用出力Ro00を割り付け)
次回はマクロ機能をご紹介します。
▼テクノ言語にご興味のある方:テクノ言語運転プログラムをぜひ、ご確認ください。
▼テクノ言語/G言語の対応リストもあります。