6.2.3 數學及邏輯運算


可利用變數來執行下表中的運算。算式中等號的右邊可為常數和(或)變數與運算子的組合。變數 #j#k 亦可換成常數。等號左邊的變數則可被替換為算式。


功能

格式

說明

定義

#i=#j


加減乘除/四則運算

(+、-、×÷

#i=#j+#k;

#i=#j–#k;

#i=#j*#k;

#i=#j/#k;


三角函數運算

#i=SIN[#j];

#i=ASIN[#j];

#i=COS[#j];

#i=ACOS[#j];

#i=TAN[#j];

#i=ATAN[#j]/[#k];

角度的單位為度,90 度又 30 分將表示為 90.5 度。

開平方

絕對值

四捨五入

無條件捨去

#i=SQRT[#j];

#i=ABS[#j];

#i=ROUND[#j];

#i=FIX[#j];


邏輯運算

(OR、XOR、AND)

#i=#j OR #k;

#i=#j XOR #k;

#i=#j AND #k;

邏輯運算將以二進位數字的位元為單位去運算。


說明:

  • 角度單位

三角函數(SIN、COS、ASIN、ACOS、TAN、ATAN)使用的角度單位為度,例如:90 度又 30 分以 90.5 度表示。


  • 反正弦三角函數:ARCSIN #i = ASIN[#j];


  • 解答的範圍從 –90° ~ 90°


  • 當變數 #j 超出 -1~1 的範圍時,會發出警告。


  • 除了變數 #j 之外,亦可使用常數。


  • 反餘弦三角函數:ARCCOS #i = ACOS[#j];


  • 解答的範圍從 180°~ 0°


  • 當變數 #j 超出 -1~1 的範圍時,會發出警告。


  • 除了變數 #j 之外,亦可使用常數。


  • 反正切三角函數:ARCTAN #i = ATAN[#j]/[#k];


  • 給定兩邊的長度,並以左斜線(/)分開。


  • 解答的範圍從 –180°~ 180°。例如:給定 #1 = ATAN[–1]/

 [–1]; 時,#1 為 -135.0.0。


  • 除了變數 #j 之外,亦可使用常數。


  • 四捨五入/取整數


  • 當數學或邏輯運算式如 IFWHILE 條件式中包含四捨五入的函數,系統會將計算結果四捨五入至小數第一位。

例如:程式行 #1=ROUND[#2]; 中,若 #2 的計算結果值為 1.2345,則 #1 的計算結果將被四捨五入為 1.0。


  • 在 NC 程式中使用四捨五入函數時,該值將會以該位址的最小有效單位做四捨五入。


例如:

假設要編寫一個鑽孔的加工程式,並讓該程式利用變數 #1#2 的值去加工,然後再回到原始位置。若系統進給單位為 1/1000 mm,變數 #1 的值為 1.2346,變數 #2 的值為 2.3456,則:

G00 G91 X–#1  ;移動 1.235 mm

G01 X–#2 F300 ;移動 2.346 mm

G00 X[#1+#2]  ;因 1.2345+2.3456=3.5801,故移動距離將為 3.580,且刀具將不會回到原始位置


此差異來自於相加的動作是在四捨五入前或後執行,如欲使刀具回到原始位置,則需要將指令寫為 G00X–[ROUND[#1]+ROUND[#2]]



  • 無條件捨去

在控制器系統中,如果某數字的運算結果所產生整數的絕對值小於原始數字的絕對值,該運算即被視為無條件捨去至整數。例如:


#1=1.2#2=–1.2,

當執行 #3=FIX[#1] 時,1.0 將被設入變數 #3

當執行 #3=FIX[#2] 時,-1.0 將被設入變數 #3