广数凯恩帝FANUCiO+宏变量代码教学教材
- 格式:doc
- 大小:138.00 KB
- 文档页数:10
数控车床宏程序程序段为宏程序语句:术或逻辑运算(=)的程序段.制语句的程序段程序调用指令的程序段程序以外的任何程序段都为NC语句.与NC语句的不同使置于单程序段运行方式,机床也不停止.但是,当参数N0.6000#5SBM设定为1时,在单程序段方式中,止.刀具半径补偿方式中宏程序语句段不做为不移动程序段处理.序语句有相同性质的NC语句有子程序调用指令,但没有除O,N或L地址之外的其它地址指令的NC语句其性质与宏程序相同.包含除ONP或L以外的指令地址的程序段其性质与宏程序语句相同.移和循环中,使用GOTO语句和IF语句可以改变控制的流向.有三种转移和循环操作可供使用;循环----------GOTO语句(无条件转移)语句(条件转移)语句(当…时循环)无条件转移(GOTO语句)标有顺序号n的程序段.当指定1到99999以外的顺序号时,出现P/S报警NO.128.可用表达方式指定.n:顺序号(1到99999)条件转移(IF)语句后指定条件表达式.件表达式>]GOTOn如果指定的条件表达式满足时,转移到标有顺序号n的程序段.如果指定的条件表达足,执行下个程序段.件表达式>]THEN如果条件表达式满足,执行预先决定的宏程序语句.只执行一个宏程序语句.达式达式必须包括算符.算符插在两个变量中间或变量和常数中间,并且用括号([,])封闭.表达式可以替代由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值.注意,不能使号.含义于等于于于或等于于于或等于序:程序计算数值1-10的总和最新教案FANUC数控车床宏程序FANUC系统宏程序编程教案车工实习教学教案数控加工与编程实训教案数控编程与操作教案数控宏程序加工斜椭圆CAXA数控车实例教案CAXA数控车教案数控车床实训教案—G73加工国蜗杆车削教案热门教案数控电火花线切割加工教案40多种电子产品制作电路图红外线遥控电子制实例教案.do 自制音响遥控电路教案汽车驾驶教案金属材料教案FLASH相册制作教案微机ATX电源电路的工作原理与钳工常用工具的介绍及使用教案单片机原理及应用教案(附教学推荐教案SQL实验教案.rar计算机组装与维修实验教案模拟电子技术教案.rar数控车床工艺品图纸—印章数控车床工艺品图纸—葫芦数字电子技术实验教案.rar跆拳道教案.doc体育课教案(田径).doc建筑材料教案.rar机械制图期中试卷.doc存储和数变量的初值被加数变量的初值2GT10]GOTO2;当被加数大于10时转移到N2#2;计算和数#1;下一个被加数;转到N1程序结束循环(WHILE语句)E后指定一个条件表达式.当指定条件满足时,执行从D0到END之间的程序.否则,转到END后的程序段.的条件满足时,执行WHILE从D0到END之间的程序.否则,转而执行END之后的程序段,这种指令格式适F语句.D0后的号和END后的号是指定程序执行范围的标号,标号值为1,2,3.若用1,2,3以外的值会产报警NO.126.END循环中的标号可根据需要多次使用.但是,当程序有交叉重复循环(DO范围的重叠)时,出现P/S报警.环当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环.间当在GOTO语句中有标号转移的语句时,进行顺序号检索.反向检索的时间要比正向检索长.用WHILE 现循环可减少处理时间.的变量在使用EQ或NE的条件表达式中,<空>和零有不同的效果,在其它形式的条件表达式中,<空>被当序下面的程序计算数值1到10的总和.#2LE10]DO1;#2;1;案名称:FANUC数控车床宏程序大小:84K时间:2010-11-3 23:04:19次数统计:: 2: 6:22221 使用快车下载。
广数凯恩帝F A N U C i O+宏变量代码广数控218加工中心:M 代码功能。
M30 程序结束并返回程序头,加工件数加1 M02 程序结束并返回程序头,加工件数加1 M98 调用子程序M99 子程序结束返回/重复执行M00 程序暂停M01 程序选择暂停M03 主轴正转M04 主轴反转M05 主轴停转M06 换刀M08 冷却开M09 冷却关M10 A 轴松开M11 A 轴夹紧M16 刀具控制松刀M17 刀具控制夹刀M19 主轴定向M20 主轴空档指令M21 还刀时的寻刀代码M22 抓新刀时的寻刀代码M23 刀库摆到主轴位代码M24 刀库摆回原位代码M26 启动冲屑水阀M27 关闭冲屑水阀M28 取消刚性攻丝M29 刚性攻丝M32 润滑开M33 润滑关M35 启动螺旋排屑传输器M36 关闭螺旋排屑传输器M44 主轴吹气开启M45 主轴吹气关闭M50 自动换刀开始M51 自动换刀结束M53 判断换刀后刀具是否正确M55 判断主轴是否有刀凯恩帝1000G00 定位(快速移动)G01 直线插补(切削进给)G02 圆弧插补CW(顺时针)G03 圆弧插补CCW(逆时针)G04 暂停, 准停G10 偏移值设定G17 XY平面选择G18 ZX平面选择G19 02 YZ平面选择G20 英制数据输入G21 公制数据输入G27 返回参考点检查G28 返回参考点G29 从参考点返回G31 测量功能G39 拐角偏移圆弧插补*G40 刀具半径补偿注消G41 左侧刀具半径补偿G42 右侧刀具半径补偿G43 正方向刀具长度偏移G44 负方向刀具长度偏移G49 刀具长度偏移注消G54 工件坐标系1G55 工件坐标系2G56 工件坐标系3G57 工件坐标系4G58 工件坐标系5G59 工件坐标系6G65 宏程序命令G73 钻深孔循环G74 左旋攻丝循环G76 精镗循环G80 固定循环注销G81 钻孔循环(点钻循环)G82 钻孔循环(镗阶梯孔循环) G83 深孔钻循环G84 攻丝循环G85 镗孔循环G86 钻孔循环G87 反镗孔循环G88 镗孔循环G89 镗孔循环G93 攻丝固定循环G90 绝对值编程G91 增量值编程G92 坐标系设定G94 每分进给G95 每转进给G98 在固定循环中返回初始平面G99 返回到R点(在固定循环中)FANUC io指令大全G 代码分为下面两类:非模态G 代码 G 代码只在指令它的程序段中有效。
宏程序设计宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
使相同加工操作的程序更方便,更灵活。
本章以FANUC系统为例介绍宏程序设计的内容。
12.1 变量的定义宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。
变量可分为四种类型。
1. 空变量#0为空变量,该变量不能赋值。
2. 局部变量#1~#33为局部变量,局部变量只能在宏程序中存储数据。
当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。
局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3. 公共变量#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。
当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。
全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4. 系统变量#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。
5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。
表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1 自变量指定I的变量对应关系在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。
举例:G65 P3000 L2 B4 A5 D6 J7 K8 正确(J、K符合顺序要求)在宏程序中将会把4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6举例:G65 P3000 L2 B3 A4 D5 K6 J5 不正确(J、K不符合顺序要求)1表12-2 自变量指定II的变量对应关系自变量指定II使用A、B、C和1次,使用I、J、K各10次。
FANUC数控系统宏程序编程2021-09-16 21:112021-05-15 04:25统宏程序编程一变量普通加工程序直接用数值指定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.改变引用变量的值的符号,要把负号〔-〕放在#的前面。
广数控218加工中心:代码录入方式含义备注G00 G00 X_Y Z 定位(快速移动)。
G01 G01 X_Y_Z_F 直线插补(切削进给)。
G02 G02 X_Y_ R_ F_ I_ J_;圆弧插补CW(顺时针)。
R:半径 I:圆心坐标J:圆心坐标G03 圆弧插补 CCW(逆时针)。
G04 G04 P_ 或G04 X_ 暂停,准停。
G10 G10L_;N_P_R_ 可编程数据输入。
G11 可编程数据输入方式取消G12 G12 X¬_Y_Z_ I_J_K_ 存储行程检测功能接通。
G13 G13 X¬_Y_Z_ I_J_K_ 存储行程检测功能断开G15 G15 极坐标指令消除G16 G16 极坐标指令。
G17 在程序段中随其它程序写入XY平面选择G18 在程序段中随其它程序写入。
ZX平面选择G19 在程序段中随其它程序写入YZ平面选择G20 必须在程序开头,坐标系设定之前,单独程英制数据输入。
序段指定。
G21 公制数据输入G22 G22 X¬_Y_Z_R_I_L_W_Q_V_D_F_ K_ 逆时针圆内凹槽粗铣G23 G23 X¬_Y_Z_R_I_L_W_Q_V_D_F_K_ 顺时针圆内凹槽粗铣G24 G24 X¬_Y_Z_R_I_J_D_F_K_ 逆时针方向全圆内精铣循环G25 G25 X¬_Y_Z_R_I_J_D_F_K_ 顺时针方向全圆内精铣循环G26 G26 X¬_Y_Z_R_I_J_D_F_K_ 逆时针外圆精铣循环G27 G27 X_Y_Z_ 返回参考点检测G28 G28 返回参考点G29 G29 从参考点返回G30 G30Pn 返回2、3、4参考点G31 G31 跳转功能G32 G32 X¬_Y_Z_R_I_J__D_F_K_ 顺时针外圆精铣循环G33 G33 X¬_Y_Z_R_I_J_L_W_Q_V_U_D_F_K_ 逆时针矩形凹槽粗铣G34 G33 X¬_Y_Z_R_I_J_L_W_Q_V_U_D_F_K_ 顺时针矩形凹槽粗铣G35 G35 X¬_Y_Z_R_I_J_L_ U_D_F_K_ 逆时针矩形凹槽内精铣循环G36 G36 X¬_Y_Z_R_I_J_L_ U_D_F_K_ 顺时针矩形凹槽内精铣循环G37 G37 X¬_Y_Z_R_I_J_L_ U_D_F_K_ 逆时针矩形外精铣循环G38 G38 X¬_Y_Z_R_I_J_L_ U_D_F_K_ 顺时针矩形外精铣循环G39 G39 I_J_;I_J_;J_K_或G39 拐角偏置圆弧插补。
M 代码功能。
M30 程序结束并返回程序头,加工件数加1 M02 程序结束并返回程序头,加工件数加1 M98 调用子程序M99 子程序结束返回/重复执行M00 程序暂停M01 程序选择暂停M03 主轴正转M04 主轴反转M05 主轴停转M06 换刀M08 冷却开M09 冷却关M10 A 轴松开M11 A 轴夹紧M16 刀具控制松刀M17 刀具控制夹刀M19 主轴定向M20 主轴空档指令M21 还刀时的寻刀代码M22 抓新刀时的寻刀代码M23 刀库摆到主轴位代码M24 刀库摆回原位代码M26 启动冲屑水阀M27 关闭冲屑水阀M28 取消刚性攻丝M29 刚性攻丝M32 润滑开M33 润滑关M35 启动螺旋排屑传输器M36 关闭螺旋排屑传输器M44 主轴吹气开启M45 主轴吹气关闭M50 自动换刀开始M51 自动换刀结束M53 判断换刀后刀具是否正确M55 判断主轴是否有刀G00 定位(快速移动)G01 直线插补(切削进给)G02 圆弧插补CW(顺时针)G03 圆弧插补CCW(逆时针)G04 暂停, 准停G10 偏移值设定G17 XY平面选择G18 ZX平面选择G19 02 YZ平面选择G20 英制数据输入G21 公制数据输入G27 返回参考点检查G28 返回参考点G29 从参考点返回G31 测量功能G39 拐角偏移圆弧插补*G40 刀具半径补偿注消G41 左侧刀具半径补偿G42 右侧刀具半径补偿G43 正方向刀具长度偏移G44 负方向刀具长度偏移G49 刀具长度偏移注消G54 工件坐标系1G55 工件坐标系2G56 工件坐标系3G57 工件坐标系4G58 工件坐标系5G59 工件坐标系6G65 宏程序命令G73 钻深孔循环G74 左旋攻丝循环G76 精镗循环G80 固定循环注销G81 钻孔循环(点钻循环)G82 钻孔循环(镗阶梯孔循环) G83 深孔钻循环G84 攻丝循环G85 镗孔循环G86 钻孔循环G87 反镗孔循环G88 镗孔循环G89 镗孔循环G93 攻丝固定循环G91 增量值编程G92 坐标系设定G94 每分进给G95 每转进给G98 在固定循环中返回初始平面G99 返回到R点(在固定循环中)FANUC io指令大全G 代码分为下面两类:非模态G 代码 G 代码只在指令它的程序段中有效。
广数控218加工中心:M 代码功能。
程序结束并返回程序头,加工件数加M30程序结束并返回程序头,加工件数加M02调用子程序M98子程序结束返回/重复执行M99程序暂停M00程序选择暂停M01主轴正转M03主轴反转M04主轴停转M05换刀M06冷却开M08冷却关M09M10A 轴松开M11A 轴夹紧刀具控制松刀M16刀具控制夹刀M17主轴定向M19主轴空档指令M20还刀时的寻刀代码M21抓新刀时的寻刀代码M22刀库摆到主轴位代码M23刀库摆回原位代码M24启动冲屑水阀M26关闭冲屑水阀M27取消刚性攻丝M28刚性攻丝M29润滑开M32润滑关M33启动螺旋排屑传输器M35关闭螺旋排屑传输器M36主轴吹气开启M44主轴吹气关闭M45自动换刀开始M50自动换刀结束M51判断换刀后刀具是否正确M53M55判断主轴是否有刀凯恩帝1000 G00定位(快速移动)G01直线插补(切削进给)G02圆弧插补CW顺时针)G03圆弧插补CCW逆时针)G04暂停, 准停偏移值设定G10XY平面选择G17ZX平面选择G1802 YZ平面选择G19英制数据输入G20公制数据输入G21返回参考点检查G27返回参考点G28从参考点返回G29测量功能G31G39拐角偏移圆弧插补刀具半径补偿注消*G40左侧刀具半径补偿G41G42右侧刀具半径补偿正方向刀具长度偏移G43负方向刀具长度偏移G44刀具长度偏移注消G49工件坐标系1G54工件坐标系2G55工件坐标系3G56工件坐标系4G57工件坐标系5G58工件坐标系6G59宏程序命令G65钻深孔循环G73左旋攻丝循环G74精镗循环G76固定循环注销G80钻孔循环(点钻循环)G81钻孔循环(镗阶梯孔循环)G82深孔钻循环G83攻丝循环G84镗孔循环G85钻孔循环G86反镗孔循环G87镗孔循环G88G89镗孔循环G93攻丝固定循环绝对值编程G90增量值编程G91坐标系设定G92每分进给G94每转进给G95在固定循环中返回初始平面G98G99返回到R点(在固定循环中)FANUC io 指令大全G 代码分为下面两类:非模态G 代码G 代码只在指令它的程序段中有效。
15.用户宏程序用户宏程序允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。
可将相同加工操作编为通用程序,使用时,加工程序可用一条简单指令调出宏程序,和调用子程序完全一样。
15.1变量变量值可用程序或MDI面板上的操作改变。
#1=#2+100;G01 X#1 F300;说明:➢变量的表示变量用符号(#)和后面的变量号指定,例如:#1表达式可以用于指定变量号,例如:#[#1+#2-12]➢变量号变量类型功能#0 空变量该变量总是空,没有值能赋给该变量#1—#33 局部变量只能用于宏程序存储数据,断电后初始化为空#100—#199 #500—#999 公共变量在不同的宏程序中意义相同,断电为空,断电保存#1000—系统变量用于读和写CNC运行时各种数据的变化,如刀具的当前位置和补偿值➢~-10或~10如果计算结果超出则发出P/S报警No.111 ➢小数点的省略#1=123 相当于#1=123.000➢变量的引用G01 X[#1+#2] F#3G00 X-#1当引用未定义的变量时,变量及地址号都被忽略,如#1=0,#2为空时,G00 X#1 Y#2; == G00 X0;➢限制程序号、顺序号和任选程序段跳转号不能使用变量。
如下面情况不能使用变量:O#1; 1#2 G00 X100.0; N#3 Y200.015.2系统变量(略)15.3算术和逻辑运算表算术和逻辑运算说明:➢角度单位函数SIN,COS,ASIN,ACOS,TAN,ATAN的角度单位是度。
➢ARCSIN #i=ASIN[#j] 取值范围如下:当参数(No.6004#0)NAT位设为0时,270°~90°当参数(No.6004#0)NA T位设为0时,-90°~90°当#j超出-1到1的范围时,发出P/S报警No.111常数可替代变量#j➢ARCCOS #i=ACOS[#j] 取值范围从180°~0°当#j超出-1到1的范围时,发出P/S报警No.111常数可替代变量#j➢运算次序 1.函数 2.乘除运算 3.加碱运算➢括号嵌套括号可以使用5级,包括函数内部使用的括号。
参考资料:FANUC O系列操作编程说明书第一篇:编程5 1.综述5 1.1可编程功能5 1.2准备功能51.3辅助功能72.插补功能8 2.1快速定位(G00)8 2.2直线插补(G01)82.3圆弧插补(G02/G03)93.进给功能11 3.1进给速度11 3.2自动加减速控制11 3.3切削方式(G64)11 3.4精确停止(G09)及精确停止方式(G61) 123.5暂停(G04) 124.参考点和坐标系13 4.1机床坐标系13 4.2关于参考点的指令(G27、G28、G29及G30) 13 4.2.1 自动返回参考点(G28)13 4.2.2 从参考点自动返回(G29)13 4.2.3 参考点返回检查(G27)14 4.2.4 返回第二参考点(G30)14 4.3工件坐标系15 4.3.1 选用机床坐标系(G53)15 4.3.2 使用预置的工件坐标系(G54~G59)15 4.3.3 可编程工件坐标系(G92)16 4.3.4 局部坐标系(G52) 164.4平面选择175.坐标值和尺寸单位185.1绝对值和增量值编程(G90和G91)186.辅助功能19 6.1M代码19 6.1.1 程序控制用M代码19 6.1.2 其它M代码19 6.2T代码19 6.3主轴转速指令(S代码) 206.4刚性攻丝指令(M29)207.程序结构21 7.1程序结构21 7.1.1 纸带程序起始符(Tape Start) 21 7.1.2 前导(Leader Section) 21 7.1.3 程序起始符(Program Start) 217.1.4 程序正文(Program Section) 21 7.1.5 注释(Comment Section) 21 7.1.6 程序结束符(Program End) 21 7.1.7 纸带程序结束符(Tape End) 22 7.2程序正文结构22 7.2.1 地址和词22 7.2.2 程序段结构227.2.3 主程序和子程序238.简化编程功能25 8.1孔加工固定循环(G73,G74,G76,G80~G89) 25 8.1.1 G73(高速深孔钻削循环)28 8.1.2 G74(左螺纹攻丝循环)29 8.1.3 G76(精镗循环) 29 8.1.4 G80(取消固定循环) 30 8.1.5 G81(钻削循环) 30 8.1.6 G82(钻削循环,粗镗削循环) 31 8.1.7 G83(深孔钻削循环) 31 8.1.8 G84(攻丝循环) 32 8.1.9 G85(镗削循环) 32 8.1.10 G86(镗削循环) 32 8.1.11 G87(反镗削循环) 33 8.1.12 G88(镗削循环) 33 8.1.13 G89(镗削循环) 34 8.1.14 刚性攻丝方式348.1.15 使用孔加工固定循环的注意事项359.刀具补偿功能36 9.1刀具长度补偿(G43,G44,G49) 36 9.2刀具半径补偿36 9.2.1 补偿向量36 9.2.2 补偿值36 9.2.3 平面选择36 9.2.4 G40、G41和G4236 9.2.5 使用刀具半径补偿的注意事项37第二篇:NC操作381.自动执行程序的操作38 1.1CRT/MDI操作面板38 1.1.1 软件键38 1.1.2 系统操作键38 1.1.3 数据输入键38 1.1.4 光标移动键38 1.1.5 编辑键和输入键38 1.1.6 NC功能键38 1.1.6 电源开关按钮39 1.2MDI方式下执行可编程指令39 1.3自动运行方式下执行加工程序39 1.3.1 启动运行程序391.3.2 停止运行程序392.程序验证和安全功能40 2.1程序验证功能40 2.1.1 机床闭锁402.1.2 Z轴闭锁40 2.1.3 自动进给的倍率40 2.1.4 快速进给的倍率40 2.1.5 试运行40 2.1.6 单程序段运行402.2安全功能402.2.1 紧急停止402.2.2 超程检查403.零件程序的输入、编辑和存储41 3.1新程序的注册41 3.2搜索并调出程序41 3.3插入一段程序41 3.4删除一段程序41 3.5修改一个词423.6搜索一个词424.数据的显示和设定43 4.1刀具偏置值的显示和输入43 4.2G54~G59工件坐标系的显示和输入43 4.3NC参数的显示和设定434.4刀具表的修改445.显示功能45 5.1程序显示455.2当前位置显示456.在线加工功能46 6.1有关参数的修改:466.2有关在线加工的操作. 467.机床参数的输入﹑输出478.用户宏B功能49 8.1变量49 8.1.1变量概述498.1.2系统变量508.2算术和逻辑操作55 8.3分支和循环语句56 8.3.1无条件分支(GOTO语句)56 8.3.2条件分支(IF语句)57 8.3.3循环(WHILE语句)57 8.3.4注意58 8.4宏调用58 8.4.1简单调用(G65)58 8.4.2、模调用(G66、G67)60 8.4.3G码调用宏61 8.4.4、M码调用宏618.4.5M码调用子程序62 8.4.6T码调用子程序62 8.5附加说明62附录1:报警代码表641.程序报警(P/S报警) 642.伺服报警653.超程报警664.过热报警及系统报警66第一篇:编程1. 综述1.1 可编程功能通过编程并运行这些程序而使数控机床能够实现的功能我们称之为可编程功能。
Fanuc系统宏程序变量
刀具补偿值:用系统变量可以读和写刀具补偿值。
可使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿以及是否区分刀长补偿和刀尖补偿。
当偏置组数小于等于200 时,也可使用#2001~#2400。
例:
当执行#1=#4002;时,在#1 中得到的值是17,18 或19。
对于不能使用的G 代码组,如果指定系统变量读取相应的模态信息,则发出P/S 报警。
当前位置位置信息:不能写,只能读
·第1 位代表轴号(从1 到3)。
·变量#5081~#5083 存储的刀具长度补偿值是当前的执行值,不是后面程序段的处理值。
·在G31(跳转功能)程序段中跳转信号接通时的刀具位置储存在变量#5061 到#5063 中。
当G31 程序段中的跳转信号未接通时,这些变量中储存指定程序段的终点值。
·移动期间不能读是指由于缓冲(预读)功能的原因,不能读期望值。
工件坐标系补偿值:工件零点偏移值的系统变量(工件零点偏移值)。
8. 用户宏B 功能使用子程序编程可以重复同样的操作, 简化程序的书写工作,但是用户宏B 提供了更丰富的编程功能, 它允许使用变量、算术和逻辑操作及条件分支,使得用户可以自行编辑软件包、固定循环程序。
8.1变量8.1.1 变量概述一个普通的零件加工程序指定G 码并直接用数字值表示移动的距离,例:G100 X100.0。
而利用用户宏,既可以直接使用数字值也可以使用变量号。
当使用变量号时,变量值既可以由程序改变,也可以用MDI 面板改变。
#1=#2+100 G01 X#1 F300 变量书写规格:当指定一个变量时,在#后指定变量号。
个人计算机允许赋名给变量,宏没有此功能。
例:#1也可以用表达式指定变量号,这时表达式要用方括号括起来。
例:#[#1+#2—12] 变量值的范围:地方变量和公共变量可以有值0和在下述范围内的值:-1047~-10—19;10—29~1047,如果计算结果无效,发出111号报警。
忽略小数点:在程序中定义变量时,可以忽略小数点。
例:当#1=123被定义时,变量#1的实际值为123.000。
未定义的变量:当变量的值未定义时,这样的一个变量被看作“空”变量,变量#0总是“空”变量,是一个只读变量。
变量的类型:根据变量号将变量分为四类,见下表:变量号 #0 #1~#33变量类型功能“空”这个变量总是空的, 不能赋值。
源时,地方变量被初始化成“空”。
宏调用时,自变量分配给地方变量。
#100~#149(#199)公共变量公共变量可在不同的宏程序间共享。
关闭电源时变量#500~#531(#999)#100~#149被初始化成“空”,而变量#500~#531保持数据。
公共变量#150~#199和#532~#999可以选用,但是当地方变量地方变量只能在宏中使用,以保持操作的结果,关闭电第 42 页共 59 页这些变量被使用时,纸带长度减少了8.5米。
#1000~系统变量系统变量用于读写各种NC 数据项,如当前位置、刀具补偿值。
广数控218加工中心:M 代码功能。
M30 程序结束并返回程序头,加工件数加1 M02 程序结束并返回程序头,加工件数加1 M98 调用子程序M99 子程序结束返回/重复执行M00 程序暂停M01 程序选择暂停M03 主轴正转M04 主轴反转M05 主轴停转M06 换刀M08 冷却开M09 冷却关M10 A 轴松开M11 A 轴夹紧M16 刀具控制松刀M17 刀具控制夹刀M19 主轴定向M20 主轴空档指令M21 还刀时的寻刀代码M22 抓新刀时的寻刀代码M23 刀库摆到主轴位代码M24 刀库摆回原位代码M26 启动冲屑水阀M27 关闭冲屑水阀M28 取消刚性攻丝M29 刚性攻丝M32 润滑开M33 润滑关M35 启动螺旋排屑传输器M36 关闭螺旋排屑传输器M44 主轴吹气开启M45 主轴吹气关闭M50 自动换刀开始M51 自动换刀结束M53 判断换刀后刀具是否正确M55 判断主轴是否有刀凯恩帝1000G00 定位(快速移动)G01 直线插补(切削进给)G02 圆弧插补CW(顺时针)G03 圆弧插补CCW(逆时针)G04 暂停, 准停G10 偏移值设定G17 XY平面选择G18 ZX平面选择G19 02 YZ平面选择G20 英制数据输入G21 公制数据输入G27 返回参考点检查G28 返回参考点G29 从参考点返回G31 测量功能G39 拐角偏移圆弧插补*G40 刀具半径补偿注消G41 左侧刀具半径补偿G42 右侧刀具半径补偿G43 正方向刀具长度偏移G44 负方向刀具长度偏移G49 刀具长度偏移注消G54 工件坐标系1G55 工件坐标系2G56 工件坐标系3G57 工件坐标系4G58 工件坐标系5G59 工件坐标系6G65 宏程序命令G73 钻深孔循环G74 左旋攻丝循环G76 精镗循环G80 固定循环注销G81 钻孔循环(点钻循环)G82 钻孔循环(镗阶梯孔循环) G83 深孔钻循环G84 攻丝循环G85 镗孔循环G86 钻孔循环G87 反镗孔循环G88 镗孔循环G89 镗孔循环G93 攻丝固定循环G90 绝对值编程G91 增量值编程G92 坐标系设定G94 每分进给G95 每转进给G98 在固定循环中返回初始平面G99 返回到R点(在固定循环中)FANUC io指令大全G 代码分为下面两类:非模态G 代码 G 代码只在指令它的程序段中有效。
广数凯恩帝F A N U C i O+宏变量代码广数控218加工中心:M 代码功能。
M30 程序结束并返回程序头,加工件数加1 M02 程序结束并返回程序头,加工件数加1 M98 调用子程序M99 子程序结束返回/重复执行M00 程序暂停M01 程序选择暂停M03 主轴正转M04 主轴反转M05 主轴停转M06 换刀M08 冷却开M09 冷却关M10 A 轴松开M11 A 轴夹紧M16 刀具控制松刀M17 刀具控制夹刀M19 主轴定向M20 主轴空档指令M21 还刀时的寻刀代码M22 抓新刀时的寻刀代码M23 刀库摆到主轴位代码M24 刀库摆回原位代码M26 启动冲屑水阀M27 关闭冲屑水阀M28 取消刚性攻丝M29 刚性攻丝M32 润滑开M33 润滑关M35 启动螺旋排屑传输器M36 关闭螺旋排屑传输器M44 主轴吹气开启M45 主轴吹气关闭M50 自动换刀开始M51 自动换刀结束M53 判断换刀后刀具是否正确M55 判断主轴是否有刀凯恩帝1000G00 定位(快速移动)G01 直线插补(切削进给)G02 圆弧插补CW(顺时针)G03 圆弧插补CCW(逆时针)G04 暂停, 准停G10 偏移值设定G17 XY平面选择G18 ZX平面选择G19 02 YZ平面选择G20 英制数据输入G21 公制数据输入G27 返回参考点检查G28 返回参考点G29 从参考点返回G31 测量功能G39 拐角偏移圆弧插补*G40 刀具半径补偿注消G41 左侧刀具半径补偿G42 右侧刀具半径补偿G43 正方向刀具长度偏移G44 负方向刀具长度偏移G49 刀具长度偏移注消G54 工件坐标系1G55 工件坐标系2G56 工件坐标系3G57 工件坐标系4G58 工件坐标系5G59 工件坐标系6G65 宏程序命令G73 钻深孔循环G74 左旋攻丝循环G76 精镗循环G80 固定循环注销G81 钻孔循环(点钻循环)G82 钻孔循环(镗阶梯孔循环) G83 深孔钻循环G84 攻丝循环G85 镗孔循环G86 钻孔循环G87 反镗孔循环G88 镗孔循环G89 镗孔循环G93 攻丝固定循环G90 绝对值编程G91 增量值编程G92 坐标系设定G94 每分进给G95 每转进给G98 在固定循环中返回初始平面G99 返回到R点(在固定循环中)FANUC io指令大全G 代码分为下面两类:非模态G 代码 G 代码只在指令它的程序段中有效。
模态G 代码在指令同组其它G 代码前该G 代码一直有效。
G 代码G00★快速定位G01 直线插补G02 顺时针圆弧插补(CW)G03 逆时针圆弧插补(CCW)G2.3/G3.3 指数函数插补G2.4/G3.4 三维圆形插补G04 暂停G05.1 AI先行控制G06.2 NURBS 插补G7.1(G107) 圆柱形插补G08 先行控制G09 准确停止,停于精确的位置G10 可编程数据输入G11 可编程数据输入方式取消G12.1(G112) 极坐标插补方式G13.1(G113) 极坐标插补方式取消G15 极坐标指令取消G16 极坐标指令G17 选择XY平面G18 选择ZX平面G19 选择YZ平面G20 英寸输入(英制)G21 毫米输入(公制)G22 内部行程限位有效G23 内部行程限位无效G25 主轴速度波动监测功能无效G26 主轴速度波动监测功能有效G27 检查参考点返回G28 返回参考点G29 从参考点返回G30 返回第2,3,4 参考点G31 跳转功能G32 螺纹切削G34 变螺距螺纹切削G36 自动刀具X补偿G37 自动刀具长度测量/自动刀具Z补偿G39 拐角偏置圆弧插补G40 取消刀具半径补偿/三维补偿取消G41 左侧刀具半径补偿/三维补偿G42 右侧刀具半径补偿G40.1/G41.1/G42.1 法线方向控制G41.2/G42.2/G41.3 三维刀具半径补偿G43 正向刀具长度补偿(刀具长度 + 方向偏移)G43.1 刀具轴向的刀具长度补偿G43.4/G43.5 刀具中心位置控制G44 负向刀具长度补偿G45 刀具偏置值增加G46 刀具偏置值减小G47 2 倍刀具偏置值G48 1/2 倍刀具偏置值G49 刀具长度补偿取消G50 比例缩放取消 / 设定工件坐标系或设置主轴最大转速G50.3 工件坐标系预置G51 比例缩放有效G50.1 可编程镜象取消G51.1 可编程镜象有效G50.2 多边形车削取消G51.2 多边形车削有效G52 局部坐标系设定G53 选择机床坐标系G54 选择工件坐标系1G54.1 选择附加工件坐标系G54.2 转台动态定位器偏置G55 选择工件坐标系2G56 选择工件坐标系3G57 选择工件坐标系4G58 选择工件坐标系5G59 选择工件坐标系6G60 单方向定位G61 准确停止方式G62 自动拐角倍率G63 攻丝方式G64 切削方式G65 宏程序调用G66 宏程序模态调用G67 宏程序模态调用取消G68 坐标旋转/三维坐标转换G69 坐标旋转取消/三维坐标转换取G70 精车削加工循环G71 横向切削复循环/ 精车内外圆G72 纵向切削复循环/ 精车端面G72.1 图形旋转复制(FOR 18I MB)G72.2 图形线形复制(FOR 18I MB)G73 成型重复循环/高速深孔钻削循环/多重车削循环G74 Z轴啄式钻孔/左螺旋切削循环/排屑钻端面孔G75 X轴方向切槽循环/ 外径,内径钻孔G76 螺纹切削循环/ 多头螺纹循环/精镗孔循环G80 取消固定循环/ 外部操作功能取消G81 钻孔循环、锪镗循环或外部操作功能G81.1 切割G82 钻孔循环或反镗孔循环G83 深孔钻循环(啄式排屑钻孔)G84 攻丝循环(右螺旋切削循环)G85 正面镗孔循环G86 镗孔循环G87 侧面钻孔循环/ 背镗循环G88 侧面攻丝循环/ 镗孔循环G89 侧面镗孔循环G90 绝对值编程/ 内外径车削循环(横向)G91 增量值编程/G92 (M:G50) 设定工件坐标系或设置最大主轴转速/ 螺纹切削循环G92.1(M:G50.3) 工件坐标系预置G94 每分钟进给率/ 端面切削循环G95 每转进给率G96 恒线速控制G97★取消恒线速控制G98 每分钟进刀量/ 固定循环返回到初始点G99 每转进刀量/ 固定循环返回到R点(参考点)G160/G161 横向进刀控制M代码宏程序:_______________________________________________________________________________1.无条件转移GOTO n(n表示数值)例如:GOTO30此程序段意思是当程序中执行到这一程序段时,无条件跳转到程序段中N30的地方,执行N30后面的程序段。
M3S500G99GOTO10(当程序执行到这里,直接跳转N10程序段执行M30,跳过了G0,所以这叫做无条件跳转,和我们一般程序中跳段功能一样)G0X100.Z100.N10M302.有条件跳转IF[条件表达式]GOTO n例如:IF[#1GT15]GOTO10这段程序中,中括号里面条件满足,就执行后面的GOTO跳转语句,如果条件不满足,就不执行后面的GOTO 跳转,执行后面一个程序段。
M3S500G99N10#1=30(把数值30赋值给#1)IF[#1LT50]GOTO10(首先判断中括号是不是满足条件,如果满足执行跳转,不满足执行下一步)M30当#1=30的时候,重括号中30小于50,条件满足,执行后面GOTO跳转语句,跳转到N10地方继续执行。
3.强制赋值语句 IF[条件表达式]THEN(执行语句)例如:IF[#1GT20]THEN#1=20(如果#1大于20,执行后面THEN语句, #1等于20,,如果不满足,不执行THEN语句。
)#1=3(把数值3赋值给#1)#1=#1-5(把#1-5计算出来的值从新赋值给#1,也就是3-5=-2,现在#1=-2)IF[#1LT0]THEN#1=0(强制赋值,如果#1小于0,那么强制让#等于0)M30当#1执行完减法运算后#1的值等于-2,-2小于0,条件满足,所以执行后面THEN语句,如果不满足不执行THEN语句)4.条件判断语句WHILE[表达式]DOn(n为数值,取值范围1-99)ENDn (n与开头DO n的数值对应)例如:WHILE[#12GT50]DO1如果#12大于50,则跳至END1。
G0X5,Y5END1例如:#1=60WHILE[#1GT50]DO1如果#1大于50,则跳至END1。
G0X#1G1Z-20.F0.2G0U1 Z1.END1M30程序中,当条件判断语句满足时候执行DO1和END1之间的程序段,如果条件不满足,执行END1后面的程序。