What do you want is to get estimated worked time with different working feed ?
Hi all,
I have a G-CODE file, and I need the table of time v.s. velocity form this g-code file.
Please advise to any solution can do this operating.
Similar Threads:
- Need Help!- Determining the velocity of an axis near real-time
- Need Help!- VB code for G-Code Cycle time estimation
- Need Help!- How to translate ISO code to APT¿?
- Need Help!- Time logging of position, velocity and acceleration
What do you want is to get estimated worked time with different working feed ?
I need "Time v.s. Velocity" data for input to CAE simulation.
The G-code execution time is conditioned by a lot of factors:
- Velocity (Feed in G-Code parts).
- Axes characteristics (individual axis max speed, acceleration/deceleration time).
- Stock positions (if in multi-axis work), RTCP capabilities, is very hard to get a common rule.
In your systems to get the exact execution time after change of velocities (feed) at CAM level we have moved the entire interpolations algorithms and RTCP, look-ahead, etc algorithms directly in PC Control Software.
This is the only way to get a time vs velocity measure.
Often programmed F (velocity) are not possibile during work just for axes singular limits, or because stock is placed in a decentrated zone of rotational plate...
Also runtime override can change a lot the final value.
Using the exact CNC algorithm time vs velocity is perfect at 100%
At end of Job Esitimated time will be same of Worked Time (if user keep OVR to 100%)
Last edited by shineworld; 03-10-2020 at 11:06 AM.
hy shineworld, please, this is the 1st time when i hear about someone using a simulation that can deliver an estimation that is 100% accurate
in most cases, especially for high resolution 3d toolpaths, on 5 axis machines, there are big differences between cam estimation and real process duration, and also there are considerable differences when runing same program on different cnc's, because each one has it's own cinematics
what is that PC control software, and how do you connect it with your cam ? please, will you develop this a bit ?
does the term " table of time vs velocity " refers to something that is cnc specific? is the 1st time when i hear such things, and if i google it, it seems to be a simple speed chart / kindly
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
Hi deadlyKitten,
We are CNC control board markers, and in our PC Control Software we added the same algoritms used in CNC board (which run with proper realtime OS all runtime math, interpolator, ...).
When we compile the gcode the extact toolpath, executed after in board, is available in simulator engine which get out exact time planned fo toolpath machinery,
minus eventual extra-time required to tool change mechanic part, or run-time changes of OVR for feed from end user.
This value is used from our customers which can prevent, with a very good accuracy, the milling time, how many road made a tool, and prepare right preventive costs.
It also used to check and avoid collisions for extra-movements which are generated by post-processor or by user macro functions which CAM engine can't know.
The toolpath simulation get out from engine take in account of any movement aspect as :
- axis caracteristics,
- kinematics in use,
- RTCP compensations,
- look-ahead,
- tool-path planner,
- smothness algorithms,
- etc.
In simulator you can fastly develop the entire milling work with resolution of ms, till 8 hours.
Toolpath extimated time is not limited to simulator limit of 8 hours however.
Toolpath simulator can be executed without have a CNC board connected to control software,
so often customers run it in CAD/CAM office before to send to machine.
Just a sample of a 5 axis titling head with saw disk
Last edited by shineworld; 03-13-2020 at 08:29 AM.
hy shyneworld, i looked a bit over your youtube videos and website ... so indeed, rosetta is developing it's own custom controller, that can be fitted on several types of machines, and you also have a pc software, that is "tuned" so to be able to reflect the behaviour of the cnc ... nice
what types of machines did you equiped with your cnc ?
i have invested a lot of time and effort into okuma cncs : we were having long setups ( like from few weeks to 1 year) , and i started to run many trials, in order to find out the best combination of codes, so to achieve shorter cycle times; there are many interlocks, possibilities to adjust acceleration&decelaration, in-position width, 3d toolpath smoothing, acceleration management at toolpath joints, etc, and manuals are not easy to be understood, so most of the things that i have discovered, were based on many many trials ... and this is very time consuming ...
i believe that your simulator is verry accurate, especially because most cam-softwares only reveal a very subjective cycle time estimation, because they are not tuned with the machine ... i have a question : if i share an okuma code, is it possible for your software to estimate the machine time ? or does it work only for rosetta cnc ? kindly
ps : my god, only now i realized ... a while ago, i heard of an okuma software, that was very specialized, and indeed, it does "real" simulations; it took me a while to figure it out
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
We are equipping various kinds of machines that cover mechanical processing, wood, marble, plasma, etc from 2 to 6 axis, in dir / step or EtherCAT bus.
But the analysis part of our software does not stop at the calculation of the time of the tool path, but allows to evaluate the result of the CAM path also in terms of weak points in the path construction.
I give an example.
Just change the input to the path generation, one or more parameters of the strategy and the CAM output can vary a lot.
During code compilation we have various ways of analysis:
RF = real path and path color display relative to the feed.
This allows us to highlight that given a feed of 6000mm / min during the machining process at which points the CNC was forced to slow down due to the setting parameters of the axes or an excessive tilting of the table or head. Given this, just return to the CAM, change some parameters of the strategy, for example the maximum constraint of tiling or the precision of the stroke and immediately evaluate in our software how the machine adjusts to these settings.
RV = real path and color spectrum display of the worked speeds. This allows you to evaluate at a glance the distribution of speed traveled in the final work and highlight which parts take the most processing time or identify problems in the generated CAM for poor resolution or problems of the CAM itself to solve a geometry.
Then RZ, RT, and so on.
Example:
I fought a lot with cam strategy tilting parameters to reduce to minimal the RTCP feed slow down in marked places now pratically absent.
or to reduce at minimun the slow down in pieces like this for continuous production.
if i share an okuma code, is it possible for your software to estimate the machine time ? or does it work only for rosetta cnc ?
RosettaCNC GCode is ISO, a very close dialect to Fanuc, so I can try if close to fanuc.
But I need also of axis parameters as:
- axis max valocity mm/min
- axis accelerations mm/s2
i am glad to be talking with you
now i understand why you were able to give a reply in this thread : https://www.cnczone.com/forums/g-cod...ml#post2334126
also here https://www.cnczone.com/forums/contr...ml#post2323530
please, what is the hardware from attached image ? is that a 4th axis + another 4th axis ? please, can you share the link for the real equipment ?
please, what do you mean by rz rt and so on ? what is rtcp ?Then RZ, RT, and so on.
so, you may simulate a hsm operation, and tune it before sending it to the machine ?This allows us to highlight that given a feed of 6000mm / min during the machining process at which points the CNC was forced to slow down due to the setting parameters of the axes or an excessive tilting of the table or head. Given this, just return to the CAM, change some parameters of the strategy, for example the maximum constraint of tiling or the precision of the stroke and immediately evaluate in our software how the machine adjusts to these settings.
why all this fight ? what about auto-generation of parameter combinations, so the program to learn and improve it's self ?I fought a lot with cam strategy tilting parameters to reduce to minimal ...
please, can you describe this a bit ?smothness algorithms
yes, i understand you need those as inputs ... but there are also other parameters ... i have spent 2-3 full days of trials, only to configure the mill cinematics, and understand, or at least have a clue, about how they work / kindlyBut I need also of axis parameters as:
- axis max valocity mm/min
- axis accelerations mm/s2
we are merely at the start of " Internet of Things / Industrial Revolution 4.0 " era : a mix of AI, plastics, human estrangement, powerful non-state actors ...
I guess we are going OT about the thread meaning and before to be banned by administratros we can continue our post in IQC or Telegram.
My channels chat is @shineworld for eithers.
Hi all:
thank you guys reply.
I just need xyz coordinate information ( time to xyz) from G-CODE for using it in CAE simulation(Additive Manufacture process).
I completed one before by AutoCAD as below progress:
1. drawing the path (dwg dxf)
2. using AutoLisp to separate each curve and line (like as interpolator in CNC).
3. marking and extract all "start/end point"
4. done
But this progress can only in a plane (x-y, y-z or z-x).
What do you want is very complicated to get because velocity vector depends a lot from CNC toolpath planning algorithms.
Toolpath planning algorithms depends by kinematics and axes settings.
If you have the core code of your CNC board (eg: you are using grbl) you have to extract it and simulate the execution
of GCode at maximum speed permited by your PC measuring the tick time.
If you just take path length / feed you get only a very raw result which don't consider any rules in interpolator.
The resulting time will be always as you can accelerate in infinite mm/s2 and your axes permits all the feed set but this is not true.
The CAM predict in this way the estimated toolpath time, but are very raw....
At end of 4 hours of working you can have a difference in time more than 20%.
The very trivial way for 3 axis is:
1] Get approximate toolpath length:
- for lines just toolpath = toolpath + SQRT(X*X+Y*Y+Z*Z)
- for arc you have to get coord length toolpath = toolpath + arc_coord_lenght_in_xyz(arc.data)
2] Get time = toolpath / feed
Obviously there are movements in Feed (G1/G2/G3/..) and movements in FAST (G0)...
Just this is complicated to do and don't considers that any axes has an acceleration/deceleration ramp
which could be trapeizoidal or curve-S, that axes has different maximum feed, that axis inversion of
direction require a transition to 0 speed value, etc....
Telegram: @Shineworld
Hi Ianlin - What Shine is trying to say is that there is no time/velocity (ie acceleration information ) in G Code. The acceleration is done by the velocity planner a separate entity all together. G Code is the path and there are some set velocities in it but they are not always achievable. eg you are driving on a road with 100kph speed limit. So you are driving at 100kph but 100m away there is a 90deg bend, you cannot go around a bend that fast so what do you do?. The velocity planner looks ahead and sees this bend so slows the tool down so it can negotiate the bend, it may even stop. If you use a program like Camotics which is free it will predict the toolpath time and you can look at it and see the velocities and accelerations anywhere in the path.
Some programs have forward prediction control then backwards checking then forwards optimisation. A fwd looking planner will not produce the best path first time. Like most things it needs a bit of tuning to get it right...
Cheers Peter
This github project could help you: https://github.com/arhi/gcodestat
Telegram: @Shineworld