Interpolator programmed stops

More
24 Aug 2022 08:53 - 24 Aug 2022 08:54 #250309 by arabel1a
Hi there ! I'm using LinuxCNC on a punching machine. Among others, it should have a 'scissors' mode (also called 'nibbling'). In this mode, in any moving command (like G1X123Y456) it should stop moving every time it goes specified distance, make a punch and continue. Due to some reasons i can not resolve this in CAD system.
 
What i want in brief:
If M-function  ( M123 PX ) was executed, than in every moving frame ( with G1 and G2 ) after moving for distance X, linuxcnc should stop moving, than toggle a halpin 'punch', wait for halpin 'punch-done' and repeat this until it reaches target position.
If another M-function (M124 ) was executed, than it should move normally without stops.

I haven't found any parameter  that will help me. So probably i should modify linuxcnc interpolator for my purposes. I'm new to linuxcnc sources. Please give me advice, which files i should look at. Interpolator? Trajectory planner? How thoose files are named and where they are located? Maybe there is a simpler way to resolve my problem?

If it's important, i use RIP linuxncn-dev 2.9 with trivkins kinematics on my machine.

Thank you,
arabel1a.
Last edit: 24 Aug 2022 08:54 by arabel1a.

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

More
24 Aug 2022 10:22 #250311 by tommylight
I know exactly what you are looking for as i have worked and programmed punch presses, but not sure how to implement that.
Using M codes might be doable but i would like to have it implemented as the Fanuc machines, so
Nib x100-x200
Should do a nibble from x100 to x200, but there are many variables there as the tool has to be chosen and depending on tool length/width the number of punches must be calculated, etc.
There are other nifty shortcuts like that, LAA or line at angle, Matrices with hole size/spacing/number of, etc.
Been quite a while, so a bit fuzzy on the other ones.
Thinking of how it can be implemented, but no clear solution for now.

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

More
25 Aug 2022 17:36 #250419 by arabel1a
Thank you, so i'd decide this in CAD :)
The following user(s) said Thank You: tommylight

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

More
25 Aug 2022 18:55 #250433 by tommylight
I do not think CAD will help with that.
That begs the question, why are you using CAD for a punch press? :)
There are several posibilities that might or might not work:
Hal, pretty sure it can be done but also pretty sure it would take a lot of effort and hoops and... a lot, so i would avoid this, especially since i am still traumatised from doing THC in hal several years back.
Component, this might be the easiest and best solution, but i do not know how, it would require a bit of fine tuning, but if done, it would work.
Macros, i do not like them much, but might be the easiest to do.
Same with M codes, might be easiest but not a single one for all functions.
If we could limit the tools used to 1, that would make it easier, but still i am sure it would require the tool to be the rotating one, and that would also need angles to be calculated.
Etc etc etc....
Personally, i would aim for a component as it would not limit machine use and would be much more versatile in use.
As a start, what does the NIB command need as variables, besides start and end point and angle?

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

More
26 Aug 2022 18:10 #250538 by arabel1a
Machine is Trumpf Truematic tc 2000, It has TOPS - a proprietary cad system. (I'm not sure that i use this term correctly) that allows to draw a scheme and convert it to time-optimized program. My customer want to make programs in TOPS, so anyway i'm making a postprocessor to translate TOPS code intro NGC file.
It looks like nibbling consists of two parameters - ON/OF and a distance through which a punch is made. So during parsing a TOPS file i replace every move frame with subroutine call, passing target position as it's parametrs. In this subroutine, If #<_nib> is enabled, it splits a path intro small pieces and makes a nibbling. Now this pretty works with linear and circular interpolation, and not so with splines. But i can forbid using spline interpolation in TOPS, so (for my particular case) it is a solution.

By the way, is there a way to access to NGC parameters outside linuxcnc? I need to parametrise punching (sheet thikness, pressure, speed/accel and etc), and have no idea how to transmit this parameters from mdi to my head controller.

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

More
26 Aug 2022 19:35 #250542 by arabel1a
Oh my stupid head, looks like in english it called "CAM", not "CAD" :)

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

More
03 Sep 2022 19:12 #251126 by andypugh
Does your machine have top of travel and bottom of travel sensors?

If so then insert an M66 wait-for-bottom then wait-for top before each XY movement and motion will stop during the punch.
linuxcnc.org/docs/stable/html/gcode/m-code.html#mcode:m66

Have you tried the G61.1 "exact stop" mode? linuxcnc.org/docs/stable/html/gcode/g-code.html#gcode:g61.1
(That probably isn't enough, but is worth a try)

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

Time to create page: 0.084 seconds
Powered by Kunena Forum