利用西门子840D系统实现自动记录切削时间编程原理及实例分析
2013-11-16徐俊凯申玉萍
徐俊凯 窦 远 申玉萍
(沈阳黎明航空发动机(集团)有限责任公司,辽宁 沈阳 110043)
1 基本原理
系统变量$AC_TIMER[n]的基本定义是:使动作在经过规定的等待时间之后启动。数据类型:REAL(实数型)。数据单位:s(秒)。n:定时器变量号码。
①设定定时器
通过赋值$AC_TIMER[n]=value增量一个定时器变量。n:定时器变量号码。value:启动值(通常为0)。
②停止定时器
实时变量n:定时器变量号码。通过赋予一个负值$AC_TIMER[1]=-1停止定时器变量的增量。$AC_TIMER[n]的设计初衷是为了协调程序中各个动作之间的执行顺序,编程时往往被当做某个条件判断语句中的条件来使用,例如:
……
WHEN $A_IN[1]= =1 DO $AC_TIMER[1]=0
WHEN $AC_TIMER[1]>=0.5 DO $A_OUTA[3]=$AA_IM[X]$AC_TIMER[1]=-1
……
这两行程序段的作用即是在侦测到一个数字输入之后,通过模拟输出0.5s来输出一个实际坐标值。然而系统变量$AC_TIMER[n]计时的基本属性却一直被忽略了,正是$AC_TIMER[n]可编程地控制开始、停止以及可读取的特性,使之成为840D系统实现自动记录切削时间功能的关键构成,其基本程序构架如图1。
图1
虽然$AC_TIMER[n]变量储存了时间信息,但是它却无法直观的被查看或者调用,而且作为技术数据,用户更希望能够获得相对完整、规范的数据报文,所以适合实际应用的程序构架应增加数据输出的部分,如图2所示。
图2
这里必须应用到另一个关键的编程指令——WRITE:编写文件,基本定义为在特定的文件终端加上一个程序段。
编程格式:WRITE(VAR INT ERROR, CHAR[160]FILENAME,CHAR[200]STRING)
参数说明:ERROR——就返回的错误可变函数。0:没有错误;1:不允许的路径;2:找不到路径;3:找不到文件;4:文件类型不正确;10:文件已满;11:文件正在使用;12:无自由的来源;13:无访问权;20:其它错误
FILENAME——在文件名中编写字符串。
可以路径和文件辨识符号规定文件名称。路径名称须为绝对,即以”/”开始。若文件名称没有一个定义域辨识符号(_N_),会按规则加上去。若没有辨识符号(_MPF,_SPF)时,会自动在文件名称上加_MPF。若没有规定路径时,文件会储存在目前的目录(=选定之程序的目录)中。文件名称最多可为32 位,路径长度最多为128 位。
例: PROTFILE
_N_PROTFILE
_N_PROTFILE_MPF
/_N_MPF_DIR_/_N_PROTFILE_MPF/
STRING——编写文句。之后在内容加上LF;即,以一个字符加长文句。
2 编程实例
%_N_0381_MPF //程序名
;$PATH=\_N_MPF_DIR//程序文件路径
N010 DEFINE INT _ERROR //定义整数型变量”_ERROR”
N020 T12 M6
N030 G54 D1
N040 G0 G90 G40 X0 Y0 Z600 B0
N050 S800 M3
N060 TRANS X0 Y146.5
N070 G0 Z475
N080 $AC_TIMER[1]=0//设置计时器开
N090 G1 Z448 F45 //开始切削
N110 Y44.5
N120 X-20
N130 Y-44.5
N140 X20
N150 Y44.5
N160 X0
N170 Y44
N180 $AC_TIMER[1]=-1//设置计时器关
N190 WRITE(_ERROR,”/_N_WKS_DIR/
_N_WPD_DIR/_N_0381LOGF_MPF”,”THIS
PROG RUNTIME IS ”<<$AC_TIMER[1]) //在指定路径生成文件”0381LOGF”,并写入字符串” THIS PROG RUNTIME IS _(空格内为$AC_TIMER[1]的实 际值,单位s)”
N200 G0 Z600 //快速退回至HOME PONIT
N210 TRANS
N220 M5
N230 M30 //程序停止
3 注意事项
①大多数的SINUMERIK 840D机床系统中的$AC_TIMER[n]参数是默认关闭的,必须手动调整机床轴MD参数中MD28258项的设置才能激活该功能,而且需要重启NCK内核。②$AC_TIMER[n]参数的计时结果与加工程序中的预设F值无关,如上例所示,当加工程序运行至N180 $AC_TIMER[1]=-1时,$AC_TIMER[1]参数中即为自N090运行至N170的实际时间,而不是以总长/F值所得到的时间,因为在实际试加工过程中操作者可能会根据不同的工况手动提调整进给倍率旋钮,所以$AC_TIMER[1]参数的数值更具实用价值。③为完善数据报文,便于数据统计和分析,可在程序开始处增加写入程序运行起始时间的的命令行,例如:WRITE (_ERROR,”/_N_WKS_DIR/_N_WPD_DIR/_N_0381LOGF_MPF”,”THIS PROG BEGIN IN ”<<$A_YEAR<<”/”<<$A_MONTH<<”/” <<$A_DAY<<”/”<<$A_HOUR<<”/”<<$A_MINUTE),这即可以“年/月/日/时/分”的格式将程序运行的具体时间写入0381LOGF文件中,其中”<<”字符是连接字符串数据的所必须的命令符号,而写入的字符串内容可根据实际需要灵活调整。
结语
在新产品研发加工过程中,在验证工艺方法的同时还需收集相关的生产数据,例如零件每工序的实际切削时间等。通过利用系统自动统计功能可以减少人为实地跟产记录,提高人力资源利用效率,强化数据的准确性和可靠性,夯实制造管理基础。
[1]冯潼能.MBD 技术在协同设计制造中的应用[J].航空制造技术,2010.
[2]粉末冶金工艺学[M].北京:科学普及出版社,2005.