SINUMERIK系统的同步动作(synchronized action)类似于一个简单的中断“程序”,它作为主、子程序内的一个程序段,既可提供条件定义下动作执行对实时事件的响应,也可提供使用寿命、主运行变量轮询及启动动作执行频次的说明。一个动作可以1次触发,也可在插补节拍内循环触发。同步动作涉及的通道专用变量,见表。 表 同步动作涉及的通道专用变量 No. 变量类型 系统变量 变量描述 读写权限 (保护等级) 1 INT $AC_MARKER[n] 同步动作用操作计数器,存储与应 7 用程序相关的整数运算结果。MD28257 $MC_MM_BUFFERED_AC_MARKER=0(1) 时,它存储在DRAM(SRAM)内。遇有复 位操作,DARM内运算结果清零。取值范围 由MD28256 $MC_MM_NUM_AC_MARKER 给定标记数。 2 INT $AC_SYSTEM_MARKER[n] 预留给系统的同步动作用操作计数器,存储与 7 应用程序相关的整数运算结果。MD28257 $MC_MM_BUFFERED_AC_MARKER=0(1) 时,它存储在DRAM(SRAM)内。遇有复位操 作,DARM内运算结果清零。取值范围由机床数 据$MC_MM_NUM_AC_SYSTEM_MARKER给定 标记数 3 DOUBLE $AC_PARAM[n] 同步动作用动态参数,存储与应用程序相关的 7 实数运算结果。MD28255 $MC_MM_BUFFE RED_AC_PARAM=0(1)时,它存储在DRA M(SRAM)内。遇有复位操作,DARM内运算 结果清零。取值范围由MD28254 $MC_MM_NU M_AC_PARAM给定参数数目。
4 DOUBLE $AC_ SYSTEM_PARAM[n]预留给系统的同步动作用动态参数,存储与 7 应用程序相关的实数运算结果。MD28255 $MC_MM_BUFFERED_AC_PARAM=0(1) 时,它存储在DRAM(SRAM)内。遇有复 位操作,DARM内运算结果清零。取值范围 由MD28254 $MC_MM_NUM_AC_PARAM 给定参数数目。取值范围由机床数据$MC_MM_N UM_AC_SYSTEM_PARAM给定标记数
给出万能外圆磨床(SINUMERIK 840D)用户循环L510的部分宏程序。
MD28254 $MC_MM_NUM_AC_PARAM=100; PF61万能外圆磨床机床数据,同步动作用动态参数数目=100 MD28255 $MC_MM_BUFFERED_AC_PARAM=0
同步动作用动态参数的运算结果存入DRAM MD28256 $MC_MM_NUM_AC_MARKER=100; 同步动作用操作计数器标定数=100 MD28257 $MC_MM_BUFFERED_AC_MARKER=0; 同步动作用操作计数器的运算结果存入DRAM
L510.SPF;万能外圆磨床的X轴回退循环子程序 /_N_CUS_DIR/;存储路径:用户循环目录 …… LB210:; 标识符 M1=117 M2=115; M117关闭通道1的中间修整,M115关闭通道1的程序中断 IF (ABRTAST==0) AND (UBRTAST==0) GOTOF ENDE; IF条件:修整位ABRTAST和中间磨削位UBRTAST均为0时,向前跳至该程序内标识符ENDE IF (VZOSZ==0) GOTOF LB710; IF条件:Z轴速度VZOSZ为0时,向前跳至该程序内标识符LB710 IF ($ON_TECHNO_FUNCTION_MASK B_AND ‘B1000’); B_AND为逐位逻辑与[0&0=0,1&0=0,1&1=1],MD19320=H200008→B1000使能不带刀库的刀具管理,逐位逻辑与=1000 OS[Z]=0;关闭工件轴Z的摆动
ELSE;逐位逻辑与≠1000,执行ELSE分支 IF R335<>0;IF条件:关闭控制R335≠0 IF ((R335==1) OR (R335==2)); 关闭控制R335=1(2)表示起始(结束)位置关闭,OR为逻辑或 CANCEL(24); 删除同步动作编号24 IF R335==1;R335=1时,在起始位置APOS关闭 ID=24 WHENEVER (($R216==-1) AND ($AC_MARKER[11]==2)) DO $R330=0; 自动运行方式中模态有效的同步动作24,条件:R216赋值-1且操作计数器11赋值2,动作:R330=0→往复运动关闭。WHENEVER为条件满足时每个插补节拍中执行相应动作,AND为逻辑与 ELSE;R335=2时,在结束位置EPOS关闭 ID=24 WHENEVER (($R216==1) AND ($AC_MARKER[11]==1)) DO $R330=0; 自动运行方式中模态有效的同步动作24,条件:R216赋值1且操作计数器11赋值1,动作:R330=0→往复运动关闭。 ENDIF;起始/结束位置关闭的“IF R335==1”跳转结束 ;warten auf letzten Fahrbefehl 程序注释,等待最后的移动命令 STOPRE;进刀停止,程序段预读完毕后,再继续执行程序 WHILE R330<>0;有条件循环开始:R330≠0→往复运动开启 G04 F0.1;暂停0.1s STOPRE;进刀停止,程序段预读完毕后,再继续执行程序 ENDWHILE;结束WHILE循环 CANCEL(24);删除同步动作编号24 ELSE;在起始位置APOS或结束位置EPOS关闭 WHEN 1==1 DO $R330=0 条件:插补节拍内TRUE,动作执行1次:R330=0→往复运动关闭 ENDIF;关闭控制的“IF ((R335==1) OR (R335==2))”跳转结束 ELSE;条件分支:关闭控制R335=0→立即关闭。 WHEN 1==1 DO $R330=0;条件:插补节拍内TRUE,动作执行1次:R330=0→往复运动关闭 WHEN 1==1 DO DELDTG(Z); 条件:插补节拍内TRUE,动作执行1次:快速删除Z轴剩余行程 ENDIF;“IF R335<>0”跳转结束 ENDIF; “IF …‘B1000’)”跳转结束 WAITP(Z);工件轴Z变为中性轴 SOFT;工件轴Z急冲限制 …… |