最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

构建PMAC数控系统的关键技术和实现方法

发布时间:2013-10-27 作者:牛志刚 张建民 孙宏昌  来源:万方数据
关键字:PMAC 数控 系统 
本文分析了在使用PMAO开发数控系统软件时的关键技术以及面临的问题,提出了在PMAC中进行程序设计的方法和对策。利用集中输入输出思想、梯形图编程方法和布尔逻辑运算,简化了复杂逻辑PLC程序的设计,提高了程序逻辑的清晰度和可靠性。采用自动插入同步变量的方法,成功地解决了数控加工过程中数控代码的实时跟踪问题。

2 数控代码转换

  PMAC有一套完整的专用数控编程语言,支持用户进行数控程序设计。而对于通用数控机床,编程语言通常采用国际ISO标准规定的代码字符和格式,我国的数控机床标准也是参照ISO制定的,如GB8870—88(代替JB3050—82)等效IS0840标准。因此由PMAC构建的数控系统必须将G、M、T等代码转换为PMAC的专用语言。

 程序

  PMAC能以子程序的方式支持G、M等代码的使用,只需在PMAC中编制相应的子程序,将G和M代码转换为PMAC的运动程序表达式,即可实现对ISO代码的支持。子程序的入口地址根据代码字符和后续的功能号确定,G代码的转换子程序格式如下:程序中,M902对应主轴的控制端口,M02代码转换中使用延时指令的目的是停止PMAC的程序预读功能,以免主轴提前停止。

3 数控加工程序跟踪

  数控加工过程中,需要对程序的运行过程进行跟踪,即要求实时显示当前正在执行的数控代码。在“PC+PMAC”的数控系统中,可通过显示界面显示程序执行过程。

  PMAC的在线指令“PE”能够显示当前正在执行程序行的偏置地址,但由于用户程序是以ISO标准代码编制,在PMAC中使用了代码转换,因此用“PE”指令很难捕捉到当前的G或M代码指令,基本上只能返回转换子程序中的PMAC语句在该子程序中的偏置地址,而该地址数据对于用户程序中的任何同功能代码都是一致的,因而无法判断当前正在执行的程序代码。

  有一个简单的方法可以解决数控程序跟踪问题,即在用户程序下载到PMAC之前,自动在每一行程序前自动插入标志变量赋值语句,赋值量与对应的用户程序行号一致,但界面显示仍为原始的用户程序。通过标志变量的值即可判断正在执行的代码位置,并可以在界面显示的程序中做明显标记。实际下载到PMAC中程序格式如下:

程序

  程序中的M1变量为标志变量,不能使用“=”赋值格式,必须使用“==”赋值格式。PMAC具有程序预读功能,“=”赋值会在预读时立即执行,导致M1的赋值提前于实际运行的程序代码。“==”是一种同步赋值格式,使用该赋值格式的M变量称为同步变量,同步变量在预读时不会进行立即赋值,只有在该变量的下一个运动程序块开始实际运行时才进行赋值,从而保证了M变量值与当前运行的程序行完全同步。

4 结束语

  本文对开发基于PMAC的数控系统中的有关软件设计技术进行了探讨,分析了常规PLC的运行原理,将集中输入输出思想、梯形图设计方法和布尔逻辑表达式引入到PMAC的PLC程序设计中,简化了程序设计,提高了程序的可靠性和逻辑清晰度。对G代码和M代码的转换方法做了说明,使数控系统能直接支持广泛使用的ISO代码编程。数控加工程序行的实时跟踪是数控系统的重要实用功能,文中对PMAC由于代码转换而不能有效跟踪程序执行过程的问题提出了解决方法。文中提到的设计技术均应用于北京理工大学PRS-XY混联机床开放式数控系统设计中,并取得了很好的效果。 

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
相关资料推荐