宏变量算角度怎么算

宏变量算角度怎么算,第1张

对宏程序中的变量可以可以进行算术运算和逻辑运算。

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. 在计算程序中使用浮点数变量。例如,如果需要计算两个带小数点的变量,可以将它们声明为浮点数变量,而不是整数变量。

2. 使用强制类型转换将整数转换为浮点数进行计算。例如,如果需要将一个整数变量除以一个带小数点的变量,可以将整数变量转换为浮点数,例如将整数变量除以1.0。

3. 确保程序中使用的 *** 作符支持浮点数。例如,在计算程序中使用整数变量进行除法运算,可能会导致结果不准确,因为整数除法会截断小数部分。因此,应该使用浮点数除法运算符。

4. 检查程序中的计算顺序是否正确。如果计算顺序不正确,可能会导致结果不准确。例如,如果程序计算了一个带小数点的变量和一个整数变量的乘积,可能会导致结果不准确,因为整数变量会被自动转换为整数。此时应该先将整数变量转换为浮点数再进行计算。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12082842.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存