Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On Wed, 2 Mar 2011 21:41:45 -0600, you wrote: Jon, this is a ACME type screw that moves the knee, not a ballscrew. It is 100% self locking. Replace the servo with a stepper. There are also stepper drives available that will drop the current supplied by half when no steps received for some time. Steve Blackmore -- -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Install and compile EMC2
I want to download and install EMC2 from the source files. On the page http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#Getting_the_source_with_git it says to sudo apt-get install git-core gitk git-gui (I presume I run the line from the terminal page.)but I get the message Couldn't find package gitk Browsing gitk was no help at all Can someone walk me through the process please. -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Install and compile EMC2
On Thu, Mar 03, 2011 at 09:34:20PM +1300, Marshland Engineering wrote: it says to sudo apt-get install git-core gitk git-gui (I presume I run the line from the terminal page.)but I get the message Couldn't find package gitk Have you been able to sudo apt-get install anything else? Because if you have some repositories listed in /etc/apt/sources.list , then that shouldn't occur, 'cos it's there to be had: $ apt-cache search gitk gitk - fast, scalable, distributed revision control system (revision tree visualizer) You could try a: $ sudo apt-get update because it's always good to get with the latest, and there's a small chance that a stale package list at your end is gumming the works. Otherwise, if you could: $ egrep '^deb' /etc/apt/sources.list /tmp/fred then attach /tmp/fred to a post to the list, we could see what your system has apt pointed at, and even try out your list. I'm better at guessing when I don't have to guess so much. :-) Erik -- Marriage is the sole cause of divorce. -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
Igor Chudov wrote: Jon, if I could have that, it would be perfect. Say, no commanded move in 10 seconds, shut down the motor. I STILL don't like it. You need a HAL component that looks at commanded position (comes from axis.8.motor-pos-cmd, I think) and compares current to last position. If different, output FALSE, if the same, output TRUE. Just copying the signal to a new signal should give you the previous position. I'm not sure how you copy a HAL signal to another signal without making it into a pin first (ie. passing it through a component). Hal component comp is a two-input comparator with hysteresis. That should compare current pos against previous pos. Then, you need a timer ( component timedelay) to output TRUE after a delay when the comparator goes true. When this signal is true, a mux component feeds zero to the DAC channel. When the timer output if FALSE, it selects the output of the appropriate PID component to the DAC input. Jon -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
Steve Blackmore wrote: On Wed, 2 Mar 2011 21:41:45 -0600, you wrote: Jon, this is a ACME type screw that moves the knee, not a ballscrew. It is 100% self locking. Replace the servo with a stepper. There are also stepper drives available that will drop the current supplied by half when no steps received for some time. It would be expensive to do this. He has an analog servo system using my PPMC board set. There is no stepper option with this interface. He could add an additional parallel port to the CPU and use software generated steps, I suppose. Jon -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] tool offset compensation and gouging
I am making small wooden toy parts and frequently I get the error Straight feed in concave corner cannot be reached by the tool without gouging For what I am doing slight imperfections are OK Can this feature be disabled Richard -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
On Thu, Mar 03, 2011 at 11:10:33AM -0600, kqt4a...@comcast.net wrote: I am making small wooden toy parts and frequently I get the error Straight feed in concave corner cannot be reached by the tool without gouging For what I am doing slight imperfections are OK Can this feature be disabled No, you have to fix it in the gcode. If you say how you are generating the gcode, I (or someone else) might have some ideas for you. -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
As far as I know, this error always, without exception, points to a bug in G code. Most likely you are trying to mill out some area with an end mill that is larger than the width of the area. You may need a smaller end mill. i On Thu, Mar 3, 2011 at 11:10 AM, kqt4a...@comcast.net wrote: I am making small wooden toy parts and frequently I get the error Straight feed in concave corner cannot be reached by the tool without gouging For what I am doing slight imperfections are OK Can this feature be disabled Richard -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On 3 March 2011 16:53, Jon Elson el...@pico-systems.com wrote: I STILL don't like it. You need a HAL component that looks at commanded position (comes from axis.8.motor-pos-cmd, I think) and compares current to last position. Whilst also not liking it, this custom HAL component would do the trick: (It needs to be compiled with comp --install timeout.comp) component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current; } else { current_out = current_in; } old_pos = position_command_in; } -- atp Torque wrenches are for the obedience of fools and the guidance of wise men -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
On Thu, 3 Mar 2011, Chris Radek wrote: On Thu, Mar 03, 2011 at 11:10:33AM -0600, kqt4a...@comcast.net wrote: I am making small wooden toy parts and frequently I get the error Straight feed in concave corner cannot be reached by the tool without gouging For what I am doing slight imperfections are OK Can this feature be disabled No, you have to fix it in the gcode. If you say how you are generating the gcode, I (or someone else) might have some ideas for you. Code is created by hand I attached an example g20 g17 t1m6 ;0.0625 end mill f5 g40 g01 x1.3 y1 g42 x1 y1 #100 = 0 o100 repeat[4] g10 l2 p1 r#100 g01 x0.1 g01 y0.75 g01 x-0.1 g01 y1 g01 x-1 #100 = [#100 + 90] o100 endrepeat m2 -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
Andy, this is REALLY AWESOME. I just totally LOVE this mailing list! I will definitely try to get it to work, I figure a 10 second timeout should do it. To use it, I would - instantiate this comp - connect its motor-pos-cmd input to motor-pos-cmd of the corresponding pid - connect the comp's current-in input to the output of the PID - Connect the current-out output to the DAC Right? THANK YOU i On Thu, Mar 3, 2011 at 1:45 PM, andy pugh bodge...@gmail.com wrote: On 3 March 2011 16:53, Jon Elson el...@pico-systems.com wrote: I STILL don't like it. You need a HAL component that looks at commanded position (comes from axis.8.motor-pos-cmd, I think) and compares current to last position. Whilst also not liking it, this custom HAL component would do the trick: (It needs to be compiled with comp --install timeout.comp) component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current; } else { current_out = current_in; } old_pos = position_command_in; } -- atp Torque wrenches are for the obedience of fools and the guidance of wise men -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Install and compile EMC2
'Have you been able to sudo apt-get install anything else? Because if you have some repositories listed in /etc/apt/sources.list , then that shouldn't occur, 'cos it's there to be had:' This is a new install of 10.04 All updates are done $ apt-cache search gitk --- returns stgit-contrib - set of contributed script to help with stgit gitk - fast, scalable, distributed revision control system (revision tree visualizer) $ egrep '^deb' /etc/apt/sources.list /tmp/fred Cursor just sits at the left side of the screen. Only way out is CTR Z So what do I try next ? -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On 3 March 2011 20:12, Igor Chudov ichu...@gmail.com wrote: - instantiate this comp - connect its motor-pos-cmd input to motor-pos-cmd of the corresponding pid - connect the comp's current-in input to the output of the PID - Connect the current-out output to the DAC Right? Exactly. loadrt timeout addf timeout.0 servo-thread net timeout.0.current-in = PID.2.out (etc) setp timeout.0.default-current 0 setp timeout.0.timeout 5 (if you want a shorter one. -- atp Torque wrenches are for the obedience of fools and the guidance of wise men -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Heekscad question
On Wed, Mar 2, 2011 at 10:12 PM, gene heskett ghesk...@wdtv.com wrote: On Wednesday, March 02, 2011 10:07:57 pm andy pugh did opine: On 1 March 2011 20:19, gene heskett ghesk...@wdtv.com wrote: What I want is to mark all the dimensions on the printout so I don't have to pencil them in, Does Heekscad do 2D drawing? I am only really familiar with Alibre and Autodesk Inventor, but with those once you have the 3D model, you then go to a separate part of the software where you create 2D manufacturing drawings (potentially auto-dimensioned) Not sure, 2.5D maybe, I was making cubes viewed headon so they were rectangles. But I was disappointed when I tried to print what I had built and got a blank sheet of paper instead. But I believe its full 3d for the wire frames, you can wave them around in 3d space and see it all, like Lightwave on the amiga was 15 years ago. Another option to look at/fool around with is Google sketchup. I am having no troubles running it in wine. There is even a plugin to output gcode called phlatboyz. Kyle -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On Wed, 2011-03-02 at 21:41 -0600, Igor Chudov wrote: On Wed, Mar 2, 2011 at 8:38 PM, Jon Elson el...@pico-systems.com wrote: Igor Chudov wrote: I do think that the motor is underpowered for the axis, if I had to move the axis continuously. However, if I only need to use it occasionally to adjust for tool height changes, it is OK. Right, I understand what you WANT to do, and it does make some sense, but EMC is not designed to operate an axis in this manner. You want to completely break the normal way of doing things. What is the issue that you are pointing out, is that when the axis is at rest, it is not really at rest from EMC2's standpoint, and its pid just keeps applying the same logic as during the moves. Yes, exactly, that is the normal design for an axis. So, if I can find some way around that, I will be golden. I really think it is a bad idea, as the position will be uncontrolled when not moving. Jon, this is a ACME type screw that moves the knee, not a ballscrew. It is 100% self locking. But that is exactly why it takes more power to turn. IIRC acme's are about 10% efficient whereas ball screws are in the range of 90%. Some years ago I put a servo on the W of my cinci contourmaster. A gearhead motor with additional 3:1 timing belt. Max speed was about 10 ipm; no pneumatic boost. Motor was probably 300 W. Even then it finally smoked. Even at 10 ipm I could do contouring. I had no drive on the Z at the time so this had to do. ;-) Sometime I may get around to driving the z again to comp for tool length since I have less than 3 on the quill. The plan will be to use an adequate gear ratio to do the job, even if slowly since it is supposed to do tool length not contouring. Good luck on your conversion. Glad most of it is working. Dave The better news is that based on limited post-change testing that I did (I was very tired by then at midnight), these changed in P and I, do work better as far as bringing the ppmc.0.DAC.03.value down after a while. The motor does succeed at getting f-error very low (think 0.7), and the output of the motor controller becomes several times lower than in the past. It settles down kind of slowly, over several seconds. That is the I term working as it should, it keeps creeping until it finally nulls out the error. Well, the real question is does the motor still overheat? If not, you are done. Maybe strap a safety thermostat to the motor to cause an estop if some time in the future it does run hot again. I will keep an eye on the motor. I will post some updates. I know that my drive is in torque mode (controls current), and the current is about 10 times ppmc.0.DAC.03.value, per ammeter. So I can watch ppmc.0.DAC.03.value and I will know what the current is. I am pretty sure that the motor will not overheat from, say, 1 amp. No, even a small motor should be OK. Assuming a rotten motor with 1 Ohm resistance, that will only dissipate one Watt with a 1 Amp idling current. Those crummy Ametek motors with 4 Ohm resistance would dissipate 16 W, which might still be in the safe area, but would get pretty warm. I will double check everything, including the current, I hope that I will be fine. I got your A/D converter today, thanks. i Jon -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On Thu, Mar 3, 2011 at 2:40 PM, dave dengv...@charter.net wrote: On Wed, 2011-03-02 at 21:41 -0600, Igor Chudov wrote: I really think it is a bad idea, as the position will be uncontrolled when not moving. Jon, this is a ACME type screw that moves the knee, not a ballscrew. It is 100% self locking. But that is exactly why it takes more power to turn. IIRC acme's are about 10% efficient whereas ball screws are in the range of 90%. Yep Some years ago I put a servo on the W of my cinci contourmaster. A gearhead motor with additional 3:1 timing belt. Max speed was about 10 ipm; no pneumatic boost. Motor was probably 300 W. Even then it finally smoked. Even at 10 ipm I could do contouring. I had no drive on the Z at the time so this had to do. ;-) Sometime I may get around to driving the z again to comp for tool length since I have less than 3 on the quill. The plan will be to use an adequate gear ratio to do the job, even if slowly since it is supposed to do tool length not contouring. Do you remember, did you smoke the motor due to too much moving, or due to the motor straining when W was not supposed to move? If the latter, then Andy's timeout comp should do the trick. i -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
On Thu, 2011-03-03 at 14:00 -0600, kqt4a...@comcast.net wrote: On Thu, 3 Mar 2011, Chris Radek wrote: On Thu, Mar 03, 2011 at 11:10:33AM -0600, kqt4a...@comcast.net wrote: I am making small wooden toy parts and frequently I get the error Straight feed in concave corner cannot be reached by the tool without gouging For what I am doing slight imperfections are OK Can this feature be disabled No, you have to fix it in the gcode. If you say how you are generating the gcode, I (or someone else) might have some ideas for you. Code is created by hand I attached an example I must say I only write hand code when absolutely necessary. However, if you program center of tool rather than G41/G42 I think it works anyway. I've gotten completely spoiled by synergy. (Weber Systems). Yes, it does cost $250 for the 2D CAM or there is a 30 day free trial. 2D drawing is free. It depends on how valuable your time is and your tolerance for frustration. http://webersys.com It allows you to use tools that won't fit the radius/corner and then come back with a smaller tool and clean up the corners. HTH Dave -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On 3 March 2011 19:45, andy pugh bodge...@gmail.com wrote: current_out = default_current; On reflection: current_out = default_current * current_in; might make more sense, so you can reduce the current by a factor. -- atp Torque wrenches are for the obedience of fools and the guidance of wise men -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
Thanks. I logged on to the milling machine from work, compiled and installed your comp. I will give it a good try! i On Thu, Mar 3, 2011 at 3:15 PM, andy pugh bodge...@gmail.com wrote: On 3 March 2011 19:45, andy pugh bodge...@gmail.com wrote: current_out = default_current; On reflection: current_out = default_current * current_in; might make more sense, so you can reduce the current by a factor. -- atp Torque wrenches are for the obedience of fools and the guidance of wise men -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] semi-ot: high speed video of a cylindrical grind
We made this video at work today. It's a Moore CNC grinder with work piece and grinding wheel held by air bearing spindles. Kind of fun watching the larger pieces explode in mid-air. Works best if you expand to full-screen. http://www.youtube.com/watch?v=zUg2ne2l5r0 Eric -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
On Thu, Mar 03, 2011 at 05:15:58PM -0600, Chris Radek wrote: I think this is a bug you have found by rotating the coordinate system while cutter compensation is turned on. I've fixed this by disallowing what your code does, and giving a proper error message if you try it. Thanks for bringing it to my attention! You could still write your code like you've done, but you need to turn off cutter compensation, then rotate the coordinate system, then program another entry move. Chris -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] semi-ot: high speed video of a cylindrical grind
On Thu, 2011-03-03 at 18:37 -0500, Eric Keller wrote: We made this video at work today. It's a Moore CNC grinder with work piece and grinding wheel held by air bearing spindles. Kind of fun watching the larger pieces explode in mid-air. Works best if you expand to full-screen. http://www.youtube.com/watch?v=zUg2ne2l5r0 Eric Your message reminds me of this: http://www.capeforge.com/Spark%20testing.html http://www.weldprocedures.com/metal-identification.html -- Kirk Wallace http://www.wallacecompany.com/machine_shop/ http://www.wallacecompany.com/E45/index.html California, USA -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
On Thu, 3 Mar 2011, Chris Radek wrote: On Thu, Mar 03, 2011 at 05:15:58PM -0600, Chris Radek wrote: I think this is a bug you have found by rotating the coordinate system while cutter compensation is turned on. I've fixed this by disallowing what your code does, and giving a proper error message if you try it. Thanks for bringing it to my attention! Do you plan to add this in the future -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
Igor Chudov wrote: As far as I know, this error always, without exception, points to a bug in G code. Most likely you are trying to mill out some area with an end mill that is larger than the width of the area. You may need a smaller end mill. Specifically, when using cutter radius compensation and straight lines, you can only make convex shapes on the outside of a part. So, if you have G42 in force (tool on right), then you can only make left turns. Any turn to the right would make a concave (inside) corner, and would not be sharp, it would necessarily have the radius of the cutter. If you want to make inside corners, you need to blend the straight segments into an arc move with a radius greater than the cutter's radius. A smaller end mill will not fix it if the diameter is even slightly greater than zero, if you try to make inside corners with straight lines only. Jon -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
andy pugh wrote: On 3 March 2011 20:12, Igor Chudov ichu...@gmail.com wrote: - instantiate this comp - connect its motor-pos-cmd input to motor-pos-cmd of the corresponding pid - connect the comp's current-in input to the output of the PID - Connect the current-out output to the DAC Right? Exactly. loadrt timeout addf timeout.0 servo-thread You have to be careful where you put the addf command. I think you will need to put it in the ppmc_load.hal file before this line : addf ppmc.0.write servo-thread The reason is if it is in the wrong place (ie. before the addf pid. line or after the addf ppmc.0.write line, it will not be executed in the same servo cycle as the read encoders - calculate PID - write to DACs sequence, and will add a delay of one additional servo cycle to the flow of data. This will likely cause the servo to become unstable or at least harder to tune. So,you can't put all the commands in a separate file, or it will be performed AFTER the ppmc.0.write function. Jon net timeout.0.current-in = PID.2.out (etc) setp timeout.0.default-current 0 setp timeout.0.timeout 5 (if you want a shorter one. -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On Thu, Mar 3, 2011 at 8:42 PM, Jon Elson el...@pico-systems.com wrote: andy pugh wrote: On 3 March 2011 20:12, Igor Chudov ichu...@gmail.com wrote: - instantiate this comp - connect its motor-pos-cmd input to motor-pos-cmd of the corresponding pid - connect the comp's current-in input to the output of the PID - Connect the current-out output to the DAC Right? Exactly. loadrt timeout addf timeout.0 servo-thread You have to be careful where you put the addf command. I think you will need to put it in the ppmc_load.hal file before this line : addf ppmc.0.write servo-thread The reason is if it is in the wrong place (ie. before the addf pid. line or after the addf ppmc.0.write line, it will not be executed in the same servo cycle as the read encoders - calculate PID - write to DACs sequence, and will add a delay of one additional servo cycle to the flow of data. This will likely cause the servo to become unstable or at least harder to tune. So,you can't put all the commands in a separate file, or it will be performed AFTER the ppmc.0.write function. Jon Yes, this is where I put it. i net timeout.0.current-in = PID.2.out (etc) setp timeout.0.default-current 0 setp timeout.0.timeout 5 (if you want a shorter one. -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
On Thu, Mar 3, 2011 at 1:45 PM, andy pugh bodge...@gmail.com wrote: On 3 March 2011 16:53, Jon Elson el...@pico-systems.com wrote: I STILL don't like it. You need a HAL component that looks at commanded position (comes from axis.8.motor-pos-cmd, I think) and compares current to last position. Whilst also not liking it, this custom HAL component would do the trick: (It needs to be compiled with comp --install timeout.comp) component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current; } else { current_out = current_in; } old_pos = position_command_in; } Andy, this is an awesome comp, except that it does not quite work. Here's the version that I use: component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current * current_in; } else { current_out = current_in; } old_pos = position_command_in; } It works in the sense that its output is equal to input. It does not work in the sense that it does not shut down after 10 seconds. Your code looks very good to me, and I think that what is happening is that you are trying to subtract a small number fperiod, from a large number t, and that does not work. The config I have says newsig pid-W-outfloat #newsig pid-W-command-in float setp w_axis_timeout.default-current 0 # current factor applied after timeout setp w_axis_timeout.timeout10 # Timeout in seconds linksp pid-W-out = pid.4.output # pid-W-out is output of pid 4 linksp Wpos-cmd= w_axis_timeout.position-command-in # and it goes into timeout linksp pid-W-out = w_axis_timeout.current-in # and it goes into timeout linksp Woutput = w_axis_timeout.current-out# output from timeout will go to motor i -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
On Thu, Mar 03, 2011 at 08:34:35PM -0600, Jon Elson wrote: Specifically, when using cutter radius compensation and straight lines, you can only make convex shapes on the outside of a part. So, if you have G42 in force (tool on right), then you can only make left turns. This has not been true in EMC since 2.3 was released in early 2009. You can program concave corners in EMC. -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Heekscad question
On Thursday, March 03, 2011 10:14:12 pm Kyle Kerr did opine: On Wed, Mar 2, 2011 at 10:12 PM, gene heskett ghesk...@wdtv.com wrote: On Wednesday, March 02, 2011 10:07:57 pm andy pugh did opine: On 1 March 2011 20:19, gene heskett ghesk...@wdtv.com wrote: What I want is to mark all the dimensions on the printout so I don't have to pencil them in, Does Heekscad do 2D drawing? I am only really familiar with Alibre and Autodesk Inventor, but with those once you have the 3D model, you then go to a separate part of the software where you create 2D manufacturing drawings (potentially auto-dimensioned) Not sure, 2.5D maybe, I was making cubes viewed headon so they were rectangles. �But I was disappointed when I tried to print what I had built and got a blank sheet of paper instead. �But I believe its full 3d for the wire frames, you can wave them around in 3d space and see it all, like Lightwave on the amiga was 15 years ago. Another option to look at/fool around with is Google sketchup. I am having no troubles running it in wine. There is even a plugin to output gcode called phlatboyz. Kyle That must be in a newer version than the last one I had installed, about a year ago, but its undo didn't, and I got tired of filling up my hard drive with workaround saves. Has that been addressed? Thanks Kyle. -- Cheers, Gene There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) http://tinyurl.com/ddg5bz Lubarsky's Law of Cybernetic Entomology: There's always one more bug. -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Install and compile EMC2
On Fri, Mar 04, 2011 at 09:14:18AM +1300, Marshland Engineering wrote: Erik: 'Have you been able to sudo apt-get install anything else? Because if you have some repositories listed in /etc/apt/sources.list , then that shouldn't occur, 'cos it's there to be had:' This is a new install of 10.04 All updates are done The purpose of the question was to verify that specifically apt has worked recently, invoked from the command line, with you entering the password required for sudo. From All updates are done, I might guess that apt has been used for a post-install fetch of the latest package versions. But I might be wrong. $ apt-cache search gitk --- returns stgit-contrib - set of contributed script to help with stgit gitk - fast, scalable, distributed revision control system (revision tree visualizer) OK, at least the local apt package list includes gitk. So now we need to know that /etc/apt/sources.list includes at least one legit repository, and that a sudo apt-get update has been done, so that you're not trying to fetch an old package, due to a stale list. (As suggested in my previous post.) $ egrep '^deb' /etc/apt/sources.list /tmp/fred Cursor just sits at the left side of the screen. Only way out is CTR Z So what do I try next ? That looks as if it's waiting for input on stdin (in this instance, the console), so try typing: deborah is a spunk (End it with Control-D instead of Control-Z, and it will complete, instead of merely being suspended.) If that line appears in /tmp/fred, then we have a second case of command line input failing for you. That will require local investigation. How you've managed to get: $ egrep '^deb' /etc/apt/sources.list /tmp/fred to behave as: $ egrep '^deb' /tmp/fred is not clear. I tested the command yet again here, giving: $ egrep '^deb' /etc/apt/sources.list /tmp/fred $ more !$ more /tmp/fred deb http://au.archive.ubuntu.com/ubuntu/ hardy main restricted deb-src http://au.archive.ubuntu.com/ubuntu/ hardy main restricted deb http://au.archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb-src http://au.archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb http://au.archive.ubuntu.com/ubuntu/ hardy universe If you have lines like that, with lucid instead of hardy, then apt should be able to fetch the package. The error message you quoted is consistent with a misspelled package name, but gitk is a bit short for that to be likely. Two things to try are: $ ls -l /etc/apt/sources.list -rw-r--r-- 1 root root 3159 2009-05-17 10:09 /etc/apt/sources.list to just glance at the permissions, and then open the file to look at what repositories you're going to. I should already be on the road up to the farm, so won't be able to help further until late next week. Failing a storm of good suggestions here, the ubuntu-users mailing list ought to provide ideas to take the investigation further. One good thing is you'll know a bit more about the care and feeding of linux by the time this is put to bed. ;-) Erik -- Leibowitz's Rule: When hammering a nail, you will never hit your finger if you hold the hammer with both hands. -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
No, the issue and the reason why it does not work, is that old_pos and position_command_in are always different, even if by 1 billionth. I am rewriting some stuff. i On Thu, Mar 3, 2011 at 8:57 PM, Igor Chudov ichu...@gmail.com wrote: On Thu, Mar 3, 2011 at 1:45 PM, andy pugh bodge...@gmail.com wrote: On 3 March 2011 16:53, Jon Elson el...@pico-systems.com wrote: I STILL don't like it. You need a HAL component that looks at commanded position (comes from axis.8.motor-pos-cmd, I think) and compares current to last position. Whilst also not liking it, this custom HAL component would do the trick: (It needs to be compiled with comp --install timeout.comp) component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current; } else { current_out = current_in; } old_pos = position_command_in; } Andy, this is an awesome comp, except that it does not quite work. Here's the version that I use: component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current * current_in; } else { current_out = current_in; } old_pos = position_command_in; } It works in the sense that its output is equal to input. It does not work in the sense that it does not shut down after 10 seconds. Your code looks very good to me, and I think that what is happening is that you are trying to subtract a small number fperiod, from a large number t, and that does not work. The config I have says newsig pid-W-outfloat #newsig pid-W-command-in float setp w_axis_timeout.default-current 0 # current factor applied after timeout setp w_axis_timeout.timeout10 # Timeout in seconds linksp pid-W-out = pid.4.output # pid-W-out is output of pid 4 linksp Wpos-cmd= w_axis_timeout.position-command-in # and it goes into timeout linksp pid-W-out = w_axis_timeout.current-in # and it goes into timeout linksp Woutput = w_axis_timeout.current-out# output from timeout will go to motor i -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] tool offset compensation and gouging
Chris Radek wrote: On Thu, Mar 03, 2011 at 08:34:35PM -0600, Jon Elson wrote: Specifically, when using cutter radius compensation and straight lines, you can only make convex shapes on the outside of a part. So, if you have G42 in force (tool on right), then you can only make left turns. This has not been true in EMC since 2.3 was released in early 2009. You can program concave corners in EMC. Well, shows how out of date I am! But, doesn't that cause a gouge? I got used to using arcs on inside corners to avoid the gouge and cutter load increasing on them. Or, does the trajectory compensate to avoid the gouge? If so, it seems like it would HAVE to insert an arc segment between the two straight lines. I rarely use the G41, G42 offsets, I have my little C programs that code the paths I need without using tool radius offsets, so I am rusty. Jon -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] W axis working! One problem remains, residual current to the motor.
Just a little update. I think that this is a weird issue of float math or something. Difference between old pos input and new pos input is often nonzero in a very crazy way, the value seemingly does not change, but there is always a difference. I re-wrote Andy's function to compare the absolute value of the diff, and compare that to 1E-07. I know that this is crazy, ugly, and stupid. But it works beautifully. I added a few output pins to this comp to watch those diffs and so on, and that's how I could figure it out. So, the bottom line is 1) The knee moves at a perfectly acceptable speed (1cm per second or so) 2) It moves smoothly, with low acceleration (which reduces stresses on everything) 3) The following error is always under 0.001 4) After 10 seconds following completion of a move, the motor turns off and uses zero current. So, I would say, with the exception of unresolved float math issue and its ugly solution above, everything is GREAT and I can just use this machine now. Still need to add Jon's second DAC card and wire the rotary table/4th axis in again. i On Thu, Mar 3, 2011 at 9:28 PM, Igor Chudov ichu...@gmail.com wrote: No, the issue and the reason why it does not work, is that old_pos and position_command_in are always different, even if by 1 billionth. I am rewriting some stuff. i On Thu, Mar 3, 2011 at 8:57 PM, Igor Chudov ichu...@gmail.com wrote: On Thu, Mar 3, 2011 at 1:45 PM, andy pugh bodge...@gmail.com wrote: On 3 March 2011 16:53, Jon Elson el...@pico-systems.com wrote: I STILL don't like it. You need a HAL component that looks at commanded position (comes from axis.8.motor-pos-cmd, I think) and compares current to last position. Whilst also not liking it, this custom HAL component would do the trick: (It needs to be compiled with comp --install timeout.comp) component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current; } else { current_out = current_in; } old_pos = position_command_in; } Andy, this is an awesome comp, except that it does not quite work. Here's the version that I use: component timeout Reduces motor command to a predetermied value after a certain number of seconds of no axis motion; pin in float position-command-in link to motor-pos-cmd; pin in float current-in link to the PID output; pin out float current-out link to the DAC; param rw float timeout = 10 timeout in seconds; param rw float default-current = 0 current output after timeout; variable float old_pos; variable float t = 0; function _; license GPL; author Andy Pugh; ;; FUNCTION(_){ if (old_pos != position_command_in){ t = timeout; } else { t -= fperiod; } if (t 0){ current_out = default_current * current_in; } else { current_out = current_in; } old_pos = position_command_in; } It works in the sense that its output is equal to input. It does not work in the sense that it does not shut down after 10 seconds. Your code looks very good to me, and I think that what is happening is that you are trying to subtract a small number fperiod, from a large number t, and that does not work. The config I have says newsig pid-W-outfloat #newsig pid-W-command-in float setp w_axis_timeout.default-current 0 # current factor applied after timeout setp w_axis_timeout.timeout10 # Timeout in seconds linksp pid-W-out = pid.4.output # pid-W-out is output of pid 4 linksp Wpos-cmd= w_axis_timeout.position-command-in # and it goes into timeout linksp pid-W-out = w_axis_timeout.current-in # and it goes into timeout linksp Woutput = w_axis_timeout.current-out# output from timeout will go to motor i -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users