(1)数值计算 表达式运算是现代数控系统指令表达的一种常用方法。在数值计算中既有常量计算,也有R参数和实数型变量计算,计算时也遵循通常的数学运算规则。同时,整数型和字符型数值间的计算也是允许的。常用的运算形式见表6-5。
表6-5 常用的运算形式
(2)比较运算 可以用来表达某个跳转条件。完整的表达式也可以进行比较。比较函数可用于CHAR、INT、REAL和BOOL型的变量。对于CHAR型变量,比较代码值。对于STRING、AXIS和FRAME可以为==和<>。比较运算的结果始终为BOOL型。比较运算的结果有两种,一种为“满足”,该运算结果值为1;另一种为“不满足”。当比较运算的结果为“不满足”时,该运算结果值为0。
在SINUMERIK 828D或BASIC数控系统中,逻辑比较运算经常出现在程序分支的程序语句判断中。所用的逻辑比较运算符号见表6-6。
表6-6 逻辑比较运算符号
说明:在布尔的操作数和运算符之间必须加入空格。
例1 比较运算符
IFR10>=100GOTOF目标
或
R11=R10>=100 ;R10>=100的比较结果首先储存在R11中
IF R11 GOTOF 目标
(3)逻辑运算 用于将真值联系起来。逻辑运算只能用于BOOL型变量。通过内部类型转换也可将其用于CHAR、INT和REAL数据类型,见表6-7。
表6-7 逻辑运算符号
(www.xing528.com)
例2 逻辑运算符
IF(R10<50)AND($AA_IM[X]>=17.5)GOTOF目标
或
IF NOT R10 GOTOB START
NOT ;只与一个运算域有关
(4)逐位逻辑运算 使用CHAR和INT型变量也可进行逐位逻辑运算。运算中,自动进行变量的类型转换,见表6-8。
表6-8 逐位逻辑运算符号
例3 逐位逻辑运算符
IF $MC_RESET_MODE_MASKB_AND'B10000'GOTOFACT_PLANE
(5)运算的优先级 每个运算符都被赋予一个优先级,如乘法和除法运算优先于加法和减法运算。在计算一个表达式时,有高一级优先权的运算总是首先被执行。在优先级相同的运算中,运算由左到右进行。在算术表达式中可以通过圆括号确定所有运算的顺序并由此脱离原来普通的优先计算规则(圆括号内的运算优先进行)。运算的优先级见表6-9。
表6-9 运算的优先级
说明:级联运算符“:”在表达式中不能与其他的运算符同时出现。因此这种运算符不要求划分优先级。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。