演算子

NCプログラムでは数学と同じように、四則演算(+,-,×,÷)や比較(<,=,>)、論理演算(AND,OR)などを行うことができます。数学とは少し異なった記号を使用しますので、間違えないように注意しましょう。


算術演算子

NCコード 意味
+加算(+)
-減算(−)
*乗算(×)
/除算(÷)
=代入

他のページでも書きましたが、NCプログラムでは「=」は、等しいという意味ではなく代入です。「#100=10.」のように代入は変数に行い、それ以外には使用しません。

四則演算では「#100=10. + 5. * 10.」となっていれば、右辺側の計算結果が「#100」に代入されます。計算される順番は数学と同じで、基本的には左側から計算され、乗算、除算がある場合は、加算、減算よりも先に計算されます。この場合は「60.」が「#100」に代入されます。

また、「[ ]」を使用することで計算が行われる順番を変えることもできます。「#100=[10. + 5.] * 10.」とした場合はまず、「[ ]」の中の「10. + 5.」が先に計算されてから「* 10.」の計算が行われます。この場合「#100」には「150.」が代入されます。

四則演算は変数への代入だけでなく、アドレスの後に続く数値にも使用することができます。この場合は「X[10.+20.] Y[5.-2.]」のように、計算式を「[ ]」で括る必要があります。

除算を行う時の注意点として「#100 = 0 / 1」では「#100」には「0」が代入されます。「0 / 1」は「0」になりますから、当然と言えば当然なのですが、逆に「#100 = 1 / 0」は「0で除算されました」というアラームが出て計算できません。これは「1 / 0」は「0」にはならないためです。変数を使用する場合にも、割る数が「0」になるとアラームが出ますので、注意が必要です。

詳しくは「0で割ると計算できない理由」のページに載せてありますので、興味がある方はご覧ください。

比較演算子

NCコード 意味
EQ左辺と右辺が等しい
(=)
NE左辺と右辺が等しくない
(≠)
LT左辺が右辺より小さい
(<)
LE左辺が右辺以下である
(<=)
GT左辺が右辺より大きい
(>)
GE左辺が右辺以上である
(>=)

比較演算子は主に条件分岐(IF)や繰り返し(WHILE)などで使用されます。

「IF [#100 EQ 1] GOTO200」のように、比較演算を行っている部分は「[ ]」で括る必要があります。

「IF [[#100+1] EQ #1] GOTO300」のように、計算式を入れることもできます。この場合も計算式を「[ ]」で括る必要があります。

論理演算子

NCコード 意味
OR 論理和
どちらか一方でも成立すれば真
XOR 排他的論理和
両方が成立しなければ真
AND 論理積
両方が成立すれば真

お知らせ
メニュー
NC旋盤
サブメニュー
OSP(オークマ)
雑学
NCプログラマの為の数学
関連サイト