FANUC用户宏程序课件_第1页
FANUC用户宏程序课件_第2页
FANUC用户宏程序课件_第3页
FANUC用户宏程序课件_第4页
FANUC用户宏程序课件_第5页
已阅读5页,还剩557页未读 继续免费阅读

下载本文档

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

文档简介

一、变量的使用二、系统变量三、运算命令四、循环语句五、程序案例六、宏程序的调用七、宏语句的处理八、中断宏程序九、格式数据输入主要内容:1用户宏程序一、变量的使用主要内容:1用户宏程序单元一、概述2用户宏程序单元一、概述2用户宏程序主程序宏程序一、用户宏程序用途3用户宏程序主程序宏程序一、用户宏程序用途3用户宏程序

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

其它

自动化功能(刀具长度测量)换刀功能

特殊形状(椭圆、球等)

大小相同但位置不同(组孔、阵列等)二、宏程序的适用范围加工程序编程生产管理PMC强电控制4用户宏程序形状类似但大小不同(圆、方及其它)其它自动化功能(刀具宏程序子程序使用变量可使用变量不可以使用变量调用方式G65P_L_<自变量赋值>;M98P__;程序结束M99;M99;嵌套4重0i-D:5重★4重三、宏程序与子程序的比较注释:★为0i-D、30i系列的新增功能5用户宏程序宏程序子程序使用变量可使用变量不可以使用变量调用方式G65四、宏程序相关的参数#5(SBM)用户宏程序语句中,0:单程序段不停止 1:单程序段停止#6(CCV)复位(Reset)后,公共变量#100~#199 0:清空 1:不清空#7(CLV)复位(Reset)后,局部变量#1~#330:清空 1:不清空0i-D没有6001#7设置6用户宏程序四、宏程序相关的参数#5(SBM)用户宏程序语句中#4(NE9)编辑程序号为9000~9999的程序 0:不禁止 1:禁止#6(NPE)程序登录时,对含有M02,M99,M30的程序段 0:视为登录结束 1:不视为登录结束NE8五、宏程序的保护1、参数设置7用户宏程序#4(NE9)编辑程序号为9000~9999的程序 3210密码锁3210密码锁设置时须谨慎,若使用G10可编程数据输入时,则出现PS0231#报警3211密码钥匙设定值后不显示,断电后为0参数6001#5设为1T代码调用宏程序2、密码保护8用户宏程序3210密码锁3210密码锁3211密码钥匙参数6001#

变量的表示

变量的种类

变量的显示与设定

变量的使用

未定义变量公共变量名称★单元二、变量9用户宏程序变量的表示单元二、变量9用户宏程序第二章变量10用户宏程序第二章变量10用户宏程序一、变量的表示

例: #10, #1005表达式也可以用于指定变量号,但需封闭在括号内例: #[#2-1], #[#500/2]可在程序段结尾加注释说明变量内容,但需用括号封闭 例:#2=#3-1(TOOLNUMBER)变量符号(#)+变量号变量的表示方法11用户宏程序一、变量的表示 例: #10, #10变量号变量类型用途#0、#3100★空变量总为空,不能写,只能读#1~#33局部变量只能用在当前用户宏程序中存储变量断电/复位后数据初始化#100~#199#500~#999公共变量在不同的程序中意义相同,各用户宏程序公用.断电后:#100~#199初始化为空,500~#999数据保存#1000~系统变量可用于读写CNC运行时的各种数据二、变量的种类12用户宏程序变量号变量类型用途#0、#3100★空变量三、局部变量、公共变量、系统变量的用途和特性局部变量:#1~#33,初始状态为<空>,自变量输入可用程序或MDI方式输入★,可以自由使用,属性READ/WRTIE.公共变量:#100~#199、#500~#999,共600个,在主程序或调用的各子程序以及各个宏之间的通用.公共变量的用途没有在系统中确定,用户可自由使用.#100~#199断电不保护,#500~#999断电保护,属性READ/WRTIE.公共变量的写保护:参数6031~6032★对#500~#999进行保护,属性为READ,以防止输入/全清的误操作.系统变量:在系统中固定,属性有只读、只写、可读可写三种.系统常量:其值不变的常量,属性只读.13用户宏程序三、局部变量、公共变量、系统变量的用途和特性局部变量:#1~四、变量的显示与设定变量的显示1).按下MDI面板上的功能键OFFSETSETTING2).按几次键,直至出现14用户宏程序四、变量的显示与设定变量的显示1).按下MDI面板上的功能键3).按下显示宏程序变量值15用户宏程序3).按下显示宏程序变量值15用户4).按、显示局部和公共变量值16用户宏程序4).按、显示局部和公共变量的设定1.找到显示公共变量的画面。2.将光标移至欲设定的变量号上。键入变量号并按键或按换页键、 和光标键将光标移至欲设定的变量号上3.键入数据并按17用户宏程序公共变量的设定1.找到显示公共变量的画面。17用户宏程序五、变量的使用

#i=<表达式>将计算结果赋值给对应的变量号常数、变量、函数和运算符的组合表示方法#1=#2+100;#1=#2+#18SIN[#5];18用户宏程序五、变量的使用#i=<表达式>将计算结果当在程序中定义变量值时,小数点可以省略#1=123;#1123.000变量的引用跟在地址后面的数值可用变量来代替。G01X10.0F#1;F把#1值作为F的指令值G01X-[#1+#2]F#1;把表达式放在括号中变量的赋值19用户宏程序当在程序中定义变量值时,小数点可以省略#1=123;#1变量用于地址数据时,被引用变量的值根据地址的最小设定单位自动地四舍五入例:G01X#1;当#1赋值为12.3456时,实际指令值为G01X12.346;设定单位1/1000mm(IS-B)改变引用变量的值的符号时,要把负号放在#的前面例:G00X-#1;20用户宏程序变量用于地址数据时,被引用变量的值根据地址的最小设定单位自动当引用未定义的变量时,变量及地址字都被忽略例:G00X#1Y#2;当#1=0,#2为空时 实际指令为G00X0;

程序号、顺序号和任选程序段跳转号不能使用变量.以下表述是错误的.O#1;N#3Y200.0;/#2G00X10.;21用户宏程序当引用未定义的变量时,变量及地址字都被忽略例:G00X#参数6008#0为0时,最大值±,最小值±参数6008#0为1时,最大值±,最小值±超出范围出现PS0111#报警变量的范围角度单位为度角度单位为度(°),最小指令单位0.001˚22用户宏程序参数6008#0为0时,最大值±,六、未定义变量当变量值未定义时,这样的变量成为<空>变量变量#0总是空变量,它不能写只能读未定义变量的引用当引用一个未定义的变量时,地址本身也被忽略当#1=<空>时当#1=0时G90X100Y#1↓G90X100G90X100Y#1↓G90X100Y023用户宏程序六、未定义变量当变量值未定义时,这样的变量成为<空>变量变量系统变量与常量可通过变量号指定,也可通过事先准备的系统变量(常量)名称来指定.1.系统变量它由_(下划线)开始8个英文字母、数字构成.对轴和刀具补偿,作为名称的标号,可用[n](n为整数),n可用<表达式>即运算格式指定.七、系统变量与常量的名称★24用户宏程序七、系统变量与常量的名称★24用户宏程序注意:当n指定整数以外的数值时,n小数则按四舍五入处理.2.系统常量属性R例[#-ABSIO[1.4999999]]:假定此值为[#-ABSIO[1]],也即#5001例[#-ABSIO[1.5000000]]:假定此值为[#-ABSIO[2]],也即#5002常量常量名称内容#0、#3100★[#-EMPTY]空值#3101★[#-PI]圆周率π=3.14159265……..#3102★[#-E]自然对数e=2.71828182…….25用户宏程序注意:当n指定整数以外的数值时,n小数则按四舍五入处理.2.八、公共变量的名称★由SETVN指定设定变量名称,即可读取或写入.指令格式如[#VAR500],必须以[#公共变量名称]的格式指定.公共变量名称设定和指令时,可赋值#500~#549,共50个,公共变量8个字符,开头必须是字母,断电不消失.例如:SETVNn[AVR500,AVR501,AVR502,…..];变量号n、n+1、n+2的变量名称:各字符串之间以“,”隔开.字符除了控制出、控制入、[、]、EOB26用户宏程序八、公共变量的名称★由SETVN指定设定变量名称,即可读取或九、设定和指令27用户宏程序九、设定和指令27用户宏程序单元三、系统变量28用户宏程序单元三、系统变量28用户宏程序接口信号刀具补偿坐标系偏移(T)CNC报警时钟和零件数时间信息自动运行控制设定单元三、系统变量29用户宏程序接口信号单元三、系统变量29用户宏程序模态信息位置信息刀具长度补偿值伺服位置、手轮中断、剩余运动量工件原点偏移

系统变量读取CNC内部信息数据,如模态信息、坐标位置、刀具补偿等,系统变量对自动化程序和通用程序十分重要.系统变量及常量.n表示标号★,属性R表示只读、W表示只写、R/W表示可读/可写.30用户宏程序模态信息系统变量读取CNC内部信息数据,如模态信息、一、接口信号...31用户宏程序一、接口信号...31用户宏程序32用户宏程序32用户宏程序33用户宏程序33用户宏程序...34用户宏程序...34用户宏程序35用户宏程序35用户宏程序36用户宏程序36用户宏程序举例37用户宏程序举例37用户宏程序38用户宏程序38用户宏程序1.变量范围:#2001~#2800、#10001~#13400(属性R/W)2.刀补A:参数8136#6为1★3.刀补小于等于200个,变量使用范围#2001~#2200二、刀具补偿量(M)39用户宏程序1.变量范围:#2001~#2800、#10001~#4.刀补400个:补偿个数为400,#10001~#1040040用户宏程序4.刀补400个:补偿个数为400,#10001~#104刀具补偿(M)刀具补偿存储器A,参数8136#6

★★为0i-D适用41用户宏程序刀具补偿(M)刀具补偿存储器A,参数8136#6★★为0i刀补补偿存储器C,参数8136#6=0;6000#3=0★42用户宏程序刀补补偿存储器C,参数8136#6=0;6000#3=0★刀补补偿存储器C刀补补偿存储器C,参数8136#6=0;6000#3=1★43用户宏程序刀补补偿存储器C刀补补偿存储器C,参数8136#6=0;60无刀具形状/磨损补偿器,参数8136#6=1★刀具补偿个数小于等于64个刀具补偿(T)44用户宏程序无刀具形状/磨损补偿器,参数8136#6=1★刀具补偿个刀具形状/磨损补偿器,参数8136#6=0★刀具补偿(T)45用户宏程序刀具形状/磨损补偿器,参数8136#6=0★刀具补偿(T)4刀补C长度补偿参数8136#6=0,★补偿个数小于等于200个,参数6000#3=0.长度补偿参数6000#3=1,补偿个数小于等于200个.长度补偿(F10/F11)46用户宏程序刀补C长度补偿参数8136#6=0,★补偿个数小于等于20刀具半径补偿参数8136#6=0★,补偿个数小于等于200个,参数6000#3=16004#5=1(F10/F11)半径补偿47用户宏程序刀具半径补偿参数8136#6=0★,补偿个数小于等于200补偿个数为400个(小于等于200个也可使用#2001~#2800)参数6000#3=048用户宏程序补偿个数为400个(小于等于200个也可使用#2001~#2参数6000#3=149用户宏程序参数6000#3=149用户宏程序长度补偿举例写入读取50用户宏程序长度补偿举例写入读取50用户宏程序范围:#2001~2964、#10001~#19200(属性R/W)无刀具形状和磨损补偿器:8136#6=1★,补偿个数小于等于64个刀具补偿量(T)51用户宏程序范围:#2001~2964、#10001~#19200(属性52用户宏程序52用户宏程序补偿个数200个,补偿个数小于等于64个,也可使用#2001~#2499.53用户宏程序补偿个数200个,补偿个数小于等于64个,也可使用#2001有刀具形状和磨损补偿器:8136#6=1★,刀补个数小于等于64个磨损补偿54用户宏程序有刀具形状和磨损补偿器:8136#6=1★,刀补个数小于等于几何补偿55用户宏程序几何补偿55用户宏程序补偿个数200个,补偿个数小于等于64个,也可使用#2001~#2964.56用户宏程序补偿个数200个,补偿个数小于等于64个,也可使用#2001工件坐标系偏移(T)三、工件坐标系偏移(T)可以利用系统变量#2501读取X轴的工件坐标系偏移量的值,利用#2601读取Z轴的工件坐标系偏移量的值。此外,将值代入系统变量,可以改变X轴和Z轴的工件原点坐标系偏移量。#2501、#2601(属性:R/W)工件坐标系偏移量57用户宏程序工件坐标系偏移(T)三、工件坐标系偏移(T)可以利用系统变量工件坐标系偏移量读取写入58用户宏程序工件坐标系偏移量读取写入58用户宏程序四、CNC报警参数6008#1=0★表达式后为不超过26个字符的报警信息屏幕上显示报警号和报警信息,报警号为#3000的值加上3000#3000=1(WRONGDATAINPUT);屏幕显示:3001WRONGDATAINPUT例:注释:59用户宏程序四、CNC报警#3000=1(WRONGDATAINPCNC报警有以下两种使用情况:参数MCA(No.6008#1)=0时★#3000=n(ALARMMESSAGE);(n:0~200)将3000与变量#3000的值相加的报警号和报警信息一起在画面上显示出来。(例)#3000=1(ALARMMESSAGE);报警画面上显示出“3001ALARMMESSAGE”。参数MCA(No.6008#1)=1时#3000=n(ALARMMESSAGE);(n:0~4095),继MC后,画面上显示出#3000报警号和报警信息。(例)#3000=1(ALARMMESSAGE);报警画面上显示出“MC0001ALARMMESSAGE”。60用户宏程序CNC报警有以下两种使用情况:60用户宏程序时钟控制

例如:2009年1月20日下午4时17分5秒#3011=20090112#3012=161705五、时钟和零件数61用户宏程序时钟控制五、时钟和零件数61用户宏程序零件数刀补存储器(M)#3980★主程序号主程序号#4000(属性:R)

★,MDI及DNC方式#4000的值就改变为此时指定的0号.#4000不管出在哪个层次的子程序内,始终读取主程序号62用户宏程序零件数主程序号#4000(属性:R)★,MDI及DNC方六、时间信息变量号单位功能赋值#3001毫秒计时器。电源接通时复位为0。可以#3002小时计时器。循环启动灯亮时开始计时。即使在断电时也保存该值可以计时器地址#3001、#3002(属性:R/W)63用户宏程序六、时间信息变量号单位功能赋值#3001毫秒计时器。电源接64用户宏程序64用户宏程序七、自动运行控制#3000~#3008★时钟计时器65用户宏程序七、自动运行控制#3000~#3008★时钟计时器6自动运行控制当电源接通时﹑复位,#3003的值为0.当单程序段停止无效时,即使操作面板上的单程序段开关设为ON,也不执行单程序段停止.当不指定等待辅助功能(M、S和T功能)完成信号时,在辅助功能完成之前程序执行到下列程序段,而且分配完成信号DEN不输出.注意不要在没有等待完成信号下指令下一个辅助指令.#3003(属性R/W)66用户宏程序自动运行控制当电源接通时﹑复位,#3003的值为0.#300可通过变量名称实现个别控制.例钻孔循环(增量编程)宏程序调用指令(相当于G81)67用户宏程序可通过变量名称实现个别控制.例钻孔循环(增量编程)宏程序调用准确停止方式G09﹑G61#3004(属性R/W)复位被清除68用户宏程序准确停止方式G09﹑G61#3004(属性R/W)复位被清除变量名称指令69用户宏程序变量名称指令69用户宏程序变量名称指令70用户宏程序变量名称指令70用户宏程序●当电源接通时,#3003和#3004的值为0.●当进给暂停无效时. 1当进给暂停按钮被按下时,机床在单段停止方式停止,但是当用变量#3003使单程序段方式无效时,单程序段停止不执行. 2当进给暂停按钮压下又松开时,进给暂停灯亮但是机床不停止,程序继续执行,并且机床停在进给暂停有效的第一个程序段.●当进给速度倍率无效时,总是100%的倍率,而不管机床操作面板上的进给速度倍率开关的设置如何.#3003=1﹑#3004=1时的运行情况71用户宏程序●当电源接通时,#3003和#3004的值为0.#3003=攻丝案例攻丝宏程序72用户宏程序攻丝案例攻丝宏程序72用户宏程序八、SETTING值变量号功能赋值#3005设定数据可以#3005(属性:R/W)处理的数值为将二进制转换成十进制的数值73用户宏程序八、SETTING值变量号功能赋值#3005设定数据可以#3伴随信息同时停止#3006(属性W)宏指令发出#3006=1(MESSAGE),程序即可在一个程序段停止,控制输入\输出字符26个字符以内,并使用括弧括起来.74用户宏程序伴随信息同时停止#3006(属性W)74用户宏程序镜像状态#3007(属性:R)镜像的状态通过读取#3007,即可得知每个轴在该时刻的镜像(设定或DI)的状态轴与二进制显示时的各位(bit)对应:75用户宏程序镜像状态#3007(属性:R)镜像的状态通过读取#3007,变量号功能赋值#3007使用外部开关或SETTING操作设置的各轴镜像状态可以通过输出信号,镜像检测信号读出不可76用户宏程序变量号功能赋值#3007使用外部开关或SETTING操作设9、模态信息1.#4001~#4130程序段前指定的模态信息2.#4201~#4330★当前正在执行的程序段的模态信息3.#4401~#4530★被中断型用户宏程序中断的程序段之前指定的模态信息77用户宏程序9、模态信息1.#4001~#4130程序段前指定的模态信息(M)78用户宏程序模态信息(M)78用户宏程序模态信息79用户宏程序模态信息79用户宏程序模态信息(M)80用户宏程序模态信息(M)80用户宏程序模态信息(M)81用户宏程序模态信息(M)81用户宏程序模态信息(T)82用户宏程序模态信息(T)82用户宏程序83用户宏程序83用户宏程序模态信息分类(M)分类:之前的程序段、执行中的程序段、被中断的程序段84用户宏程序模态信息分类(M)分类:之前的程序段、执行中的程序段、被中断85用户宏程序85用户宏程序模态信息分类(T)分类:之前的程序段、执行中的程序段、被中断的程序段86用户宏程序模态信息分类(T)分类:之前的程序段、执行中的程序段、被中断87用户宏程序87用户宏程序例如88用户宏程序例如88用户宏程序十、位置信息89用户宏程序十、位置信息89用户宏程序位置信息#5001~#5065(属性:R)位置信息包括程序段的终点位置、当前位置(机械坐标系、工件坐标系)、跳过信号位置90用户宏程序位置信息#5001~#5065(属性:R)位置信息包括程序段91用户宏程序91用户宏程序位置信息例:读取X轴的位置信息程序指令X轴坐标位置变量地址号92用户宏程序位置信息例:读取X轴的位置信息程序指令X轴坐标位置变量十一、刀具长度补偿(M)93用户宏程序十一、刀具长度补偿(M)93用户宏程序刀具长度补偿(M)#5081~#5085(属性:R)当前正在执行的程序段中的刀具长度补偿量94用户宏程序刀具长度补偿(M)#5081~#5085(属性:R)94用户刀具长度补偿例:使用刀具长度补偿(M)95用户宏程序刀具长度补偿例:使用刀具长度补偿(M)95用户宏程序刀具位置偏置(T)96用户宏程序刀具位置偏置(T)96用户宏程序刀具位置偏置(T)#5081~#5085(属性:R)97用户宏程序刀具位置偏置(T)#5081~#5085(属性:R)97用户刀具位置偏置(T)#5081~#5085,#5121~#5125(属性:R)98用户宏程序刀具位置偏置(T)#5081~#5085,#5121~#5199用户宏程序99用户宏程序刀补C几何补偿磨损补偿100用户宏程序刀补C几何补偿磨损补偿100用户宏程序伺服位置偏差#5101~#5105(属性:R)伺服位置偏差值十二、伺服位置\手轮中断\剩余移动101用户宏程序伺服位置偏差#5101~#5105(属性:R)伺服位置偏差值手轮中断#5121~#5125(属性R)★手轮中断值(T)102用户宏程序手轮中断#5121~#5125(属性R)★手轮中断值102剩余移动量剩余移动量#5181~#5185(属性R)★103用户宏程序剩余移动量剩余移动量#5181~#5185(属性R)★1十三、工件原点偏移(基本)M系列/T系列104用户宏程序十三、工件原点偏移(基本)M系列/T系列104用户宏程序工件原点偏移#5201~#5325(属性:R/W)工件原点偏移105用户宏程序工件原点偏移#5201~#5325(属性:R/W)工件原点偏工件原点偏移(M/T)写入读出106用户宏程序工件原点偏移(M/T)写入读出106用户宏程序(M)107用户宏程序(M)107用户宏程序108用户宏程序108用户宏程序(T)109用户宏程序(T)109用户宏程序110用户宏程序110用户宏程序附加坐标系(M)111用户宏程序附加坐标系(M)111用户宏程序附加坐标系(M)#7001~#7945

(属性R/W)附加坐标系系统变量号=7000+(坐标系号-1)×20+轴号112用户宏程序附加坐标系(M)#7001~#7945(属性R/W)附加坐系统变量号=14000+(坐标系号-1)×20+轴号工件坐标系组数追加48组,设定为有效参数N0.8136#2=0有效#14001~#14945★附加坐标系113用户宏程序#14001~#14945★附加坐标系113用户宏程序114用户宏程序114用户宏程序单元四、运算指令表达式运算命令的种类运算顺序关于加工精度宏语句与NC语句的区别

115用户宏程序单元四、运算指令表达式115用户宏程序运算指令右边的<表达式>可以是常量、变量、函数或算符的组合表达式中使用不带小数点的常量一、表达式116用户宏程序运算指令右边的<表达式>可以是常量、变量、函数或算符的组合一种类符号格式加法+#i=#j+#k减法-#i=#j-#k乘法*#i=#j*#k除法/#i=#j/#k二、运算命令的种类加减乘除117用户宏程序种类符号格式加法+#i=#j+#k减法种类符号格式结果正弦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三角函数118用户宏程序种类符号格式结果正弦SIN#i=SIN[θ]c/反三角函数的取值范围函数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];10145225#1#1#1#1#1反三角函数119用户宏程序反三角函数的取值范围函数No.6004#0=0No.600种类函数名格式平方根SQRT#i=SQRT[#k]自然对数LN#i=LN[#k]指数函数幂EXPPOW#i=EXP[#k]#i=POW[#i,#j]★#2=2;#1=SQRT[#2];1.414#1其它函数120用户宏程序种类函数名格式平方根SQRT#i=SQRT[#种类函数名格式下取整FIX#i=FIX[#k]上取整FUP#i=FUP[#k]四舍五入ROUND#i=ROUND[#k]绝对值ABS#i=ABS[#k]下取整(FIX):舍去小数点以下部分上取整(FUP):将小数后部分进位到整数部分ROUND函数:在算术运算或逻辑运算指令中使用时,在第1个小数位置四舍五入在NC语句地址中使用时,根据地址的最小设定单位将指定值四舍五入数据处理函数121用户宏程序种类函数名格式下取整FIX#i=FIX[#k运算指令#2=1.2346时#2=-1.6794时#1=FIX[#2]#1=FUP[#2]#1=ROUND[#2]#1=ABS[#2]G01X[ROUND[#2]];G01X1.235G1X-1.6791.02.0-1.0-2.01.01.2346-2.01.6794计算相应的变量值#1下取整(FIX):舍去小数点以下部分上取整(FUP):将小数后部分进位到整数部分122用户宏程序运算指令#2=1.2346时#2=-1.6794时#1=F三、运算顺序①函数②乘除运算(*,/,AND)③加减运算(+,-,OR,XOR)#1=#2+#3*SIN[#4];①②③123用户宏程序三、运算顺序①函数#1=#2+#3*SIN[#4

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

可以使用函数名前面的两个字母来指定该函数。 ROUND→RO FIX→FI注意124用户宏程序可以利用[]来改变运算顺序,可嵌套5次可以使用函数名四、关于加工精度参数6008#0=0需要注意的是,当绝对值被减掉时,不能将相对误差控制在低于10-15,原因在于用户宏程序变量只有10进制15位的控制精度.加减法的运算EQ﹑NE﹑GT﹑LT﹑GE﹑LE基本上与加减法运算相同,需要注意其误差.逻辑关系例如:IF[#1EQ#2]IF[ABS[#1-#2]LT0.1],必须评价此时的误差,如果#1和#2的差在该误差的范围内,则可以认为其值相等.三角函数在三角函数运算后进行乘法\除法运算时需要引起注意.注意事项125用户宏程序四、关于加工精度参数6008#0=0需要注意的是FIX函数FIX函数也要同样注意其精度.N1#1=0.002;N2#2=#1*1000;N3#3=FIX[#2];此时#3不见得就成为2,为了预防此情况,应按照如下指定N3#3=FIX[#2+0.001]126用户宏程序126用户宏程序127用户宏程序127用户宏程序注意:误差还会来自使用6个条件表达式

[例]IF[#1EQ#2]受#1和#2的误差影响,可能导致判断错误.因此,如IF[ABS[#1-#2]LT0.001]所示,求出两个变量之差,如果该差值不超过允许值(例子中为0.001),则可以这两变量的值相等.对一个数值进行只舍不入时,应十分小心[例]#1=0.001计算#2=#1*1000;时,#2的结果不正好是2,而是1.99999997.此时,如果指定#3=FIX[#2];变量#3的结果不正是2.0而是1.0.在这种情况下,进行误差修正之后,对该值应进行只舍不入或四舍五入,使结果大于预期的整数值.#3=FIX[#2+0.001];#3=ROUND[#2];128用户宏程序注意:误差还会来自使用6个条件表达式[例]IF[#表达式括号的使用在表达式中使用的括号为方括号[],注意圆括号()用于程序注释.除法运算中分母为”0”时,则会出现(PS0112#报警).当指定超出控制轴数时,则会出现(PS0115#报警变量号超限).括号的嵌套超过5位,则会出现(PS0118#报警).自然对数,当逆对数(#j)小于等于0时,则会出现(PS0119#报警).指数函数,运算结果溢出时,则会出现(PS0119#报警).129用户宏程序表达式括号的使用在表达式中使用的括号为方括号[],五、用户宏程序的特点

含运算指令(=)的程序段含控制指令(如GOTO\DO\END)的程序段含宏指令(由G65\G66\G67\G代码或M代码的宏指令的程序段。除宏语句以外的程序段称为NC语句.即使在单程序段方式,机床也不会停止,但是,当参数SBM(N0.6000#5)设为1时,在单程序运行方式中机床停止。在刀具半径补偿方式中,宏程序语句段不作为不移动程序段处理。130用户宏程序五、用户宏程序的特点130用户宏程序含有子程序调用指令(例如用M98或其它M代码或用T代码调用子程序)但没有除O,N或L地址之外的其它地址指令的NC语句其性质与宏程序相同不包含除O、N、P或L以外的指令地址的程序段,其性质与宏程序语句相同与宏程序语句有相同性质的NC语句131用户宏程序含有子程序调用指令(例如用M98或其它M代码或用T代码调用单元五、控制指令无条件转移(GOTO语句)条件转移(IF语句)条件表达式循环(WHILE语句)限制

132用户宏程序单元五、控制指令无条件转移(GOTO语句)132用户宏程序改变流程1在程序中,可以使用GOTO语句和IF语句等来改变程序的流程.2转移和重复有下列三种133用户宏程序改变流程1在程序中,可以使用GOTO语句和IF语句一、无条件转移(GOTO语句)

GOTOn; n:程序段号(1-99999)该语句使程序无条件地转移到程序段n去。例如n也可用变量或表达式来代替例如 GOTO#10;当顺序号在1~99999范围以外,就会出现(PS1128#报警)警告:不可在一个程序中指定多个相同顺序号的程序段,若是这样,利用GOTO语句转移时,转移目的地不确定,这样十分危险.GOTO10;134用户宏程序一、无条件转移(GOTO语句)GOTOn; n

顺序号存储型GOTO在执行控制指令GOTO语句时,对于以前执行并存储的顺序号,高速地进行顺序号检索,以前执行并存储的顺序号,指就所执行的顺序号在相同程序内没有重复的顺序号以及子程序调用的顺序号,CNC对此进行存储135用户宏程序顺存储的顺序号在下列情况下将被取消

通电、复位、程序的登录和编辑(含后台及MDI的程序编辑)时,请勿在一个程序中指定多个相同的程序段号。这样十分危险。136用户宏程序存储的顺序号在下列情况下将被取消136用户宏程序

IF[<条件表达式>]GOTOn;若满足<条件表达式>,则下步操作转移到程序段号为n的程序段去若不满足,执行下个程序段。二、条件转移(IF语句)

IF[<条件表达式>]THEN…;若满足<条件表达式>,执行THEN后的宏程序语句,只执行一个语句。 例:IF[#1EQ#2]THEN#3=0;137用户宏程序IF[<条件表达式>]GOTOn条件表达式条件不满足时执行的操作条件满足时是否IFGOTO138用户宏程序条件表达式条件不满足时执行的操作条件满足时是否IFGOTO1139用户宏程序139用户宏程序表达式含义英文#jEQ#k#j=#kEQual#jNE#k#j≠#kNotEqual#jGT#k#j>#kGreaterThan#jLT#k#j<#kLessThan#jGE#k#j≥#kGreaterorEqual#jLE#k#j≤#kLessorEqual注:#j和#k也可用<表达式>来代替。三、条件表达式140用户宏程序表达式含义英文#jEQ#k#j=#kEQ程序例子141用户宏程序程序例子141用户宏程序四、循环(WHILE语句)

WHILE[<条件表达式>]DOm;(m=1,2,3)条件成立时执行的程序

ENDm;DOm和ENDm必须成对使用,并以其中的m作为识别号相互识别。m的范围为1,2,3。可以根据需要多次使用。142用户宏程序四、循环(WHILE语句)WHILE[<条件表达式143用户宏程序143用户宏程序识别号(1,2,3)可多次使用WHILE[…]DO1;程序END1;WHILE[…]DO1;程序END1;当重复的循环相互交叉时,会发出PS0124#报警144用户宏程序识别号(1,2,3)可多次使用WHILE[…]DO1DO的区域不能交叉下列表达是错误的WHILE[…]DO1;程序WHILE[…]DO2;END1;程序END2;DO一定要在END之前规定下列表达是错误的END1;程序WHILE[…]DO1;145用户宏程序DO的区域不能交叉WHILE[…]DO1;DO一定要在DO循环可以嵌套3级WHILE[…]DO1;●WHILE[…]DO2;●WHILE[…]DO3;

程序END3;●END2;●END1;146用户宏程序DO循环可以嵌套3级WHILE[…]DO1;146用户可以从DO区域的内部向外部转移,例如WHILE[…]DO1;程序IF[…]GOTOn;END1;程序Nn…;不可以从DO区域的外部向内部转移,例如下列表达是错误的IF[…]GOTOn;WHILE[…]DO1;程序Nn…;END1;147用户宏程序可以从DO区域的内部向外部转移,例如WHILE[…]DO常用格式(当前值)=(初值);WHILE[(当前值)比较(目标值)]DOm;(执行循环操作);(当前值)=(当前值)±1;ENDm;148用户宏程序常用格式(当前值)=(初值);148用户宏程序五、控制语句的使用限制无限循环:当指定DOm而省略WHILE语句时,程序则在DO到END之间无限循环。处理时间:当要转移到GOTO语句中指定的顺序号时,程序先检索顺序号,反向处理数据比正向要用较长的时间,为了缩短处理时间,作为重复指令,请使用WHILE语句。未定义的变量:在使用EQ、NE的条件表达式中,〈空值〉和0(零)有不同的效果,在别的条件表达式中,〈空值〉被看成0。149用户宏程序五、控制语句的使用限制无限循环:当指定DOm而省略WHILE程序例子求1~10之和

150用户宏程序程序例子求1~10之和

150用户宏程序G00G91X100.0;Y100.0;要求:对以上动作重复执行三次。设#1为动作执行次数,初始值为零。#1=0;G00G91X100.0;Y100.0;#1=1;G00G91X100.0;Y100.0;#1=2;G00G91X100.0;Y100.0;#1=3;#1=0;WHILE[#1LT3]DO1;

G00G91X100.0;Y100.0;

#1=#1+1;END1;计数器累加重复执行的动作计数器复位151用户宏程序G00G91X100.0;要求:对以上动作重复执行三次。单元六、程序案例●粗铣圆内腔●粗车外圆●自动设定坐标系152用户宏程序单元六、程序案例●粗铣圆内腔152用户宏程序一、粗铣圆内腔#5:圆半径的增量#18:最终圆弧半径O9999;#5=10.0;#18=45.0;#1=0;#2=0;

WHILE[#1LT#18]DO1;#1=#1+#5;

IF[#1LE#18]GOTO1;#1=#18;G01G91Y[#1-#2]F300;G02J-#1;#2=#1;

END1;M30;N1当次圆弧半径前次圆弧半径153用户宏程序一、粗铣圆内腔#5:圆半径的增量O9999;N1当次圆弧半径程序案例O0099G00G90G54X0Y0G43Z5.H1S1500M3G1Z-5F300#5=10#18=45#1=0#2=0WHILE[#1LT#18]DO1#1=#1+#5IF[#1LT#18]GOTO1#1=#18N1G1G91Y[#1-#2]F300G2J-#1#2=#1END1G00Z100M5M30154用户宏程序程序案例O0099154用户宏程序二、粗车外圆WHILE[#26GT0]DO1;#26=#26-#6;

IF[#26GE0]GOTO1;#6=#6+#26;G00W-[#6+#4];G01U-#24F#9;#4=#3;G00U[#4*2]W#4;U[#24-#4*2];END1;M30;O9999;#3=1.0;#4=0;#6=10.0;#9=300.0;#24=20.0;#26=48.0;#26#3#6#24#3:空程量#6:每次切削量#9:切削速度#24:X方向切削量#26:Z方向切削量N1155用户宏程序二、粗车外圆WHILE[#26GT0]DO1;O999程序案例O0202T0101G00X50.Z0G98S2000M3#3=1.#4=0#6=10.#9=300.#24=20.#26=48.WHILE[#26GT0]DO1#26=#26-#6IF[#26GE0]GOTO1#6=#6+#26N1G00W-[#6+#4]G1U-#24F#9#4=#3G00U[#4*2]W#4U[#24-#4*2]END1G00X50.Z0M5M30156用户宏程序程序案例O0202N1G00W-[#6+#4]156用户宏程O1210G00G54G90X0Y0G31X100.F200#500=#5061G00X0G31X-100.F200#501=#5061#502=[#500+#501]/2G10

G91L2P1X#502M30

三、自动设定坐标系157用户宏程序O1210三、自动设定坐标系157用户宏程序O9999

IF[#4111EQ0]GOTO9;#1=#5043;G00G90G43Z50.0;M00;#[11000+#4111]=#5043;G00G49Z#1;M30;N9#3000=9(OFFSET#ERROR);操作步骤#[2200+#4111]手动刀具长度测量158用户宏程序O9999操作步骤#[2200+#4111]手动刀具长度测量159用户宏程序159用户宏程序160用户宏程序160用户宏程序单元七、用户宏程序调用非模态调用G65两种形式的自变量赋值规定系统变量的存储模态调用G66G、M代码调用宏程序M、T代码调用子程序使用M代码计算刀具使用时间利用特定代码的子程序161用户宏程序单元七、用户宏程序调用非模态调用G65161用户宏程序一、宏程序调用限制162用户宏程序一、宏程序调用限制162用户宏程序O9999;#21=90.0;#22=120.0;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M30;简单的四边形铣削163用户宏程序O9999;简单的四边形铣削163用户宏程序简单的四边形铣削O0001;M98P9999;M30;O9999;#21=90.0;#22=120.0;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;O0001;#21=90.0;#22=120.0;M98P9999;M30;O9999;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;O0001;M98P9999#21=90.0#22=120.0;M30;O0001;G65P9999U90.0V120.0;M30;UV164用户宏程序简单的四边形铣削O0001;O9999;O0001;O999

G65PpLl〈自变量赋值〉;

要调用的程序号重复次数用G65指令,把由P指令的宏程序体调用L次指定的重复次数的范围为1~999999999,L的缺省值为1按照〈自变量赋值〉的规定,将自变量的实际数值调到相应的程序体中宏程序调用有2类:宏程序调用和子程序调用,MDI方式也有效二、非模态调用G65165用户宏程序G65PpLl〈自O0001;●●●G65P9010L2A1.0B2.0;●●●M30;O9010;#3=#1+#2;IF[#3GT360]GOTO9;G00G90X#3;N9M99;指定重复次数时,在地址L后,指定重复次数(1~999999999)的范围简单调用(G65)166用户宏程序O0001;O9010;指定重复次数时,在地址L后,指定重复

三、自变量赋值规定自变量赋值Ⅰ自变量赋值Ⅱ167用户宏程序三、自变量赋值规定自变量赋值Ⅰ167用户宏程序自变量赋值Ⅰ地址变量号地址变量号地址变量号A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26168用户宏程序自变量赋值Ⅰ地址变量号地址变量号地址变量号A#1I#4T#2

对字母A-Z后加数值来赋值,但G,L,N,O,P除外

I,J,K须按字母顺序指定169用户宏程序对字母A-Z后加数值来赋值,但G,L,N,O,P除外1G65P9003X30.Y45.Z-3.F300;#9=300;#24=30.0;#25=45.0;#26=-3.0;170用户宏程序G65P9003X30.Y45.Z-3.自变量赋值Ⅱ地址变量号地址变量号地址变量号地址变量号A#1I3#10I6#19I9#28B#2J3#11J6#20J9#29C#3K3#12K6#21K9#30I1#4I4#13I7#22I10#31J1#5J4#14J7#23J10#32K1#6K4#15K7#24K10#33I2#7I5#16I8#25--J2#8J5#17J8#26--K2#9K5#18K8#27--注意:I,J,K的下标代表自变量赋值的顺序,在实际编程中不写171用户宏程序自变量赋值Ⅱ地址变量号地址变量号地址变量号地址变量号A#1I限制172用户宏程序限制172用户宏程序G65A1.0B2.0I-3.0I4.0D5.0

P1000;CNC内部自动识别自变量赋值Ⅰ和自变量赋值Ⅱ。如果自变量赋值Ⅰ和自变量赋值Ⅱ混合指定的话,后指定的自变量类型有效自变量指定的混合注意:MDI方式运行程序同样可以调用程序173用户宏程序G65A1.0B2.0I-3.0I4.0D5.0四、系统变量的存储O0001;N10G00G90X100.0Y50.0;N11G65P9999U90.0V120.0;N12X200.0Y100.0;M30;O9999;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;O9999;#30=#4001;#31=#4003;#32=#4109;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;G#30G#31F#32;M99;174用户宏程序四、系统变量的存储O0001;O9999;O9999;174例:倾斜的四边形加工Yx#21(U)#22(V)#1(A)aa*COSθa*SINθθO0001;G92X0Y0;G00G90X100.0Y50.0;G65P9999U100.0V50.0A30.0;M30;175用户宏程序例:倾斜的四边形加工Yx#21(U)#22(V)#1(A)aO9999;#30=#4001;#31=#4003;#32=#4109;#10=#21*COS[#1];#11=#21*SIN[#1];#12=#22*COS[90+#1];#13=#22*SIN[90+#1];N1G01G91X#10Y#11F300;N2X#12Y#13;N3X-#10Y-#11;N4X-#12Y-#13;G#30G#31F#32;M99;176用户宏程序O9999;176用户宏程序

例:深孔钻削O0001;G00G90Z50.0;G65P9999Z-25.0R3.0Q-10.0F300;M30;O9999;#1=#18;#2=#18;#3=0;WHILE[#1GT#26]DO1;#1=#1+#17;

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

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

#3=1.0;END1;M30;N1177用户宏程序例:深孔钻削O0001;O9999;N1177用户例:内圆铣削XYRO9999;#30=#4001;#31=#4003;#32=#4109;#1=#[13000+#7];#2=#18-#1;IF[#2LE0]GOTO9;#3=#2/2;N1G01G91X#3Y#3F#9;N2G02G17X#3Y-#3R#3;N3I-#2;N4X-#3Y-#3R#3;N5G01X-#3Y#3;G#30G#31G#32;M99;N9#3000=1(OFFSETERROR);O0001;G92X0Y0Z0;G65P9999R50.0D1F300;M30;R:圆半径(#18)D:刀具半径补偿号(#7)F:进给速度(#9)178用户宏程序例:内圆铣削XYRO9999;O0001;R:圆半径(#18179用户宏程序179用户宏程序例:圆周上等距钻孔BBBX:圆心坐标(#24)Y:圆心坐标(#25)Z:孔的深度(#26)R:钻孔初始高度坐标(#18)U:圆弧半径(#21)A:起始角度(#1)B:角度增量值(#2)H:孔的个数(#11)F:进给速度(#9)180用户宏程序例:圆周上等距钻孔BBBX:圆心坐标(#24)180用户宏程调用格式181用户宏程序调用格式181用户宏程序调用的宏程序O0002G0G90G54X0Y0G65P9100X100Y50R30Z-50F500I100A0B45H5M30182用户宏程序调用的宏程序O0002182用户宏程序183用户宏程序183用户宏程序例:程序案例184用户宏程序例:程序案例184用户宏程序O0001;G92X0Y0;G65P9999U100.0R80.0A1.0F300;M30;例:椭圆插补O9999;#30=#4001;#31=#4003;#32=#4109;#5=#1;#24=#5001;#25=#5002;WHILE[#5LE360]DO1;#2=#24+#21*COS[#5];#3=#25+#18*SIN[#5];G01G90X#2Y#3F#9;#5=#5+#1;END1;G#30G#31F#32;M99;185用户宏程序O0001;例:椭圆插补O9999;185用户宏程序O9999;

#30=#4001;#31=#4003;#32=#4109;#1=300;#2=100;G28G91Z0;#4=#5003;例:自动刀具长度测量G00G90G53X200.0Y150.0;G91G43Z-#1H#11;#5=#5003-#2;G31Z-[#2*2]F300;G00G90G49Z#4;#6=#5063-#[11000+#11];IF[#6LE[#5-#2]]GOTO9;#[11000+#11]=#5063-#5;G#30G#31F#32;M99;N9#3000=1(CANNOTMEASURE);①②③④186用户宏程序O9999;例:自动刀具长度测量G00G90G53X2

O9500;

#1=#4001;#3=#4003;#9=#4019;G28G91Z0;G28X0Y0;G53G90X100.0Y50.0;G31G91Z-200.0F200;#5=#5063;#[2000+#11]=#5;G53G90G49G00Z0;IF[#5EQ–200.0]GOTO9;G28G91Z0;G28X0Y0;

G#1G#3F#9;M99;N9#3000=1;187用户宏程序O9500;187用户宏程序例:车床钻孔宏程序调用宏程序O0002T0101;G98G0X0Z102S1000M3G65P9100Z50K20F150G0X100Z200M5M30188用户宏程序例:车床钻孔宏程序调用宏程序O0002188用户宏程序189用户宏程序189用户宏程序五、模态调用G66G66PpLl〈自变量赋值〉; ••••;••••;G67; 轴每移动一次,调用一次用户宏程序p:要调用的宏程序号l:重复次数(默认值为1)G67:取消模态调用指令190用户宏程序五、模态调用G66G66PpLl〈自变量赋O0001;●●G66P9100L2A1.0B2.0;G00G90X100.0;Y200.0;X150.0Y300.0;G67;●●M30;O9100;●●G00Z-#1;G01Z-#2F300;●●●●M99;程序案例191用户宏程序O0001;O9100;程序案例191用户宏程序限制192用户宏程序限制192用户宏程序193用户宏程序193用户宏程序194用户宏程序194用户宏程序例:车床切槽使用G66调用宏指令的程序宏指令(被调用的程序)195用户宏程序例:车床切槽使用G66调用宏指令的程序宏指令(被调用的程序)G指令调用六、G、M指令进行宏程序方式调用G65P9010X100.Y20.R3.Z-20.F300;G81X100.Y20.R3.Z-20.F300;将宏程序调用指令G65P901×用G△△来代替宏程序号901×与G代码△△之间的对应关系由参数指定在被调用的宏程序中不能再使用G、M代码调用宏程序,程序体中的G、M代码作为普通的G、M代码处理变量赋值196用户宏程序G指令调用六、G、M指令进行宏程序方式调用G65P9010宏程序调用指令钻孔循环主程序宏程序●如果设定了负的G代码,成为模态调用(相当于G66)●用户不必改变加工程序即可调用用户宏程序创建的固定程序●与简单调用一样,两类自变量指定:第一类自变量指定和第二类自变量指定,类型根据所用地址自动识别197用户宏程序宏程序钻孔循环主程序宏程序●如果设定了负的G代码,成为模态调程序号参数号O90106050O90116051O90126052O90136053O90146054O90156055O90166056O90176057O90186058O90196059将参数No.6050设为81G代码调用宏程序时程序和参数对应关系198用户宏程序程序号参数号O90106050O90116051O90126199用户宏程序199用户宏程序利用G代码进行的宏程序调用(多个指定)★200用户宏程序利用G代码进行的宏程序调用(多个指定)★200用户宏程序201用户宏程序201用户宏程序用M指令调用用户宏程序G65P9020A1.0B2.0;M50A1.0B2.0;将宏程序调用指令G65P902×用M△△来代替宏程序号902×与M代码△△之间的对应关系由参数指定在被调用的宏程序中不能再使用M、G代码调用宏程序,程序体中的M、G代码作为普通的M、G代码处理变量赋值202用户宏程序用M指令调用用户宏程序G65P9020A1.0B2.0利用M代码调用宏程序注释:调用方法与G65调用相同。自变量指定方法与简单调用一样,两类自变量指定方法:第一类自变量指定法和第二类自变量指定法的类型根据所用地址自动识别。203用户宏程序利用M代码调用宏程序注释:203用户宏程序限制●用来调用宏指令的M代码必须指定在程序的开头。●由M代码调用的程序中调用其他程序时可以使用G65、G66、M98指令。●参数6008#6=1时,可由M代码调用的程序中执行利用G代码的调用。204用户宏程序限制204用户宏程序程序号参数号O90206080O90216081O90226082O90236083O90246084O90256085O90266086O90276087O90286088O90296089将参数No.6080设为50M代码调用宏程序时205用户宏程序程序号参数号O90206080O90216081O90226利用M代码调用宏程序★206用户宏程序利用M代码调用宏程序★206用户宏程序207用户宏程序207用户宏程序用G代码模态调用宏程序208用户宏程序用G代码模态调用宏程序208用户宏程序M指令调用七、M、T指令进行子程序方式调用M98P9001;M03;将子程序调用指令M98P900×用M△△来代替宏程序号900×与M代码△△之间的对应关系由参数指定在被调用的子程序中不能再使用G、M代码调用宏程序,程序体中的G、M代码作为普通的G、M代码处理不能进行变量赋值注释:209用户宏程序M指令调用七、M、T指令进行子程序方式调用M98P9001程序号参数号O90016071O90026072O90036073O90046074O90056075O90066076O90076077O90086078O90096079将参数No.6071设为03M代码调用子程序时210用户宏程序程序号参数号O90016071O90026072O90036子程序调用指令辅助功能当参数No.6071设为06时211用户宏程序子程序调用指令辅助功能当参数No.6071设为06时211利用M代码调用多个子程序★212用户宏程序利用M代码调用多个子程序★212用户宏程序213用户宏程序213用户宏程序用T指令调用子程序当参数No.6001#5设为1时,使用T代码可调用O9000程序,T代码所指定的数值自动赋值给变量#149214用户宏程序用T指令调用子程序当参数No.6001#5设为1时,214用限制●通常在由T代码调用的程序中调用其他程序时可以使用G65、G66、M98指令。●参数6008#6=1时,可以在由T代码调用的程序中执行G代码的调用。215用户宏程序限制●通常在由T代码调用的程序中调用其他程序时可以使用G65八、使用M代码计算刀具使用时间条件注释216用户宏程序八、使用M代码计算刀具使用时间条件注释216用户宏程序参数的设定:参数6071=3,参数6072=5变量值的设定;变量#501~#505中事先设定为0调用宏指令的程序O0001T01M06M03..M05﹒﹒﹒﹒﹒﹒#501发生变化..T05M06M03..M05﹒﹒﹒﹒﹒﹒#505发生变化M30217用户宏程序参数的设定:参数6071=3,参数6072=5变量值的设定;218用户宏程序218用户宏程序计算刀具T1~T5使用时间的程序O9001;IF[#4120LE0]GOTO9;IF[#4120GT5]GOTO9;#3002=0;N9M03;M99;O9002;IF[#4120LE0]GOTO9;IF[#4120GT5]GOTO9;#[500+#4120]=#[500+#4120]+#3002;N9M05;M99;参数No.6071设为03参数No.6072设为05219用户宏程序计算刀具T1~T5使用时间的程序O9001;O9002;参

温馨提示

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

评论

0/150

提交评论