Hello Guest it is February 28, 2021, 01:48:05 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - zmajmr

Pages: 1 2 3 4 5 6 7 8 9 »
I would not go lower than 20, I think mine is on 100 IIRC, a setting of 3 could upset the trajectory planner i reckon.

Well I do not know nothing about that how it works, hope somebody will explain .

AS I understand it....

Inside Mach (and probably all CNC controllers) there is a thing called the trajectory planner - its responsible for calculating the deceleration and acceleration for constant velocity (CV) moves as the code runs, amongst other things, probably works out radii from different input as well and so on - it plans the trajectory of the tool path on the machine.

The planner does its calculations and feeds the results into the code buffer, this is like a safety net so the machine can keep running smoothly - if the buffer empties on the job, you get a "Buffer Underrun" and the motion will stop or stall for an amount of time until there is sufficient code to make more moves - this is ALWAYS a bad thing and will make a mess.

Now, to stop an underrun Mach has to work in front of where the machine currently is - it takes time to do its calculations - measurable time, so to stop a risk of under run as well as correctly plan the trajectory, Mach has to "Look Ahead" a set amount of code lines - the look ahead setting. Its really not that vital now as PC's are pretty damn fast these days and 20 lines ahead seems ok, mine is 100 but i cant recall why now.

You can force an underrun if you like, just use the PC for something like a screen-saver or anything that will divert processor cycles away from Mach3's intensive use and your machine will stall and stutter like hell - this is why we use bare-bones setups for running Mach3. There is a very fine line between OK and underrun and it takes little to upset it, setting the look ahead too short will make it worse. If using the parallel port things get even tighter as the PC has to generate millions of stepper pulses and control the LPT port as well as updating the user interface - DRO's and the path indicator etc

Mach3 is a brilliant bit of software and i'm glad i have access to it really.

An analogy (of sorts) - the trajectory planner in a racing car - the drivers brain.

You are driving along and see a corner, you have no trajectory planner, so you drive to the corner and either take it at full speed (CV) or stop then take the corner (exact stop) - chances are you will crash with taking it at full speed and exact stop will annoy other racers as you stop and then turn.

Now, with the trajectory planner installed in your head, your eyes give it "look-ahead" - you can see the corner approaching a way off, your brain assesses a safe speed in which to take the corner, you slow in time (decelerate), take the corner and then accelerate away at feed-rate again.

The buffer kind of lets you see the next corner and the one after it.

thx for posting

I would not go lower than 20, I think mine is on 100 IIRC, a setting of 3 could upset the trajectory planner i reckon.

Well I do not know nothing about that how it works, hope somebody will explain .

Since your using an older version of Mach its possible some of your concerns were addressed in the later or final versions.  Once again if Feed Hold is working for others, your controller or the older version might be an issue.  Have you contacted the vender for your controller?
Guys which work  in CS LAB told me to use version of Mach 3 :Version R3.043.053, because with that version there is only few problems which are tolerable, and they professionally retrofit machines with Mach3 and their motion controller so they for sure have much more experience then me.

I am using Mach3 few years and last year pretty often so as I create more and more different G code programs I have opportunity to notice some thing for which when I started thought they are normal , or in most cases did not want to gamble so lot of time just to be sure I rewind program and start from start if I had some problems, or in some cases I would reload program and load it again, or I even was not aware what would happen if I press cycle start , pure lack saved me. So after some time you manage to notice some things that do not seams normal. So, for example, when I use G code version of program from page 1  where there do not exist command S300 F300 there is no problem, you can say even with my version of Mach3 feed hold works as intended , but when I write command at the end of G code program, S300 F300 and I press Feed Hold at line where I have command G01 -20 F40  then you can notice /say that Mach 3 does not work as you thought that it works, so I am just trying to find out how it works in order not to experience some nasty surprise.

Like I wrote I found workaround with editing post processor so I will have for each G01 command F (feed) command, I make all G codes with CAM, so it is no problem how Mach3 works, it works how it works , I am just curious to find out how it works in order to  know what I can expect from each situation I am in.

What is your "look ahead" setting? The higher the
number the longer it takes for M3 to empty the buffer.
olf20 / Bob

Hi BoB, my look ahead is set on 20, never change it because did not know what it does, but now I have some idea for what is serves. So I assume I should set it on 3 and would in that case still have feed 40 mm/min ?

RICH , garyhlucas, wmgeorge,  guys , just so I do not need to write 3 separate posts...

RICH I moved forward, long time ago (there is video on top of this page where I showed that I made changes in post processor as I planed) because I know Mach3 will not be updated or will be no changes, I am using CSMIO IP S motion controller for my CNC lathe and because of that I am using some older version of Mach3 because guys from CS Lab recommended to use it otherwise they can not help me with my other problems that I had because then there is no sense, I wanted to tell you, when I bought my Mach3 license I envision that newest Mach3 version is the best, apparently I was wrong (I listen always people who have more experience then me).

Now back on topic, "how you want or envision how something  should work", so I went to Mach3 Turn manual I went to find what it say what is function of each button , so it say:

Cycle Start: This will run the part program from the current block (line) or continue after a feed hold or an M00 or M01 command.

Feed Hold: Will stop the part program running as soon as possible but in a totally controlled way so that it can be restarted. Spindle and Coolant will stay on if they were on at the time of the Feed Hold. During Feed Hold you can perform whatever operation, such a jogging, updating Wear offsets in the tool table, altering spindle speed etc. that is required to overcome a problem with the machining. Cycle Start will resume the run of the program.

Stop: Will stop the run of the part program as quickly as possible. Resumption of the run will not generally be possible and the axes may have lost or gained steps due to the rapid stop so the lathe needs to be re-referenced.

I also went to find in Mach3Turn manual pdf document word "buffer" and zero finds.

So under Feed Hold it say : "Cycle Start will resume the run of the program."  I am just trying to find out how and to be sure so I can stick to that principle. And also wanted to find why, and we started to talk about that only on third page after we went through about machining techniques.

wmgeorge you say : "It runs the buffer out and stops and will restart at the next line." So you say that buffer is ran out , does that means it is empty?

garyhlucas you say : "When you pressed feed hold it was already too late!  The speed change was already in the buffer."

And I say that makes sense to me , not just because I understand how thousand of other machine operate , because I saw that on my machine with Mach3 ,from some reason Mach3 continues with feed 300 mm/min(which is 8 to 10 lines down) instead 40 mm/min.
I am not trying to argue I am just trying to figure out what is going on, if it works like that I do not see solution other then write my G code like I said I would and apparently I will, it looks there must be feed command with every G01 command if I expect to resume with feed with which I activated Feed Hold button.

then you say :"... because you lack the necessary programming skills to do it correctly". I also asked did I wrote something wrong in my G code that maybe I do not see , I do not claim that I know much about G code programming because I use CAM all the time and I just make minor corrections in already made  G code manually.

So if somebody know some good link about Mach3 buffer please let me know.

And last thing what it say for Stop file ?

Stop: Will stop the run of the part program as quickly as possible. Resumption of the run will not generally be possible and the axes may have lost or gained steps due to the rapid stop so the lathe needs to be re-referenced.

will not generally be possible  ,    may have lost

Like I wrote from my experience I generally can continue from Stop file and did not lose anything, probably because when I drill I do not use rapid federate.

So basically maybe I should name this topic how Mach3 buffer works and what all you know about it :)

"Feed Hold" is exactly what it says - it will hold the process at the next opportunity i.e. it stops filling the buffer and allows it to empty then pauses or holds. I have used it a few times when i have not been happy with my hold-downs, paused, added another clamp then continued etc. It does not "Stop" the machine - for this you use the stop button or the big red button if its going to hit the fan ;)

Two different actions and two different methods of achieving them.

You are right , but then what is procedure to continue with same feed after Feed Hold is pressed and about what all I should take care before I dare to press Cycle start ? So to be more vivid, my tool changer does not moves, but my spindle rotates with 1000RPM and somewhere down in my Gcode there is command
S300 F300, few seconds ago before I pressed Feed hold was active command G01 -23.5  F40 mm/min, what you think what will happen if I press Cycle start (I know I must be boring probably :) ) ?

So in other words what should I do to be by text book in order to know outcome of result when I press cycle start if I pressed Feed hold before Cycle start?

Mach 3 can’t rewind the buffer. So it starts up again at the next line after the buffer. Mach 3 can be restarted anywhere in the program. However you really need to think about this because if the 300mm feed rate got applied in the buffer then you need to start at a point before the 40mm feed was called and you should make sure the first move after that is a safe one. Preferrably it is a move to the clearance plane.

I read couple of time what you wrote and only question is that I am asking my self does Feed Hold button have any purpose then, if I press Feed Hold button, machine will not stop in same second, it will stop slow but safe and it should be able to continue from that line in G code where process was stopped when I press Cycle start button, if that is not the case I do not see any reason why Feed Hold exist (except to stop G code and to start after all from zero).

You say : "Mach 3 can’t rewind the buffer"

I ask my self why it should rewind buffer at all, I just want machining process to continue from point from where I pressed Feed Hold (Even I like more Stop file, but will pretend that I will use Feed hold, I tested both and I see no difference except feed hold is slower and it does not turn off spindle, and coolant and so on..)

So in buffer should be information that I set Feed to 40 mm/min and couple of commands down I use G01 movement , and all the way down I set Feed to 300 mm/min, why would in buffer be 300 mm/min , I do not understand that part? Is there any link wher I can find how buffer works (intuitive for me is that I should not even care how it works, logical would be if I press feed hold, it stops with one feed and when I want to continue it should carry on with same feed).

The why is very simple. All CNCs apply look ahead. They don’t process one command at a time. A G1 is a cutting move and what follows is important too. If it is the last cut the tool must come to a complete stop. If it is an arc and you have continuous motion enabled it needs to consider the radius to decide how to slow down but not stop. It also must calculate the deceleration moves involved. These calcs get done as quickly as possible and stuffed into a buffer that is feeding the commands to the motor. so to actually maintain position you need to empty the buffer in a feedhold. Hitting Stop basicly says forget about where the tool is and stop as fast as possible.  See your 300mm rapid? On my machine the rapid move is 7600mm/min!
Hi, this is what I was asking whole time, thank you answering, now it have little more sense .

But I still do not understand, I am machining with feed 40 mm/min and I press Feed Hold and when I press Cycle start Mach3 takes feed 300 mm/min. So, it should continue with feed 40 mm/min not 300/min , that is problem in my opinion, I tested Feed Hold, Stop file, same result for me.

My machine have rapid 4000 mm/min but I set it to 2100 mm/min.

problem solved, check video if you are interested


What you want is to do something wrong and the machine will gracefully stop and let you try again?  Hitting the Stop button, not E-stop while any axis is moving looses position. It may be a small amount if your machine is slow and you don’t notice it. My machine travels quite fast and no way I can recover from a Stop push, but no problem with feed hold. So lets work on your skills.

When drilling a hole almost any depth always use a peck until you know how the material reacts. The CNC can’t that you can drill 3 holes and will suddenly wrap the chip. A peck is a chip breaking technique that is why it is there.  

When opening up a hole you drilled using a boring bar try pecking that too. Going from a 1/2” drilled hole to a 1” hole x 2” deep, do it in 1/4” pecks leaving a little for a full depth finish pass.  This will keep the chips from packing.  The part will be stiffer for each cut and may reduce chatter.

When you program a part set your feeds higher than you think you need. Mach 3 feed overide goes up only 250% but it can go down 20 to 1 to 5% with no problem. Then always start with the overide way down and increase it until it is cutting properly.

The faster you can feed the better. Not only do you get done faster but tool life goes up to. That happens because the cutting edges pass through the material less time. A heavier cut also helps to break the chip. If you haven’t broken any cutters by feeding too fast you should. You will likely be shocked how far from too fast you really are. I had a slotting job in steel that was 1/3 done and had worn out 3 end mills. Pushing the feed way up finished the job in half the time using one endmill.

Hi , thx for post, I do not claim that I do know everything about machining but I understand lot of things that you wrote but as I wrote my machine (cnc lathe have 1.5 Kw motor for spindle motor instead original 4 Kw motor, so even with this what I am doing I am pushing my machine).

So just to try to explain what is the problem for me, lets ask our self first one things , is this what will follow next legit G code that Mach 3 can "understand" , maybe somebody see something that I do not see:

N20 G21 G18 G64 G80 G90 M48 G90.1 G40 G49
N30 M08
; TOOL definition
N50 T0909
N60 G00 X0.0 Z10.0
N70 G49
N80 ( End Mill  12mm Dia )
N90 T0202
N100 G00 X0.0 Z5.0
N110 G97 S1000
N120 M04 G94 F40.0
N130 G00 Z1.0
N140 G01 Z-24.633
N150 G00 Z1.0
N160 Z-23.633
N170 G01 Z-49.267
N180 G00 Z1.0
N190 Z-48.267
N200 G01 Z-73.9
N205 S300 F300
N210 G01 Z1.0
N220 M05 M09
N230 M30

I will try to explain it by words, select tool number 2, position that toll in Z axis with coordinate Z=5 mm , set Spindle RPM to 1000, set spindle direction to M4, set Feed to 40 mm/ min, from there go with rapid feedrate to Z = 1 mm. From point Z= 1 mm start to drill hole with feed 40 mm/ min , go till coordinate Z =Z-24.633 mm, after that retract with rapid feed rate to Z = 1 mm and so on...

So in my opinion it is legit G code that Mach  3 can understand (I believe).

Now lets focus (I mean really hard :)) "go till coordinate Z = Z-24.633"  or originally written N140 G01 Z-24.633 and let imagine that I pressed Feed hold button in Mach3 (I could pressed E stop or Stop file but I decided on purpose to press Feed hold check 4 min video if you do not believe me https://youtu.be/VSHC9O4CVrA).

Now, let ask our self what we expect with which feed will machine continue to move after we press Cycle start button?

Options available : a) F =40 mm/min
                         b) rapid feed rate
                         c) F = 300 mm/min
                         d) something else

Anwser is......................

b) + c)  (rapid feedrate , and then F = 300mm/min)

And my question is why?

Please look where is F = 300mm/min written in G code, and try to count how many times there is G01 command before you get to command
N205 S300 F300

To be honest I never experienced that machine lose position after I press Stop file, I have toolchanger as Y axis so I would notice that something is strange, tools would be unlocked, x axis needs to be on x=0 when I drill, so I would notice there also that something is strange, and when I am drilling I use Feed 40mm/min so there no reason in my mind to lose anything.

Thing is if you watch my 4 min video that I would lose my tool ,I would jam it with 300 mm/min inside part that I am trying to drill  or in better case I would just push part inside of chuck and score surface of part, .

I appreciate all comments but I have feeling like I asked question on Practical Machinist forum and not on Mach 3 forum , just little joke :)

Pages: 1 2 3 4 5 6 7 8 9 »