Positioning spindle(M19, *.POS)

M19

Spindle positioning

(non-modal)

*.POS

Spindle position

(modal)

Positioning of the spindle can be represented with the following syntax:

M19 [ spindle_name.POS[ = ] <position> ] [ M03 | M04 ] [ spindle_name <speed> ]

M19 Position spindle

spindle_name Spindle name in accordance with[1]-16

<position> Mathematical expression for specifying the spindle position

<speed> Mathematical expression for specifying the spindle speed

M03/M04 or the spindle speed in the same NC-block are optional. However, a valid spindle speed (> 0) must be set.

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

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

Spindle positioning with M19 is allowed only for closed-loop position-controlled spindles.

Programming example

The spindle is positioned to position 180 in each case in the following examples. The "=" character is optional:

M19 S.POS180
M19 S.POS 180
M19 S.POS=180
M19 SPINDEL.POS=180
M19 S1.POS=180

The spindle does not rotate during positioning. The shortest traverse path is computed.

N10 M05 S100 (Spindle stops, speed 100 U/min. is stored) 
N20 M19 S.POS180 (Positioning with 100 U/min to position 180)
(The direction of rotation results from the)
(shortest movement distance)
N30 M19 S200 S.POS90 (The direction of rotation results from the)
(shortest movement distance)
(Positioning with 200 U/min ccw to position 90)

Extract from channel parameters list [1]:

For M19, the synchronization mode must be defined spindle-specifically. 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
: