Community
Fusion Manufacture
Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issues with post processor heidenhain TNC 426

4 REPLIES 4
Reply
Message 1 of 5
arnas.bruzas992
464 Views, 4 Replies

Issues with post processor heidenhain TNC 426

I have a problem with the post processor and I don't know how to fix it. I also can't find the right help in the forums. I really need your help.
With a standard post processor, I can not rotate the axis because of some data is missing in the code. In the post processor, I see that those settings are there, I just have no idea how to activate them.
Machine DMG DMU 100 T with Heidenhain 426/430M controller.So, my problems:
1. The axis is not rotating due to a missing block - L B + Q121 C + Q122 F MAX M126.
2. Before turning the axles, it is necessary to raise at least the spindle, preferably to the home position at all. Otherwise, there is a very high probability that the spindle will hit the workpiece or the table.
3. Missing CYCL DEF 7.0 DATUM SHIFT. It does not shift coordinates, making the code less user-friendly.

I attached in the attachments the code I receive with this post processor, the code generated by another program (the appropriate program), the post processor. 
The code generated with your post processor is named ,,before1.txt''
Good code generated with another program is named ,,must be after.txt''
How it looks now:
0 BEGIN PGM before1 MM
1 BLK FORM 0.1 Z X-1 Y-46 Z-10
2 BLK FORM 0.2 X+130.894 Y+1 Z+1
3 ; -------------------------------------
4 ; Tools
5 ; #33 D=12 - flat end mill
6 ; -------------------------------------
7 ;
8 CYCL DEF 19.0 WORKING PLANE
9 CYCL DEF 19.1 A+0 B+0 C+0
10 * - 2D Contour3 (3)
11 M5
12 TOOL CALL 33 Z S1800
13 L M140 MB MAX
14 M126
15 M3
16 CYCL DEF 19.0 WORKING PLANE
17 CYCL DEF 19.1 A+0 B-90 C+0
18 L X+5.67 Y+7 R0 FMAX
19 L Z+156 R0 FMAX
20 M8
21 CYCL DEF 32.0 TOLERANCE
22 CYCL DEF 32.1
23 L Z-13 FMAX
24 L Z-17 F2000
25 L Z-21.8

How it should look. To make it shorter and clearer, I add good code where you can see what is missing in the generated code by color.
 
0  BEGIN PGM  MUST BE AFTER MM
5  BLK FORM 0.1 Z X+0 Y-45 Z-10
6  BLK FORM 0.2 X+129.894 Y+0 Z+0
7  M129
8  M140 MB MAX
9  L Z-10 F MAX M91
10  L X+10 R0 F MAX M91
11  L Y-10 F MAX M91
12  CYCL DEF 19.0 WORKING PLANE
13  CYCL DEF 19.1 A+0 B+0 C+0
16  L B+Q121 C+Q122 F MAX M126
25  CYCL DEF 7.0 DATUM SHIFT
26  CYCL DEF 7.1 X+0
27  CYCL DEF 7.2 Y+0
28  CYCL DEF 7.3 Z-10
29  ;
30  ; 12. ENDMILL GLOT
31  TOOL CALL 33 Z S1800
32  L Z-10 F MAX M91
33  L X+10 R0 F MAX M91
34  L Y-10 F MAX M91
36  CYCL DEF 19.0 WORKING PLANE
37  CYCL DEF 19.1 A+0 B-90 C+0
38  L B+Q121 C+Q122 F MAX M126
39  L X10. Y-10. R0 F MAX M91
40  L X-12 Y+15.72 R0 F MAX M3
...
 
Thanks for your attention. I’m looking forward to your reply.
4 REPLIES 4
Message 2 of 5

Hello @arnas.bruzas992 

 

you don't always have to change the post.

You can select of create a machine configuration file that describe your machine kinematic, and rotary axis limits.

When using these elements, the post processor will know your machine kinematic, so it will be able to output A+Q120 B+Q121 C+Q122 depending on the configuration.

Setting the machine config in the wcs definition

wcsDefinition.png

 

Selecting the .machine

machineSelection.png

 

Or eventually defining the kinematic in the post, but it need editing the post, and can be lost with post updates.

machineDefinition in the post.png

 

Set the test as if (true) { then edit the axis definition to suit your machine (axis direction, axis limits...)

 

Final result

finalresult.png

Without editing the post, i selected a machine configuration when testing from VSCode, but selecting the machine inside Fusion as explained before is working the same way.

 

Have a pleasant day.

 

Regards.


______________________________________________________________

If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!

 



Serge.Q
Technical Consultant
cam.autodesk.com
Message 3 of 5

Hello @serge.quiblier ,

 

first of all I want to thank you very much for your help.

I've tried both methods and both of them are working better now. I prefer change the post processor because I work often in offline-mode.

 

Now I see that before tool changing, the machine first resets the rotated axis and only then moves to the safe position(only Z). Machine must first return to the safe position(X,Y,Z) and only then reset the rotated axis.  We can say that this is my problem number 2. (2. Before turning the axles, it is necessary to raise at least the spindle, preferably to the home position at all. Otherwise, there is a very high probability that the spindle will hit the workpiece or the table.)

 

By the way, the reset of the rotating axis does not work because of  L B + Q121 C + Q122 F MAX is still missing here.

aa.jpg

 

 

 

 

I have still third problem: 3. Missing CYCL DEF 7.0 DATUM SHIFT. It does not shift coordinates, making the code less user-friendly.

 

Best regards,

Arnas B

 

Message 4 of 5

Message 5 of 5

Hello @arnas.bruzas992 

 

as @marcus.toepke  pointed to you, the following changes can be implemented in the following functions


After setting the variable in the global section of the post (i.e outside of any function)
mapWorkOrigin = false;

 

You will need to edit the setWorkplane function

} else if (getProperty("usePlane") == "false") {
if (useABCPrepositioning && machineABC) {
positionABC(machineABC);
}
writeBlock("CYCL DEF 7.0 " + localize("DATUM SHIFT")); // new code
writeBlock("CYCL DEF 7.1 X" + xyzFormat.format(currentSection.workOrigin.x)); // new code
writeBlock("CYCL DEF 7.2 Y" + xyzFormat.format(currentSection.workOrigin.y)); // new code
writeBlock("CYCL DEF 7.3 Z" + xyzFormat.format(currentSection.workOrigin.z)); // new code
writeBlock("CYCL DEF 19.0 " + localize("WORKING PLANE"));
if (machineConfiguration.isMultiAxisConfiguration()) {
writeBlock(
"CYCL DEF 19.1" +

 

Then also the onSection, at the beginning, when wa are cancelling the previous tilted workplane

if ((forceMultiAxisIndexing || !is3D() || machineConfiguration.isMultiAxisConfiguration()) && newWorkPlane) { // reset working plane
onCommand(COMMAND_UNLOCK_MULTI_AXIS);
if (getProperty("usePlane") == "true") {
writeBlock("PLANE RESET STAY");
} else if (getProperty("usePlane") == "false") {
writeBlock("CYCL DEF 7.0 " + localize("DATUM SHIFT")); // new code
writeBlock("CYCL DEF 7.1 X" + xyzFormat.format(0)); // new code
writeBlock("CYCL DEF 7.2 Y" + xyzFormat.format(0)); // new code
writeBlock("CYCL DEF 7.3 Z" + xyzFormat.format(0)); // new code
writeBlock("CYCL DEF 19.0 " + localize("WORKING PLANE"));
if (machineConfiguration.isMultiAxisConfiguration()) {
writeBlock(

 

and just a bit below, for returning to zero on the rotary axes

conditional(machineConfiguration.isMachineCoordinate(2), " C" + abcFormat.format(0))
);
} else {
writeBlock("CYCL DEF 19.1 A" + abcFormat.format(0) + " B" + abcFormat.format(0) + " C" + abcFormat.format(0));
}
if (machineConfiguration.isMultiAxisConfiguration()) { // start of new code
writeBlock(
"L" +
(machineConfiguration.isMachineCoordinate(0) ? " A+Q120" : "") +
(machineConfiguration.isMachineCoordinate(1) ? " B+Q121" : "") +
(machineConfiguration.isMachineCoordinate(2) ? " C+Q122" : "") +
" R0 FMAX"
); // new code
} // end of new code
} else {
// specify code here in case getProperty("usePlane") = "none" if needed

 

Regards


______________________________________________________________

If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!



Serge.Q
Technical Consultant
cam.autodesk.com

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators


Autodesk Design & Make Report