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急冲限制
……