#emc-devel | Logs for 2009-08-12

[05:13:07] <CIA-41> EMC: 03cmorley 07master * r4d17dbab38c4 10/src/hal/components/steptest.comp: Add a motion pause timer pin
[05:13:07] <CIA-41> EMC: 03cmorley 07master * re0507b51cbce 10/docs/man/man1/halmeter.1: update halmeter man page
[05:13:10] <CIA-41> EMC: 03cmorley 07master * reb7296fdfb2d 10/docs/man/man9/steptest.9: update man page for steptest component
[05:13:27] <CIA-41> EMC: 03cmorley 07master * r23050b3ab35a 10/src/hal/user_comps/pyvcp.py: Add usage info to / cleanup of changes to pyvcp
[05:13:35] <CIA-41> EMC: 03cmorley 07master * r20604ad07d0a 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): more work on axis test for steppers
[05:13:41] <CIA-41> EMC: 03cmorley 07master * r918213fc8d9b 10/docs/man/man9/steptest.9: update steptest manpage about timer
[05:13:49] <CIA-41> EMC: 03cmorley 07master * r87b016c91c15 10/src/hal/components/steptest.comp: Add optional motion pause ability
[05:13:55] <CIA-41> EMC: 03cmorley 07master * rf22f2b7d3769 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): GUI Signal blocking work
[05:14:04] <CIA-41> EMC: 03cmorley 07master * r6a8385129c3e 10/src/emc/usr_intf/pncconf/pncconf-help/help-mesa.txt: Add help text for mesa page
[05:14:10] <CIA-41> EMC: 03cmorley 07master * r7a4cb10c8892 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): Add INI options code / mesa work
[05:14:23] <CIA-41> EMC: 03cmorley 07master * rf8b762495885 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): Fix reloading of configuration pwm/encoder names
[05:14:31] <CIA-41> EMC: 03cmorley 07master * rd60cebf946e4 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): Spindle page work
[05:14:37] <CIA-41> EMC: 03cmorley 07master * ra9a5726d0f31 10/docs/man/man9/steptest.9: Update steptest man page for added pause pins
[05:14:45] <CIA-41> EMC: 03cmorley 07master * r9fffec3ae8dd 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): Beginning of revamp of spindle page
[05:15:10] <CIA-41> EMC: 03cmorley 07master * rbc3700b289be 10/src/emc/usr_intf/pncconf/ (pncconf.glade pncconf.py): spindle page, Hal component loading, openloop test work
[05:15:38] <CIA-41> EMC: 03cmorley 07master * r80e9badf41d1 10/src/emc/usr_intf/pncconf/pncconf-help/ (4 files): Add help page files
[05:15:41] <CIA-41> EMC: 03cmorley 07master * rd7edaf6d6cff 10/src/emc/usr_intf/pncconf/ (5 files in 2 dirs): Add help pages
[07:58:29] <micges_work1> micges_work1 is now known as micges_work
[11:47:26] <jepler> cmorley's been busy
[11:48:13] <alex_joni> commit often, push once ;)
[11:53:04] <micges_work> something is wrong after his commits, after make I see some diffs in source in man9/steptest.9
[11:53:22] <micges_work> maybe he just didn't commit something
[11:53:45] <jepler> steptest.9 is autogenerated
[11:53:51] <jepler> he shouldn't have checked in a steptest.9 file
[11:54:28] <jepler> before his commit (I haven't pulled): $ git status steptest.9
[11:54:28] <jepler> error: pathspec 'steptest.9' did not match any file(s) known to git.
[11:54:52] <micges_work> I see
[11:56:22] <micges_work> and in gitweb I see from cmorley: Merge commit 'origin/master' into pncconf-branch, didn't see any other commits
[11:59:15] <jepler> they're probably further down in the log
[11:59:55] <CIA-41> EMC: 03jepler 07master * rb0d32d6cc7d5 10/docs/man/man9/steptest.9: this file is autogenerated by comp
[12:01:26] <micges_work> yes there are
[12:24:08] <jepler> if you're at a computer with a checkout, gitk will show it more easily
[12:24:31] <alex_joni> jepler: is there a way to see what will get pushed on a git push?
[12:24:55] <alex_joni> assuming I have some commited and some uncommited work
[12:25:36] <alex_joni> * alex_joni expects somthing like git diff origin/master
[12:27:18] <jepler> git log origin...HEAD
[12:29:40] <alex_joni> cool.. thanks
[12:29:46] <alex_joni> git diff works the same way it seems
[12:29:52] <jepler> that will show stuff commited on your current branch that is not on origin, and stuff that is on origin but not on your current branch -- but if you've just merged or rebased then there's nothing in the second category
[12:31:16] <jepler> read git --help rev-parse down at "SPECIFYING RANGES"
[13:15:16] <jepler> ugh I hate the new sf bugtracker
[13:15:26] <jepler> by default it hides all the comments, so you have no idea what's going on in the bug
[13:15:56] <jepler> comments and attachments folds should start in the "open" state, or not be foldable at all
[13:20:32] <cradek> yeah, I don't know what they were thinking
[13:21:14] <cradek> whee, it was hard to write this folding stuff, so let's make sure everyone uses it, so as to make them notice and appreciate us!
[13:35:38] <SWPadnos> s/and appreciate//
[14:04:13] <micges_work> bbl
[15:26:46] <skunkworks_> cradek: anything exciting with jr?
[15:29:51] <skunkworks_> (other than almost having it converted in less than a week ;))
[15:34:50] <cradek> the tool flinger is still working great
[15:59:36] <skunkworks_> what did you have to do to get it working with the right tool holders?
[16:06:19] <cradek> I had to move the arm up, and then the spindle to match it
[16:06:32] <cradek> the throwing problem is due to the locking fingers not working quite right (one sticks in)
[16:06:49] <cradek> I think this is because it got hammered to death while it was misadjusted to work with the other holders
[16:07:50] <cradek> so I'm going to try sticking a penny where I think it's too short, and if that fixes it, I'll decide whether it seems like a good enough permanent fix :-/
[16:08:10] <skunkworks_> cool
[16:09:00] <cradek> there's a cap on top of the arm's shaft that determines how long a locking bar, which goes down the center of the shaft, is
[16:09:12] <cradek> the bar hammered the cap so hard that the cap is a bit concave
[16:09:26] <cradek> I think that's the base cause of the problem
[16:10:02] <cradek> after this damage, I bet it still didn't work, so they lifted the cap up on four washers to "fix" it
[16:10:19] <cradek> now even when I take the washers out, the beat-up cap makes the locking bar too short
[16:10:28] <cradek> I bet this description makes no sense without a picture
[16:10:40] <cradek> just trust me, it's finicky :-)
[16:11:14] <skunkworks_> yeck.
[16:11:33] <skunkworks_> sounds similar to all the 'fixes' we found on the k&t
[16:11:35] <cradek> all the sequencing is done and working right - it's just a mechanical problem now
[16:11:44] <skunkworks_> besides all the chisle marks.
[16:11:55] <cradek> well I haven't done the spindle orient yet - doing it manually so far
[16:11:57] <skunkworks_> that is cool - can't wait to see a video.
[16:12:18] <cradek> heh - oh look, they hammered it here ... they used a pipe wrench to take this off ...
[16:12:30] <skunkworks_> heh - exactly
[16:12:43] <cradek> (the pipe wrench works great - I didn't have to feel bad about messing up the finish)
[16:17:35] <skunkworks_> one of our kitties has a liver infection. He threw up the pills twice now - they are going to show us how to give him injections.
[16:18:22] <cradek> ah heck
[16:18:58] <cradek> but I think getting poked is less stressful than taking pills cats - they don't mind it at all
[16:19:03] <cradek> for cats
[16:19:15] <skunkworks_> yah - though I have gotten pretty good at it.
[16:20:14] <skunkworks_> He is a hurting unit. wants to go off and hide to sleep... :(
[16:21:25] <cradek> well I hope he is back to starring in cute photos soon.
[16:21:50] <skunkworks_> heh
[16:21:51] <skunkworks_> thanks
[16:21:59] <skunkworks_> bbl - vet time.
[16:27:18] <mozmck_work> if you have a gantry with a motor on each side to run one axis, what is the best way to set this up?
[16:27:52] <mozmck_work> I see a gantrykins that seems to be for this, but how does homing work?
[16:28:05] <cradek> I'm not sure I believe in gantrykins
[16:28:10] <cradek> you're right homing is the issue
[16:28:29] <cradek> is it servos with index pulse? steppers?
[16:29:16] <mozmck_work> steppers or servos using geckos. This is a very common configuration in router and plasma tables.
[16:29:33] <cradek> you can make it as simple or complex as you want. in hal, the homing "state" is available, so you can manipulate the whole process
[16:30:03] <cradek> for steppers you can mash them both into a hard stop and call it homed - I recall at least one guy who did it that way
[16:30:38] <mozmck_work> What ours does (in that other software :-) ) is as follows:
[16:30:59] <cradek> I think in general you want to start both sides moving together while searching out the home switches. the first one masks that side's motion. when both are hit, tell the software it's on the home switch and proceed
[16:31:27] <cradek> if you've got index pulses you will want to get fancier
[16:31:36] <mozmck_work> Move Y and A (which are "slaved") until the Y home switch closes, then keep moving the A until the A home switch closes.
[16:31:49] <cradek> I don't believe in servos+geckos, sorry, so I have no good advice for that :-P
[16:32:11] <cradek> yeah that's pretty much the simplest algorithm
[16:32:12] <mozmck_work> heh. They do exist though :) Just call them steppers
[16:32:27] <cradek> but hooking together Y,A is an abomination
[16:32:39] <cradek> nope, sorry, I deny they exist
[16:32:42] <mozmck_work> What would you do?
[16:33:05] <cradek> Y is linear - A is rotary - if you change your units with G20/G21 one side of the gantry will move 25.4x as fast as the other
[16:33:24] <cradek> the gantry is obviously only one axis
[16:33:40] <mozmck_work> oh, so can A be made linear? or do you have two Y axes?
[16:33:40] <cradek> it has two joints - not two axes
[16:33:49] <cradek> no and no
[16:33:50] <mozmck_work> ah.
[16:34:02] <cradek> you can have two motors (joints) hooked to the Y axis
[16:34:21] <cradek> mach people confuse motors and axes
[16:34:26] <mozmck_work> and they can be made to home as we just discussed?
[16:34:43] <cradek> I think they even think a motor used in a tool changer must be called A B or C
[16:34:56] <cradek> that's just the wrong approach for EMC
[16:35:11] <mozmck_work> yeah, I don't have my terminology straight yet /)
[16:35:28] <cradek> sure, you can do that (or many other homing schemes) in HAL
[16:35:33] <mozmck_work> how many motors can EMC control btw?
[16:35:42] <cradek> infinity motors
[16:35:45] <cradek> nine axes
[16:36:04] <mozmck_work> ok, I'll have to look at the docs for the homing some more.
[16:36:45] <cradek> you probably won't find docs especially for gantry homing
[16:36:56] <mozmck_work> so the nine axes can have any number of motors. but a toolchanger motor is not an axis? so what is it?
[16:36:59] <cradek> maybe the list archives would be a better place to look - it has been discussed a lot
[16:37:30] <cradek> a toolchanger motor is something that you'd run in HAL using a pid loop, a stepgen, or whatever else might be appropriate
[16:38:27] <cradek> the motors on my tool changer are run with a contactor and then a brake when the feedback says they are almost in the right place
[16:38:48] <cradek> if they were steppers, I'd use a stepgen in position mode and not need the brake
[16:40:23] <mozmck_work> I see, so nine axes, but you can still run motors that are not connected to an axis.
[16:40:42] <cradek> yep
[16:41:32] <cradek> axes are for gcode to move around; motors are machine-specific things controlled by HAL
[16:42:19] <mozmck_work> I see. so the interpreter only knows about 9 axes
[16:42:39] <cradek> actually axes are the space where the tool moves - only some machines (we call them trivial machines) have something like a 1:1 mapping between axes and joints/motors
[16:43:10] <cradek> yes
[16:43:40] <cradek> look in here (search for "states for homing") http://git.linuxcnc.org/gitweb?p=emc2.git;a=blob_plain;f=src/emc/motion/motion.h;hb=master
[16:44:21] <cradek> those are accessible in HAL and you can manipulate the home switches, mask step pulses, etc., according to the currently active state
[16:44:43] <cradek> for INITIAL_SEARCH I think you might want to trigger on either switch
[16:45:10] <cradek> then on the second, slower search you'd want to do the trick where you mask motion on the first side to hit its switch
[16:45:34] <mozmck_work> what is mask motion?
[16:45:37] <cradek> I bet that's RISE_SEARCH
[16:46:03] <cradek> in the case of steppers, seems like you could just stop the step pulses from getting to one motor
[16:46:32] <cradek> (for instance, use an and2 component)
[16:46:56] <cradek> fwiw, I haven't done this, I'm just proposing schemes you can investigate
[16:47:26] <mozmck_work> ok, thanks for the pointers, I'll have to do a bit of reading now...
[16:47:27] <cradek> if this is common, maybe we should have a sample config that shows it
[16:47:48] <cradek> wonder how bjt does his homing
[16:48:17] <cradek> bbl, lunch
[16:48:32] <mozmck_work> the sample thc configs use gantrykins, but I haven't figured out how they are doing homing yet.
[16:48:44] <mozmck_work> see you
[16:50:25] <BJT-Work> * BJT-Work has a jack shaft and one motor
[16:51:07] <BJT-Work> I manually square it up then home as normal
[16:51:45] <mozmck_work> hey BJT-Work.
[16:52:02] <BJT-Work> hey mozmck_work
[16:52:33] <mozmck_work> so you've got the THC comp nearly done?
[16:52:45] <mozmck_work> I have hardly had time to think around here.
[17:05:57] <BJT-Work> sorry the neighbors trailer caught on fire
[17:06:10] <BJT-Work> yes the THC is almost done
[17:09:02] <mozmck_work> ouch, did it do much damage?
[17:09:24] <mozmck_work> did you go ahead with a comp with up/down inputs?
[17:19:15] <BJT-Work> the fire dept got here fast enough to save the back half of the trailer
[17:19:23] <BJT-Work> the front half is toast
[17:19:54] <BJT-Work> yes the THC has the option of using up/down or the Mesa THC inputs
[17:43:02] <BJT-Work> at least their money survived the fire it was in the back bedroom
[17:44:33] <cradek> uh
[17:45:26] <skunkworks_> kitty is looking better. more alert and his feaver is down.
[17:46:21] <cradek> yay!
[17:46:38] <skunkworks_> They gave him more fluids and showed me how to give him his injections
[17:47:18] <skunkworks_> He will go back monday if he keeps getting better for a checkup.
[17:47:18] <cradek> I wish cats wouldn't stop drinking when they get sick. that always makes it worse.
[17:47:23] <skunkworks_> yes
[17:47:49] <skunkworks_> he looks like a humpback right now with is water :)
[17:47:54] <cradek> ha
[17:48:42] <skunkworks_> shirley likes the shot - less stress on her :) (she is the holder)
[17:48:55] <skunkworks_> vs pills
[19:32:56] <cradek> yay, I fixed the tool thrower
[19:34:10] <jepler> cool
[19:34:58] <cradek> the fix cost two cents
[19:37:00] <skunkworks_> heh - 2 pennies?
[19:37:43] <cradek> yep
[19:39:59] <skunkworks_> any major unknowns still?
[19:40:16] <cradek> spindle drive faulting...
[19:40:35] <cradek> but that's it
[19:40:57] <skunkworks_> is it a normal 3 phase motor with vfd - or some exotic thing?
[19:41:04] <cradek> very exotic
[19:41:14] <skunkworks_> eww
[19:41:47] <skunkworks_> old enough to be board level trouble shot? (trouble shot?) or no?
[19:43:37] <cradek> it's two packed circuit boards 18x24", plus about that much area worth of power stuff
[19:44:23] <cradek> I bet it's too "smart" to troubleshoot
[19:44:48] <cradek> I've seen overvoltage faults. I think it might be crappy power (and I don't know what to do about that)
[19:45:50] <skunkworks_> get a 3 phase diesle generator?
[19:45:56] <skunkworks_> :)
[19:46:16] <cradek> heh, nope
[19:46:29] <skunkworks_> or or - a nice wind generator setup that outputs 3 phase
[19:46:37] <skunkworks_> (batteries and all)
[19:46:55] <jepler> how many HP? GS2 3.0PH runs on 230V 1PH, bigger than that you need 3PH
[19:47:17] <cradek> 5? 7? a lot
[19:47:24] <jepler> nevermind then
[19:47:27] <jepler> (I meant 3.0HP, of course)
[19:47:43] <cradek> I don't think it's just a three phase motor - I think it's more like a huge AC servo
[19:51:11] <jepler> (this site with information about a MV JR says it's a 7.5HP spindle)
[19:51:27] <cradek> that sounds right
[19:51:49] <jepler> GS2 does go to 7.5HP on 230V 3PH, but if as you say it's not that simple .. it's not that simple
[19:54:31] <cradek> http://www.yaskawa.com/site/DMSpindle.nsf/(DocID)/TKUR-5EKSYH/$File/SIE-S626-1.2.pdf
[19:54:50] <cradek> maybe it is just a motor - I'll have to see what jmkasunich thinks
[19:57:15] <cradek> hm, that's the only one automationdirect is out of stock
[19:57:24] <cradek> that would be an easy (but not particularly cheap) fix
[20:01:52] <jepler> gs2 operates without feedback from the motor?
[20:02:37] <jepler> I see that the spindle has a resolver in it.
[20:03:29] <jepler> getting the "torque limit" input with gs2 is probably hard or impossible
[20:05:16] <cradek> I think it would be OK... I'd turn it off right when it stopped
[20:06:45] <jepler> you might be able to dynamically set the desired motor current if you used the modbus interface
[20:07:14] <cradek> interesting - I could do that.
[20:08:07] <cradek> I'm going to go take a picture of the motor plate etc
[20:08:10] <skunkworks_> does it index against a cog?
[20:12:43] <robh_> from doc looks like works just like all our old machines, with that "mag" sensor as they call it which locks AC motor into place through spindle drive
[20:16:53] <mozmck_work> can you make comments in a pyvcp xml file?
[20:17:26] <jepler> xml has comments. <!-- this is an XML comment -->
[20:17:28] <robh_> if wanted to replace that VFD ud need something abit like the Mitsubishi FR-A 700 series with brake resistor size depends on how big that motor is and what load u can do to stop it, we have just been looking down this road to replace out old spindle drive on our CNC
[20:17:47] <mozmck_work> thanks
[20:17:58] <jepler> as far as I know, these don't cause any trouble in pyvcp
[20:18:02] <jepler> if they do, I want to hear about it
[20:21:57] <mozmck_work> I'll try it in a minute. Can you include an pyvcp xml in another one? My thought is that you could have a part of the panel that could be easily commented out when not needed.
[20:22:24] <alex_joni> mozmck_work: not currently, but you can comment a section
[20:22:31] <alex_joni> at least xml should allow that
[20:22:47] <jepler> class pyvcp_include(Frame):
[20:22:52] <jepler> there seems to be some kind of <include> tag
[20:23:28] <mozmck_work> looks like comments work fine
[20:24:13] <jepler> implement new tag: <include src="other.xml"/>
[20:24:29] <jepler> apparently I wrote it, or at least committed it. that's what the commit message says
[20:24:42] <alex_joni> * alex_joni stands corrected
[20:27:26] <skunkworks_> our k&t indexes the spindle by a solinoid activated cog. When we switched the spindle to an vfd and 3phase motor - we just set one of the inputs to activate a creep mode (really low rpm) the vfd didn't seem to care that the spindle was stalleed at that speed.
[20:27:48] <skunkworks_> we also used it for the gear shift.
[20:28:35] <skunkworks_> throttles down to the creap - shifts gears - then back to the desired rpm
[20:29:18] <robh_> skunkworks, they basicly use that mag switch in the same way but in electronic form, it puts out a sine wave, and VFD detect the zero crossing with a window to stay in and switch direction of spindle etc to stay there, if it goes out of it it just drops out, and has same idea as u say switch into a creep around speed to find the switch location.
[20:30:53] <robh_> all new vfd now i belive all use encoders now instead
[20:32:23] <robh_> cradek, was the input of 3 phases ok on votlage, and are they pritty well in phase also, as all the VFD does frist is take the 3 phase and turns it into DC for the DC buss, to start and stop the spindle etc
[20:41:17] <robh_> aah nice, says vfd has +-10v input so can drop mag for encoder then to position spindle easy
[20:42:56] <mozmck_work> I'm trying to link some pins to LEDs in pyvcp, but emc crashes saying the pin is already linked. How do you link several pins together?
[20:43:45] <alex_joni> net signal pin1 pin2 pin3
[20:43:53] <alex_joni> net signal pin4
[20:43:54] <alex_joni> etc
[20:50:25] <SWPadnos> but only one writer per signal
[20:50:39] <SWPadnos> (shouldn't be a problem with LEDs)
[21:01:30] <mozmck_work> maybe my problem is that I'm using 2 different signal names
[21:01:30] <mozmck_work> two different hal files too
[21:01:35] <mozmck_work> that did it. in one hal file the signal name was home-x, but in the other it was something else.
[21:01:41] <mozmck_work> that's kind of a pain when trying to do something generic...
[21:04:22] <mozmck_work> Looks like once a writer is attached to a signal, it
[21:04:58] <mozmck_work> oops
[21:05:27] <mozmck_work> you can't have that writer in another signal
[21:06:05] <alex_joni> good night all
[21:06:57] <jepler> see you alex_joni
[21:07:00] <jepler> mozmck: yes, that's right
[21:08:05] <mozmck_work> hmm, can you link stuff without a signal name?
[21:10:20] <skunkworks_> I think hal automagically crates one if you don't specify one.
[21:10:25] <skunkworks_> creates
[21:11:44] <jepler> "halcmd net" creates the signal if it doesn't exist yet
[21:13:08] <mozmck_work> my problem is this: I'm making a diagnostic panel with leds for inputs. I'm trying to link them say to parport inputs, but the parport inputs have been given a signal name in another hal file which is home-x etc, but that could change with different setups.
[21:14:37] <jepler> (weird -- why are encoder pins position-scale, x4-mode, and counter-mode direction I/O?)
[21:15:22] <mozmck_work> net doesn't work with no signal name. emc crashes saying you can't have a signal name the same as a pin name
[21:17:10] <jepler> the first argument after 'net' must be a signal name. But it was a common error to forget the signal and just list two pins -- so in the 'net' command rejects a signal if it seems to be the same name as an existing pin.
[21:17:59] <jepler> there's no way to write a hal file that links a pyvcp LED to "whatever signal parport.0.pin-1 is linked to, or a new signal if it's not yet linked"
[21:18:16] <jepler> I think that's what you're saying you'd like to do, anyway..
[21:18:19] <SWPadnos> you could do it with a script
[21:18:44] <jepler> yes, but not with halcmd alone
[21:18:51] <SWPadnos> hallcmd net `halcmd -s show pin parport.0.pin-11-in | {awk-foo}` my_led-pin
[21:18:54] <SWPadnos> right
[21:19:01] <SWPadnos> s/hallcmd/halcmd/
[21:22:40] <mozmck_work> Yeah, that's basically what I'd like to do, but I can think of a way around for my stuff.
[21:25:18] <jepler> it wouldn't hurt for the errors from 'net' to explain a little more: http://pastebin.ca/1527118
[21:25:28] <jepler> something like that..
[21:34:25] <CIA-41> EMC: 03jepler 07master * r61468394348b 10/src/hal/utils/halcmd_commands.c: improve diagnostics for 'net' command
[22:01:49] <mozmck_work> so is there any way to make a pyvcp button for an output that is linked to something else (like motion.spindle-forward)?
[22:01:50] <mozmck_work> how is it done in Axis?
[22:05:43] <robh_> think u shoudl try in the EMC chanell mozmck_work