撰文/ 天津机电职业技术学院产学研中心 赵华 陈甫
对华中世纪星HNC-21T 数控车系统进行分析,在VERICUT 仿真软件中配置对应的控制文件,通过VERICUT 交互界面对HNC-21T 系统有代表性的指令和功能配置进行探讨,介绍了VERICUT 配置控制文件的一般步骤和方法,通过对NC 子程序、VERICUT 宏、数控宏程序等多种方法的综合运用,对G80 外径车削单一循环指令进行配置。通过一个典型零件的虚拟加工,验证了所配置的控制文件的正确性。
一、引言
VERICUT 软件是一款美国CGTech 公司开发的数控加工仿真和优化平台,可以真实地模拟多种加工设备的数控加工过程,能够进行NC 程序优化,检查过切、欠切,防止机床碰撞、超行程等错误。VERICUT 为用户提供了大量仿真机床和控制系统,但对于一些非标数控设备和国际市场占有率低的设备和控制系统,需要用户根据自己的使用需求进行自定义。近年来,国产数控产品日益崛起,但是VERICUT 库中几乎没有国产数控设备及系统样本。
本文针对国内广泛使用的华中世纪星HNC-21T 数控车床系统进行配置,介绍了VERICUT 数控系统配置的一般步骤和方法,并对其中的关键技术进行研究。
二、VERICUT 控制系统
在VERICUT 中,一个完整的仿真项目由项目文件(*.vcproject)、机床文件(*.mch)、控制文件(*.ctl)、刀具文件(*.tls)及模型文件(*.stl)组成。其中机床文件包括各种运动轴的配置、夹具和毛坯等,即数控机床硬件;控制文件包含各种指令代码及符号配置,即数控机床控制系统。VERICUT 控制系统是虚拟的控制系统,任务是向VERICUT 软件解释机床代码,并控制虚拟机床运动。
用户可以根据自己的需求直接调用VERICUT 样本库中已有的控制系统文件,也可以选用VERICUT 提供的宏在交互界面中建立新的控制文件。VERICUT 的宏是开发者为了方便用户使用,开发的一些程序块,供用户选择使用,可以用来实现机床的某些动作,也可以配置系统指令。
VERICUT 控制系统与实际控制系统十分相似,因此用户在建立控制系统时可以按照系统编程说明书对控制系统的功能和指令逐一进行配置,也可以仅对用户需要的功能进行选择性的配置。
自定义控制系统文件,可以选择某一VERICUT 库内的控制文件作为模板, 在模板的基础上进行修改。一般,VERICUT 控制系统的制定包括以下几个方面:Word Format( 字格式的定义),G-Code Processing( 代码定义),Control Settings( 控制系统设置),Adv. Options(高级选项)。VERICUT 可以支持一般的标准代码,但是对一些非标准代码和格式需要进行定义。Configuration(配置)> Word Format(字格式),打开Word Format window(字格式定义窗口),定义指令字格式。Configuration(配置)> G-Code Processing(代码定义),定义每一个字的功能。下面选取HNC-21T 系统具有代表性的指令和功能进行配置。
三、编程方式设置
1. 绝对值编程与相对值编程
格式:G90/ G91。说明:G90 是绝对值编程,指令后面的X、Z 表示X 轴、Z 轴的坐标值;G91 是相对值编程,用U、W 或G91 指令后面的X、Z 表示X 轴、Z 轴的增量值,G90 为缺省值。Configuration(配置)> Word Format(字格式),打开Word Format window(字格式定义窗口),定义字U、W 如表1 所示。
Configuration(配置)> G-Code Processing(代码定义)> Word/Address,对绝对值编程G90 与相对值编程G91 进行设置如图1 所示。
2. 直径方式编程和半径方式编程
格式:G36/G37。说明:G36 为直径编程,G37 为半径编程,G36 为缺省值,机床出厂一般设为直径编程。首先通过程序测试系统模板的默认编程方式,经过测试调用的该模板的默认编程方式是直径方式编程,因此G36 直径编程和G37 半径编程的G 代码配置如图2 所示。
四、宏程序功能
HNC-21 为用户配备了宏程序功能,用户可以使用变量进行算数运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句。以IF、ELSE、ENDIF 语句为例,格式定义如表2 所示。
Configuration(配置)> G-Code Processing(代码定义)> Word/Address > Branching,对语句的功能进行设置,如图3 所示。
五、车削循环
切削循环通常是用一个含G 代码的程序段完成多个程序段指令的加工操作, 使程序得以简化。VERICUT提供了丰富的宏,可以对一般的循环命令通过G-CodeProcessing 进行配置,但是也有些特殊的或者不经常使用的循环指令无法用宏来实现,这时可以使用子程序的方法进行定义。本文以G80 为例说明VERICUT 中通过子程序的方法对循环指令进行配置的方法。
格式:G80 X_Z_ I_F_。说明:G80 为外圆轮廓内外径单一车削循环,循环路线如图4 所示;X、Z 为绝对值编程时切削终点C 在工件坐标系下的坐标值,如果是增量坐标编程,则用U、W 表示;I 为切削起点B 与切削终点C的半径差。
首先通过Project > Variables 定义子程序中所需要的变量,变量名称及意义如表3 所示。
Configuration(配置)> G-Code Processing(代码定义),对G80 指令相关的字进行设置,如图5 所示。其中以G0 为代表说明所有可以注销G80 的指令设置方法。
宏程序采用直径编程,子程序主体及注释如下。
O0081
#8010=0
#8009=1
#8003=#5041 (起点位置X 坐标值#5041 赋值给#8003)
#8004=#5042 (起点位置Z 坐标值#5042 赋值给#8004)
IF #3637 EQ 37
#8006=2(半径方式编程)
ELSE
#8006=1(直径方式编程)
ENDIF
IF #4003 EQ 91(如果X 值是增量方式G91)
#8007=#8001/#8006+#8003(增量X 值转化为绝对直径值,赋值给#8007)
#8011=91(把执行G80 子程序之前的编程方式赋值给#8011)
ELSE
#8007=#8001/#8006(X 值转化为直径值,赋值给#8007)
#8011=90(把执行G80 子程序之前的编程方式赋值给#8011)
ENDIF
IF #4003 EQ 91(如果Z 值是增量方式G91)
#8008=#8002+#8004(增量Z 值转化为绝对值,赋值给#8008)
ELSE
#8008=#8002
ENDIF
G90 (将编程方式设置为绝对坐标)
CGTECH_MACRO "MotionRapid" (快进)
X[#8007+#8005*2] (从A 点移动到B 点)
CGTECH_MACRO "MotionLinear"(进给)
X [#8007] Z[#8008](从B 点移动到C 点)
CGTECH_MACRO "MotionRapid"
X[#8003/#8006](从C 点移动到D 点)
Z[#8004](返回起点)
#8009=0
#8010=80(设置标记,执行G80 直到被其他G 代码注销)
#4003=#8011(恢复编程方式)
M99
六、结语
数控机床正向着多功能、多主轴和多通道等方向发展,数控仿真技术日益重要,VERICUT 越来越得到广大机床用户的认可。本文通过对华中世纪星HNC-21T 数控车系统部分指令和功能的配置,介绍了在VERICUT 中自定义数控控制文件的一般步骤和方法,并通过对VERICUT 宏、子程序等方法的应用,配置循环指令G80。通过对一个能够覆盖本文所有配置功能的零件进行虚拟加工,如图6 所示,验证了配置的正确性。