mycnc:macro_examples
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mycnc:macro_examples [2017/06/14 17:35] – skirillov | mycnc:macro_examples [2022/03/29 15:54] (current) – ivan | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Rotate A axis to 0 position | + | ==== Macro Examples |
- | For some applications A-axis is programmed | + | //**NOTE**: The myCNC team recommends utilizing the examples provided in this manual (as well as other manuals in this documentation) as a starting point for your machine setup. When possible (and applicable), |
- | Program position of A may come to many hyndreds degree after G-code finished. See screenshot example below - | + | |
- | {{mycnc:mycnc-1280m4-001.png}} | + | * [[mycnc:move-a-to-0|Move A to 0]] |
- | To start new job A position should be roll back to about " | ||
- | The best way to substract from current A-coordinates a whole number of turns (360 degree), then move to " | ||
- | |||
- | This can be done through macro-programming. | ||
- | |||
- | We will add macro M335 to bring A axis to " | ||
- | |||
- | A-axis program position value is mapped to global variable #5044. In the macro we - | ||
- | * Check if A-position is positive | ||
- | * Add a code loop, | ||
- | * Test in the loop A-coordinate and subtract 360 degree if current coordinate is more than 360 degree (more than 1 turn). | ||
- | * Store result value as current A-axis position and then | ||
- | * Move A-axis to " | ||
- | * Add similar branch for negative A-coordinate value. | ||
- | |||
- | <code php M335> | ||
- | #10=#5044 (Get position A) | ||
- | |||
- | if [ #10 LT 0 ] 300 (Test If A-position is negative) | ||
- | (if positive) | ||
- | N100 | ||
- | if [ #10 LT 180 ] 200 (Test if A-position higher than 180 degrees) | ||
- | |||
- | #10 = #10 - 360 (Subtract a whole turn - 360 degree) | ||
- | JUMP 100 (Jump to begin of the Loop) | ||
- | |||
- | N200 | ||
- | JUMP 400 | ||
- | |||
- | N300 | ||
- | 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 | ||
- | G90 G10 L70 P#5220 A#10 (store #10 value as A-axis program position) | ||
- | G90 G0 A0 (rotate A axis to 0) | ||
- | </ | ||
- | |||
- | [[Add move A to 0 button]] | ||
mycnc/macro_examples.txt · Last modified: 2022/03/29 15:54 by ivan