1、前前 言言变 量 基 础 部 分变量类型变量类型变量局部变量全局变量系统变量用户变量所有的宏程序中都可以共用的变量#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(
2、1-3轴)#7001-#7003G54.1P48(1-3轴)#7941-#7943我们能用这些变量干什么?(见测试)常用系统变量常用系统变量-刀具补偿偏置刀具补偿偏置我们能用这些变量干什么?(见测试)常用系统变量常用系统变量-报警变量报警变量变量号变量号功能功能举例举例#3000赋值0-200,机床停止并报警#3000=1(NG)屏幕显示“3001 NG”我们能用这个变量干什么?(见测试)算数和逻辑运算部分一算数和逻辑运算(一)算数和逻辑运算(一)功能功能格式格式备注备注定义#i=#j加法#i=#j+#k减法#i=#j-#k乘法#i=#j*#k除法#i=#j/#k#k不为0正弦#i=SIN#j
3、角度以度指定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=#j OR#k运算按照二进制一位一位的进行异或#i=#j XOR#k与#i=#j AND#kl 蓝色字体为不常用运算符l 所有运算格式要正确测试一测试一l 可以把G55的坐标值写入全局变量吗?局部变量呢?怎么写?两
4、个有什么差异?l 我可以给G55的坐标赋值吗?怎么写?有什么用处?l 要读取5号刀的刀具长度补偿(含磨损)怎么读?有什么用处?l 程序中要添加报警,用哪个变量,怎么用?休 息 会?算数和逻辑运算部分二运算符运算符l 作用 多用于逻辑判断,和IF等条件语句使用IF IF 条件语句条件语句l 判断后跳转示例:如果变量#1的值大于10,跳转到N2程序段N1 IF#1 GT 10.GOTO2N2 G00 G91 X10.l IF THEN 如果表达式满足,执行THEN后的语句。否则顺序执行示例:如果#1和#2的值相同,0赋值给#3IF#1 EQ#2THEN#3=0;宏程序调用重要内容程序调用方式程序调
5、用方式l M98调用格式:M98 P*举例:M98 P1000l G65调用格式:G65 P*Aa Bb Cc Dd Ee Ff Hh Ii Jj Kk Mm Nn Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz举例:G65 P1000 A1.B2.X10.Z5.都可以调用,有区别吗?G65G65和和M98M98的差别(一)的差别(一)l 指定变量的值格式:M98 P*G65 P*Aa Bb Cc Dd Ee Ff Hh Ii Jj Kk Mm Nn Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz所以M98不能在调用时指定变量的值,而G65可以那么那么G65G65后面跟
6、的一大堆字母表示的是什么意思呢?后面跟的一大堆字母表示的是什么意思呢?G65G65和和M98M98的差别(一)的差别(一)l 变量表l 举例:G65 P1000 A1.B2.X10.Z5.表示在调用O1000的同时,就指定了程序中#1,#2,#24,#26的值通常在程序中有类似的语句:IF#1 NE#0 GOTO2 或#600=#2+10.等类似的语句那么,这样有什么好处?G65G65和和M98M98的差别(二)的差别(二)l 示例:O0001#1=1.M98 P1000;#600=#1;此时#600的值是多少?-O0002#1=1.G65 P1000#600=#1;此时#600的值是多少?O
7、1000#1=-1.M99#600=-1#600=1G65G65和和M98M98的差别(二)的差别(二)休 息 会?INSPECTION PLUSINSPECTION PLUS软件中的全局变量软件中的全局变量全局变量(一)全局变量(一)#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#1
8、09#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#149INSPECTION PLUS INSPECTION PLUS 内部计算内部计算全局变量(三)全局变量(三)#1
9、00#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#1490INSPECTION PLUSINSPECTION PLUS测量测量结果和旗帜结果和旗帜测量结果和旗帜的数值测量结果和旗帜的数值在每次测量后被覆盖在每次
10、测量后被覆盖全局变量(四)全局变量(四)#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标准校正数值标准校正数值回退系数回退系数矢量校正数值矢量校正数值测头校正程序测头校正程序 为什么要校正为什么要校正l 测头安装后,测头中心与主轴的偏心量l 测针
11、球的直径误差l 测头的触发距离l 机床的重复性所以,每次更换测头,或者更换测针后,必须校正!如何校正?软件部分再讲校正项目校正项目l 测头长度校正l 测针半径校正l 测针偏心校正值存放在刀具补偿值存放在全局变量 值存放在全局变量为什么要存放在全局变量中?为什么要存放在全局变量中?测头长度校正测头长度校正格式:格式:G65 P9801 Zz Tt举例:举例:G65 P9801 Z0.T21Tt 要更新的刀具号.Zz 标准表面的工件坐标.O1000O1000G17 G40 G49 G69 G80 G90G54 X0 Y0G43 H21 Z20.G65 P9801 Z0 T21G91 G28 Z0G
12、90M30注意:在这里T21的刀补中要有一个预置的大概刀长校正测针校正测针X/YX/Y偏置偏置格式:格式:G65 P9802 Dd举例:举例:G65 P9802 D50.005Dd:用于校正的环规直径4#502DdYX312#503O1000O1000G17 G40 G49 G69 G80 G90G54 X0 Y0(环规中心)G65 P9802 D50.005G91 G28 Z0G90M30注意:1.准确将主轴定位至环规的中心位置并将测针置于环规内部2.程序运行后,会将偏心写入#502和#503校正测针球半径校正测针球半径格式:格式:G65 P9803 Dd举例:举例:G65 P9803 D5
13、0.005Dd:用于校正的环规直径O1000O1000G17 G40 G49 G69 G80 G90G54 X0 Y0(环规中心)G65 P9803 D50.005G91 G28 Z0G90M30注意:1.准确将主轴定位至环规的中心位置并将测针置于环规内部2.程序运行后,会将半径写入#500和#501小结小结l 对于初学者,以下变量范围,建议先不用:对于初学者,以下变量范围,建议先不用:#100-#199#500-#550 其他全局变量可按需要使用l 测头使用必须要标定测头使用必须要标定 初次使用时 更换测针后 使用一段时间后 标定后,挂刀方向要固定 标定时的进给与测量的进给保持一致休 息 会
14、?保护移动程序保护移动程序-O9810-O9810保护移动程序保护移动程序-O9810-O9810功能:功能:在测头移动时,如果有障碍物阻挡,机床停止并报警格式:格式:G65 P9810 Xx Yy Zz FfXx Yy Zz:目标位置在当前坐标系下的坐标Ff:移动的进给率注注 意意1.目标位置指定可以单独指定X/Y/Z中的任何一个值;也可以同时指定其中任意2个或3个全部指定举例:G65 P9810 Y-1.F3000G65 P9810 X0 Z-5.F3000G65 P9810 X0 Y1.Z2.F4000 2.报警当在移动的过程中,碰到障碍,机床停止,报警号3086提示信息“PATH OB
15、STRUCTED”成功移动至目标位置成功移动至目标位置G65G65 P9810P9810 X50.0 Z5.0 X50.0 Z5.0 F3000F3000保护移动程序保护移动程序-O9810-O9810保护移动程序保护移动程序-O9810-O9810#3000=86(PATH OBSTRUCTED)未成功移动至目标位置未成功移动至目标位置G65G65 P9810P9810 X50.0 Z5.0 X50.0 Z5.0 F3000F3000单点测量程序单点测量程序-O9811-O9811单点测量程序单点测量程序-O9811-O9811功能:功能:每次测量一个面常用格式:常用格式:G65 P9811
16、 Xx或Yy或ZzXx Yy Zz:目标位置在当前坐标系下的坐标注注 意意1.目标位置指定每次只能指定X/Y/Z中的一个值举例:G65 P9811 X-1.G65 P9811 Z-5.G65 P9811 Y1.单点测量程序单点测量程序-O9811-O9811常用扩展格式:G65 P9811 Xx或Yy或Zz Ss Tt 中的变量为可选输入变量Ss:欲更新的坐标系Tt:欲更新的刀具编号举例:G65 P9811 X0.S101G65 P9811 Z10.T4S S参数参数工件偏置工件偏置S1G54S2G55S3G56S4G57S5G58S6G59S0G53 S101G54.1 P1S102G54.
17、1 P2Etc.Etc.S148G54.1 P48单点测量程序单点测量程序-O9811-O9811测量后的数据输出:1.G65 P9811 X4.输出:#135-实测值(4.012)#140-误差值(0.012)2.G65 P9811 Y4.输出:#136-实测值(4.012)#141-误差值(0.012)1.G65 P9811 Z4.输出:#137-实测值(4.012)#142-误差值(0.012)我们能用这些变量干什么?(见测试)槽槽/凸台测量程序凸台测量程序-O9812-O9812槽槽/凸台测量程序凸台测量程序-O9812-O9812功能:功能:测量沿X/Y轴向的槽/凸台,见上图常用格式
18、:常用格式:G65 P9812 Xx或YyZz Rr Ss TtXx:X方向的槽/凸台测量Yy:Y方向的槽/凸台测量Zz:图2和图3形式的特征测量点Z坐标Rr:图3特征测量时,回退量Ss:欲更新的坐标系Tt:欲更新的刀具编号注意:在使用此程序前,需要事先将测头定位在欲测特征的理论中心上注意:在使用此程序前,需要事先将测头定位在欲测特征的理论中心上槽测量程序槽测量程序-O9812-O98121.G65 P9812 X12.S1 T3输出:#135-槽对称中心X坐标#140-槽对称中心坐标值与理论值的误差(如何计算?)#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值(如何计算?)2.G
19、65 P9812 Y12.S2 T4输出:#136-槽对称中心X坐标#141-槽对称中心坐标值与理论值的误差#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值 X0(2.0)(X-100.0)20.0上图的程序要怎么写?凸台测量程序凸台测量程序-O9812-O98121.G65 P9812 X12.Z1.S1 T3输出:#135-槽对称中心X坐标#140-槽对称中心坐标值与理论值的误差(如何计算?)#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值(如何计算?)2.G65 P9812 Y12.Z1.S2 T4输出:#136-槽对称中心X坐标#141-槽对称中心坐标值与理论值
20、的误差#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值 上图的程序要怎么写?(Y-100.0)(2.0)Y020.0Z-5.0有凸台的槽测量程序有凸台的槽测量程序-O9812-O98121.G65 P9812 X12.Z-1.R-2.S1 T3输出:#135-槽对称中心X坐标#140-槽对称中心坐标值与理论值的误差(如何计算?)#138-槽的实测宽度#143-槽的实测宽度与理论宽度的差值(如何计算?)2.G65 P9812 Y12.Z-1.S2 T4 R2.输出:#136-槽对称中心X坐标#141-槽对称中心坐标值与理论值的误差#138-槽的实测宽度#143-槽的实测宽度与理论宽度
21、的差值 上图的程序要怎么写?孔孔/圆台测量程序圆台测量程序-O9814-O9814孔孔/圆台测量程序圆台测量程序-O9814-O9814功能:功能:4点测量孔或圆台,见上图常用格式:常用格式:G65 P9814 Dd Zz Rr Ss TtDd:孔或圆台的直径Zz:图2和图3形式的特征测量点Z坐标Rr:图3特征测量时,回退量Ss:欲更新的坐标系Tt:欲更新的刀具编号注意:在使用此程序前,需要事先将测头定位在欲测特征的理论中心上注意:在使用此程序前,需要事先将测头定位在欲测特征的理论中心上孔测量程序孔测量程序-O9814-O98141.G65 P9814 D12.S1 T3输出:#135-圆心X
22、坐标#140-圆心测量X坐标值与理论值的误差(如何计算?)#136-圆心Y坐标#141-圆心测量X坐标值与理论值的误差(如何计算?)#138-圆的实测直径#143-圆的直径测量值与理论值的误差(如何计算?)X0(2.0)(X-100.0)20.0上图的程序要怎么写?圆台测量程序圆台测量程序-O9814-O9814上图的程序要怎么写?(Y-100.0)(2.0)Y020.0Z-5.01.G65 P9814 D12.Z-2.S1 T3输出:#135-圆心X坐标#140-圆心测量X坐标值与理论值的误差(如何计算?)#136-圆心Y坐标#141-圆心测量X坐标值与理论值的误差(如何计算?)#138-圆
23、的实测直径#143-圆的直径测量值与理论值的误差(如何计算?)有圆台的内孔测量程序有圆台的内孔测量程序-O9814-O9814上图的程序要怎么写?1.G65 P9814 D12.Z-2.R-2.S1 T3输出:#135-圆心X坐标#140-圆心测量X坐标值与理论值的误差(如何计算?)#136-圆心Y坐标#141-圆心测量X坐标值与理论值的误差(如何计算?)#138-圆的实测直径#143-圆的直径测量值与理论值的误差(如何计算?)休 息 会?测试二测试二l 如何编写一个完整的测头校准程序?l 试着编写测量下面的特征l工件坐标在圆心,产品表面l中心大孔直径20mm,深度15mm,测量孔并输出数据,
24、更新坐标系G57l中心圆台直径6mm,顶面距离表面5mm,高度为10mm,测量并输出数据l整个工件长宽均为50mm,高度为30mm,测量黄色表面,输出相关的测量数据小结二小结二l3086-PATH OBSTRUCTED 保护移动过程中,光线阻挡 保护移动过程中,测头碰触到障碍物l3092-PROBE OPEN 测量是二次触发,第一次测量后,测头需要完全离开产品表面,再进行第二次测量,如果在第一次后,不能完全离开产品表面,会报警;可以通过修改#506,将#506中的值增大l3093-PROBE FAIL 测量移动结束时,还没有触碰到任何物体,报警 查看O9811,O9812,O9814后面指定的数据是否有误 坐标系设定等