estimate program runtime searched
30 Dec 2020 14:53 - 30 Dec 2020 14:56 #193549
by chris@cnc
expected program runtime searched was created by chris@cnc
Hello,
The expected program runtime can be seen in file -> properties. Is there a way to export this signal to Pyvcp? I want to run my program runtime timer backwards and need the expected runtime for the calculation.
The expected program runtime can be seen in file -> properties. Is there a way to export this signal to Pyvcp? I want to run my program runtime timer backwards and need the expected runtime for the calculation.
Last edit: 30 Dec 2020 14:56 by chris@cnc.
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
Less
More
- Posts: 361
- Thank you received: 150
30 Dec 2020 22:00 #193586
by skunkworks
Replied by skunkworks on topic expected program runtime searched
First - to you quiestion - I don't know. Second - the estimate is very very poor.
sam
sam
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19209
- Thank you received: 6438
30 Dec 2020 22:24 - 30 Dec 2020 22:25 #193587
by tommylight
Replied by tommylight on topic expected program runtime searched
The estimate is very precise, it just does not include anything except the feed distance at the given feed rate. So rapids, tool changes, acceleration/deceleration, probing, etc are not included.
Last edit: 30 Dec 2020 22:25 by tommylight. Reason: typo
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
Less
More
- Posts: 361
- Thank you received: 150
30 Dec 2020 23:02 #193589
by skunkworks
Replied by skunkworks on topic expected program runtime searched
Exactly..
Please Log in or Create an account to join the conversation.
30 Dec 2020 23:13 #193590
by chris@cnc
Replied by chris@cnc on topic expected program runtime searched
And that's the point. I don't have a tool changer. And so it's good to know when to be back. 5 minutes don't matter. But I have 4 cores and I no longer want to do their work. They are better at calculating and with a little offset the estimate fits usefully.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19209
- Thank you received: 6438
30 Dec 2020 23:53 #193595
by tommylight
Replied by tommylight on topic expected program runtime searched
For Plasma, since there are probing and waiting for the arcok signal besides the rapids and accel/decel, i just double the value that i get from file>properties.
It usually is near enough, but when it has to do a lot of pierces/probes/waits i tend to triple the time. That requires a bit of experience with the machine and types of work.
It usually is near enough, but when it has to do a lot of pierces/probes/waits i tend to triple the time. That requires a bit of experience with the machine and types of work.
Please Log in or Create an account to join the conversation.
30 May 2021 14:09 - 30 May 2021 14:10 #210678
by chris@cnc
Replied by chris@cnc on topic estimate program runtime searched
I found the calculation of the estimated program runtime in /usr/bin/axis from line 1964 to 2018. Could someone point me to the variable where this time is written?
I would export to the pyvcp panel and calculate backwards to zero
I would export to the pyvcp panel and calculate backwards to zero
def gcode_properties(event=None):
props = {}
if not loaded_file:
props['name'] = _("No file loaded")
else:
ext = os.path.splitext(loaded_file)[1]
program_filter = None
if ext:
program_filter = inifile.find("FILTER", ext[1:])
name = os.path.basename(loaded_file)
if program_filter:
props['name'] = _("generated from %s") % name
else:
props['name'] = name
size = os.stat(loaded_file).st_size
lines = int(widgets.text.index("end").split(".")[0])-2
props['size'] = _("%(size)s bytes\n%(lines)s gcode lines") % {'size': size, 'lines': lines}
if vars.metric.get():
conv = 1
units = _("mm")
fmt = "%.3f"
else:
conv = 1/25.4
units = _("in")
fmt = "%.4f"
mf = vars.max_speed.get()
#print o.canon.traverse[0]
g0 = sum(dist(l[1][:3], l[2][:3]) for l in o.canon.traverse)
g1 = (sum(dist(l[1][:3], l[2][:3]) for l in o.canon.feed) +
sum(dist(l[1][:3], l[2][:3]) for l in o.canon.arcfeed))
gt = (sum(dist(l[1][:3], l[2][:3])/min(mf, l[3]) for l in o.canon.feed) +
sum(dist(l[1][:3], l[2][:3])/min(mf, l[3]) for l in o.canon.arcfeed) +
sum(dist(l[1][:3], l[2][:3])/mf for l in o.canon.traverse) +
o.canon.dwell_time
)
props['g0'] = "%f %s".replace("%f", fmt) % (from_internal_linear_unit(g0, conv), units)
props['g1'] = "%f %s".replace("%f", fmt) % (from_internal_linear_unit(g1, conv), units)
if gt > 120:
props['run'] = _("%.1f minutes") % (gt/60)
else:
props['run'] = _("%d seconds") % (int(gt))
min_extents = from_internal_units(o.canon.min_extents, conv)
max_extents = from_internal_units(o.canon.max_extents, conv)
for (i, c) in enumerate("xyz"):
a = min_extents[i]
b = max_extents[i]
if a != b:
props[c] = _("%(a)f to %(b)f = %(diff)f %(units)s").replace("%f", fmt) % {'a': a, 'b': b, 'diff': b-a, 'units': units}
properties(root_window, _("G-Code Properties"), property_names, props)
Last edit: 30 May 2021 14:10 by chris@cnc.
Please Log in or Create an account to join the conversation.
Time to create page: 0.073 seconds