Typical CNC output required:
|
... |
|
|
L1 |
Subroutine Definition |
|
L2 |
Punch Component |
|
L3 |
Pause |
|
L4 |
Axis movement |
|
L5 |
End of Definition |
|
L6 |
... |
|
L7 |
... |
|
L8 |
Start of main code |
|
L9 |
Axis movement |
|
L10 |
Call Subroutine - 20 times |
|
L11 |
End of code |
The example will reduce the amount of output code required, but to simulate
within the Pathtrace system the full graphical axes movement is required
to be output.
Therefore the graphics display will be as below:
Previous axis movement
...
O1 Axis movement
O2 Punch Component
O3 Axes movement
O4 Punch Component
O5 Axis movement
etc....
O36 Punch and move 17 times more ...
O37 ...
O38 End of Code
As can be seen in the example, the length of code generated would be of greatly differing lengths, and so by the same definition the block numbers would also be different.
MASK and multi-processing of the machining file overcomes the block numbering problem. To explain MASK in the outputting of L1 - L11 using the machining input data 1 - 038, MASK will be set to 0 to output the subroutine definition, and to 1 to simulate the main CNC code.
The code is then processed again with MASK set to 1 during the subroutine definition and calls, but toggling to 0 to output the main CNC code.
Therefore, by testing the value of MASK, the block number sequence can be maintained correctly.