Positioning spindle (M19, POS)

M19

Spindle positioning

(non-modal)

POS

Spindle position

(modal)

The spindle M-function M19 results in spindle positioning and must be used in conjunction with the POS-word. M03/M04 resp. the spindle speed (REV) in the same NC-block are optional. However, a valid spindle speed (> 0) must be set. M19 may not be used together with M5 (spindle stop).

Spindle position POS is modal and does not need to be specified again if programming M19 again. If no spindle position has been programmed before, the motion is to default position "zero".

If the spindle is not rotating, positioning is executed with the shortest traverse path.

The spindle positioning with M19 is only allowed for position controlled spindles (closed loop).

Programming example: Programming of one spindle „S“:

N10 S[REV100 POS45 M19 M3] (Spindle rot. cw with 100 U/min. to pos. 45)
N20 S[M03 REV1000] (Spindle rot. cw with 1000 U/min.)
N30 S[M19 M4 REV150] (Spindle rot. ccw with 150 U/min. to pos. 45)
(->POS is modal!)
N40 S[M05] (Spindle stop)
N50 S[M19] (Move at shortest distance with 150 U/min. to)
(position 45)
N60 S[REV200 M19 POS90] (Move at shortest distance with 200 U/min. to)
(position 90)
N70 S[M03 REV1000] (Spindle rotation cw with 1000 U/min.)
N80 S[M05] (Spindle stop)
N90 M30 (Program end)

Programming example: Programming of two spindles „S“ and „S2“:

(For N10: Move both spindles cw with 1000 U/min. to position 45)
N10 S[M03 REV200 M19 POS45] S2[M04 REV200 POS45 M19]
N20 S[REV1000] S2[REV1500] (S cw with 1000 U/min.,
(S2 ccw with 1500 U/min.)
N30 S[M04] (S ccw 1000 U/min.)
N40 S2[M19 POS0] (Move S2 ccw to position 0)
N50 S[M05 REV300] (S stop, 300 U/min. is stored)
(For N60: Move S cw with 300 U/min. to position 90),
(For N60: Move S2 cw with 200 U/min. to position 45)
N60 S[M03 M19 POS90] S2[M03 REV200 POS45 M19]
N80 M30 (Program end)

Extract from channel parameters list [1]:

The synchronization mode must be defined spindle-specifically for M19. The M-function is not executed in the case of synchronization mode “0” (NO_SYNCH).

: 
spindel[0].bezeichnung S1
spindel[0].log_achs_nr 6
spindel[0].s_synch 0x00000001
spindel[0].m3_synch 0x00000002
spindel[0].m4_synch 0x00000002
spindel[0].m5_synch 0x00000008
spindel[0].m19_synch 0x00000001
: