Press Brake CNC Control & G-Code

More
9 years 9 months ago #86465 by bymccoy
I only thought "A" as I need three X axes... So my thought:

Press = LinuxCNC

X = X (main gantry)
Y = Y (hydraulic stroke distance)
Z1 = Z (carriage #1)
Z2 = W (carriage #2)
X1 = U (finger #1)
X2 = V (finger #2)
R = ? (gantry/finger height)

I still need R assigning, maybe an ABC? Or can I define more axes without recompiling source?

Thanks
J

Please Log in or Create an account to join the conversation.

More
9 years 9 months ago #86467 by andypugh

bymccoy wrote: I still need R assigning, maybe an ABC? Or can I define more axes without recompiling source?


The limitation is with G-code. G-code only allocates the letters XYZABCUVW to axis positions.

You don't _have_ to use G-code, though. LinuxCNC allows you to choose alternative interpreters. The only example that ships with LinuxCNC is "canterp" which simply takes the internal LinuxCNC movement commands. A canterp program looks like this:
github.com/LinuxCNC/linuxcnc/blob/af15a4.../canterp_example.can

Given how little there is a press-brake code, you could make your own interpreter that (unlike G-code) considers spaces as part of the syntax, so that X1 100 would be distinguishable from X 1100. This might be more effort than you want to go to.

Do you have any examples of commercial press-brake code?

Please Log in or Create an account to join the conversation.

More
9 years 9 months ago #86481 by Todd Zuercher
Since most of these extra axis moves he needs are only positioning moves, couldn't he just use custom M-codes to command the position for undefined joints (joints that don't have an axis letter).

Please Log in or Create an account to join the conversation.

More
9 years 9 months ago #86486 by bymccoy

andypugh wrote:

bymccoy wrote: You don't _have_ to use G-code, though. LinuxCNC allows you to choose alternative interpreters. The only example that ships with LinuxCNC is "canterp" which simply takes the internal LinuxCNC movement commands. A canterp program looks like this:
github.com/LinuxCNC/linuxcnc/blob/af15a4.../canterp_example.can

Given how little there is a press-brake code, you could make your own interpreter that (unlike G-code) considers spaces as part of the syntax, so that X1 100 would be distinguishable from X 1100. This might be more effort than you want to go to.

Do you have any examples of commercial press-brake code?


I'll have a look at canterp to get a feel...

I've not got an example of press-brake code. I genuinely don't know how they store it or the standards they use - I've heard mention of G-code, but most of the software is packaged so that the user doesn't see program code, just a table of bends. I've seen some presses that even have LED strips along the front of the machine that show where a bend should be formed - this data has to be stored somewhere, so a program is more of a table/database if anything...

So, if I move away from G-code and have custom code that is basically a tabulated style code that looks like a table in raw form, I'm free then to use more axes?

Where/what is the canterp interpreter? I see a reference to a lib, but not where that lib exists in the repo?

J

Please Log in or Create an account to join the conversation.

More
9 years 9 months ago #86487 by bymccoy

Todd Zuercher wrote: Since most of these extra axis moves he needs are only positioning moves, couldn't he just use custom M-codes to command the position for undefined joints (joints that don't have an axis letter).


Hi Todd,

How would that work in implementation?

Thanks,
J

Please Log in or Create an account to join the conversation.

More
9 years 9 months ago #86505 by andypugh

bymccoy wrote: So, if I move away from G-code and have custom code that is basically a tabulated style code that looks like a table in raw form, I'm free then to use more axes?


Possibly. I think you have to actually recompile LinuxCNC to get more than 9 joints:
github.com/LinuxCNC/linuxcnc/blob/af15a4...tion/emcmotcfg.h#L23

Please Log in or Create an account to join the conversation.

Time to create page: 0.408 seconds
Powered by Kunena Forum