Hello people,
Some new faces we see.
We believe we could help on this one and set a precedent to show you how to help yourself, regarding this topic as well as others.
Perhaps the best two pieces of advice to handle any topic are:
(1) In almost every question posed here in CNCZONE the answer is that you can have it any way you want. There is no single way to handle subroutines or almost any question posed for any topic about CamSoft, at least the CNC Professional version. Every one posting their methods for M98,M99 are correct. Simply because it depends on how the system logic is set up by the installer in the G&M code tables. For example, an installer may just not want to bother and use the default industry standard G&M code set, which includes M98,M99 logic already or they can opt to rearrange things to meet their customers needs by customizing the logic for any G and M code. Some customers want backwards compatibility to older formats. Sometimes we think we have seen everything and can't be surprised, but a make or break request comes in time to time that makes us and our dealers thankful for the flexibility of CNC Professional.
(2) To get the fastest answers use the Search for Solutions button on CNCSETUP. Here you can search for answer like a web-browser, through 130+ megabytes of electronic text, photos and charts even movies. A search on M98 pops up 21 occurrences of page documentation for this topic.
Some information you'll find is:
The logic in M98 can be set up for the letters O, P or N or any letter to call the subroutine. Also the number of loops are usually denoted as L but can be P in some cases. There are even pure jumps to other line numbers instead of subroutines that return.
QUESTION 169
Can we call a Macro from within another Macro?
QUESTION 209
How do we call and loop subroutines in the G code program?
Below are some examples:
(Call a simple subroutine and repeat the subroutine 3 times.)
N1 G0 X0 Y0 Z0
N2 M98 P1234 L3
N3 M30
O1234
N4 G1 Z-.5 F25
N5 G0 Z.1
N6 M99
(Use a subroutine to loop the entire program 100 times.)
N1 M98 P1234 L100
N2 M30
O1234
N4 G0 X0 Y0 Z0
N5 G1 Z-.5 F25
N6 G0 Z.1
N7 M99
(Nested Subroutines)
N1 G0 X0 Y0 Z0
N2 M98 P1234 L1
N3 M30
O1234
N4 G0 X1 Y1 Z1
N5 M98 P5678 L1
N6 M99
O5678
N7 G1 Z-.5 F25
N8 G0 Z.1
N9 M99
Tech Support
CamSoft Corp.
(951) 674-8100
support@camsoftcorp.com www.cnccontrols.com