私の友人でシニア エンジニアの Zhou Weiquan は、40 年以上 CNC アプリケーションに従事し、何千もの部品の技術と加工を行ってきました。
彼は、CNC 応用技術を学ぶために日本に行ったこともあり、「CNC 旋削/フライス加工マクロ プログラムの開発と応用」と「CNC 旋削とねじ山のフライス加工」(Machinery Press 発行) という 2 つの単行本を出版しています。
多くの研究成果を残されていますので、順次ご紹介していきます。 ここでは、使用できる一般的なマクロ プログラムを示します。
13 個の変数に値を代入すると、それらを直接使用できます。 興味のある友人は、コメントを読み、プログラミング図を比較して、それがどのようにコンパイルされているかを理解できます。 これは彼の3番目のケースです。
周偉泉氏の研究成果第3弾
各種フライスを使用した円筒穴やテーパー穴のヘリカル加工のための一般的なマクロプログラム
O101; (各種フライスで円筒穴やテーパ穴をスパイラル加工する一般的なマクロプログラムで、穴中心にXY原点、ワーク上端面にZ軸原点を設定)
N01 #100=_; (#100は加工時の径補正値です。穴径を大きくしたい場合はプラスの値、それ以外の場合はマイナスの値となります。理論的には0です)
N02#1=a; (#1 は円錐の半円錐角を表し、円筒形の穴の場合は 0 に等しい)
N03#2=b; (#2 は上面の円柱または円錐の外径を表します)
N04#11=h; (#11 は円柱または円錐の高さを表します)
N05#3=c; (#3 はミリング時の垂直層間隔を表します)
N06#4=i; (#4はステップミーリングのステップ角を表し、適宜選択可能)
N07#5=j; (#5 は移動点の Z 値を表します。この割り当ての初期値は上面からの空気接線距離です)
N08#7=d; (#7はフライスDの外径を表します)
N09#18=r; (#18はブレード半径を表します)
N10#19=; (#19は主軸速度Sを表します)
N11#20=t; (#20は工具長補正番号を表します)
N12#21=u; (#21 は時計回り/反時計回りのフライス加工のコードです。時計回りのフライス加工には 3 を使用し、反時計回りのフライス加工には 2 を使用します)
N13#22=v; (#22は1分間あたりの工具送り量を表します)
N14#26=z; (#26はフライスの開始位置と終了位置のZ座標値を表します)
N21 #8=#18*[1-SIN[#1]];(#8は切削点からフライス底面までのZ方向の距離を表します)
N22 #9=0;(#9 は移動角度を表し、このセクションでは初期値 0 を割り当てます)
N23 #10=#2/2+[#5+#8]*TAN[#1]+#18*[1-COS[#1]]-#7 /2+#100/2;(#10 はフライスの中心線と円錐の中心の間の距離を表します)
N24 #12=#3*#4/360;(#12 は各ステップの下降距離を表します)
N25 #13=#3*タン[#1]; (#13 は 2 つの円の半径の差を表します)
N26 #14=#13*#4/360;(#14 は各ステップの半径減少値を表します)
N27 G54 G94 G00 X0 Y0 Z#26; (ワーク座標系、1 分あたりの送り量を設定すると、フライスは円錐の中心の上の開始点に移動します)
N28 S#19 M03; (スピンドルが回転し始めます)
N29 G43 H#20 Z#5; (フライスにZ方向の長さ補正値を加えてから、切削開始面に落とします)
N30 G#21X#10 R[#10/2] F#22; (フライスは水平面内で半回転してカッターを挿入します)
N31 WHILE [#5 GT -[#11+#8]] 1 を実行します。 (ループヘッド: 条件が満たされた場合、N32セグメントとN38セグメントの間でループ実行)
N32 #9=#9+[#21*2-5]*#4; (ダウンミーリング/アップミーリングでは、移動角度をそれぞれ1ステップ角度増加または減少させて1ステップの切削に備えます)
N33 #10=#10-#14; (フライス中心線と円錐中心間の距離を再計算します)
N34 #15=#10*COS[#9];(移動点のX座標値を再計算します)
N35 #16=#10*SIN[#9];(移動点のY座標値を再計算します)
N36 G#21
N37 #5=#5-#12;(移動点のZ座標値を再計算)
N38 エンド 1; (ループ終了: 条件が満たされた場合、N14 セグメントと N19 セグメントの間でループ実行)
N39 #9=#9+[#21*2-5]*#4; (ダウンミーリング/アップミーリング中は、移動角度をそれぞれ 1 ステップ角度増加または減少させて、水平ミーリングの全周を準備します)
N40 #10=#2/2-#11*TAN[#1]+#18*[1-COS[#1]]-#7/2+#100 /2; (底フライス中心線とハート間のテーパ距離を計算します)
N41 G#21
N42I[-#10*COS[#9]] J[-#10*SIN[#9]]; (端面で完全な円を水平にフライス加工します)
N43G00 X0 Y0; (フライスは円錐の中心線と一致するように変換されます)
N44G49 Z#26; (フライスは長さ補正を解除し、テーパ面より上の#26まで上昇します)
N45M05; (主軸失速)
N46M30;
以下に、円筒穴とテーパ穴を加工するための 3 種類のフライス図を示します。
写真
以下はプログラミングの図です。
写真
例:
以下は、この一般的なマクロ プログラムの応用例です。ボール ノーズ カッターを使用して、NPT0.5 雌ねじと逆角度 120- 度のテーパー底穴をフライス加工します。
写真
以下は、NPT0.5 雌ねじをフライス加工する場合のテーパ底穴と逆角度 {{0}} の具体的な割り当てです。
%
O102; (φ10ボールエンドミルによるスパイラルミーリングNPT0.5ネジ円錐底穴の割付、XY原点を穴中心、Z軸原点をワーク上端面に設定)
N01#100=_; (#100は加工時の径補正値です。穴径を大きくしたい場合はプラスの値、それ以外の場合はマイナスの値となります。理論的には0です)
N02 #1=1.79; (#1 は円錐の半円錐角を表し、円筒形の穴の場合は 0 に等しい)
N03 #2=18.321;(#2 は上面の円柱または円錐の外径を表します)
N04 #11=15; (#11 は円柱または円錐の高さを表します)
N05 #3=0.5; (#3 はミリング時の垂直層間隔を表します)
N06 #4=30; (#4はステップミーリングのステップ角を表し、適宜選択可能)
N07 #5=0.5; (#5 は移動点の Z 値を表します。この割り当ての初期値は上面からの空気接線距離です)
N08 #7=10; (#7はフライスDの外径を表します)
N09 #18=5; (#18はブレード半径を表します)
N10 #19=1500; (#19は主軸速度Sを表します)
N11 #20=1; (#20は工具長補正番号を表します)
N12 #21=2; (#21 は時計回り/反時計回りのフライス加工のコードです。時計回りのフライス加工には 3 を使用し、反時計回りのフライス加工には 2 を使用します)
N13 #22=50; (#22は1分間あたりの工具送り量を表します)
N14 #26=100; (#26はフライスの開始位置と終了位置のZ座標値を表します)
…
%
%
O103; (φ10ボールエンドミルでNPT0.5ねじのスパイラルミーリング加工の120-度面取りを指定、XY原点を穴中心、Z軸原点をワーク上端面に設定)
N01#100=_; (#100は加工時の径補正値です。穴径を大きくしたい場合はプラスの値、それ以外の場合はマイナスの値となります。理論的には0です)
N02 #1=60; (#1 は円錐の半円錐角を表し、円筒形の穴の場合は 0 に等しい)
N03 #2=22.321;(#2 は上面の円柱または円錐の外径を表します)
N04 #11=1.8; (#11 は円柱または円錐の高さを表します)
N05 #3=0.2; (#3 はミリング時の垂直層間隔を表します)
N06 #4=30; (#4はステップミーリングのステップ角を表し、適宜選択可能)
N07 #5=0.25; (#5 は移動点の Z 値を表します。この割り当ての初期値は上面からの空気接線距離です)
N08 #7=10; (#7はフライスDの外径を表します)
N09 #18=5; (#18はブレード半径を表します)
N10 #19=1500; (#19は主軸速度Sを表します)
N11 #20=1; (#20は工具長補正番号を表します)
N12 #21=2; (#21 は時計回り/反時計回りのフライス加工のコードです。時計回りのフライス加工には 3 を使用し、反時計回りのフライス加工には 2 を使用します)
N13 #22=50; (#22は1分間あたりの工具送り量を表します)
N14 #26=100; (#26はフライスの開始位置と終了位置のZ座標値を表します)
…
%





