1      免责声明

本使用手册及样例包目录内所包含文档、PLC程序、机床可执行程序(MPF、SPF、…)、电气图,可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

对于在使用中发生的人员、财产损失本公司不承担任何责任,由使用者自行承担风险。

以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新不做另行通知。

2      Cycle832

Cycle832高速高精循环,如何实现高速高精的呢?

2.1     执行了哪些功能和指令

主程序目录下建立TEMP_CYCLE832.MPF程序,内容为空。

                                              image.png


执行含cycle832的程序

image.png

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

2.2     当前激活的高速高精指令

红色字符标记的指令,表示当前已激活的指令。

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


3      指令解析

3.1      高速高精程序处理过程

image.png

3.2      基本参数

轨迹、速度要求:

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

3.3      公差计算

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)

 

3.4      ORISON

刀具矢量平滑,按OTOL公差,将均分成$MC_ORISON_STEP_LENGH长度的内部程序段,保证刀具矢量光滑连续。

image.png image.png

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将引起过切。

image.png image.png

3.5      COMPCAD

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

image.png

 

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

image.png

3.6     G645

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

image.png


G645

image.png image.png image.png


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精磨时的最大偏差

3.7     轮廓采样(Contour Sampling)

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

            激活曲率平滑。激活曲率平滑会使路径速度更加平稳

3.8     Fluctuation of curve

$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

速度计算程序段的数量

3.9      预读(Look Ahead)

轨迹速度控制,根据缓冲区程序段的数量,控制轨迹速度

$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

3.10  插补缓冲区(IPO Buffer)

$MC_MM_IPO_BUFFER_SIZE = 150

$OC_LOOKAH_NUM_CHECKED_BLOCKS =150

4      CUST_832

若用户想更改cycle832的指令,需要定制CUST_832.SPF子程序。

4.1     CUST_832程序结构

image.png

4.2     CUST_832 à “INIT”

_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

4.3     CUST_832 à “FINISH”

_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

4.4     CUST_832 à “END”

_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


5      Laser cutting

image.png

5.1      注意事项一

添加需要注意的事项

5.2      注意事项二

添加需要注意的事项


6      精度提高功能

6.1     轮廓控制精度(CPRECON)

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

 

6.2     自适应摩擦补偿

6.2.1        选项

SINUMERIK Option 6FC5800-0AS06-0YB0

 

7      作者/联系人

Duan Gang

2020.3.15

8      版本信息

版本

日期

修改内容

V1.0

2020.3.15