Re: [Emc-users] Thoughts on a Python script to calculate estimated run time, for G code and my first hacked sub routine
First Q From Axis File > Properties Brings up the properties of the currently loaded gcode including estimated run time Always underestimates as it takes no account of time used in acceleration and deceleration to/from the required Feed speed regards -- Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] 5i25 GPIO mapping
On 10/08/14 22:20, emc-users-requ...@lists.sourceforge.net wrote: > Any chance you are using "machinekit style" logging? Good catch Andy. That is exactly it. I have 3 RIPs on that machine and at the time I tried it, I must have been using the machinekit one. rtapi_msgd had grabbed the output and it is all there in /var/log/linuxcnc.conf Mystery solved, on to the next problem.:-P regards -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Emc-users Digest, Vol 100, Issue 12
>> halcmd show all >allhall.txt Well of course I had not run that since I had the card installed on a test machine, with nothing attached so no config= :-D Peculiar, it is a rtai kernel, albeit homebrew, but nothing in dmesg whatsoever Yes thanks Gene that was precisely the object of my searches, I wanted to invert a pin to reverse a NC signal regards -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] 5i25 GPIO mapping
Hi Dipping my toes in the FPGA pool, there may be more queries after this. Is the 5i25 supposed to have its GPIO pins mapped in dmesg when hostmot2 / hm2_pci are loaded? (as per http://linuxcnc.org/docs/html/drivers/hostmot2.html#_gpio ) The manual page states that the 5i25 is pre-programmed so does not use firmware files, but is not clear as to whether the printout is a part of the firmware loading process or common to all boards If I run dmesg after starting Lcnc, all I get are a couple of RTAI messages and something like 'hm2_pci: - 5i25 found on IRQ11' but no pinout print for GPIO. I have found the pin I was looking for by trial and error triggering signals on the corresponding 7i76 input but a print out would have been handy, to see which were already mapped to inputs etc regards -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Emc-users Digest, Vol 96, Issue 51
> Detailed question. > > I want to implement these as wizards. I see there is already work done here > (http://linuxcnc.org/index.php/english/forum/40-subroutines-and-ngcgui/11414 > -metric-lathe-subroutines-g71-g72-etc-etc) so I'll probably "borrow" from > that. Feel free to borrow away ( I wrote them ) You are right, the routines are basically decrementing / incrementing loops cutting the profile down to finished dimensions. There is no gouging calculation, the profiles that can be cut are limited by tool type, profile and mounting, and ultimately operator common sense. The work very well for me within those limitations but can certainly be improved upon. I look forward to your results. regards -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] SMI Reduction
Didn't we establish that your chipset does not have the SMI problem? If you try to load rtai_smi with a chipset which is not on its list, it will just unload again, so you are wasting your time. The instructions you found are very old and relate to a Run In Place installation ** In the document "Fixing Realtime problems caused by SMI on Ubuntu" there is an instruction: I cannot find either of these directories in Linux Livid. ** -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] SMI
On 09/03/2014 05:13, emc-users-requ...@lists.sourceforge.net wrote: > Thanks Schooner > > I have rev 02 so I guess I'm fine > > Regards Bill You are OK as far as actual SMI goes, but read the second post on that thread. You can get symptoms very similar to SMI on some boards with that chipset, it is down largely to the temperature sensing fan control in BIOS Normally turning fan to on full the whole time, disabling hyper-threading, power monitoring etc gets rid of the problem regards -- Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] SMI
>> Sudo lspci -vv shows my chipset as 82801EB/ER Your attachments were scrubbed SMI only affects the original version of 82801EB (82801EB_0) If your print shows 'rev 1' or higher it should be OK Full list here http://www.linuxcnc.org/index.php/english/forum/18-computer/19125-faq-some-latency-solutions regards -- Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Knee mill conversion - Z axis questions
IMHO if you motorise the knee instead of the quill, you lose all the benefits of the knee elevation for adjusting to workpieces and manually touching off the Z tool, in favour of a very slow and potentially troublesome Z axis which requires all movements to be inverted in a somewhat counter-intuitive way. I agree that whilst possible, motorising the rack and pinion would result in so much slop that it would be next to unusable What is commonly done with manual mill conversions of the turret knee mills is to motorise the quill and leave the knee as manual. The quill is disconnected from the rack and pinion arrangement and large plate clamp is attached to the bottom of the quill This is driven up and down through a ballscrew from a box mounted on the side of the head. The travel is typically quite short (70 - 150 mm), because all major adjustments are done on the knee and quill travel is just used to cut to depth with the standoff between cuts that is required. (same as it was when a manual mill) I have such a mill and it works very well. regards -- Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Emc-users Digest, Vol 94, Issue 29
Hi Marius On 12/02/2014 06:12, emc-users-requ...@lists.sourceforge.net wrote: > Hi Chris > The reason I would like to think I need it is because I test a lot of > different configs and code on the same machine (hardware ) for instance. > This means that I have to redo the INI file for every test. I normally > end up being frustrated (due to own stupidity) by not getting everything > right first time. Things like paths etc.. > I understand if one sets up a machine just once or twice that this is > not an issue but some of us use LCNC on many machines and have customers > that use it on machines. I do many conversions or upgrades of machines > to LCNC and it would be a very handy and practical feature for me. If your requirement is because you would like to have a set of common building blocks to create your clients ini files, without reinventing the wheel or heavy editing each time you can do this yourself. In a separate folder create files which contain the various common elements Then combine them with cat in the required order eg cat threads.ini parport378.ini 4stepgens.ini axis-ngc.ini standard-hal.ini axis0.ini axis1.ini axis2.ini > new-machine.ini Then finish by hand One problem withloads of separate ini files loaded with an include directive, is that theconfig picker would still see them as seperate configs and require rewriting too Just an idea regards -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Buildbot errors with stepconf file paths
Hi Reported via the forum at this thread http://www.linuxcnc.org/index.php/english/forum/9-installing-linuxcnc/27482-precise-1204?start=20#43730 Users trying out the 3.4.55-rtai kernel on Ubuntu 12.04 and then installing Linuxcnc from the buildbot (master or 2.5.3) as per the wiki, are getting an error when trying to run stepconf. Have just done a scratch install and can confirm error on the master-rt package Traceback (most recent call last): File "/usr/bin/stepconf", line 1384, in app = StepconfApp(False) File "/usr/bin/stepconf", line 673, in __init__ wiz_pic = gtk.gdk.pixbuf_new_from_file(wizard) GError: Failed to open file '/usr/bin/../linuxcnc-wizard.gif': No such file or directory Note corrupted path for the gif, which is where it should be in /usr/share/linuxcnc/linuxcnc-wizard.gif regards -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] User space components not working in 2.6-pre
Hi Sorry can't replicate that Component loads via halcmd and from hal file halcmd: loadusr -W passthrough halcmd: show all Loaded HAL Components: ID Type Name PID State 4 User passthrough4028 ready 2 User halcmd4027 4027 ready Component Pins: Owner Type Dir Value NameEpsilonFlags 4 float IN 0 passthrough.in0.000 4 float OUT 0 passthrough.out0.000 I can only suggest doing a new clone of the master and seeing if that cures it. regards -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Controlling LinuxCNC externally with C++ program
> I am trying to figure out the best way to "drive" LinuxCNC from a C++ > program. > This program would receive general commands from the user, something > like: "execute procedure 1" and translate this into telling LinuxCNC to > open a specific file and run the G-code therein. If you are using Linuxcnc to control a CNC machine in the normal manner, but just want to be able to make it run a program from another application, axis-remote could be the simplest method from a system() call There is even an Axis hack and modified axis-remote here http://www.linuxcnc.org/index.php/english/forum/38-general-linuxcnc-questions/26061-automated-change-nc-program-possible#28920 which I wrote to allow a program to be loaded and then run remotely. This was for someone who wanted to be able to script the generation of G Code to engrave incrementing serial numbers and then output it to Axis and automatically run the program. You can write programs in C++ which directly control everything, I wrote Qt libraries which do that, but it is non trivial and depending upon what you wish to achieve, perhaps not necessary If you want to dig into it, look at the sources for xemc, halui & halcmd. They will uncover most of the calls and show how they are used regards -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Looping a program
Put it in a sub and call that sub from the main program in an endless loop (while(1) or similar) > Hi > Can anyone tell me, or point me to somewhere that can, how to loop a program > continuosly untill the stop button is pressed? > Thanx > Aaron -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] joint_axes3 - info needed
Looks like trying to run make without being configured properly Try git clean -xdf cd src ./autogen.sh ./configure --with-whatever-switches-apply make regards > Trying to compile but $ make ?returns me: > > ~/linuxcnc-fda6359/src$ make > Makefile:55: Makefile.inc: No such file or directory > Makefile:66: *** Makefile.inc must specify RTPREFIX and other variables. > ?Stop. > ?? -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Buildbot versus RIP
Further to Andy's correction If you want to make removal easier, but still install to the system rather than a RIP use CheckInstall You run the install process through it and it makes a .deb of the installed files, so that a dpkg -r packagename can be used to remove them all again regards -- How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Emc-users] subroutines and run from line
All linked to this bug report I think, still not resolved, some of it was supposed to be fixed in the master. sourceforge.net/tracker/?func=detail&aid=3440704&group_id=6744&atid=106744 regards -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] G71 lathe roughing cycle
>> I've done that by writing a subroutine that traces the path. The >> subroutine takes a single argument that represents the offset from the >> path. Then call it in a loop with appropriate values. Another variation on the theme, similar to the above, I published a set of ngcui subroutines to carry out G71 and G72 plus a lot more on the lathe, last year some time. http://www.linuxcnc.org/index.php/english/component/kunena/?func=view&catid=40&id=11414 They take a finished toolpath profile, entered as a series of linear and arc cuts, enter these into an array, calculate offsets, deepest cuts etc. and then run incrementing by # each pass until the profile is cut, less finishing cut depth. The finishing cut is in a separate sub, unlike the fanuc style routine, so that a different tool can be selected if required. (cat skinning method #7) regards -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Serial comms within a userspace component
Hi Gene >>You did #include stdio.h I assume... Yes and unistd.h etc, as I said it compiles fine in both and runs properly from the command line >>I'm thinking that because of the type you used for 'fd', that it may well >>be volatile, and out of that functions 'scope' by the time you actually do >>the above write. fd is a simple C int. Rather than being a pointer, it is an index to a look-up table (the file descriptor table) However you could be on to something, because stdin/stdout/stderr are predefined as 0,1 and 2 respectively so if the file descriptor is getting an erroneous value or losing the value it could still be pointing to a 'file', hence the print to screen Yahoo, I have cracked it. I was using the EXTRA_SETUP and EXTRA_CLEANUP macros to initiate serial connection and close and restore settings respectively. This was largely to keep the main section of code un-cluttered and easy to maintain. Doing this necessitated a global fd accessed across several functions. Changing the program flow, so that each function holds its own copy of fd, passed from the calling or called function, results in a perfectly executing component. Thank you Gene, I just needed a kick in the right direction regards -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Serial comms within a userspace component
Hi I have been playing with a C userspace component to pass values from Linuxcnc to an arduino for display on a pendant LCD. The code works perfectly from a commandline program but when inserted into a component, it compiles and runs but each write(fd, buff, sizeof(buff)) goes to stdout / stderr instead of the place fd points to, which is /dev/ttyUSB0 I can connect to a socket server from within the userspace component and pass the values indirectly, but it is bugging me to distraction that perfectly normal serial comms code which can be shown to work elsewhere will not work properly in the component. If anyone has any ideas why this should be, I would be grateful! regards -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] LiveCD Fails to install LinuxCNC
Hi John Can you check your /var/log/installer directory This sounds very similar to this thread I was involved with http://www.linuxcnc.org/index.php/english/component/kunena/?func=view&catid=9&id=20126 The problem was that ubiquity was re-instating the stock kernel part way through the process and this caused the rtai kernel and all packages that depended upon it (linuxcnc) to be removed. The solution was bizarre but it worked. regards -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Debian with LinuxCNC
Hi I have built 2.6.26 rtai kernels on Lenny and Squeeze. Still using Lenny on an older machine I used these instructions as a starting point and tailored for debian http://code.google.com/p/neo-technical/wiki/emc2ubuntu My notes suggest that tk/tcl8.4 bwidget and python-tk are not in the Lenny standard install and need fetching before emc will build. regards NB all references to emc do of course refer to another name that takes longer to type with 2 fingers On 15/05/12 04:24, emc-users-requ...@lists.sourceforge.net wrote: > Is there a more up to date tutorial on how to compile rtai with > Debian.It took me a whole weekend to compile a kernel that will > boot but when I try the latency test, I get > > insmod: error inserting '/lib/modules/2.6.32-rtai/rtai/rtai_hal.ko': > -1 Invalid module format -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Setting EPP Mode
Hi Came to this thread late on, I have a copy of the Oxford mode setting utility from when I used one of their cards. Have posted it here http://www.linuxcnc.org/images/fbfiles/files/oxprom.zip Hope this is of help regards -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] GladeVCP / File Selector Button
Hi Andy >> I_think_ that uses a generic button which calls hal_action_open, >> which in turn opens hal_filechooser.py, which seems to open a G-code >> file in LinuxCNC. Unfortunately that is not what I want to do. Looks like all you have to do to change the default action in hal_filechooser.py once a file is selected, is to change the def _load_file(self, filename) function (line 115 in my copy) to do what you want with the filename. Might save re-inventing the file dialogue when there is one available. regards -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] OT: Video Drivers and GLX
Hi On 08/04/12 18:48, emc-users-requ...@lists.sourceforge.net wrote: > Sorry for the off topic, but I'd like to get GLX working on a 10.04 > system so I can remote ssh -X LinuxCNC. The PC has an Intel chipset. I > am currently using the vesa driver because the i810 driver crashes. The > 8.04 i810 driver works fine. I had the idea that maybe I could just put > my 8.04 disk in the drive and use Synaptic to install the older driver. > Sounds easy, but I haven't been able to find out how to do this. Anyone > have any hints or keywords to search? The i810 driver module for 8.04 will not work on 10.04 because it was compiled against a different kernel. Nothing to stop you compiling the 8.04 driver code against 10.04 however, so long as it was an update to that code and not something else in the kernel that broke it. I did the same some while back when my laptop wifi stopped working after a driver code / kernel change. regards -- For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Tool change question
Hi Have now had a play with this and found how to get it working with 2.5 Comment out the lines #iniFile = emc.ini(os.environ['INI_FILE_NAME']) #emc.nmlfile = s.path.join(os.path.dirname(os.environ['INI_FILE_NAME']), #iniFile.find("EMC", "NML_FILE")) Change the lines emcStat = emc.stat(); emcCmd = emc.command() to emcStat = emc.stat();emcCmd = emc.command() Change the lines at about 52-54 with the backslashes in strange places so that the '\' are end of line continuation markers, as per bash The module then loads and when toolchange commanded, the dialog appears and you can jog all axes. However I found that I had to cycle to and from AXIS using Alt/Tab to get focus for mouse clicks to work and had to press F2 (machine on/off) to get out of this state. Not sure how it was intended to work, but it sort of does regards -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Tool change question
Hi I am no python expert, but a couple of things jump out at me. There has been no reference under [EMC] NML_FILE= in the ini file since v2.4 Indeed if it is not commented out , EMC will fail to start with multiple errors. So the call iniFile.find("EMC", "NML_FILE")) will fail on v2.4 and above. The error in File "/usr/lib/python2.6/posixpath.py", line 65 may well have been triggered by the same call, so I would comment line 12 out and see what happens. Immediately below this call at line 14 is emcStat = emc.stat(); emcCmd = emc.command() Note the first call is semi-colon terminated as per C and the second is not, I don't know if this is right either. Line 5/6 is gettext.install("axis", localedir=os.path.join(BASE, "share", "locale"), unicode=True) This should all be on one line. I think line 52/3/4 should read lab = Tkinter.Message(app, aspect=500, text = _("\ This window is part of the AXIS manual toolchanger. It is safe to close\ or iconify this window, or it will close automatically after a few seconds.")) rather than as it is currently. I will try to test this out later and let you know if I succeed regards -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Following error only on jog
Hi See Integrator Manual Chap 4.2.8 In [TRAJ] section of ini file, set DEFAULT_VELOCITY= DEFAULT_ACCELERATION= to figures far lower than your current MAX figures (1/4 at least) and experiment from there Acceleration is the one which causes the problems normally, when moves are activated by key press, especially if a momentary contact. regards -- Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Live CD
Hi Download the 8.04 cdimage and install that. If you want a newer version of EMC you can install that onto 8.04. A lot of things have changed from version 9.10 of Ubuntu onwards, that do not make it ideal for older hardware. I have 8.04 running happily on 2 P4 desktops in the workshop, with a RIP build of EMC 2.6. http://www.linuxcnc.org/hardy/ubuntu-8.04-desktop-emc2-aj13-i386.iso regards -- Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Arduino Communication issues
Have you tried loading the module without the -W switch? I seem to remember having problems, when experimenting with serial comms to an Arduino board from emc, if I used the -W(ait_until_ready) switch I loaded it right at the start of the hal file and then didn't link any of its pins until the end and that seemed to work. Just a thought regards -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Next distribution after Ubuntu 10.04 LTS is, no longer supported?
Hi The real problem it seems to me, is one of philosophy rather than what is practically possible. The use of Ubuntu as a carrier vehicle has enabled a lot of people with minimal Linux knowledge to use EMC. As Kirk said, if a better technical solution were used at the expense of usability, that would impact upon the user base unless someone could be bothered to wrapper it for the uninitiated (which is the overwhelming majority). There should be no reason why the user could not have a choice of kernels from the distro at install time, one for SMP another for UP say. That immediately would answer a lot of problems. I personally do not like the later versions of Ubuntu and strip it out and use a light display manager and windowing system, because I hate the bloat and long initialisation time of Gnome and KDE. I have been doing a lot of rtai kernel building recently. Initially to test the effect of different configs on a quad core MB latency and more latterly to try to build a very light Debian based EMC distro, suitable for old machines. In the course of this I found that EMC runs well on a single processor build of both Lenny and Squeeze and will install on both new and old machines. I currently use a Debian Lenny build, not Ubuntu to run EMC. The longer term problem is that EMC has created a dependency upon a version number of Ubuntu to bring the latest version of EMC to the average user. It does not matter how many times users are told that you can run the latest 2.6 RIP on a Ubuntu 8.04 installation. Because it involves the unknown territory of compilation, they are not interested, all they want is another Live CD release that installs everything for them. So cater for them or it is just us geeks! regards -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] I feel dumb
Hi You need to say exactly what it is you have, but a lot of the Chinese mini and larger mills sold in the UK and probably elsewhere use a KBLC speed control board to run a 100 - 200v DC motor. The board is actually American and there is good documentation on the net for it. This can be simply reconnected inside to use a £20 speed board to control motor on/off and speed in the place of the potentiometer and switch. I have a XJ20 mill in my workshop converted this way. regards -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] upgrade issue with 10.04 live CD
Hi If you have upgraded from 2.3.x to 2.4.6, your error could be simply that you have not commented out the reference to the emc.nml file in your .ini file ie #NML_FILE = emc.nml This throws loads of 'waiting for s.axes' faults in 2.4.x > and refuses to load. regards -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Limit switch does not work while homing
Hi Not quite following why you would want to press a limit switch during a homing operation, but I am sure that your problems originate in your settings for max velocity and especially max acceleration, which are HUGE, both in [TRAJ] section and the figures for homing. My search velocity on my metric turret knee mill is set at 3.5 and the latch velocity at 1. I jog the axes near to the home positions and then press Ctrl Home Likewise my max velocity is 25 ( equates to 1500mm/min) with acceleration of 9.5, yours are 130 and 200! Not surprised the axis overran. At the same time you have base period and servo period set at 1,000,000. Because you are using servos, this probably matters far less than on my stepper setup, but it is nearly 4 times higher than my base thread. If you scale right down and then work from there I suspect you will resolve it quite simply and tune up to sensible levels The actual error you quote seems to arise in homing where the on / off transition is not clean. I had problems with the error using proximity switches which obviously did not have a clean field collapse point and gave a series of stutters. Problem completely solved by using debounce components on each. regards -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parallel port card that "just works"?
Hi This was a vexed question for me after I made a pendant and need more IO to work it. None of the Parport IO cards I tried would not work at all, the problem was getting them to work in EPP with pins 2-9 as inputs. I found previous entries from Jon, Kirk and others on this subject. By repeated experiment; setting bits for EPP mode, pre-loading parport drivers and then unloading before EMC, even setting the write flag for the device under /proc/bus/pci/??? I seem to recall, I got both computers running with MOSChip based cards (9845 I think). Once I managed to force them into mode, I did not have to repeat it all at every start up. What I did find however, was that 2 of the cards recommended (SIIG and Sun1188) would not work in input mode no matter what I did. This despite both functioning as such if used with Mach. There were also differences in getting the card to work under the same version of EMC ( seems to make no difference which one you use), almost identical computers (same make model, just 4Mhz difference in processor speed). So the moral is, it will be easy once you have done it, keep hitting your head on it !! regards -- BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA Learn about the latest advances in developing for the BlackBerry® mobile platform with sessions, labs & more. See new tools and technologies. Register for BlackBerry® DevCon today! http://p.sf.net/sfu/rim-devcon-copy1 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Trouble with gantry setup
Hi >> > in [TRAJ] I have >> > DEFAULT_VELOCITY = 1.0 >> > MAX_VELOCITY = 8 >> > DEFAULT_ACCELERATION = 55.0 >> > MAX_ACCELERATION = 55.0 >> > >> > In each axes.. for example >> > [AXIS_0] I have >> > MAX_VELOCITY = 8.5 >> > MAX_ACCELERATION = 60 >> > STEPGEN_MAXACCEL = 65 > > That looks pretty good, but those acceleration rates seem pretty brutal. > Have to agree with Gene re the acceleration figures In my wholly limited experience, it is the acceleration setting more than the velocity, which tends to cause lost steps in rapids. Prime danger time is the end of a cut with a sudden direction change and a short G0 rapid back to the start point again. On my lathe I was able to increase my MAX_VELOCITY having considerably reduced the existing MAX_ACCELERATION and have a nice soft start and finish to rapid moves. I use metric units, which makes direct comparison difficult, but on a ratio of accel to velocity basis, your acceleration figures are 10 -12 times higher than mine. regards -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Old ssh -Y problem is back
> I believe that axis cannot run over ssh -Y due to needing access to the > host's video hardware (OpenGL). I would love to be proven wrong. Before 2.4.6 came out with the Ubuntu 10.4 build I was unable to put the old CD distro on my house PC because it is quad-core. I used an old Pentium 3 machine from the loft, loaded from the 8.04 CD as a test rig. To save having to disconnect and re-connect my monitor every time I used it, I used to access it with ssh -X from my main computer. It worked, albeit the rendering was jumpy especially if you set a fast feed rate. I think the slave computer had an old nVidia AGP card in it and the main computer has an on board Intel video set (can't remember what) So it has worked and I just connected it back up again to make sure that I had not imagined it, and it still works. -- Magic Quadrant for Content-Aware Data Loss Prevention Research study explores the data loss prevention market. Includes in-depth analysis on the changes within the DLP market, and the criteria used to evaluate the strengths and weaknesses of these DLP solutions. http://www.accelacomm.com/jaw/sfnl/114/51385063/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] [emc-users] Changing Axis display to cater for lathes, with slant-bed or rear toolpost
Hi Andy >Not wanting to confuse the situation, but I think that this might need to be set by a parameter in the tool table. It is not >inconceivable that a given lathe might have both front and back tool posts, like this arrangement here: Yes, I didn't explain myself very well. There are of course 2 separate issues, the plot displayed when using a slant bed lathe and using a rear tool post with arcs reversed etc. The rear tool post on a front tool post lathe may well require big offsets from tool 1 and negative signed arcs say. At present I am just concentrating upon trying to get a display which matches what I see with a slant bed. > Have you tried GEOMETRY=-XZ in the INI file? I think I tried this previously, just done it again and it is only partially successful. Whilst the part profile is now above the Z centre line, with home position above and to the right, mimicking the view with the tool is approaching from above on a slant bed lathe, the dimension bars and the X0 Z0 intersection marker are displayed above the home position, in a mirror to the part profile. I deleted the emc.var file before start-up, loaded a file that just contained M2, homed to homing switches then 'touched off' to an approximate X0 Z0 in G54 prior to loading a file with some code, but despite the fact that the tool moves and cuts the profile as it should and returns on G28 to 'home', the rest of the display remains in a mirrored position relative to 'home' which matches a conventional front tool post lathe. Will have to look through the source code again and see what GEOMETRY= changes and go from there. I may just have to stick with the conventional view and transpose it in my head. I long since stopped thinking about CW and CCW arcs where lathes are concerned and just view them as convex or concave, which assists greatly in programming the correct G code irrespective of the view you are presented with. regards -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] [emc-users] Changing Axis display to cater for lathes with slant-bed or rear toolpost
Hi This subject has come up before but to no obvious conclusion. The current display can be adapted to by the programmer for linear turning, but it is when turning arcs that the orientation of the display becomes a problem and renders the display near useless. Looking at OpenGL, it appears that a projection can be rendered in different orientations, however my lack of any detailed knowledge of python and miniGL did not assist in browsing axis code in search of the lines in which this projection could be flipped to a mirror of the current default rendering. Can anyone with a deeper knowledge of the code comment on the possibility of adapting the existing rendering code or would it require a complete re-write? There must be a lot of users out there with slant bed type lathes who would find this very useful. The devils spawn - Mach - has this facility, but enough of the profane language. regards -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Jog keys for axis A in AXIS
> How do I assign keyboard keys to manually jog axis A? > > The standard assignment seems to be "[" and "]" however on my non-us > keyboard neither the keys generating [ ] nor the keys at the place where an > us keyboard has [ ] gives the desired result. Ref the original query, the below jogs my A axis on my lathe (ATC) quite happily # axis 3 (A) which is ATC on lathe root_window.bind("", lambda e: jog_on(3, get_jog_speed(3))) root_window.bind("", lambda e: jog_on(3, -get_jog_speed(3))) root_window.bind("", lambda e: jog_off(3)) root_window.bind("", lambda e: jog_off(3)) > Nice, but what about .axisrc , it's not present in latest versions? I don't think .axisrc is present in any version, it is a user defined add on. The above in ~/.axisrc works with 2.6.0~pre and used to work with 2.5.x > 2.3.x regards -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] INI file data for a user-defined command in, gcode?
>>If I have a program that gets executed via a user-defined M100 >>command, can that program get the INI file data somehow? Hi The info you need is in the main axis executable. Axis starts with a commandline argument specifying the path of the .ini file by default. Looks like you are conversant with python, so the below code fragments should point you on your way. import emc . . inifile = emc.ini(sys.argv[2]) . . tooltable = inifile.find("EMCIO", "TOOL_TABLE") regards -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] How can I create my own functions table for named, subroutines
So is it possible to create such a table? I tried to initialise table using code above but got an error message Parameter number out of Range I suspect the answer is no you can't - see later caveat. You can of course do this sort of thing, because it is based upon numbers and that is all a parameter can hold /o<200> sub/ / (msg, In 200-sub)/ /o<200> endsub/ /o<201> sub/ / (msg, In 201-sub)/ /o<201> endsub/ /#<_index> = 0/ /o sub/ / o100 while [#<_index> LT 2]/ / o[200 + #<_index> ] call/ / #<_index> = [#<_index> + 1]/ / o100 endwhile/ /o endsub/ /o call/ /M2/ Whilst # will access the value held in that parameter and #[#] will access the value in the parameter which has the number held in this parameter, I don't think there is any way of passing the address of a subroutine (equivalent to in psuedo C notation). I have wondered however if the g-code processor does not actually convert named parameters and subs into numbered ones internally and whether those can be accessed. Then they could be indexed in a simple array. In the absence of text manipulation and substitution routines in gcode, the easiest route is just to number the subs and find an easy way of remembering what they do, if you want to set up an array of them which can be addressed. regards -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense.. http://p.sf.net/sfu/splunk-d2d-c1 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] M101 - M199 problem
> Because of this I also tried a bash script > that called the C program and got the same result (no response). Both work > from the command line. I get no errors from EMC2. > I have entered a echo command in the bash script that is shown when I run it > from the command prompt. When run from EMC2 should it appear in a terminal > window? > Hi I think you are heading down the classic ladder path to achieve your overall end, but I don't recall seeing your having solved the initial problem of executing scripts etc from a M1XX command. I had some problems getting hal commands to run within a bash script called from M1xx, a while ago. First off, unless your controller computer is permanently connected to the internet, (why would you, hardly going to improve latency) just log in as, install as and run everything as root. Sorts out all the problems with permissions, ownership etc. The 'middle-man will get you' paranoids will argue against it, but for a stand alone computer, I really do not see the problem. Obviously ensure that M1xx file is in the path pointed to by PROGRAM_PREFIX in your .ini file If somehow you have 2 entries in your .ini file, EMC only reads the first one. Wonder how I found that out! If you launch EMC as child process within a terminal (ie without the trailing & ) you will get stderr etc from emc and any processes launched from within it, eg bash or your C program. It was seeing this and using debug outputs, that enabled me to discover that EMC reads M101 P3 and then passes 3.00 instead of just 3, to my M101 script! As an example the below M101 script uses calls to halcmd to adjust the scale and stepgen associated with my spindle, to account for pulley changes. regards Schooner /#!/bin/bash ## sets scale gain to make output speed accurate ## for each of 4 pulley settings if [ ! $# == 1 ]; then echo "Usage: M101 n - where n is speed range 1 - 4" exit 1 fi ## emc takes the M101 P3 for example and passes 3.00 ## to this script!!! ## need to convert first float=$1 int=${float/\.*} # DEBUGecho "$float converted to $int" case $int in 1 ) halcmd setp scale.0.gain 0.8 halcmd setp stepgen.4.maxvel 2400;; 2 ) halcmd setp scale.0.gain 1.24 halcmd setp stepgen.4.maxvel 1200;; 3 ) halcmd setp scale.0.gain 3.55 halcmd setp stepgen.4.maxvel 600;; 4 ) halcmd setp scale.0.gain 6 halcmd setp stepgen.4.maxvel 300;; esac exit 0/ -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] AXIS to close open "Tool Change" popup
Hi On my lathe, I have completely changed the tool change behaviour, removed the AXIS dialog from the module and just implemented tool number updating via AXIS. In doing so I found that the tool change dialog is displayed by hal_manualtoolchange, which is a python module and as such is directly editable within the EMC file tree. It uses TKInter libraries and looks like TkInter dialogs just need :- 'dialogname'.initial_focus.focus_set() and 'dialogname'.grab_set() to grab focus and become modal dialogs. I'll try this on my small mill when I get a chance, but if anyone else gets there first, happy hacking Schooner -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] EMC2 v2.4.3 G76 change?
Hi Downloaded and compiled the above to 'run-in-place' , just to see what had changed etc. Have previously been using v2.3.0 from the cd image. Thus far functioning as expected with one exception. When I ran a test threading file, I got an error for setting 'I0' ie thread peak = 0 This works fine under 2.3 and seems the only sane setting if you have turned down to finished diameter before threading. Since a dialog pops up that specifically says I cannot be zero, the logic has obviously changed from 2.3, but the documentation has not. I changed I to -0.001(mm) which made damn all practical difference and the code was accepted and works. The DROs showed the 0.001 has been subtracted from the X diameter in all passes. Perhaps the documentation needs to specify that 'I' must be a signed value and if the driveline is already at the thread peak, it should be adjusted by +/- I to compensate. regards Schooner -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Lathe ATC integration
Hi Again, Just an update to the thread with the solution adopted. I hate searching threads and never finding how it ended up being done. I wrote a G Code sub routine called which takes 2 parameters, current_tool and required_tool. This is no problem, as when you do a tool change you will always know what tool you were using previously. (often just tool1 from the initial machine homing) This sub calculates the number of moves between tools, the number of units required for each move, based upon the tuning of the A axis and the slightly differing distances between tool stations. It moves the ATC forward to just past the required tool and reverses back to stall against the pawl. Using G Code overcomes all the problems of trying to move a previously defined axis during a M6 command. It then calls M6 Tx to match the required_tool. I have linked a hal component I have called hal_autotoolupdate as per below. *loadusr -W hal_autotoolupdate net tool-change iocontrol.0.tool-change => hal_autotoolupdate.change net tool-changed iocontrol.0.tool-changed <= hal_autotoolupdate.changed net tool-number iocontrol.0.tool-prep-number => hal_autotoolupdate.number net tool-oldnumber iocontrol.0.tool-number => hal_autotoolupdate.oldnumber net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared* hal_autotoolupdate is simply based on the hal_manualtoolchange python script, hacked to remove all the dialogs etc. Since the tool change has already been done when M6 is called, all I want the component to do is pass a tool-changed signal back without any operator input, so that the tool number and offsets are updated. You could just feed one into another, as in the ..tool-prepare line, but I wanted the pins available for a pyvcp addition to my set up, to clearly display tool change and offset info. This works perfectly and should work for any similar Boxford, Emco or whatever, that uses the same type of methodology for its ATC. My lathe conversion is now complete and fully functional. I have learnt a lot on the way. Thanks for the help and advice, particularly Andy Pugh for his help getting a threading pulse circuit working. It cut a perfect 1.5mm pitch thread first time, simply using a tool at 90deg to the workpiece. regards Arc Eye -- The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Lathe ATC integration
Hi again I have spent a few days reading all the manuals etc and studying the various links you all passed on. I decided that Kirks solution of a component written in C was most viable for me. In the interim I have written a G Code sub routine called m6 which does the tool change and I just have to do a M6Tx to get the tool number set correctly from the manual tool change module. Gets me by for now. Below is my idea of how I could achieve the tool change with a component and the associated .hal entries. Before I start trying to test it, I would be grateful if you could run an eye over it and tell me if I am going in the right direction. There could be an absolute howler in there and I currently am not far enough up the learning curve to know it. Also, does EMC or Axis store the current tool number somewhere that can be read or will I have to implement some sort of .conf file to hold that very necessary data? With no encoder etc, the whole operation hinges on knowing the start point. regards ArcEye /*** ## .hal entries loadusr -W hal_ATC net tool-change iocontrol.0.tool-change => hal_ATC.0.toolchange net tool-changed iocontrol.0.tool-changed <= hal_ATC.0.toolchanged net tool-number iocontrol.0.tool-prep-number => hal_ATC.0.toolnumber net move-to stepgen.3.position-cmd <= hal_ATC.0.steps # signal apos-fb already declared in .hal (net apos-fb stepgen.3.position-fb => axis.3.motor-pos-fb) net apos-fb => hal_ATC.0.stepstaken ## unless need a tool-prepare signal this always connects straight back to tool-prepared ## net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared / /// ATC.comp component ATC "This component controls the Auto Tool Changer. M6 calls this via net tool-change iocontrol.0.tool-change => hal_ATC.0.toolchange"; pin in bit toolchange "Receives signal from M6 that tool change required"; pin in s32 toolnumber "Receives Tx data from M6 (tool number requested) Only allows 1-8"; pin in s32 stepstaken "Receives feedback from stepgen of position in commanded units"; pin out s32 steps "Sends number required, positive for forward and negative for backward, scale is 80 / mm on this setup"; pin out bit toolchanged "Sends signal when tool change finished"; param rw s32 currenttoolnumber "Holds current position - get from file?"; function _; license "GPL"; ;; FUNCTION(_) { int moves, index; bool bEven, bToggle; moves = index = 0; bEven = bToggle = false; //TODO get current tool number if(toolchange) // will receive input from stepgen.3.position-fb even when ATC jogged externally but no toolchange requested { if(toolnumber != currenttoolnumber && toolnumber > 0 && toolnumber < 9) // if a valid number { if(currenttoolnumber == 2 || currenttoolnumber == 4 || currenttoolnumber == 6 || currenttoolnumber == 8) bEven = true; if(currenttoolnumber < toolnumber) moves = toolnumber - currenttoolnumber; else moves = (8 - currenttoolnumber) + toolnumber; bToggle = bEven; while(index < moves) { if(bToggle) steps = (24 * 80); else steps = (22.2 * 80); index++; bToggle = !bToggle; while(steps > stepstaken) usleep(1000 * 1000);// wait for move to happen before next command } steps = (((moves / 2) + 1) * 80) * -1);// negative figure to lock back against pawl } toolchanged = 1; // signal finished } //TODO set new tool number } -- The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Lathe ATC integration
Hi again Thanks for the various links and info, I will have to sit down and try to get my head around them and work out the best strategy John and Steve are correct about the way it operates. It is a Boxford 240F and really it does not matter whether the motor loses steps when locking back. The important thing is to know where the ATC is, ie locked back against a pawl on tool no X, not where the motor is. The holding torque of the stepper is more than enough to ensure the ATC does not move once up against the pawl. In Mach, I just set the tool number up to the current tool at startup. Then the macro moved x amount for each tool position and having reached the required one, it moved back y amount to lock back against the pawl. This worked fine, especially as the distance between each tool is not even, from cutting tool to drill is slightly shorter than drill to tool. Odd to even moves were one amount and even to odd another. 360 degrees divided by 8 would have been too easy! I could put an indexing switch by tool 1 and 'home' the ATC at startup. This is the arrangement it had originally with a Fanuc control. However that proximity switch and just about every other bit of low voltage stuff was burnt out, the control had suffered a power outrage. Does EMC store the current tool number somewhere that can be read and written to, or will I have to implement that? Thanks again, I'll see what I can come up with. regards ArcEye > > I admit that I don't quite see how these tool changers are supposed to > > work. When the stepper backs up against the stop, doesn't it stall > > and lose position? Is there some kind of feedback available? When > > you start up, how do you know what position it's in? > > > > I have never seen a machine with a tool changer that operates like > > this. > > > Boxford in UK used this for small and medium sized changers. For an 8 position turret you have a ratchet with 8 teeth and a spring-loaded pawl. Assuming you know where you are now (say tool 2) and each click needs 100 steps. To move to tool 5 you output 330 steps. You now know that ratchet is about 30 steps after a "click". Send 40 reverse steps. The stepper stalls, as you say, but you are in the known position for tool 5. Next move to say tool 6 just outputs 130 steps forward and 40 back. John Prentice Sorry, but the pawl is essential to how it operates. The counter rotation is limited by the pawl to the exact position where the tool should rest. These tool turrets will only work with the spindle rotating in the normal direction, pushing the tool back against the pawl, but they do work well for such a simple design. They were used by Southbend, Emco Maier, and many others. Steve Stallings -- The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Lathe ATC integration
Hi Guys, I have been searching the lists for info on setting up an ATC under EMC2. I have found some references but nothing concrete as to how it is achieved. This must be quite a common requirement, but can see nothing in the wikis etc about doing it. I have an 8 station revolving tool changer, powered by a larger stepper motor with a rachet and pawl arrangement to lock (go past pawl and reverse back against it to lock) I set this up simply in Mach, by writing a M6 macro, pity most other things in Mach are so flaky. Want to be able to code M6 T101 and have it turn until tool 1 is selected etc. The ATC is currently assigned to axis A, so I could just write GCode to achieve the same result, but would rather it responded properly to M6. Can anyone point me to some info or tell me the secret?! thanks ArcEye -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] SIIG PCI 1P parport card
Hi again, Just want to see if anyone has any ideas I have not tried, to get this card working with pins 2-9 as inputs under EMC2. It works perfectly with Mach and was connected to my MPG pendant with pins 2-8 plus 13&15 in use. I bought it because other users recommended it as a proper IO card which worked, not just a printer card. Under EMC I can load it as "0x5800 in" and hal creates all the right pins, but only 10,11,12,13,15 work as input, so no different to saying "0x5800 out" I have scoured the previous posts; I have downloaded the EPROM utility from SIIG and set it to EPP. (This card now has a XP utility to do it instead of a old DOS one, lot easier) I have also written 0x80 to 0x5c00 which should do the same, using the pcisetup.c code someone posted previously (had to change a couple of bits to account for different header locations, but seems to work fine) I have loaded the linux parport modules before EMC and then unloaded them as someone suggested for a MosNet card. Net result, an afternoon of frustration and then I wired up to pins 10, 11 and 12 to X/Z, 0.1/0.01 and Estop and got a working pendant. I did have a pyvcp panel set up in Axis, to enable mpg-x mpg-z and Jogging ratios. This worked perfectly, except that I needed to turn back to the computer to change axes, which was not ideal. Failing any other ideas, can anyone recommend a card which works fully under EMC. A twin ported card might be good, don't need any serial ports. regards Mick -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Single Index Pulse Threading
Hi again Managed to get an hour in the workshop unexpectedly, linked encoder.0.Phase-Z to the index pulse as well and eureka it works properly, let threading tests commence! May yet fit the encoder, will see what you think of the one I have. Thanks for your help Mick -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Re Single Pulse Threading
Hi Andy, Steve and Dave Thanks for the replies, I see from the initials that you (Andy) are the person who posted this solution in the first place. I didn't realise that the last line had wrapped, the spindle-index-enable line isn't wrapped normally, must have happened when pasting into the email. It will be a couple of days before I can try this out properly so I will come back to you then. The timing magnets will not be perfecting in phase. Mach only requires 1 long pulse and 3 shorter ones, which I achieved with different sizes. The time between is not critical and whilst they will be pretty much 90degrees apart, it will not be exact I do have a small 6 channel encoder available, but its resolution is 2500, which even I with my limited knowledge thought might be too fine. My max speed is 2400rpm but normal working speed does not tend to go above 1200 and threading not above 600, so do you think this might be a feasible? It requires a line driver circuit, which is what I assume Dave is refering to, I did have a schematic for one somewhere. regards Mick Date: Fri, 23 Apr 2010 18:00:55 +0100 From: Andy Pugh Subject: Re: [Emc-users] Single index pulse threading To: "Enhanced Machine Controller (EMC)" Message-ID: Content-Type: text/plain; charset=ISO-8859-1 On 23 April 2010 17:12, Schooner wrote: > > loadrt encoder num_chan=1 > > addf encoder.update-counters base-thread > > addf encoder.capture-position servo-thread > > setp encoder.0.position-scale 1 > > net spindle-position encoder.0.position-interpolated => motion.spindle-revs > > net spindle-velocity encoder.0.velocity => motion.spindle-speed-in > > net spindle-index-enable encoder.0.index-enable <=> > > motion.spindle-index-enable > > net spindle-pulse-and-index parport.0.pin-11-in => encoder.0.phase-A > > encoder.0.phase-Z ;set to correct pin. " > > > > /I am afraid I do not understand how encoder.0.phase-Z could be > > connected to anything, there is only one index pulse. > You can use the same p-port pin to drive more then one "logical pin" in HAL. In this case you need to link the encoder A-phase to your pin-11 so that EMC can calculate a spindle speed, and also the Z-phase (which is the index pulse) to the same pin. > > I included the above into my .hal minus the last line. > You need the last line. Note that it is actually part of the line above but has line-wrapped. There is another troublesome wrap in the index-enable line. > > If I rotate the spindle manually, I get a positive indication every rev, > > so maybe the hal monitor > > display just cannot update quickly enough. > HAL monitor doesn't, know. For transient signals you should use Halscope, it works a lot better. It is one of the most useful tools in EMC in fact. It is in the same menu as the Hal Config and Hal meter. > > Have I missed something or is the answer that you cannot thread with > > just an index pulse and you must have a timing pulse too, connected to > > encoder.0.phase.Z perhaps?? > Yes, you need both, but they can be from the same pickup and the same parallel port line. Incidentally, I think you have speed and no index rather than the other way round. I think you might also need to add a line: setp encoder.0.counter-mode 1 to the HAL to tell it to not look for the B-phase. Details here: http://www.linuxcnc.org/docview/html//man/man9/encoder.9.html > > Would my 4 magnet set-up through a second pickup provide that, if a > > timing pulse is required , or is that too coarse? > More pulses is better, but a few inaccurately-times pulses is probably worse than 1PPR for introducing errors to the spindle velocity calculation. -- atp -- -- -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Single index pulse threading
Hi My first time here, hope you can assist. I have a working stepper driven lathe under Mach, but am not happy with Mach on many levels and use Linux for everything else, so am migrating to EMC2. I have all the basic stuff working, but I cannot do any threading. I have a single pulse from the spindle from a hall-effect sensor. (On the opposite side of the pulley I have embedded 4 magnets, 1 x 10mm and 3 x 4mm, which if the pickup is shifted, give a 'timing pulse' which works with Mach, so could use that set up) I found an archived reply on this forum as below to a very similar query /"You need an index input, as EMC doesn't start a threading pass until it sees an index. Looking at http://www.linuxcnc.org/docview/html/examples_spindle.html (the last section) I think you need at least the following lines added to your HAL loadrt encoder num_chan=1 addf encoder.update-counters base-thread addf encoder.capture-position servo-thread setp encoder.0.position-scale 1 net spindle-position encoder.0.position-interpolated => motion.spindle-revs net spindle-velocity encoder.0.velocity => motion.spindle-speed-in net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable net spindle-pulse-and-index parport.0.pin-11-in => encoder.0.phase-A encoder.0.phase-Z ;set to correct pin. " /I am afraid I do not understand how encoder.0.phase-Z could be connected to anything, there is only one index pulse. I included the above into my .hal minus the last line. The lathe still does not start a threading cycle and if I watch the spindle-pulse-and-index, it does change but only every 5 seconds or so, not continuous flickering as I would expect. If I rotate the spindle manually, I get a positive indication every rev, so maybe the hal monitor display just cannot update quickly enough. Have I missed something or is the answer that you cannot thread with just an index pulse and you must have a timing pulse too, connected to encoder.0.phase.Z perhaps?? Would my 4 magnet set-up through a second pickup provide that, if a timing pulse is required , or is that too coarse? thanks Mick -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users