经济视野EconomicPerspective076质量管理【文章摘要】数控机床是现代科学技术发展的先进产业,它具有刚性大、加工精度高、加工质量稳定、生产效率高、劳动强度少等优点,也是集中电器、机械、气动多元化控制于一体的高性能产品。然而不同的数控系有着不同性能的内部程序的二次开发,如:各种快速抄写坐标、快速分中、Z轴快速定位、快速对刀等快捷方式,本文以高速数控发格(FAGOR)系统里的“高级语言”为引入点。通过生产企业在使用发格系统中提出增加高级语言控制的特殊要求而进行分析和编写,并详细列出为企业解决问题的步骤与过程。【关键词】数控系统;高级语言;编写;生产;应用0前言随着中国数控机床市场的蓬勃发展,现代企业对数控机床加工产品的要求越来越高,因此为满足市场需要,数控机床的性能在不断提升的同时,机床的系统操作方面也越来越要求人性化。随着企业对加工工艺和产品的要求越来越高,尽管机床客服维修人员也遍布全国各地。但很多客服人员维修技术的专业培训现在还没有跟上数控机床工业的发展步伐,造成很多客服人员只能对机床常见的故障进行排查、检测和维修,根本无法解决一些疑难杂症或满足企业提出的特殊要求。在面对疑难杂症与特殊要求时常常需要从总部安排专业人员前去进行处理,笔者就从数控机床高级语言的运用上来解决实际的加工问题来为企业解决疑难杂症和满足企业需要的特殊要求。1数控机床实际功能的需求数控系统高级语言对于进一步二次开发系统的性能有着重要的作用,也能在实际的增加功能上起着简单、快捷、灵活的使用用途。对于数控机床的使用,大部分用户除了提出对加工产品的质量和速度的要求以外,他们还要求在加工过程中增加加工次数显示和加工次数限制的要求。在很多汽车产品加工用户中,特别是加工高档汽车把手的外边修磨,在很多企数控系统高级语言在实际生产中的应用李耀炳江门市新会高级技工学校广东江门529100业的生产加工现场了解到产品是经过多道复杂的工序处理过,大量的高精数控机床主要负责加工产品的最后一道工序。因为最后一道工序至关重要,所以对于机床的要求比较严格。企业用于加工修磨把手的刀具是一种磨头,一般一个磨头能加工100个把手。操机工人的主要工作是将把手放置于机床的专用夹具上,然后按下执行键,机床就会执行一条加工程序,待加工完毕后将把手取下,再放上另一个把手。如此类推一直加工到第100个把手,就需要换一把新的磨头,对上对刀仪后再重新进行加工并计算加工次数。经过多道复杂工序处理过的把手价格远比磨头要高,而且如果加工100个把手以后没有更换磨头而一直进行加工就会生产出很多废品,因此企业担心机床操作工忘记更换磨头,要求数控系统进行加工次数提示及加工次数限制(限制每把磨头只能加工100个把手)。一般的普通数控机床,在完成一个工件之后机床只有加工完成的信号灯提示,而没有加工次数的记录和提示,更没有限制加工次数的功能。所以对于企业提出的要求,数控机床现有功能是无法满足的。如果要满足企业的需求,就要对数控系统的功能进行开发,而用数控系统的高级语言开发出新的程序来增加新的功能就显得方便、灵活和快捷。为大家进行这条程序。2发格(FAGOR)高速数控系统高级语言指令的分析2.1(MSG“信息”)——用于提示信息该语句将显示引号之间的信息。CNC屏幕提供了一个区域用于显示DNC或用户程序产生的信息,它总是显示最后收到的信息,而不管它来自何处。例如:(MSGChecktool)2.2全局参数(P100-P299)——用于加工次数记录全局参数能够访问任何程序和从程序中调用子程序。全局参数可以由用户,OEMorCNC循环使用。2.3关系运算符——用于加工次数计算EQ等于NE不等于GT大于GE大于等于LT小于LE小于等于2.4ABS绝对值——用于加工次数计算例:P1=ABS-8P1=82.5(GOTON(表达式))GOTO指令引起在同一程序段内的跳转,跳转到标号N(表达式)定义的程序段。跳转后程序将从标号指定的程序段继续开始执行。跳转标号可以通过数字或结果为数字的表达式给出。例如:G00X0Y0Z0T2D4X10(GOTON22)―――――――――跳转语句X15Y20―――――――――――不被执行Y22Z50―――――――――――不被执行N22G01X30Y40Z40F1000――从此段继续执行G02X20Y40I-5J-5...2.6(IF条件动作1ELSE动作2)——用于加工次数的控制该语句分析给出的条件,它必须是一个关系表达式。如果条件为真(结果等于1),将执行动作1。否则(结果等于0)将执行动作2。例如:(IF(P8EQ12.8)CALL3ELSEPCALL5,A2,B5,D8)如果P8=12.8执行(CALL3)如果P812.8执行(PCALL5,A2,B5,D8)该语句可以没有ELSE部分,对程序而言IF条件动作1已足够了。例如:(IF(P8EQ12.8)CALL3)动作1和动作2可以是表达式或语句,但不能是IF和SUB。因为在高级语言中局部参数可以通过字母命名,这种类型的表达式可由下列形式获得:(IF(EEQ10)M10)如果满足参数P4(E)的数值为10的条件,辅助功能M10并不执行,因为在高级语言中不能有ISO代码命令。在这种情况下,M10表示将数值10赋予参数P12,即可以按下列任意一种格式编写:(IF(EEQ10)M10)或(IF(P4EQ10)P12=10)2.7(ERROR整数,“错误文本”)——经济视野EconomicPerspective077质量管理用于警报提示该语句停止程序的执行显示指定的错误,可以按下面的方式选择:(ERROR整数)显示指定的错误号,并根据CNC的错误代码显示与该错误号相关的文本。(必须有与此错误号对应的错误文本)。(ERROR整数,“错误文本”)显示错误号和指定的错误文本。需将要显示的文本写在引号之间。(ERROR“错误文本”)只显示错误文本。错误号可以用数字常数和算术参数定义。当使用局部参数时,必须使用其数字格式(用P0到P25而不是A到Z)。编程实例:(ERROR5)(ERRORP100)(ERRORUsererror)(ERROR3,Usererror)(ERRORP120,Usererror)3系统控制程序的编写3.1由于企业机床有对刀仪,而且每次更换磨头后都需要使用对刀仪进行对刀,那么就把每次使用对刀仪当作是每100次加工的开始(加工次数清零)。取全局参数P119当作是每次对刀的记录,编写格式为:(P119=P119+1),把这一段放在企业程序的开头,每执行一次程序P119就在原来的基础上增加1。3.2然后在对刀仪程序后面增加一句:(P119=0),每一次对对刀仪P119的数就会变成0,现在完成了加工次数的计算和记录,以及加工次数清零的效果。3.3当加工次数大于或等于100时,数控系统需要有报警提示,该提示要有停止机床工作和提示操机人员更换磨头的作用,在程序最后面增加一段语言:(ERROR1,“JGCS100”),当机床出现这句语言时,机床就会停止下来并退出界面显示“JGCS100”。3.4下面需要一个加工次数的控制,利用高级语言的IF来对P119(加工次数)进行控制,编写格式为:(IFP119GE100GOTON1),把N1放在最后的(ERROR1,“JGCS100”)前面,这样就可以实行加工次数控制,它的工作原理是:如果P119(加工次数)大于或等于100时,程序将跳转到行号为N1那一段,执行(ERROR1,“JGCS100”),机床就会停下来并退出主界面显示该警报。3.5最后就是要一个提示功能(MSG),因为提示的结果是不断地变化,所以提示的结果必须是个变量,之前使用P119来记录加工次数,那么现在也可以用P119来作提示的变量,因为MSG的提示方式有很多种,经过多次试验,最终写出表达式:(MSG“?P119”),执行这条程序时,系统显示屏上的左上角会出现P119所代表的数值,这样就能实现加工次数的提示。将这提示表达式放在表达式(P119=P119+1)的下一行。系统程序的修改:首先在对刀仪程序后面增加一行:(P119=0)―每次使用对刀仪P119清零;增加控制后的程序:%,MX--,(IFP119GE100GOTON1)――加工次数的判断(P119=P119+1)―――――――加工次数的计算与记录(MSG“?P119”)――――――加工次数的提示G53Z-2S22000M3G71G0G90G17G51E0.01G04K500G54......M09M05G53Z-5G53X-5Y-5M30N1(ERROR1,“JGCS100”)――加工次数大于或等于100时的警报%,MX--,4实际使用中程序的优化程序在经过多次试验证明可行后交给用户使用,但在实际使用时,了解到用户加工的工作时间是一天有三个班次,每个班8个小时,这样操机人员就会出现换班交接的情况,如果下班时机床刚好是第100个产品,而换班回来的操机人员在没有更磨头的情况下使用对刀仪对刀,将P119(加工次数)清零,那么就会有100个产品报废,为了防止这种情况,必须对程序进行优化。考虑到以上情况是由于没有更换磨头造成,那么必须从更换磨头的前后变化来进行控制。从对刀仪程序可以知道对刀仪的工作原理是:把当前对刀的刀具长度(P104)与上一次对刀的刀具长度(P106)之间的差值(P105)加上Z轴坐标值里面,实现刀具长度的补正。那么如果没有更换磨头直接去对对刀仪,在理论上P104与P106的值相同,P105就等于0。在实际加工中就要对P105进行控制:考虑到对刀仪实际上有0.01MM误差,而且每次更换磨头对完对刀仪后P105的值变化都很大,所以把P105的绝对值定义在0.1MM内,就是说如果使用对刀仪对刀后P105的绝对值少于0.1MM,那么就当作是没有更换磨头,需要重新更换磨头再去对对刀仪,直到对刀仪的P105的绝对值大于或等于0.1MM才能有效,最终编写出(IFABS(P105)LT0.1GOTON1),最终使系统程序得到了优化。首先在对刀仪程序后面增加一行:(P119=0)―每次使用对刀仪P119清零;增加控制后的程序:%,MX--,(IFP119GE100GOTON1)―――加工次数的判断及控制(IFABS(P105)LT0.1GOTON1)-是否有更换磨头的判断及控制(P119=P119+1)――――――――加工次数的计算与记录(MSG“?P119”)―――――――加工次数的提示G53Z-2S22000M3G71G0G90G17G51E0.01G04K500G54......M09M05G53Z-5G53X-5Y-5M30N1(ERROR1,“JGCS100”)――加工次数大于或等于100时的警报%,MX--,试验后把程序交给企业使用,经过企业连续的使用,机床并没有出现因为没有换刀而造成把手加工不合格的问题。因此进一步解决了用户在使用中功能的需求,使系统的功能开发得到了实际的应用,系统的操作方便,控制完善也得到进一步的提升,取了大大的效益。通过这个事例我们可以发现如果对系统的功能了解不清楚,就会造成操作的不便和废品的产生。随着用户对数控机床各方面的性能要求越来越高,数控机床的高级语言在实际生产中也发挥越来越大的作用。因此,掌握数控高级语言的使用方法将会创造更多的价值。【参考文献】[1]CNC8055/CNC8055I(M)编程手册-FAGOR[2]CNC8055/CNC8055I(M)安装手册-FAGOR[3]CNC8055/CNC8055I(M)操作手册-FAGOR