前言变量基础部分变量类型变量局部变量全局变量系统变量用户变量所有的宏程序中都可以共用的变量#100-#199:掉电不保持#500-#999:掉电保持只能在当前宏程序中使用的变量#1-#33用来储存系统数据的变量,如刀补,位置等#1000-常用系统变量-工件坐标系外部坐标系偏置#5201-#5203G54(1-3轴)#5221-#5223G55(1-3轴)#5241-#5243G56(1-3轴)#5261-#5263G57(1-3轴)#5281-#5283G58(1-3轴)#5301-#5303G59(1-3轴)#5321-#5323G54.1P1(1-3轴)#7001-#7003G54.1P48(1-3轴)#7941-#7943……我们能用这些变量干什么?(见测试)常用系统变量-刀具补偿偏置我们能用这些变量干什么?(见测试)常用系统变量-报警变量变量号功能举例#3000赋值0-200,机床停止并报警#3000=1(NG)屏幕显示“3001NG”我们能用这个变量干什么?(见测试)算数和逻辑运算部分一算数和逻辑运算(一)功能格式备注定义#i=#j加法#i=#j+#k减法#i=#j-#k乘法#i=#j*#k除法#i=#j/#k#k不为0正弦#i=SIN[#j]角度以度指定90.5表示90度30分反正弦#i=ASIN[#j]正切#i=TAN[#j]反正切#i=ATAN[#j]/[#k]余弦#i=COS[#j]反余弦#i=ACOS[#j]算数和逻辑运算(二)功能格式备注平方根#i=SQRT[#j]绝对值#i=ABS[#j]舍入#i=ROUND[#j]上取整#i=FIX[#j]下取整#i=FUP[#j]自然对数#i=LN[#j]指数对数#i=EXP[#j]或#i=#jOR#k运算按照二进制一位一位的进行异或#i=#jXOR#k与#i=#jAND#k蓝色字体为不常用运算符所有运算格式要正确测试一可以把G55的坐标值写入全局变量吗?局部变量呢?•怎么写?•两个有什么差异?我可以给G55的坐标赋值吗?•怎么写?•有什么用处?要读取5号刀的刀具长度补偿(含磨损)•怎么读?•有什么用处?程序中要添加报警,用哪个变量,怎么用?休息会?算数和逻辑运算部分二运算符作用多用于逻辑判断,和IF等条件语句使用IF条件语句判断后跳转示例:如果变量#1的值大于10,跳转到N2程序段N1IF[#1GT10.]GOTO2……N2G00G91X10.……IF条件THEN表达式如果表达式满足,执行THEN后的语句。否则顺序执行示例:如果#1和#2的值相同,0赋值给#3IF[#1EQ#2]THEN#3=0;……宏程序调用重要内容程序调用方式M98调用格式:M98P****举例:M98P1000G65调用格式:G65P****AaBbCcDdEeFfHhIiJjKkMmNnQqRrSsTtUuVvWwXxYyZz举例:G65P1000A1.B2.X10.Z5.都可以调用,有区别吗?G65和M98的差别(一)指定变量的值格式:M98P****G65P****AaBbCcDdEeFfHhIiJjKkMmNnQqRrSsTtUuVvWwXxYyZz所以》M98不能在调用时指定变量的值,而G65可以那么G65后面跟的一大堆字母表示的是什么意思呢?G65和M98的差别(一)变量表举例:G65P1000A1.B2.X10.Z5.表示在调用O1000的同时,就指定了程序中#1,#2,#24,#26的值通常在程序中有类似的语句:IF[#1NE#0]GOTO2或#600=#2+10.等类似的语句那么,这样有什么好处?G65和M98的差别(二)示例:O0001#1=1.M98P1000;#600=#1;此时#600的值是多少?……-----------------------------O0002#1=1.G65P1000#600=#1;此时#600的值是多少?……O1000#1=-1.……M99#600=-1#600=1G65和M98的差别(二)休息会?INSPECTIONPLUS软件中的全局变量全局变量(一)#100#110#120#130#140#101#111#121#131#141#102#112#122#132#142#103#113#123#133#143#104#114#124#134#144#105#115#125#135#145#106#116#126#136#146#107#117#127#137#147#108#118#128#138#148#109#119#129#139#149用户可用变量全局变量(二)#100#110#120#130#140#101#111#121#131#141#102#112#122#132#142#103#113#123#133#143#104#114#124#134#144#105#115#125#135#145#106#116#126#136#146#107#117#127#137#147#108#118#128#138#148#109#119#129#139#149INSPECTIONPLUS内部计算全局变量(三)#100#110#120#130#1400#101#111#121#131#1410#102#112#122#132#1421.000#103#113#123#133#1431.000#104#114#124#134#144#105#115#125#1350#145#106#116#126#1360#146-1.000#107#117#127#13710.00#147#108#118#128#138#148#109#119#129#139#1490INSPECTIONPLUS测量结果和旗帜测量结果和旗帜的数值在每次测量后被覆盖全局变量(四)#500#510#520#530#540#501#511#521#531#541#502#512#522#532#542#503#513#523#533#543#504#514#524#534#544#505#515#525#535#545#506#516#526#536#546#507#517#527#537#547#508#518#528#538#548#509#519#529#539#549标准校正数值回退系数矢量校正数值测头校正程序为什么要校正测头安装后,测头中心与主轴的偏心量测针球的直径误差测头的触发距离机床的重复性所以,每次更换测头,或者更换测针后,必须校正!!如何校正?软件部分再讲校正项目测头长度校正测针半径校正测针偏心校正》值存放在刀具补偿》值存放在全局变量》值存放在全局变量为什么要存放在全局变量中?测头长度校正格式:G65P9801ZzTt举例:G65P9801Z0.T21Tt要更新的刀具号.Zz标准表面的工件坐标.O1000G17G40G49G69G80G90G54X0Y0G43H21Z20.G65P9801Z0T21G91G28Z0G90M30注意:在这里T21的刀补中要有一个预置的大概刀长校正测针X/Y偏置格式:G65P9802Dd举例:G65P9802D50.005Dd:用于校正的环规直径4#502DdYX312#503O1000G17G40G49G69G80G90G54X0Y0(环规中心)G65P9802D50.005G91G28Z0G90M30注意:1.准确将主轴定位至环规的中心位置并将测针置于环规内部2.程序运行后,会将偏心写入#502和#503校正测针球半径格式:G65P9803Dd举例:G65P9803D50.005Dd:用于校正的环规直径O1000G17G40G49G69G80G90G54X0Y0(环规中心)G65P9803D50.005G91G28Z0G90M30注意:1.准确将主轴定位至环规的中心位置并将测针置于环规内部2.程序运行后,会将半径写入#500和#501小结对于初学者,以下变量范围,建议先不用:•#100-#199•#500-#550其他全局变量可按需要使用测头使用必须要标定•初次使用时•更换测针后•使用一段时间后•标定后,挂刀方向要固定•标定时的进给与测量的进给保持一致休息会?保护移动程序-O9810保护移动程序-O9810功能:在测头移动时,如果有障碍物阻挡,机床停止并报警格式:G65P9810XxYyZzFfXxYyZz:目标位置在当前坐标系下的坐标Ff:移动的进给率注意1.目标位置指定可以单独指定X/Y/Z中的任何一个值;也可以同时指定其中任意2个或3个全部指定举例:G65P9810Y-1.F3000G65P9810X0Z-5.F3000G65P9810X0Y1.Z2.F40002.报警当在移动的过程中,碰到障碍,机床停止,报警号3086提示信息“PATHOBSTRUCTED”成功移动至目标位置G65P9810X50.0Z5.0F3000保护移动程序-O9810保护移动程序-O9810未成功移动至目标位置G65P9810X50.0Z5.0F3000单点测量程序-O9811单点测量程序-O9811功能:每次测量一个面常用格式:G65P9811Xx或Yy或ZzXxYyZz:目标位置在当前坐标系下的坐标注意1.目标位置指定每次只能指定X/Y/Z中的一个值举例:G65P9811X-1.G65P9811Z-5.G65P9811Y1.单点测量程序-O9811常用扩展格式:G65P9811Xx或Yy或Zz[SsTt][]中的变量为可选输入变量Ss:欲更新的坐标系Tt:欲更新的刀具编号举例:G65P9811X0.S101G65P9811Z10.T4S参数工件偏置S1G54S2G55S3G56S4G57S5G58S6G59S0G53S101G54.1P1S102G54.1P2Etc.Etc.S148G54.1P48单点测量程序-O9811测量后的数据输出:1.G65P9811X4.输出:#135-实测值(4.012)#140-误差值(0.012)2.G65P9811Y4.输出:#136-实测值(4.012)#141-误差值(0.012)1.G65P9811Z4.输出:#137-实测值(4.012)#142-误差值(0.012)我们能用这些变量干什么?(见测试)槽/凸台测量程序-O9812槽/凸台测量程序-O9812功能:测量沿X/Y轴向的槽/凸台,见上图常用格式:G65P9812Xx或Yy[ZzRrSsTt]Xx:X方向的槽/凸台测量Yy:Y方向的槽/凸台测量Zz:图2和图3形式的特征测量点Z坐标Rr:图3特征测量时,回退量Ss:欲更新的坐标系Tt:欲更新的刀具编号注意:在使用此程序前,需要事先将测头定位在欲测特征的理论中心上槽测量程序-O98121.G65P9812X12.[S1T3]输出:#135-槽对称中心X坐标#140-槽对称中心坐标值与理论值的误差(如何计算?)#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值(如何计算?)2.G65P9812Y12.[S2T4]输出:#136-槽对称中心X坐标#141-槽对称中心坐标值与理论值的误差#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值X0(2.0)(X-100.0)20.0上图的程序要怎么写?凸台测量程序-O98121.G65P9812X12.Z1.[S1T3]输出:#135-槽对称中心X坐标#140-槽对称中心坐标值与理论值的误差(如何计算?)#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值(如何计算?)2.G65P9812Y12.Z1.[S2T4]输出:#136-槽对称中心X坐标#141-槽对称中心坐标值与理论值的误差#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值上图的程序要怎么写?(Y-100.0)(2.0)Y020.0Z-5.0有凸台的槽测量程序-O98121.G65P9812X12.Z-1.R-2.[S1T3]输出:#135-槽对称中心X坐标#140-槽对称中心