演算子
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プログラム上級編