宏程序變量運算規則

對宏程序中的變量可以可以進行算術運算和邏輯運算。

1. 算術運算

可以進行加、減、乘、除運算。運算功能和格式如表12-3所示。

舉例:G00X[#1+#2]

X座標的值是變量1與變量2之和。

2. 三角函數計算

對宏程序中的變量可進行正弦(SIN)、反正弦(ASIN)、餘弦(COS)、反餘弦(ACOS)、正切(TAN)、反正切(ATAN)函數運算。三角函數中的角度以度為單位。運算功能和格式如表12-3所示。

表12-3 變量運算功能表

宏程序變量運算規則

對於反反正弦(ASIN)取值範圍如下:

當參數(No.6004#0)NAT位設為0時:270°~90°

當參數(No.6004#0)NAT位設為1時:-90°~90°

當#j超出-1~1時發出P/S報警No.111。

對於反餘弦(ACOS)的取值範圍如下:

取值範圍180°~0°

當#j超出-1~1時發出P/S報警No.111。

對於反正切(ATAN)的取值範圍如下:

當參數(No.6004#0)NAT位設為0時:0°~360°

當參數(No.6004#0)NAT位設為1時:-180°~180°

3. 其它函數計算

對宏程序中的變量還可以進行平方根(SQRT)、絕對值(ABS)、舍入(ROUN)、上取整(FIX)、下取整(FUP)、自然對數(LN)、指數(EXP)運算。運算功能和格式如表12-3所示。

向上取整:比自己大的最小整數;

向下取整:比自己小的最大整數;

對於自然對數LN[#j],相對誤差可能大於10-8。當#j≤0時,發出P/S報警No.111。

對於批數函數EXP[#j],相對誤差可能大於10-8。當運算結果大於3。65×1047(j大約110)時,出現溢出併發出P/S報警No.111。

對於取整函數ROUN[#j],根據最小設定單位四捨五入。

例如,假設最小設定單位為1/1000mm,#1=1.2345,則#2=ROUN[#1]的值是1.0。

對於上取整FIF[#j],絕對值值大於原數的絕對值。對於下取整FUP絕對值小於原數的絕對值。

例如,假設#1=1.2,則#2=FIX[#1]的值是2.0。

假設#1=1.2,則#2=FUP[#1]的值是1.0。

假設#1=-1.2,則#2=FIX[#1]的值是-2.0。

假設#1=-1.2,則#2=FUP[#1]的值是-1.0。

4. 邏輯運算

對宏程序中的變量可進行與、或、異或邏輯運算。邏輯運算是按位進行。運算功能和格式如表12-3所示。

5. 數制轉換

變量可以在BCD碼與二進制之間轉換。

6. 關係運算

由關係運算符和變量(或表達式)組成表達式。系統中使用的關係運算符如下。

(1)等於(EQ)

用EQ與兩個變量(或表達式)組成表達式,當運算符EQ兩邊的變量(或表達式)相等時,表達式的值為真,否則為假。

例如,#1EQ#2,當#1與#2相等時,表達式的值為真。

(2)不等於(NE)

用NE與兩個變量或表達式組成表達式,當運算符NE兩邊的變量(或表達式)不相等時,表達式的值為真,否則為假。

例如,#1NE#2,當#1與#2不相等時,表達式的值為真。

(3)大於等於(GE)

用GE與兩個變量或表達式組成表達式,當左邊的變量(或表達式)大於或等於右邊的變量(或表達式)時,表達式的值為真,否則為假。

例如,#1GE#2,當#1大於或等於#2時,表達式的值為真。否則為假。

(4)大於(GT)

用GT與兩個變量或表達式組成表達式,當左邊的變量(或表達式)大於右邊的變量(或表達式)時,表達式的值為真,否則為假。

例如,#1GT#2,當#1大於#2時,表達式的值為真。否則為假。

(5)小於等於(LE)

用LE與兩個變量或表達式組成表達式,當左邊的變量(或表達式)小於或等於右邊的變量(或表達式)時,表達式的值為真,否則為假。

例如,#1LE#2,當#1小於或等於#2時,表達式的值為真。否則為假。

(6)小於(LT)

用LT與兩個變量或表達式組成表達式,當左邊的變量(或表達式)小於右邊的變量(或表達式)時,表達式的值為真,否則為假。

例如,#1GE#2,當#1大於#2時,表達式的值為真。否則為假。

7. 運算優先級

運算符的優先順序是

(1)函數。函數的優先級最高。

(2)乘、除、與運算。乘、除、與運算的優先級次於函數的優先級。

(3)加、減、或、異或運算。加、減、或、異或運算的優先級次於乘、除、與運算。乘、除、與運算的優先級。

(4)關係運算。關係運算的優先級最低。

用方括號可以改變優先級,括號不能超過5層。超過5層時,發出P/S報警No.111。

8. 變量值的精度

變量值的精度為8位十進制數。

例如:用賦值語句#1=9876543210123.456時,實際上#1=9876543200000.000。

用賦值語句#2=9876543277777.456時,實際上#2=9876543300000.000。


分享到:


相關文章: