mycnc:move-a-to-0
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
mycnc:move-a-to-0 [2017/09/04 12:11] – skirillov | mycnc:move-a-to-0 [2019/11/15 09:17] – ivan | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== Rotate A axis to 0 position ==== | ==== Rotate A axis to 0 position ==== | ||
- | For some applications A-axis is programmed as endless rotation. | + | For certain |
- | Program | + | |
- | {{mycnc:mycnc-1280m4-001.png}} | + | {{:mycnc:macros-m309-002.png}} |
- | To start new job A position | + | At the start of a new job which utilizes the A axis, the A position |
- | The best way to subtract a number of complete turns (360 degree), then move to " | + | |
- | This can be done through macro-programming. | + | This can be done through macro programming, using the M309 macro. All recent myCNC profiles should have the M309 macro in their Macro List. If your profile does not have the M309 macro, it is possible to add it using the macro code provided below. |
- | We will add macro M335 to bring A axis to " | + | A-axis program position value is mapped to the global variable #5044. In the macro we will: |
- | + | * Check if our A-position is positive | |
- | A-axis program position value is mapped to global variable #5044. In the macro we - | + | * Add a code loop |
- | * Check if A-position is positive | + | * Check the current |
- | * Add a code loop, | + | * Store the resulting |
- | * Test in the loop A-coordinate and subtract 360 degree if current coordinate is more than 360 degree (more than 1 turn). | + | |
- | * Store result | + | |
* Move A-axis to " | * Move A-axis to " | ||
- | * Add similar branch for negative A-coordinate value. | + | * Add a similar branch for a situation in which we have a negative A-coordinate value. |
- | <code php M335>(Move to position A=0) | + | <code php M309> |
- | #10=#5044 (Get position | + | G90G0Z[# |
+ | #10=#5044 (Store A coordinate in register #10) | ||
- | if [ #10 LT 0 ] 300 (Test If A-position is negative) | + | N10 |
- | (if positive) | + | IF [#10 LT 180] 20 |
- | N100 | + | #10=#10-360 |
- | if [ #10 LT 180 ] 200 (Test if A-position higher than 180 degrees) | + | JUMP 10 |
- | #10 = #10 - 360 (Subtract a whole turn - 360 degree) | + | N20 |
- | JUMP 100 (Jump to begin of the Loop) | + | IF [#10 GT -180] 50 |
+ | #10=#10+360 | ||
+ | JUMP 20 | ||
- | N200 | + | N50 |
- | JUMP 400 | + | G91 G0 A [-1*#10] |
+ | G90 G10 L70 P0 A0 | ||
+ | G90 G10 L70 P#5220 A0</ | ||
- | N300 | + | Below is a video which illustrates |
- | if [ #10 GT -180 ] 400 (Test if A-position lower than -180 degrees) | + | |
- | #10 = #10 + 360 (Add a whole turn - 360 degree) | + | |
- | JUMP 300 (Jump to begin of the Loop) | + | |
- | N400 | + | {{youtube>-gK4bl4JZ3Q? |
- | G90 G10 L70 P#5220 A#10 (store #10 value as A-axis program position) | + | |
- | G90 G0 A0 (rotate A axis to 0) | + | |
- | </code> | + | |
- | [[mycnc:mycnc_screen_configuration# | + | The main screen of the myCNC software has a "Move A to 0" button by default, as shown in the screenshot at the top of this page. The way to add such a button to the screen is described here: [[mycnc-screen:1280_series_screen_configuration_examples# |
mycnc/move-a-to-0.txt · Last modified: 2019/11/18 11:37 by ivan