- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数控编程实例:FANUC系统宏程序编程
FANUC系统宏程序编程 一 变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1=#2+100G01 X#1 F300说明:变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型
变量号
变量类型
功能
#0
空变量
该变量总是空,没有值能赋给该变量.
#1-#33
局部变量
局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,
#100-#199#500-#999
公共变量
公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.
#1000
系统变量
系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.
变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。例:当定义#1=123;变量#1的实际值是123.000。变量的引用为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。双轨迹(双轨迹控制)的公共变量对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。未定义的变量当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。引用当引用一个未定义的变量时,地址本身也被忽略。
当#1=空
当#1=0
G90 X100 Y#1G90 X100
G90 X100 Y#1G90 X100 Y0
(b) 运算除了用空赋值以外,其余情况下空与0相同。
当#1=空时
当#1=0时
#2=#1#2=空
#2=#1#2=0
#2=#*5#2=0
#2=#*5#2=0
#2=#1+#1#2=0
#2=#1+#1#2=0
(c)条件表达式EQ和NE中的空不同于0。
当#1=空时
当#1=0时
#1EQ#0 成立
#1EQ#0 不成立
#1 NE #0 成立
#1 NE #0 不成立
#1 GE #0 成立
#1 GE #0 不成立
#1 GT #0 不成立
#1 GT #0 不成立
限制程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量:0#1;/#2G00X100.0;N#3Y200.0;二 算术和逻辑运算
下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#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]
角度以度指定,90o30表示为90.5度。
平方根
绝对值
舍入
上取整
下取整
自然对数
指数函数
#i=SQRT[#j];
#i=ABS[#j];
#i=ROUNG[#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]
文档评论(0)