宏程序使用说明.doc

上传人:飞****9 文档编号:136765854 上传时间:2020-07-02 格式:DOC 页数:17 大小:340KB
返回 下载 相关 举报
宏程序使用说明.doc_第1页
第1页 / 共17页
宏程序使用说明.doc_第2页
第2页 / 共17页
宏程序使用说明.doc_第3页
第3页 / 共17页
宏程序使用说明.doc_第4页
第4页 / 共17页
宏程序使用说明.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《宏程序使用说明.doc》由会员分享,可在线阅读,更多相关《宏程序使用说明.doc(17页珍藏版)》请在金锄头文库上搜索。

1、第五章 用户宏程序5.1变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。12100G01 X#1 F300 说明: 变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号()和后面的变量号指定。例如:1表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#1+#2-12 变量的类型变量根据变量号可以分成四种类型变量号变量类型功能#0空变量该变量总是空,没有值能赋给该变量.#1-#33局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电

2、时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,#100-#199#500-#999公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000-系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值. 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111. 小数点的省略 当在程序中定义变量值时,小数点可以省略。 例:当定义1123;变量1的实际值是123

3、.000。 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X#1+#2F#3;被引用变量的值根据地址的最小设定单位自动地舍入。例如: 当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346. 改变引用变量的值的符号,要把负号()放在的前面。例如:G00X#1当引用未定义的变量时,变量及地址都被忽略。例如:当变量1的值是0,并且变量2的值是空时,G00X#1 Y#2的执行结果为G00X0。 双轨迹(双轨迹控制)的公共变量 对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,

4、但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。 未定义的变量 当变量值未定义时,这样的变量成为空变量。变量0总是空变量。它不能写,只能读。(a) 引用当引用一个未定义的变量时,地址本身也被忽略。当1=当10G90 X100 Y#1G90 X100G90 X100 Y#1G90 X100 Y0 (b) 运算除了用赋值以外,其余情况下与0相同。当1=时当10时21221202*5202*52021+12021+120(c)条件表达式EQ和NE中的不同于0。当1=时当10时1EQ0成立1EQ0不成立1 NE 0成立1 NE 0不成立1 GE 0成立1 GE 0不成立1

5、 GT 0不成立1 GT 0不成立 限制 程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量:01;/2G00X100.0;N#3Y200.0;5.2算术和逻辑运算 下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量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

6、#j;角度以度数指定,9030表示为90.5度。平方根绝对值舍入上取整下取整自然对数指数函数#i=SQRT#j;#i=ABS#j;#i=ROUNND#j;#i=FIX#j;#i=FUP#j;#i=LN#j;#i=EXP#j;或异或与#i-#jOR#k;#i-#jXOR#k;#i-#jAND#k;逻辑运算一位一位地按二进制数执行。从BCD转为BIN从BIN转为BCD#i=BIN#j;#i=BCD#j;用于与PMC的信号交换。说明: 角度单位 函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如9030表示为90.5度。 ARCSIN # i= ASIN#j (1)取值范围

7、如下: 当参数(NO.6004#0)NAT位设为0时,27090 当参数(NO.6004#0)NAT位设为1时,9090(2)当#j超出1到1的范围时,发出P/S报警NO.111.(3)常数可替代变量#j ARCCOS iACOS#j(1) 取值范围从1800(2) 当#j超出1到1的范围时,发出P/S报警NO.111.(3) 常数可替代变量#j ARCTAN #i= ATAN#j/ #k(1) 指定两个边的长度,并用斜杠(/)分开(2) 取值范围如下:当NAT位(参数NO.6004,#0)设为0时;0到360当NAT位(参数NO.6004,#0)设为1时;-180到180(3) 常数可替代变

8、量#j 自然对数 #i=LN#j;(1) 注意,相对误差可能大于10-8.(2) 当反对数(#j)为0或小于0时,发出P/S报警NO.111.(3) 常数可替代变量#j。 指数函数 #i=EXP#j(1) 注意,相对误差可能大于10-8。(2) 当运算结果超过3.65X1047(j大约是110)时,出现溢出并发出P/S报警NO.111.。(3) 常数可替代变量#j。 ROUND(舍入)函数(1) 当算术运算或逻辑运算指令IF或WHILE中包含ROUND函数时,则ROUND函数在第一个小数位置四舍五入. 当执行#1= ROUND#2;此处#2=1.2345,变量1的值是1.0。(2) 当在NC语

9、句地址中使用ROUND函数时,ROUND函数根据地址的最小设定单位将指定值四舍五入 上取整下取整 CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整;若小于原数的绝对值为下整数.对于负数的处理应小心. 算术与逻辑运算指令的缩写 程序中指令函数时,函数名的前两个字符可以用于指定该函数. ROUNDROFLXFI 运算次序(1) 函数(2) 乘和除运算(3) 加和减运算 括号嵌套括号用于改变运算次序,括号可以使用5级,包括函数内部使用的括号.当超过5级时,出现P/S报警NO.118.限制 括号 (,)用于封闭表达式.注意,圆括号用于注释. 运算误差 运算时,可能出现误差.注:

10、 1.相对误差取决于运算结果. 2.使用两类误差的较小者. 3.绝对误差是常数,而不管运算结果. 4.函数TAN执行SIN/COS. 5.如果SIN/COS或TAN函数的运算结果小于10X10-8或由于运算精度的限制不为0的话,设定参数NO.6004#1为1,则运算结果可以规算为0. (1) 变量值的精度约为8位十进制数.当在加/减速中处理非常大的数时,将得不到期望的结果. (2) 还应该意识到,使用条件表达式EQ,NE,GE,GT.LE和LT时可能造成误差. (3) 使用下取整指令时应小心. 除数 当在除法或TAN90中指定为0的除数时,出现P/S报警NO.1125.3宏程序语句和NC语句

11、下面的程序段为宏程序语句: 包含算术或逻辑运算(=)的程序段. 包含控制语句的程序段 包含宏程序调用指令的程序段 除了宏程序以外的任何程序段都为NC语句. 说明: 与NC语句的不同(1) 即使置于单程序段运行方式,机床也不停止.但是,当参数N0.6000#5SBM设定为1时,在单程序段方式中,机床停止.(2) 在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理. 与宏程序语句有相同性质的NC 语句(1) 含有子程序调用指令,但没有除O,N或L地址之外的其它地址指令的NC语句其性质与宏程序相同.(2) 不包含除ONP或L以外的指令地址的程序段其性质与宏程序语句相同.5.4转移和循环 在程序中

12、,使用GOTO 语句和IF语句可以改变控制的流向.有三种转移和循环操作可供使用;转移和循环-GOTO语句(无条件转移) IF语句(条件转移) WHILE语句(当时循环)5.4.1无条件转移(GOTO语句) 转移到标有顺序号n的程序段.当指定1到99999以外的顺序号时,出现P/S报警NO.128.可用表达方式指定顺序号. GOTOn;n:顺序号(1到99999)5.4.2条件转移(IF)语句 IF之后指定条件表达式.IFGOTOn 如果指定的条件表达式满足时,转移到标有顺序号n的程序段.如果指定的条件表达式不满足,执行下个程序段.IFTHEN 如果条件表达式满足,执行预先决定的宏程序语句.只执

13、行一个宏程序语句.说明: 条件表达式 条件表达式必须包括算符.算符插在两个变量中间或变量和常数中间,并且用括号(,)封闭.表达式可以替代变量. 运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值.注意,不能使用不符号.运算符含义EQ等于NE不等于GT大于GE小于或等于LT小于LE小于或等于典型程序:下面的程序计算数值1-10的总和09500;#1=0; 存储和数变量的初值#2=1; 被加数变量的初值N1 IF#2 GT 10GOTO 2; 当被加数大于10时转移到N2#1=#1+#2; 计算和数#2=#2+#1; 下一个被加数GOTOA1; 转到N1N2 M30 ; 程序结束

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号