本使用手册及样例包目录内所包含文档、PLC程序、机床可执行程序(MPF、SPF、…)、电气图,可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
对于在使用中发生的人员、财产损失本公司不承担任何责任,由使用者自行承担风险。
以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新不做另行通知。
Cycle832高速高精循环,如何实现高速高精的呢?
主程序目录下建立TEMP_CYCLE832.MPF程序,内容为空。

执行含cycle832的程序

Temp_cycle832.mpf程序内容,含有cycle832循环执行的指令及状态
;! only for internal diagnostics ! Date: 14.3.2020 20:59:10
;T-Number $P_TOOLNO=0
;D-Number $P_TOOL=0
;T0
;M6
;D0
G[06]=1 ; G17/G18/G19
G[13]=2 ; G70/G71/...
G[29]=1 ; DIAMON /...
G[15]=2 ; G94/G95/... $P_F_TYPE=0
F0
;$P_MSNUM=0 no spindle existant
CYCLE832(0.1,3,1)
M30
;G[01]=2 ; 1=G0 2=G1 3=G2 4=G3 5=CIP
;G[04]=3 ; 1=STARTFIFO 2=STOPFIFO 3=FIFOCTRL
;G[06]=1 ; 1=G17 2=G18 3=G19
;G[10]=7 ; 1=G60 2=G64 3=G641 4=G642 5=G643 6=G644 7=G645
;G[12]=2 ; 1=G601 2=G602 3=G603
;G[13]=2 ; 1=G70 2=G71 3=G700 4=G710
;G[15]=2 ; 1=G93 2=G94 3=G95 4=G96 5=G97 6=G931 7=G961 8=G971
; ; 9=G942 10=G952 11=G962 12=G972 13=G973
;G[21]=2 ; 1=BRISK 2=SOFT 3=DRIVE
;G[24]=2 ; 1=FFWOF 2=FFWON
;G[30]=4 ; 1=COMPOF 2=COMPON 3=COMPCURV 4=COMPCAD 5=COMPSURF
;G[45]=2 ; 1=SPATH 2=UPATH
;G[59]=3 ; 1=DYNNORM 2=DYNPOS 3=DYNROUGH 4=DYNSEMIFIN 5=DYNFINISH
;G[61]=1 ; 1=ORISOF 2=ORISON
;$P_FGROUP_MASK=7
;$P_TRAFO=0
;$AA_ATOL[X]=0.1 $P_CTOL=0.1732050808 $AC_CTOL=0.1732050808
;$P_OTOL=1.4142136 $AC_OTOL=1.4142136 _FACTOR=10
;$AA_ATOL[C]=1 $AA_FGREF[C]=10
;$AA_ATOL[A]=1 $AA_FGREF[A]=10
红色字符标记的指令,表示当前已激活的指令。
G[04]=3 ; 1=STARTFIFO 2=STOPFIFO 3=FIFOCTRL
G[10]=7 ; 1=G60 2=G64 3=G641 4=G642 5=G643 6=G644 7=G645
G[21]=2 ; 1=BRISK 2=SOFT 3=DRIVE
G[24]=2 ; 1=FFWOF 2=FFWON
G[30]=4 ; 1=COMPOF 2=COMPON 3=COMPCURV 4=COMPCAD 5=COMPSURF
G[45]=2 ; 1=SPATH 2=UPATH
G[59]=3 ; 1=DYNNORM 2=DYNPOS 3=DYNROUGH 4=DYNSEMIFIN 5=DYNFINISH
G[61]=1 ; 1=ORISOF 2=ORISON

轨迹、速度要求:
N28520 $MC_MM_MAX_AXISPOLY_PER_BLOCK = 5
每条程序段中轴多项式的最大数量
· 含G642-G645的精磨时该机床数据必须至少设为3。
· COMPCAD(精优曲面)时,建议设为5。
· COMPSURF时,建议设为15。
N28530 $MC_MM_PATH_VELO_SEGMENTS = 5
用于限制路径速度的存储单元的数量
· 3: 适用于G643和G644,只有几何轴运动时
· 5: 适用于G643和G644,有几何轴和回转轴运动时
· 5: 适用于COMPCAD
· 5: 适用于动态转换
· 8: 适用于COMPSURF
N28540 $MC_MM_ARCLENGTH_SEGMENTS = 10
用于表示弧长函数的存储单元的数量
· COMPSURF和3轴应用,设为10足够。
· COMPSURF和5轴应用,至少要设为20
CTOL = SQRT(3) * Tolerance
ROUGH:
OTOL = SQRT(3) * Tolerance * SD55441 $SCS_MILL_TOL_FACTOR_ROUGH (default 10)
SEMIFINISH:
OTOL = SQRT(3) * Tolerance * SD55442 $SCS_MILL_TOL_FACTOR_SEMIFIN (default 10)
FINISH:
OTOL = SQRT(3) * Tolerance * SD55443 $SCS_MILL_TOL_FACTOR_FINISH (default 10)
刀具矢量平滑,按OTOL公差,将均分成$MC_ORISON_STEP_LENGH长度的内部程序段,保证刀具矢量光滑连续。

ORISON ORISOF
N20476 $MC_ORISON_STEP_LENGH = 0.5 ORISON子程序段的路径长度
N20478 $MC_ORISON_MODE = 100 定向平整模式
N28590 $MC_MM_ORISON_BLOCKS = 100 可以激活“ORISON定向平整”功能并为其预留存储器
$SC_ORISON_TOL à OTOL 定向公差
注:
ORISON只对刀尖点处理,较大的OTOL将引起过切。

轨迹压缩器,将小轨迹拟合成内部的样条曲线。

N20170 $MC_COMPRESS_BLOCK_PATH_LIMIT = 20
确定可压缩程序段的最大运行长度。超出此限制的程序段会中止压缩 ,然后按正常状态执行。
N20172 $MC_COMPRESS_VELO_TOL = 1000
压缩器COMPCAD的特性则不同:只要进给率的变化量低于由COMPRESS_VELO_TOL指定的阈值,它就会忽略该变化。当一个程序段中编写的进给率变化量超出COMPRESS_VELO_TOL时,COMPCAD便在该程序段过渡处中止压缩,以便准确地在目标位置上使新的进给率生效。
$MC_COMPRESSOR_MODE = 300 (unless velocity is reduced, then set to 100)
压缩器工作方式
· = 100 splits circular blocks into linear blocks before compressing
· = 300 and STOLF for compresses G00 blocks
N20485 $MC_COMPRESS_SMOOTH_FACTOR[2-4] = 0.0001
压缩器COMPCAD对程序终点的平滑度
N20486 $MC_COMPRESS_SPLINE_DEGREE[2-4] = 5
压缩器COMPCAD的样条生成度
N20487 $MC_COMPRESS_SMOOTH_FACTOR_2[2-4] = 0.5
非几何轴的压缩器COMPCAD对程序终点的平滑度
N28070 $MC_MM_NUM_BLOCKS_IN_PREP = 80
确定进行预处理的NC程序段的数量。该数量主要由系统软件决定,此处主要用于优化。每条NC程序段占用大约10kB的动态存储器
N42470 $SC_CRIT_SPLINE_ANGLE = 36
压缩器识别拐角的极限角度
$SC_MIN_CURV_RADIUS = 1
最小曲率半径
$MA_COMPRESS_POS_TOL[AX] à CTOL, OTOL, ATOL[AX]
注:
Compcad(橙色线):$MC_COMPRESSOR_MODE<100
AS(绿色线):$MC_COMPRESSOR_MODE>=100

拐角光滑,拐角处自动插入样条曲线。

G645 |

N20490 $MC_IGNORE_OVL_FACTOR_FOR_ADIS = 1
=TRUE,可以使G64x不受该过载系数的影响。
N20480 $MC_SMOOTHING_MODE = x0x
使用G64x精磨的特性
$MA_COMPRESS_POS_TOL[AX] à CTOL, OTOL, ATOL[AX]
N33120 $MA_ PATH_TRANS_POS_TOL[AX] =0.005
G645精磨时的最大偏差
N10682 $MN_CONTOUR_SAMPLING_FACTOR = 1
轮廓最长采样时间计算系数
$MN_ MIN_CONTOUR_SAMPLING_TIME = dep. on hardware
N20605 $MC_PREPDYN_SMOOTHING_FACTOR
设置曲率的平滑系数。该系数越大,平滑效果越佳,曲率变化越平稳,路径速度也就越均匀
N20606 $MC_PREP_DYN_SMOOTHING_ON
激活曲率平滑。激活曲率平滑会使路径速度更加平稳
$MC_PREPDYN_SMOOTHING_FACTOR[0-4] = 1
$MC_PREPDYN_SMOOTHING_ON[2-4] = 1
$MC_PREPDYN_MAX_FILT_LENGTH_GEO[0-4] = 2
$MC_PREPDYN_MAX_FILT_LENGTH_RD[0-4] = 5
$MC_MM_PREPDYN_BLOCKS = 10
速度计算程序段的数量
轨迹速度控制,根据缓冲区程序段的数量,控制轨迹速度
$MC_LOOKAH_SYSTEM_PARAM [0-19] = 0
N20433 $MC_LOOKAH_FFORM[2-4] = 1
N28533 $MC_MM_LOOKAH_FFORM_UNITS = 18
用于扩展前瞻功能的存储器
N29000 $OC_LOOKAH_NUM_CHECKED_BLOCKS
注:
$AC_IPO_STATE
Bit0=0 old Look Ahead active
Bit0=1 new Look Ahead active
Bit1=0 COMPOF
Bit1=1 COMPCAD
$MC_MM_IPO_BUFFER_SIZE = 150
$OC_LOOKAH_NUM_CHECKED_BLOCKS =150
若用户想更改cycle832的指令,需要定制CUST_832.SPF子程序。

_M_INIT:
_FGREF =10
_FACTOR =10
IF $MN_SCALING_SYSTEM_IS_METRIC ;metric system?
IF (($P_GG[13]==1) OR ($P_GG[13]==3)) ;G70,G700
_FGREF =_ FGREF / $MN_SCALING_VALUE_INCH
ENDIF
ELSE ;inch system
IF (($P_GG[13]==2) OR ($P_GG[13]==4)) ;G71,G710
_FGREF =_ FGREF * $MN_SCALING_VALUE_INCH
ENDIF
ENDIF
IF NOT($MN_SCALING_SYSTEM_IS_METRIC)
_FACTOR=_FACTOR*$MN_SCALING_VALUE_INCH
ENDIF
FGREF[AX4]=_FGREF
FGREF[AX5]=_FGREF
ORIAXES
ORIWKS
GOTOF _MEND
_M_FINISH :
SOFT COMPCAD G645 FIFOCTRL UPATH FFWON DYNFINISH CPRECON
$MA_AX_JERK_TIME[AX1]=0.01 ;(1st linear axis)
$MA_AX_JERK_TIME[AX2]=0.01 ;(2nd linear axis) $MA_AX_JERK_TIME[AX3]=0.01 ;(3rd linear axis)
$MA_AX_JERK_TIME[AX4]=0.01 ;(1st rotary axis)
$MA_AX_JERK_TIME[AX5]=0.01 ;(2nd rotary axis)
NEWCONF
GOTOF _MEND
_MEND:
IF $P_CTOL>0
_TOLMAX=0.02 * SQRT(3)
IF $MN_SCALING_SYSTEM_IS_METRIC ;metric system?
IF (($P_GG[13]==1) OR ($P_GG[13]==3)) ;G70,G700
_TOLMAX=_TOLMAX/$MN_SCALING_VALUE_INCH
ENDIF
ELSE ;inch system
IF (($P_GG[13]==2) OR ($P_GG[13]==4)) ;G71,G710
_TOLMAX=_TOLMAX*$MN_SCALING_VALUE_INCH
ENDIF
ENDIF
$SC_CONTPREC=$P_CTOL/SQRT(3) ;Tolerance
CPRECON
IF ($P_CTOL>=_TOLMAX)
CTOL=_TOLMAX
ENDIF
ENDIF
RET

添加需要注意的事项
添加需要注意的事项
N20470 $MC_CPREC_WITH_FFW=3
可编程的轮廓精度
· 0:CPRECON在激活前馈控制时失效。
· 1:CPRECON在激活前馈控制时仍保持生效。
· 2:同1,但CPRECON可用机床数据32415 $MA_EQUIV_CPREC_TIME设置。
· 3:同2,但是如果用CTOL编写了轮廓精度,则该轮廓精度比设定数据42450 $SC_CONTPREC优先。
· 4:CPRECON的生效与前馈控制和震动滤波器无关。仅在计算轮廓故障时考虑机床数据32415 $MA_EQUIV_CPREC_TIME。所有影响轮廓故障的时间常数必须得出总数输入到机床数据32415 $MA_EQUIV_CPREC_TIME中。
· 5:和4一样,但相比于设定数据42450 $SC_CONTPREC,优先考虑通过CTOL编程的轮廓精度
N42450 $SC_CONTPREC
SINUMERIK Option 6FC5800-0AS06-0YB0
Duan Gang
2020.3.15
版本 | 日期 | 修改内容 |
V1.0 | 2020.3.15 | |