hello cnc ladies & gents only for you refference, pls check this code & attached image

Code:
OS** ( soubroutine CALL statement includes the local variable LINK that points to the turret post )
    
    LVRF = VRSTT / 128                                      ( local variable restart flag )
  ( NGHOST ) G305                                           ( step by step : disabled )
    IF [ VRSTT NE 0 ] NEND                                  ( code skip during restart sequence : delivers shorter restart time )
    IF [ ....       ] NEND                                  ( conditional code; handling more parts / pull operation )

    M09
    CALL OCHK8 LV01=LINK LV02=0 LV03=0 LV04=78.411 LV05=0.5 ( checking main offset )
    CALL OCHK4 LV01=VNSRZ[LINK] LV02=0 LV03=1               ( checking radius      )
    G304                                                    ( step by step : enabled )

    IF   LDFB        NODYN0                                 (*1)
         LVRF = 1                                           ( executed only at 1st cycle loop, or 1st part    )
         NODYN0      NOEX


    IF [ LVRF EQ 1 ] NODYN1
       ( NFALSE )    ILK = Z_clamp_position + clearance     ( executed only in 'continuum'               mode )
         NODYN1      CALL ODYNX LPOS = 0 LCTR=3             ( executed in both 'continuum' and 'restart' mode )

    G00 Z_clamp_position + clearance  X0
    G29 PZ=20                         G94                   ( avoiding hard Z loads, by reducing the default servo admissible torque )
    G01 Z_clamp_position              F650
    M84
    G91 Z_travel + VNSRZ [ LINK ]     F2200                 ( using the 'radius' only to adjust the travel )
    M83
    G90 Z2.5                          F650
    G28                                                     ( restore default servo admissible torque )

                                                            (*2)

    NEND NOEX


RTS ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . )

(*1)
( this paragraph contains preparatority codes for the dynamic indexing soubroutine : )
( ... reduced travels to safe position, that deliver low indexing clearances         )
( ... ctr codes accordingly to operation type                                        )
( ... dual safe positions, in respect to restart mode, or continuous mode            )

(*2)
( without end safe position                                          )
( this does not mean that the turret is not going to a safe position )
( it does the next time when dynamic indexing occurs                 )


Similar Threads: