Browse code

M19 orient spindle: document

commit c9574cd2f4fa622526dabf4235903c0186819e82 1 parent 0d422d6
authored
20  configs/sim/orient.README
... ... @@ -0,0 +1,20 @@
  1 +The orient.ini configuration helps exploring
  2 +the M19 command and its effect on various HAL pins.
  3 +
  4 +Note the ORIENT_OFFSET value in orient.ini which is
  5 +added to the R word.
  6 +
  7 +
  8 +run, and execute in MDI:
  9 +
  10 +M19
  11 +M5
  12 +M19 R45 P1
  13 +S500 M3
  14 +
  15 +Acknowledge an spindle-orient request by
  16 +pushing the spindle-is-oriented button.
  17 +
  18 +-mah
  19 +
  20 +
26  docs/man/man9/motion.9
... ... @@ -204,6 +204,32 @@ Desired spindle speed in rotations per minute
204 204  Desired spindle speed in rotations per second
205 205  
206 206  .TP
  207 +\fBspindle-orient-angle\fR OUT float    
  208 +Desired spindle orientation for M19. Value of the M19 R word parameter plus the value of the [RS274NGC]ORIENT_OFFSET ini parameter.
  209 +
  210 +.TP
  211 +\fBspindle-orient-fwd\fR OUT bit
  212 +Desired spindle rotation direction for M19. Default 1. Set to zero if M19 P1 is given.
  213 +
  214 +.TP
  215 +\fBspindle-orient\fR OUT bit
  216 +Indicates start of spindle orient cycle. Set by M19. Cleared by any of M3,M4,M5. 
  217 +If spindle-orient-fault is not zero during spindle-orient true, the M19 command fails with an error message.
  218 +
  219 +.TP
  220 +\fBspindle-is-oriented\fR IN bit
  221 +Acknowledge pin for spindle-orient. Completes orient cycle. If spindle-orient was true when spindle-is-oriented 
  222 +was asserted, the spindle-orient pin is cleared and the spindle-locked pin is asserted. Also, the spindle-brake pin is asserted.
  223 +
  224 +.TP
  225 +\fBspindle-orient-fault\fR IN s32
  226 +Fault code input for orient cycle. Any value other than zero will cause the orient cycle to abort.
  227 +
  228 +.TP
  229 +\fBspindle-locked\fR OUT bit
  230 +Spindle orient complete pin. Cleared by any of M3,M4,M5. 
  231 +
  232 +.TP
207 233  \fBmotion.teleop-mode\fR OUT bit
208 234  
209 235  .TP
59  docs/src/config/emc2hal.txt
... ... @@ -154,6 +154,65 @@ motion.tooloffset.x ... motion.tooloffset.w::
154 154       it could come from the tool table (`G43` active), or it could
155 155       come from the gcode (`G43.1` active)
156 156  
  157 +spindle-orient-angle::
  158 +  (float,out) Desired spindle orientation for M19. Value of the
  159 +  M19 R word parameter plus the value of the [RS274NGC]ORIENT_OFFSET ini parameter.
  160 +
  161 +spindle-orient-fwd::
  162 +  (bit,out) Desired spindle rotation direction for M19. Default 1. Set to zero if M19 P1 is given.
  163 +
  164 +spindle-orient::
  165 +  (out,bit)
  166 +  Indicates start of spindle orient cycle. Set by M19. Cleared by any of M3,M4,M5. 
  167 +  If spindle-orient-fault is not zero during spindle-orient
  168 +  true, the M19 command fails with an error message.
  169 +
  170 +spindle-is-oriented::
  171 +  (in, bit) Acknowledge pin for spindle-orient. Completes orient
  172 +  cycle. If spindle-orient was true when spindle-is-oriented was
  173 +  asserted, the spindle-orient pin is cleared and the
  174 +  spindle-locked pin is asserted. Also, the spindle-brake pin is asserted.
  175 +
  176 +spindle-orient-fault::
  177 +  (s32, in) Fault code input for orient cycle. Any value other
  178 +  than zero  will cause the orient cycle to abort.
  179 +
  180 +spindle-lock::
  181 +  (bit, out) Spindle orient complete pin. Cleared by any of M3,M4,M5. 
  182 +
  183 +==== HAL pin usage for M19 orient spindle
  184 +
  185 +Conceptually the spindle is in one of the following modes:
  186 +
  187 + - rotation mode (the default)
  188 + - searching for desired orientation mode
  189 + - orienation complete mode.
  190 +
  191 +When an M19 is executed, the spindle changes to 'searching for desired
  192 +orientation' , and the `spindle-orient` HAL pin is asserted.  The
  193 +desired target position is specified by the `spindle-orient-angle` and
  194 +`spindle-orient-fwd` pins and driven by the M19 R and P parameters.
  195 +
  196 +The HAL support logic is expected to react to `spindle-orient` by
  197 +moving the spindle to the desired position. When this is complete, the
  198 +HAL logic is expected to acknowledge this by asserting the
  199 +`spindle-is-oriented` pin.
  200 +
  201 +Motion then acknowledges this by deasserting the `spindle-orient` pin
  202 +and asserts the `spindle-locked` pin to indicate 'orientation
  203 +complete' mode. It also raises the `spindle-brake` pin. The spindle now
  204 +is in 'orientation complete' mode.
  205 +
  206 +If, during `spindle-orient` being true, and `spindle-is-oriented` not
  207 +yet asserted the `spindle-orient-fault` pin has a value other than
  208 +zero, the M19 command is aborted, a message including the fault code
  209 +is displayed, and the motion queue is flushed. The spindle reverts to
  210 +rotation mode.
  211 +
  212 +Also, any of the M3,M4 or M5 commands cancel either 'searching for
  213 +desired orientation' or 'orientation complete' mode. This is indicated
  214 +by deasserting both the `spindle-orient` and `spindle-locked` pins.
  215 +
157 216  === Parameters
158 217  
159 218  Many of these parameters serve as debugging aids, and are subject to
5  docs/src/config/ini_config.txt
... ... @@ -482,6 +482,11 @@ PARAMETER_FILE = myfile.var::
482 482      file which contains the parameters used by the interpreter (saved
483 483      between runs). 
484 484  
  485 +ORIENT_OFFSET = 0::
  486 +    (((ORIENT OFFSET ))) A float value added to the R word parameter
  487 +    of an <<sec:M19,M19 Orient Spindle> operation. Used to define an arbitrary
  488 +    zero position regardless of encoder mount orientation.
  489 +
485 490  RS274NGC_STARTUP_CODE = G01 G17 G20 G40 G49 G64.1 P0.001 G80 G90 G92 G94 G97 G98::
486 491      (((RS274NGC STARTUP CODE))) A string of NC codes that the interpreter
487 492      is initialized with. This is not a substitute for specifying modal
24  docs/src/gcode/main.txt
... ... @@ -1762,6 +1762,30 @@ To turn all coolant off, program `M9`.
1762 1762  It is always OK to use any of these commands, 
1763 1763  regardless of what coolant is on or off.
1764 1764  
  1765 +== M19 Orient Spindle [[sec:M19]]
  1766 +(((M19 Orient Spindle)))
  1767 +
  1768 +To start spindle orientation mode, program `M19`.
  1769 +
  1770 + M19 R- P-
  1771 +
  1772 + - The optional R- word specifies the desired angle in degrees (default 0). 
  1773 + - The optional P- word specifies the rotation direction (default clockwise, 
  1774 +   a value of 1 specifies counterclockwise rotation). 
  1775 +
  1776 +M19 cancels spindle rotation mode and enters spindle orientation
  1777 +mode. M19 turns off the spindle, unlocks the spindle brake and then starts the
  1778 +orientation HAL pin protocol. See the motion manpage for the pin
  1779 +description.
  1780 +
  1781 +Any M3,M4,M5 spindle command will cancel spindle orientation mode and
  1782 +switch back to rotation mode, which is the default.
  1783 +
  1784 +The `[RS274NGC]ORIENT_OFFSET` value from the ini file is added to the
  1785 +R word to define an aribtrary zero position.
  1786 +
  1787 +M19 is a modal group 7 command (same as M3,M4,M5). 
  1788 +
1765 1789  == Overrides [[sec:Overrides]]
1766 1790  
1767 1791  === M48, M49 Override Control[[sub:M48-Both-Override]][[sub:M49-Neither-Override]](((M48, M49 Override Control)))
2  docs/src/gcode/overview.txt
... ... @@ -798,7 +798,7 @@ being in effect. The modal groups are shown in Table
798 798  |Lathe Diameter Mode          | G7, G8
799 799  |Stopping                     | M0, M1, M2, M30, M60
800 800  |Tool Change                  | M6 Tn
801   -|Spindle                      | M3, M4, M5
  801 +|Spindle                      | M3, M4, M5, M19
802 802  |Coolant                      | (M7 M8 can both be on), M9
803 803  |Override Switches            | M48, M49
804 804  |Flow Control                 | O-

0 notes on commit c9574cd

Please sign in to comment.
Something went wrong with that request. Please try again.