#emc-devel | Logs for 2009-07-25

[16:34:32] <skunkworks> cradek: did it arrive?
[16:36:09] <skunkworks> oh - yes you did. Great! :)
[16:57:11] <BigJohnT> in master is there a way to know what the current Feed setting is for velocity in HAL?
[16:59:28] <jepler> BigJohnT: no
[17:02:12] <cradek> yep it is safely here, in the garage for now
[17:02:55] <cradek> had to chase the driver 35 miles to the truck stop up the interstate to get the electrical box key from the guy :-)
[17:03:08] <BigJohnT> thanks jepler
[17:03:10] <cradek> he stuck it in his pocket for safe keeping - just like something I would do
[17:04:32] <jepler> I seem to recall someone--maybe micges--wanting that for some reason. I don't think he put in a change, though
[17:04:50] <jepler> it's not clear to me whether you can always produce a meaningful number. you'd have to define what you mean..
[17:05:59] <cradek> bbl, off to work
[17:06:01] <BigJohnT> If I could know the current requested feed rate then I can compare it to the actual velocity and know if it is ok to allow a correction on the Z height if needed
[17:06:48] <BigJohnT> instead of using a spinner box to set my speed rate which would lead to errors because of human involvement
[17:06:56] <BigJohnT> feed rate
[17:07:39] <jepler> tell me more about how tou decide if a correction is OK
[17:07:43] <jepler> s/tou/you/
[17:08:22] <BigJohnT> if the current velocity is within a range set by me of the programmed feed rate then it is ok to make a correction if needed
[17:08:58] <BigJohnT> the correction is based on the actual tip voltage compared to the requested tip voltage
[17:10:50] <jepler> is it to avoid doing it when stopped? when in a G0 move rather than in a G1? While accelerating or decelerating?
[17:11:53] <BigJohnT> always in a G1 2/3 move and yes to avoid making a correction if you have slowed down for a direction change as the voltage will not be quite right when slowed down
[17:11:53] <jepler> (I am wondering if checking for 'moving and not accelerating' instead makes sense)
[17:13:36] <SWPadnos> I think someone else also wanted to be able to change laser output proportional to the ratio of actual speed vs. requested speed
[17:14:09] <BigJohnT> the speed and tip to work distance affect the voltage but you only want to correct the tip to work distance part so you have to ignore the voltage unless your within a percent of F
[17:14:14] <SWPadnos> I wonder if having a HAL pin that just has the F word on it would be all that is necessary
[17:14:27] <BigJohnT> that would be sweet!
[17:14:42] <jepler> SWPadnos: no, not at all
[17:14:59] <jepler> feed override. feed per revolution. threading. inverse time feed mode
[17:14:59] <SWPadnos> I think we had considered that there may be many factors that change it, like FO, AFO, TP limits, etc.
[17:15:06] <SWPadnos> but that doesn't matter
[17:15:08] <SWPadnos> I think
[17:15:18] <SWPadnos> you don't use a laser cutter in FPR mode (probably)
[17:15:46] <SWPadnos> and if you program F100000, expecting TP limits to limit the vel, then you deserve to get no laser power
[17:16:03] <jepler> once a pin exists people with machines of all stripes will expect it to do something useful
[17:16:09] <SWPadnos> yes
[17:16:42] <SWPadnos> damned people
[17:17:56] <BigJohnT> damned people
[17:18:53] <SWPadnos> at which point we get into the complexities aurrounding early interpretation vs. execution of code ...
[17:19:14] <jepler> it looks like 'tc->reqvel * tc->feed_override' value in the realtime motion planner is closest to what you want
[17:19:34] <jepler> it is net speed in machine units per second before velocity and acceleration limits are applied
[17:19:59] <jepler> src/emc/kinematics.tp.c:tpRunCycle about line 593 in my source
[17:20:08] <alex_joni> it's not quite requested F-word, but rather max possible speed
[17:20:15] <alex_joni> it also takes machine settings into account
[17:20:17] <jepler> actually, I think it's after velocity limit has been applied
[17:20:25] <alex_joni> right
[17:20:31] <jepler> (and if you use it at the wrong line it's after accel limit has been applied)
[17:21:12] <jepler> (another thing to do instead of a user slider is to have F# always accompanied by M1xx Q# to set the value in HAL ..)
[17:26:54] <BigJohnT> ok, I see that now. That can work too.
[17:26:59] <SWPadnos> actually, make the S number (or whatever is running the laser/plasma) into a value that gets multiplied by the actual velocity
[17:27:18] <SWPadnos> then multiple in HAL
[17:27:21] <SWPadnos> multiply
[17:27:30] <BigJohnT> Even better I can pass the requested voltage too
[17:27:56] <BigJohnT> on a plasma the S is just a non zero value it is just an off and on
[17:28:05] <SWPadnos> well, use it for something else :)
[17:28:14] <BigJohnT> and I just look at spindle to see if it is on
[17:28:27] <BigJohnT> * BigJohnT wonders what he could do with it
[17:29:00] <SWPadnos> if you expect to move at 100 IPM and 50% power, you set the S word so that multiplying S * (actual vel = 1.666) = 0.5
[17:29:27] <SWPadnos> so S=30 (30*1.666 = 50, if you scale in percent of full power)
[17:29:51] <SWPadnos> if it slows down, for whatever reason, the power will be reduced
[17:31:10] <BigJohnT> power is not controlled from the PC is it a knob on the plasma torch panel
[17:31:33] <SWPadnos> uh
[17:31:53] <SWPadnos> maybe you're not the guy looking for laser/plasma power control based on actual velocity ;)
[17:32:10] <BigJohnT> I think only lasers have a power control input
[17:33:05] <BigJohnT> I control the tip voltage with distance to work from the tip by moving the Z up and down
[17:33:23] <SWPadnos> what are you trying to control with the speed again?
[17:33:28] <SWPadnos> err, based on speed
[17:34:10] <BigJohnT> nothing I just want to know that I'm at speed or close enough
[17:34:44] <BigJohnT> if I'm within say 10% of the F setting it is ok to make corrections if needed to maintain tip voltage
[17:34:48] <alex_joni> SWPadnos: whetere it's safe to turn on height adjustment or not
[17:35:02] <BigJohnT> exactly
[17:35:12] <alex_joni> minus the spelling errors ;)
[17:35:34] <alex_joni> otoh, requested speed is not the same at what emc2 will use as commanded speed
[17:35:39] <BigJohnT> smelling errorors
[17:35:56] <BigJohnT> how is that?
[17:36:05] <alex_joni> if you program F100000
[17:36:10] <alex_joni> your machine can't do that
[17:36:25] <alex_joni> then emc2 will scale that based on machine performance
[17:36:47] <alex_joni> (it will be scaled according to TRAJ max_vel, axis max_vel, etc)
[17:37:24] <BigJohnT> in that case you need to fix your g code and get a new tip out
[17:38:25] <BigJohnT> other than mistakes in the g code it should work... right?
[17:40:11] <alex_joni> right
[17:40:46] <SWPadnos> program S with the same number as F
[17:40:50] <SWPadnos> and check the two
[17:40:54] <BigJohnT> for M1xx how do you use the P- and Q- in your file? it's not in the manual
[17:41:01] <SWPadnos> yes it is :)
[17:41:07] <SWPadnos> (the manual of the code anyway ;) )
[17:41:13] <alex_joni> M101 P1234.56
[17:41:21] <alex_joni> the first param will be 1234.56
[17:41:24] <SWPadnos> look at M101 (in the nc_files dir)
[17:41:32] <BigJohnT> ok
[17:41:42] <SWPadnos> I think PARAM_P and PARAM_Q environemnt variables get set or something like that
[17:41:52] <BigJohnT> got it now
[17:42:28] <SWPadnos> oh I guess not. just $1 and $2
[17:43:17] <SWPadnos> so if you change that echo command to soemthing like "halcmd sets plasma_threshold $1", you'd be done
[17:45:00] <BigJohnT> yeppers
[17:53:03] <BigJohnT> oh yea the M1xx works great thanks jepler
[17:53:34] <BigJohnT> * BigJohnT goes off to take a nap
[19:27:30] <micges> BigJohnT: very cool idea, we have the same problems here with complex projects cutted on plasma
[19:27:50] <BigJohnT> hi micges
[19:28:04] <micges> hi BigjohnT
[19:28:05] <BigJohnT> you mean the M100 or ...
[19:28:38] <micges> I mean to allow correction Z height based on arc
[19:28:47] <micges> only above specific speed
[19:29:08] <BigJohnT> ok
[19:29:45] <BigJohnT> kinda made sense to me to not allow corrections below a certian percentage of set speed
[19:30:30] <micges> and yes I wanted F value in hal but to laser correction of speed due to not simmetrical spot (some time ago)
[19:31:09] <BigJohnT> I remember that
[19:31:30] <micges> It has no sense for me until I broke burner(?)
[19:31:49] <BigJohnT> ouch
[19:32:20] <micges> for now I slowed down Z pid but it is no solution
[19:33:55] <micges> your thc is based on velocity controlling of Z ?
[19:34:11] <micges> (didn't read thc.comp)
[19:34:23] <mozmck> BigJohnT: I haven't had much time to look at the THC stuff, but I have looked some at the diagram dallur made.
[19:34:59] <BigJohnT> the comp is my first attempt but I have changed it a lot since my last check in
[19:35:43] <mozmck> he has something that looks like he is calculating xy velocity... have you looked at that?
[19:36:07] <BigJohnT> micges: all I'm doing is making sure that I'm within a tolerance of velocity to allow correction
[19:37:06] <BigJohnT> if X vel + Y vel > min velocity then allow correction to take place
[19:37:26] <micges> I understand
[19:37:31] <alex_joni> xvel+yvel is not the best calculation to do
[19:37:49] <BigJohnT> why is that?
[19:38:02] <alex_joni> if one of the speeds is negative, then the math ain't right
[19:38:28] <alex_joni> usually combined speed is: sqrt(xvel^2 + yvel^2)
[19:38:36] <micges> I think it must be sqrt(x^2 + y^2)
[19:38:56] <micges> heh
[19:38:57] <alex_joni> there is a HAL component that does that
[19:40:53] <cradek> maybe the test you really want is whether the motion planner is in the cruise phase of any particular motion?
[19:41:28] <BigJohnT> cruise phase?
[19:41:40] <cradek> neither accelerating, decelerating, or blending
[19:41:58] <cradek> going a steady speed along the middle portion of a single move
[19:42:27] <BigJohnT> I can stand some tolerance from commanded speed
[19:42:57] <micges> cradek: that would be very usefull information not only to plasma
[19:43:25] <BigJohnT> I do get the abs then use the sqrt math to get the abs x + y
[19:44:56] <BigJohnT> cradek: if your cutting an artsy fartsy part with a lot of short lines but you can still maintain at least 90% of F would that still work?
[19:45:27] <alex_joni> you could put some filter on the output from motion.at-cruis-phase
[19:45:34] <alex_joni> cruise*
[19:46:00] <BigJohnT> It would be interesting to try out
[19:46:10] <BigJohnT> guys I gotta run bbl
[19:46:13] <alex_joni> see you
[19:46:14] <micges> BigJohnT: how do you find your low velocity level of allowing corrction ?
[19:47:01] <alex_joni> trial and error :P
[19:48:01] <micges> hehe probably
[20:35:49] <alex_joni> good night all
[23:47:14] <CIA-3> EMC: 03bigjohnt 07master * r4ad62f05687d 10/docs/src/gcode/main.lyx: Add info on passing parameters to M1nn files and markup fixes
[23:51:38] <SWPadnos> BJT-Work, it looks like you might have committed more than you intended
[23:52:05] <SWPadnos> or at least more than the commit message describes :)