发那科籍-宏程序_第1页
发那科籍-宏程序_第2页
发那科籍-宏程序_第3页
发那科籍-宏程序_第4页
发那科籍-宏程序_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用户宏程序用户宏程序

用户宏程序一、变量二、运算指令三、控制指令四、简单练习五、系统变量六、宏程序调用主要内容:用户宏程序主程序宏程序下一页用户宏程序宏程序的适用范围:

形状类似但大小不同(圆、方及其它)

其它

自动化功能(刀具长度测量、生产管理等)

特殊形状(椭圆、球等)

大小相同但位置不同(组孔、阵列等)上一页用户宏程序宏程序与子程序的比较:宏程序子程序使用变量可使用变量不可以使用变量调用方式G65P_

L_<自变量赋值>

;M98P__;调用行有其它NC指令时无条件调用先执行NC指令,再调用子程序嵌套4重4重用户宏程序宏程序相关的参数#5(SBM)用户宏程序语句中,0:单程序段不停止

1:单程序段停止#6(CCV)复位(Reset)后,公共变量#100~#199 0:清空

1:不清空#7(CLV)复位(Reset)后,局部变量#1~#33 0:清空

1:不清空用户宏程序#4(NE9)编辑程序号为9000~9999的程序 0:不禁止

1:禁止#6(NPE)程序登录时,对含有M02,M99,M30的程序段

0:视为登录结束

1:不视为登录结束用户宏程序

变量的种类变量的显示与设定变量的使用未定义变量一、变量用户宏程序1.变量的种类

例: #10, #1005表达式也可以用于指定变量号,需封闭在括号中。例: #[#2-1], #[#500/2]可在程序段结尾加注释说明变量内容,需用括号封闭。 例: #2=#3-1(TOOLNUMBER);变量符号(#)+变量号变量的表示用户宏程序变量号变量类型用途#0空变量总为空#1~#33局部变量只能用在当前宏程序中存储变量,断电后数据初始化#100~#199#500~#999公共变量在不同的程序中意义相同,各宏程序公用。断电后#100~#199初始化为空,#500~#999数据保存#1000~系统变量可用于读写CNC运行时的各种数据变量的种类用户宏程序正值+10-29~00负值-10-29~-1047变量的范围用户宏程序2.变量的显示与设定变量的显示1.按下MDI面板上的功能键OFFSETSETTING2.按几次键,直至出现用户宏程序3.按下显示宏程序变量值用户宏程序4.按、显示局部和公共变量值用户宏程序公共变量的设定1.找到显示公共变量的画面。2.将光标移至欲设定的变量号上。键入变量号并按键按换页键、 和光标键将光标移至欲设定的变量号上3.键入数据并按用户宏程序3.变量的使用

#i=<表达式>将计算结果赋值给对应的变量号常数、变量、函数和运算符的组合表示方法#1=#2+100;#1=#2+#18*SIN[#5];用户宏程序变量的定义当在程序中定义变量值时,小数点可以省略#1=123;#1123.000变量的引用

跟在地址后面的数值可用变量来代替。G01X10.0F#1;F把#1值作为F的指令值G01X-[#1+#2]F#1;把表达式放在括号中用户宏程序把变量用于地址数据的时候,被引用变量的值根据地址的最小设定单位自动地四舍五入G01X#1;当#1赋值为12.3456时,实际指令值为G01X12.346;改变引用变量的值的符号,要把负号放在#的前面G00X-#1;用户宏程序当引用未定义的变量时,变量及地址字都被忽略G00X#1Y#2;当#1=0,#2为空时, G00X0;

程序号、顺序号和任选程序段跳转号不能使用变量O#1;N#3Y200.0;/#2G00X10.;用户宏程序4.未定义变量当变量值未定义时,这样的变量成为<空>变量变量#0总是空变量,它不能写只能读未定义变量的引用当引用一个未定义的变量时,地址本身也被忽略当#1=<空>时当#1=0时G90X100Y#1↓G90X100G90X100Y#1↓G90X100Y0用户宏程序未定义变量的计算除了用<空>赋值以外,其余情况下<空>与0相同当#1=<空>时当#1=0时#2=#1↓#2=<空>#2=#1↓#2=0#2=#1﹡5↓#2=0#2=#1﹡5↓#2=0#2=#1+#1↓#2=0#2=#1+#1↓#2=0用<空>赋值用户宏程序条件表达式EQ和NE中的<空>不同于0当#1=<空>时当#1=0时#1EQ#0↓成立#1EQ#0↓不成立#1NE0↓成立#1NE0↓不成立#1GE#0↓成立#1GE#0↓成立#1GT0↓不成立#1GT0↓不成立用户宏程序示例用户宏程序二、运算指令

运算命令的种类运算顺序

用户宏程序种类符号格式加法+#i=#j+#k减法-#i=#j-#k乘法*#i=#j*#k除法/#i=#j/#k1.运算命令的种类加减乘除用户宏程序种类函数名格式下取整FIX#i=FIX[#k]上取整FUP#i=FUP[#k]四舍五入ROUND#i=ROUND[#k]绝对值ABS#i=ABS[#k]下取整(FIX):舍去小数点以下部分上取整(FUP):将小数后部分进位到整数部分数据处理用户宏程序运算指令#2=1.234时#2=-1.679时#1=FIX[#2]#1=FUP[#2]#1=ROUND[#2]#1=ABS[#2]1.02.0-1.0-2.01.01.234-2.01.679计算相应的变量值#1下取整(FIX):舍去小数点以下部分上取整(FUP):将小数后部分进位到整数部分用户宏程序种类符号格式结果正弦SIN#i=SIN[θ]c/a余弦COS#i=COS[θ]b/a正切TAN#i=TAN[θ]c/b反正弦ASIN#i=ASIN[c/a]θ反余弦ACOS#i=ACOS[b/a]θ反正切ATAN#i=ATAN[c]/[b]θ三角函数的角度单位为度。如:90°30′表示为90.5三角函数用户宏程序反三角函数的取值范围函数No.6004#0=0No.6004#0=1ATAN0~360-180~+180ASIN270~90-90~90ACOS180~0#1=SIN[90];#1=COS[90];#1=TAN[45];#1=ATAN[1]/[1];#1=ATAN[-1]/[-1];101123.000123.000#1#1#1#1#1用户宏程序其它函数种类函数名格式平方根SQRT#i=SQRT[#k]自然对数LN#i=LN[#k]指数函数EXP#i=EXP[#k]#2=2;#1=SQRT[#2];1.414#1用户宏程序逻辑运算种类名称格式或OR#i=#jOR#k异或XOR#i=#jXOR#k与AND#i=#jAND#k

对32位的每一位按二进制进行逻辑运算输入值或异或与00000011101011011101用户宏程序十进制二进制#22100010101#31200001111#1=#2OR#3#1=#2XOR#3#1=#2AND#329254000111010001100100000100从BCD转为BIN:#i=BIN[#j];从BIN转为BCD: #i=BCD[#j];用户宏程序2.运算顺序①函数②乘除运算(*,/,AND)③加减运算(+,-,OR,XOR)#1=#2+#3*SIN[#4];①②③用户宏程序

可以利用[]来改变运算顺序,可嵌套5次

可以使用函数名前面的两个字母来指定该函数。

ROUND→RO FIX→FI用户宏程序三、控制指令GOTO语句

IF语句

WHILE语句

用户宏程序1.无条件转移(GOTO语句)GOTOn; n:程序段号(1-99999)无条件地转移到程序段n去。n也可用变量或表达式来代替

GOTO10;

GOTO#10;用户宏程序IF[<条件表达式>]GOTOn;若满足<条件表达式>,下步操作转移到程序段号为n的程序段去。若不满足,执行下个程序段。2.条件转移(IF语句)IF[<条件表达式>]THEN…;若满足<条件表达式>,执行THEN后的宏程序语句,只执行一个语句。

IF[#1EQ#2]THEN#3=0;用户宏程序条件表达式条件不满足时执行的操作条件满足时是否IFGOTO上一页用户宏程序常用格式(当前值)=(初值);WHILE[(当前值)比较(目标值)]DOm;(执行循环操作);(当前值)=(当前值)±1;ENDm;用户宏程序四、简单练习

深孔加工铣圆内腔粗车外圆数据计算用户宏程序#26=-30.0;#17=-10.0;#1=0;#2=0;#3=0;WHILE[#1GT#26]DO1;#1=#1+#17;

IF[#1GE#26]GOTO1;#1=#26;

G00G90Z[#2+#3];G01Z#1F300;G00Z0;#2=#1;

#3=1.0;END1;N1钻孔最终深度赋值每次钻孔深度赋值当次钻孔深度坐标初始化前次钻孔深度坐标初始化计算当次钻孔深度坐标记录当次钻孔深度与最终钻孔深度比较钻孔深度空程量初始化

钻孔深度空程量赋值用户宏程序O9999;#1=500;WHILE[#1LE507]DO1;

#[#1]=#0;#1=#1+1;END1;M30;O9999;#1=0;WHILE[#1LE9]DO1;

#[500+#1]=SIN[#1*10];#1=#1+1;END1;M30;将#500~#507的值设为<空>计算SIN0~SIN90的值并赋值给#500~#509用户宏程序O9999;#1=501;#506=#500;WHILE[#1LE505]DO1;IF[#506GT#[#1]]GOTO1;#506=#[#1];N1#1=#1+1;END1;M30;O9999;#2=501;WHILE[#2LE505]DO2;#1=#2;#506=#[#2-1];

WHILE[#1LE505]DO1;IF[#506GT#[#1]]GOTO1;#506=#[#1];#[#1]=#[#2-1];#[#2-1]=#506;#1=#1+1;

END1;#2=#2+1;END2;M30;N1用户宏程序时间信息变量号单位功能赋值#3001毫秒计时器。电源接通时复位为0。可以#3002小时计时器。循环启动灯亮时开始计时。即使在断电时也保存该值可以#3011年月日读取当前的日期。1999年12月31日19991231不可#3012时分秒读取当前的时间。下午3点34分56秒15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论