小数点入力:X1000 は 1000 mm か 1 mm か

NC プログラムでは、X100. のように小数点を付けた数は、どの機械でも 100 mm と読まれます。ところが小数点を付けない X1000 は、機械の設定によって 1000 mm にも、1 mm にも、0.1 mm にもなります。他の機械や CAM から持ってきたプログラムで、工具が 1000 倍ずれた所へ動く事故の原因です。このページでは、2 通りの読み方と、アドレスごとの例外をまとめます。

図解:小数点のない X1000 の読み方(同じ物差しで比べる)

電卓型X1000 → 1000 mm05001000 mm標準型 IS-BX1000 → 1 mm05001000 mm01 mm0 のあたりを 1000 倍に拡大標準型 IS-CX1000 → 0.1 mm05001000 mm01 mm0 のあたりを 1000 倍に拡大
電卓型は小数点のない数もそのまま mm として読み、X1000 は 1000 mm。標準型は最小設定単位を掛けるので、IS-B なら 1000 × 0.001 = 1 mm、IS-C なら 1000 × 0.0001 = 0.1 mm。同じプログラムでも、機械の設定によって工具が 1000 倍・10000 倍違う所へ動く(Siemens の ISO 方言の説明書の例をもとにケズリバで描いた図)。

.2 通りの読み方:電卓型と標準型

どこで決まるか・どう確かめるか

計算:このワードは何 mm・何秒として読まれるか

ワードアドレスの種類読まれる値

換算の係数は Siemens の ISO 方言の説明書の表(mm・inch、IS-B・IS-C)によります。どの読み方になっているかは、機械のパラメータ(Siemens の ISO 方言は MD 10884、三菱電機は #1078)で決まります。動かして確かめず、まず画面のパラメータを見るか、機械メーカーに聞いてください。G コードの体系や機種によって、ここに無い例外があります。

アドレスごとの単位(標準型、mm のとき)

小数点のない数 1 が何を表すか。Siemens の ISO 方言の説明書の表をもとにまとめました[1]。この表で読み方が変わるのは X Y Z U V W A B C I J K Q R F のアドレスです。

アドレス標準型 IS-B標準型 IS-C電卓型
直線軸 X Y Z U V W0.001 mm0.0001 mm1 mm
回転軸 A B C0.001°0.0001°1°
円弧の I J K、半径 R、Q0.001 mm0.0001 mm1 mm
F(毎分送り)1 mm/min1 mm/min1 mm/min
F(毎回転送り)0.01 mm/rev0.01 mm/rev1 mm/rev
F(ねじのリード)0.01 mm0.01 mm1 mm
ドウェル G04 の X・U0.001 秒0.001 秒1 秒

inch のときは、直線軸が IS-B で 0.0001 inch、IS-C で 0.00001 inch です[1]。ドウェルの例:G04 X1000 は標準型なら 1 秒、電卓型なら 1000 秒(17 分近く止まる)です[2]。

×小数点が効かないアドレス

三菱電機の説明書は、D H L M N O P S T を「小数点が無効なアドレス」としていて、小数点を付けても小数部を捨てて整数として読みます[3]。番号(N・O・T・H・D)、回数(L)、回転数(S)、M コードなどです。S1000.5 と書いても 1000 になります。

同じ NC の中の例外(ここで間違えやすい)

図解:多条ねじの開始角 Q(端面から見たところ)

2 条ねじ1 回転の信号の位置=0°0°180°開始角 0° と 180°Siemens: Q0 Q180.Haas: Q0 Q1800003 条ねじ1 回転の信号の位置=0°0°120°240°開始角 0°・120°・240°Siemens: Q120. Q240.Haas: Q120000 Q240000
n 条ねじの k 本目は、開始角 Q = 360 ×(k − 1)÷ n だけずらして同じ G32 をくり返す。F はピッチではなくリード(ピッチ × 条数)。Q の書き方は機種で正反対で、Siemens の ISO 方言は小数点を付けて度で書き(Q180.)、Haas は 0.001° 単位の整数で書く(Q180000)。

式・変数・マクロの引数

NC ごとの違い

NC小数点のない数気をつけること
FANUC 互換標準型が基本。設定で電卓型に切り替えられる機種があるサイクルの P・Q は最小単位の整数
三菱電機#1078 で I 型(最小単位)か II 型(mm)を選ぶ[3]D H L M N O P S T は小数部を捨てる。ねじ切りの F は mm の整数部として読む
Siemens(ISO 方言)MD 10884 で電卓型か標準型を選ぶ。標準型の係数は IS-B・IS-C[1][2]多条ねじの Q は小数点を付ける(Q180.)
Haas小数点のない引数は最小単位で読む例がある[5]G32 の Q は小数点を付けない整数(Q180000)[4]
LinuxCNC小数点のない数も、そのままの値として読む(実質的に電卓型)[6][7]FANUC 系の小数点なしのプログラムを持ち込むと 1000 倍ずれる

現場でのチェックリスト

関連:NC 旋盤プログラム入門(シミュレータで小数点忘れを試せる)・固定サイクル一覧(Q の符号と小数点)・G32 ねじ切り・番号がぶつかるコード

出典

各社の公開資料の要点をケズリバの言葉でまとめたもので、説明書の文章・表は写していません。

  1. Siemens AG「SINUMERIK 802D sl/840D/840D sl/840Di/840Di sl/810D Programming Manual ISO Milling, 04.2007 Edition(6FC5398-7BP10-0BA0)」 cache.industry.siemens.com
  2. Siemens AG「SINUMERIK 802D sl/840D/840D sl/840Di/840Di sl/810D Programming Manual ISO Turning, 04.2007 Edition」 cache.industry.siemens.com
  3. 三菱電機(Mitsubishi Electric)「MITSUBISHI CNC 700/70 Series Programming Manual (Lathe System)(IB-1500057)」 mitsubishielectric.com
  4. Haas Automation, Inc.「G32 Thread Cutting (Group 01)(旋盤、コード別解説ページ)」 haascnc.com
  5. Haas Automation, Inc.「Mill Operator's Manual – 13 Macros(オンライン版)」 haascnc.com
  6. LinuxCNC project「G-code Overview(LinuxCNC Documentation)」 linuxcnc.org
  7. 米国国立標準技術研究所(NIST)「The NIST RS274NGC Interpreter – Version 3(NISTIR 6556, 2000)」 nvlpubs.nist.gov