演算子
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 | 論理積 両方が成立すれば真 |
- 当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
→ NCプログラムの教科書 - 上級編も作成しました。
→ NCプログラム上級編