[Emc-users] Parametric g-code with pyvcp
Hi, is it possible to write a g-code program setting, for example, a linear motion distance with a halui parameter? My goal is to use a pyvcp scale to set the position I want to move to: G0 X[pyvcp.dimension] Thank you Luigi -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] WG: Re: WG: Re: axis and batch processing
Dear Steve Try removing the O sub/endsub lines and loading the files individually. That should get you a line number where the error occurs (I hope). The files were actually converted into subfiles from standalone files. The standalone files work without any error and do not show O sub/endsub lines. They do actually also run w/o the M30 command at the end, so... I glanced at the files and didn't see anything strange. ... confirmed, they run if loaded into axis as standalones, also the preview is there and I can rotate the display or whatever. One thing to note though, the interpreter behaves as though there were no spaces in the line. When calling subroutines that take parameters, each parameter needs to be enclosed in [] to insure that it's treated as a separate entity. If there are any places where you have two numbers separated only by whitespace, that will be an error. As an example, 1.25 3.99 will be interpreted as 1.253.99, which is a bad number format. there are only twowhitespaces in the sub files, seperating these two terms: -Olabels -sub/endsub I have no parameters to pass from the master to the subs I'm not sure where else to point you. Hope still this can be sorted out. It would be just great, If a coud have a trace window to see what axis does when it loads a file and also when it starts to interprete the file. Finally jan mentioned he could get a preview of my files. So I should beleieve it is somewhere in my setup that runs smootheley when using stabndrd individual files? chris PS: Ian, I hope that this message is in line with lists policy -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Line Filters
1 The medical grade RFI filters have a much smaller capacitance between line and ground, and usually have more series inductance. It can be tough to find medical style line filters with high current ratings. Plus, they're expensive... 2. I recently spoke with an engineer from North Shore Safety (a maker of GFCIs). We got on this very subject and he told me that their devices have a low pass (about 1kHz) filter that somehow decreases sensitivity noise current returned through ground. I didn't fully understand what he was saying at the time, but it impressed upon me that this was a real world problem. Since we can't really monkey around with the innards of either of these components, it may come down to a choice between one or the other. You might want to try some large ferrite beads on the AC power input wires that go to the VFD. Something like Steward LFB259128-000. See this: http://www.steward.com/pdfs/brochures/Broch046.pdf Thanks, Matt On Sat, 2009-10-03 at 19:44 -0500, Jon Elson wrote: Andy Pugh wrote: Are RFI filters for inverters generally incompatible with RCDs? Yes, they can be. Boxed RFI filters have capacitors to ground, so necessarily they divert some mains current to safety ground. If that current is above the threshold of the RDC, it has to trip. You might be able to find a medical-grade filter or some other with extra-low ground current. -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] WG: Re: WG: Re: axis and batch processing
To generate lots of debug messages: In your.ini file section [RS274NGC] add the line LOG_LEVEL = 999 Then the file emc_log will get a log containing the interpreter activity regarding o-words, subroutines, etc. You probably don't want this enabled when you are doing something useful because the file will be very large. I suspect that you will find that the file prefix is wrong. Put the log up on pastebin and we can take a look at it. One neat thing you can do is load a file containing lots of subroutines. If you have enabled LAZY_CLOSE in your ini file, you will then be able to invoke the subroutines from the MDI. Ken Chris Epicier wrote: Dear Steve Try removing the O sub/endsub lines and loading the files individually. That should get you a line number where the error occurs (I hope). The files were actually converted into subfiles from standalone files. The standalone files work without any error and do not show O sub/endsub lines. They do actually also run w/o the M30 command at the end, so... I glanced at the files and didn't see anything strange. ... confirmed, they run if loaded into axis as standalones, also the preview is there and I can rotate the display or whatever. One thing to note though, the interpreter behaves as though there were no spaces in the line. When calling subroutines that take parameters, each parameter needs to be enclosed in [] to insure that it's treated as a separate entity. If there are any places where you have two numbers separated only by whitespace, that will be an error. As an example, 1.25 3.99 will be interpreted as 1.253.99, which is a bad number format. there are only twowhitespaces in the sub files, seperating these two terms: -Olabels -sub/endsub I have no parameters to pass from the master to the subs I'm not sure where else to point you. Hope still this can be sorted out. It would be just great, If a coud have a trace window to see what axis does when it loads a file and also when it starts to interprete the file. Finally jan mentioned he could get a preview of my files. So I should beleieve it is somewhere in my setup that runs smootheley when using stabndrd individual files? chris PS: Ian, I hope that this message is in line with lists policy -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Kenneth Lerman Mark Kenny Products Company, LLC 55 Main Street Newtown, CT 06470 888-ISO-SEVO 203-426-7166 -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Line Filters
2009/10/5 Matt Shaver m...@mattshaver.com: 1 The medical grade RFI filters have a much smaller capacitance between line and ground, and usually have more series inductance. It can be tough to find medical style line filters with high current ratings. Plus, they're expensive... Annoyingly, the filter I bought from eBay was pictured as a 7mA one, and the one that arrived was a 20mA one. However, at the time I wasn't aware of the difference so can't really claim to have been miss-sold. I am trying to see if the vendor will do a swap, googling seems to indicate that the 7mA ones are OK with an RCD -- atp -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Scaling angular axis
Hi all, (For Peter) I think I found the main problem with tuning the X and Y axes. I used the registry values of the old system to set the initial parameters for EMC, and goofed on interpreting the accel parameters. In the Galil world, these are in encoder counts / sec^2 rather than units per sec^2. So MAX_ACCELERATION was set much too high. After backing it off, I am getting much better results for the X and Y axis. My question now is about angular axes. While the X and Y axes have on the order of 5000 counts per inch, the rotational axis only has 51.1 counts per degree (18400 per revolution) If I use 18400 for my INPUT_SCALE, I can tune the axis rather easily. Of course in this case if I issue: G1 A1 F50 It will turn 360 degrees rather than 1 degree. If I set INPUT_SCALE to 51.1 and adjust MAX_VELOCITY and MAX_ACCELERATION proportionately, tuning again becomes much more difficult, ISTM due to the granularity of the scaling. IOW, for the linear axes X and Y I get roughly 5000 counts per machine unit (inch), but with the angular A axis I only get 51 counts per machine unit (degree). Is this the correct way to set up an angular axis? Thanks, Eric -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Scaling angular axis
Eric H. Johnson wrote: My question now is about angular axes. While the X and Y axes have on the order of 5000 counts per inch, the rotational axis only has 51.1 counts per degree (18400 per revolution) If I use 18400 for my INPUT_SCALE, I can tune the axis rather easily. Of course in this case if I issue: G1 A1 F50 It will turn 360 degrees rather than 1 degree. If I set INPUT_SCALE to 51.1 and adjust MAX_VELOCITY and MAX_ACCELERATION proportionately, tuning again becomes much more difficult, ISTM due to the granularity of the scaling. IOW, for the linear axes X and Y I get roughly 5000 counts per machine unit (inch), but with the angular A axis I only get 51 counts per machine unit (degree). Is this the correct way to set up an angular axis? Yup, I have observed the same problem with a Sherline rotary table and a 500 cycle/rev encoder directly on the motor shaft. The coarse resolution made it a problem to get good tuning. One thing is this low resolution makes the D term of the PID very dominant, so very small amounts of D work best. You can use FF1 and FF2 to improve the following error, but it won't do anything for stiffness. I think this might be a place where velocity estimation base on arrival time of the last encoder count is the only thing that will really help. Jon -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Scaling angular axis
On Mon, 05 Oct 2009 12:42 -0400, Eric H. Johnson ejohn...@camalytics.com wrote: Hi all, (For Peter) I think I found the main problem with tuning the X and Y axes. I used the registry values of the old system to set the initial parameters for EMC, and goofed on interpreting the accel parameters. In the Galil world, these are in encoder counts / sec^2 rather than units per sec^2. So MAX_ACCELERATION was set much too high. After backing it off, I am getting much better results for the X and Y axis. My question now is about angular axes. While the X and Y axes have on the order of 5000 counts per inch, the rotational axis only has 51.1 counts per degree (18400 per revolution) If I use 18400 for my INPUT_SCALE, I can tune the axis rather easily. Of course in this case if I issue: G1 A1 F50 It will turn 360 degrees rather than 1 degree. If I set INPUT_SCALE to 51.1 and adjust MAX_VELOCITY and MAX_ACCELERATION proportionately, tuning again becomes much more difficult, ISTM due to the granularity of the scaling. Write down the PID gains that work when the scale is 18400. Then, since you are dividing the scale by 360 to get 51.1, you should be able to also divide the gains by 360, and the resulting PID results should be identical. Take the old gains, divide by 360, and try them as a starting point for tuning. Regards, John Kasunich -- John Kasunich jmkasun...@fastmail.fm -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Encoders
I finally got the chance to try Chris' threading patch: http://timeguy.com/cradek-files/emc/0001-Improve-initial-threading-synchronization.patch Before : http://imagebin.ca/view/XLxWqSm.html After : http://imagebin.ca/view/RYa7Qqpm.html Watching it cycle after cycle it was very inconsistent before, and totally consistent after. As far as I am concerned it is a success, though I have not tried to cut metal yet after blowing up two of my drivers and demagnetising a motor last week. -- atp -- atp -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] EStop and iocontrol.user-enable-out
I have found a work-around, but wondering if anyone can point me to a better solution. I'm building a second CNC machine (another EMCO F1 with steppers), using the same type of Sound Logic breakout board I used for my first machine. However, I didn't use the charge-pump circuit on that first machine, and this time I did. The symptoms are that EMC, using a stepconf-generated configuration, won't bring iocontrol.user-enable-out high if EMC is started when the controller is on and the controller estop is inactive. I finally found this work-around (http://www.linuxcnc.org/irc/irc.freenode.net:6667/emc/2009-04-22.txt at 20:15:13), which is to activate the estop on the controller, then click on estop in EMC, then release the controller estop. This somehow resets EMC's internal state. It works very reliably. One thing I did was to run stepconf with two different configurations--one with an external (that is, controller) estop, and one without. The one without an external estop runs fine--generates the charge pump signal and so on when the EMC estop is toggled, and so on. The only differences are in the nameOfMill.hal file (all the other files look the same): With estop: net estop-ext = parport.0.pin-10-in-not ... net estop-out = iocontrol.0.user-enable-out net estop-ext = iocontrol.0.emc-enable-in without (external) estop: net estop-out = iocontrol.0.user-enable-out net estop-out = iocontrol.0.emc-enable-in So this puzzles me--why does the second one work? user-enable-out is acting fine there, but not in the first case. I put up two halmeters, one on user-enable-out and one on emc-enable-in, and could watch the two cases. Using (iocontrol.0.emc-enable-in, iocontrol.0.user-enable-out) as a shorthand, this is what happens for the external estop case: Start up EMC, controller is already on, controller estop is inactive: (1,0) Activate estop on controller: (0, 0) Click on EMC estop: (0, 1) (note--user-enable-out is finally on, the charge pump is now active) Take controller estop inactive: (1, 1) and the machine is usable. I went back and checked--my older EMC (2.2.8) exhibits the same behavior, but it was never a problem because I don't use a charge pump. I tried to find out more about what might be causing EMC to output iocontrol.user-enable-out low, but couldn't find anything in the docs. So, one option is to live with the work-around. Another is to not use the charge-pump. But is there something else I can try? Am I even looking at this the right way? Thanks. --Dale -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Scaling angular axis
John Kasunich wrote: Write down the PID gains that work when the scale is 18400. Then, since you are dividing the scale by 360 to get 51.1, you should be able to also divide the gains by 360, and the resulting PID results should be identical. Take the old gains, divide by 360, and try them as a starting point for tuning. This makes perfect sense to me, but I sure couldn't get it to work like that when I had the same situation. (This was several years ago, before some significant changes in EMC, so that experience may no longer apply.) I think the basic problem is that the encoder count is by necessity granular, and a lower INPUT_SCALE magnifies that granularity. So, a move of so many user units is fewer encoder counts, therefore the apparently flat periods between counts last longer, the counts are farther apart in TIME. The only possible fix to this is velocity estimation, if you are forced to use the raw encoder counts you can't get around the granularity. Jon -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users