I'm working in factory which specializes in stone furniture pruduction. We have a waterjet which is controlled by Haidenhain TNC 355.
It's an old machine and we are not experts on these kinds of machines.
It works, but we lack knowledge of Gcode.
All of cuts are circle or rounded rectangle shaped, so I have made excel calculator which outputs txt file with program when length, width and radius are entered.
It works and everything is fine, but sometimes we need to cut another rounded rectangle on top of ooone with space of 10cm between them.
I have tried to implement g54 too make repeat same code with shifted zero point, but I failed.
Here is the program of cut which is 700mm x150 mm. I would be thankful if you could explain me how i can cut same form using zero point shift
hy teris i have no experience with heidenhein, but why don't you generate the shift from your excel ?
also, if you wish, share your xls file, and i will pimp it for you, like making it next level or something ( to generate file automatically, use macros, make it more frendly, etc ) / kindly
Thanks for stopping by.
You see, to make my excel sheet generate that shift, i must understand and input necessary information into it first, but since I never had experience with Gcode, i just don't know how that code should look. Once I will get working idea/example of correct code, it will be easy job to implement it into my excel.
If you wish to take a look at that sheet, you can find it attachment (it already have macros, which outputs different file for each of three sheets)
Unfortunatelly 355 does not support offset table. But there always is cycle 7 - datum shift that allows U to move Your zero point according to primary offset.
hy teris pls find attached your updated xls file, that is shifting coordinates; should be easier to implement the shift as steryd sais, rather than changing the xls file
since I never had experience with Gcode, i just don't know how that code should look
no big deal sunshine, it's easy to observe that only x & y values are changed
as for the others codes, i will brief you, thus you will learn g-code in the next 2 minutes :
... %1 at start & end is a must
... G71 i have no clue
... N* is block adrees, that is unique for each line, and most times it is incremented by 10, thus N10,N20 next line, and so on, but is not a must to always be incremented with same value, or for the values to be in ascending order; thus N123 N3 N7 N1 N500 N350 may work just fine
... M05 M03 rpm stop, rpm start in cw direction; M04 should be ccw direction, or viceversa; but i guess your waterjet doesn't spin, so yet again, i have no clue ...
... M02 before end - i have no clue
... G04 F8 is a delay, like wait 8 seconds, or maybe 0.8 seconds ? thus duration depends on what time unit measure is being used; like it may be 0.1s, 1s, but not 1month
... G17 means that toolpath is in xy plane; i think that for that machine, it will always be g17, but there are machines that can cut also in xz and yz planes, so in such cases, there will be G18 G19, or something close to G17, but not G17
... G90 means that machine moves in absolute mode : for example, from N10 X10 Y10 to N20 X100 Y10 machine will only move X axis for 90units, while, if it was set in relative mode ( G91 ), then machine will move X100 and Y10; difference is like using an absolute coordinate system, or a relative one
... G40 is a code that tells the machine that there is no radius compensation being used; for example, if you would use radius compensation, then your tool or waterjet diameter would have been taken into consideration ( by using g41 or g42); by using g40, means that no radius compensation is done, thus your rectangle 700x150, in reality, should be smaller, with a value that is equal to waterjet diameter
... G17 G90 G40, is an intro code, a preseting line, that is telling the machine that cutiting session is in xy plane, absolute mode, no rad comp; is like a stamp that should be there on your most programs; you can simply use it like this all the times, and ignore what it means, but don't forget to add it; however, your machine may work even without all or some of those terms, because some codes, even if they are not there, are somehow default; being a stone machine, i don't think is needed to go into such default at power on, etc
... G01 xy : cut a line from where you are, to xy
... G02/3 xy r (or ij) : cut an arch from where you are, to xy ( 2 is cw, 3 is ccw or viceversa); r and ij are argument that help the machine to calculate the arch; r is radius, while ij are coordinates for the arch center; thus you can draw an arch by specifing start&end point + arch sense ( cw / ccw ) + radius or arch_center; thus you may use r, or ij, but never both
... G00 xy: is a positioning comand, thus go fast from where you are to xy; machine will move in rapid to that position, thus it won't cut
... F200 should be the speed, like cut that stone with 200mm/min