Re: [Emc-users] c/c++ interface
Wesley, Am 19.03.2013 um 14:23 schrieb Wesley Moore: > Brief background: EPICS is a basically a client-server framework for > cross-platform distributed controls. The server-side provides variables that > clients can read/write too. The variables can store data or act as triggers. I had never heard of that; but I'll look at it more closely, there could be some interesting ideas in it. Some of the communication patterns sound very much what I have in mind (the future vehicle will be based on zeroMQ and protobuf encoded messages; with the option to carry NML as well for the migration period). So this will the command & control layer I assume? > Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of > principle. But our goal is to build a hexapod that's fully integrated with > our EPICS controls, that's where I come in. One of my colleagues posted a > design sim here: > > https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=1 > > In the end, the most used controls would likely be jog, jog speed, and > homing. Most of the configuration would be considered experts only and setup > ahead of time. Note that due to history LinuxCNC sports two parallel methods of accessing and modifying state in the actual machine, with different API's - NML commands, and the HAL API; one a bit networked, the other not. Maybe you want to get a feel what these do, and let me know which ones match better what you need? for simple moves you might get away without NML altogether. HAL will remain in its current form but get a networked API on top for generalized command in/status out interfaces; NML I intend to completely replace eventually. It is unlikely this happens this year though, so dont rely on it. If you would want to try a scripted approach to say jogging, or controlled moves, I suggest you explore the linuxcnc Python module; if needed, run it over SSH: http://www.linuxcnc.org/docs/html/common/python-interface.html Could you point me to a simple example in EPICS how that is currently done _within_ that framework? I would assume that interfaces to other 'real world' systems as well, any examples for such interfaces? regards Michael -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
On Tue, Mar 19, 2013 at 9:23 AM, Wesley Moore wrote: > Brief background: EPICS is a basically a client-server framework for > cross-platform distributed controls. The server-side provides variables that > clients can read/write too. The variables can store data or act as triggers. We used EPICS around here (we're your relative neighbors from NIST/NCNR in Gaithersburg MD) > Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of > principle. But our goal is to build a hexapod that's fully integrated with > our EPICS controls, that's where I come in. One of my colleagues posted a > design sim here: > > https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=1 > hmm, 0.6"/step, assuming 200 steps/rev is .012 inch/thread, or 83tpi. This is an ambitious lead screw---and also, don't forget about the backlash. Typically backlash is in the few mil range, so it seems that it seriously eats into your desired accuracy. You may need to look into ballscrews and microstepping for this kind of accuracy. -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
> > One of my colleagues posted a design sim here: > > https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=1 > > That's pretty neat. It looks like genhexkins isn't general enough for > your design, though. > http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/emc/kinematics/genhexkins.h;h=dce1a59e04b624b9a60693878750830074b161c1;hb=HEAD > As that seems to assume that the strut ends are fixed in space. The design or the genhexkins? -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
On 19 March 2013 13:23, Wesley Moore wrote: > One of my colleagues posted a design sim here: > https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=1 That's pretty neat. It looks like genhexkins isn't general enough for your design, though. http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/emc/kinematics/genhexkins.h;h=dce1a59e04b624b9a60693878750830074b161c1;hb=HEAD As that seems to assume that the strut ends are fixed in space. -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
Wesley, The protocol itself was never intended to be secure, but you can tunnel over SSH to achieve that. Regards, Eric Thanks Eric. I actually just started looking into that as an option. In general, telnet is frowned upon for security reasons. But I have other systems that use it and we tuck them behind firewalls, etc. With this setup, the PC doesn't have to act as the server, only a remote device. I'm gonna follow-up and test this out. I'm also interested in any ideas from Michael H. -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
> Wesley, > > For those basic functions, could you just use linuxcncrsh (emcrsh > prior to > version 2.5), see: > http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Linuxcncrsh > > Regards, > Eric Thanks Eric. I actually just started looking into that as an option. In general, telnet is frowned upon for security reasons. But I have other systems that use it and we tuck them behind firewalls, etc. With this setup, the PC doesn't have to act as the server, only a remote device. I'm gonna follow-up and test this out. I'm also interested in any ideas from Michael H. Wesley -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
Wesley, For those basic functions, could you just use linuxcncrsh (emcrsh prior to version 2.5), see: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Linuxcncrsh Regards, Eric Brief background: EPICS is a basically a client-server framework for cross-platform distributed controls. The server-side provides variables that clients can read/write too. The variables can store data or act as triggers. Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of principle. But our goal is to build a hexapod that's fully integrated with our EPICS controls, that's where I come in. One of my colleagues posted a design sim here: https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&in dex=1 In the end, the most used controls would likely be jog, jog speed, and homing. Most of the configuration would be considered experts only and setup ahead of time. -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
- Original Message - > From: "Michael Haberler" > To: "Enhanced Machine Controller (EMC)" > Sent: Monday, March 18, 2013 6:57:15 PM > Subject: Re: [Emc-users] c/c++ interface > > Wesley, > > Am 18.03.2013 um 19:45 schrieb Wesley Moore: > > > Hey guys, > > > > I've been playing with linuxcnc a bit and have it working on ubuntu > > 12.04. Using the python modules, I've created a bridge to > > interface with EPICS (Experimental Physics and Industrial Control > > System). Basically a network interface that calls the > > corresponding linuxcnc functions. This simple bridge would > > require that I re-code callbacks for every function I need access > > too, so this doesn't scale well. > > > I am working on related issues - could you give some examples which > functions you intend to use? > > - Michael Brief background: EPICS is a basically a client-server framework for cross-platform distributed controls. The server-side provides variables that clients can read/write too. The variables can store data or act as triggers. Currently, I'm testing/learning linuxcnc with a 3-axis mill for proof of principle. But our goal is to build a hexapod that's fully integrated with our EPICS controls, that's where I come in. One of my colleagues posted a design sim here: https://www.youtube.com/watch?v=8nSfLRaEPEE&list=UU7zkQp-M-_i3c498p9MGWmA&index=1 In the end, the most used controls would likely be jog, jog speed, and homing. Most of the configuration would be considered experts only and setup ahead of time. Wesley -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
On Mon, Mar 18, 2013 at 2:45 PM, Wesley Moore wrote: > I've been playing with linuxcnc a bit and have it working on ubuntu 12.04. > Using the python modules, I've created a bridge to interface with EPICS > (Experimental Physics and Industrial Control System). Basically a network > interface that calls the corresponding linuxcnc functions. This simple > bridge would require that I re-code callbacks for every function I need > access too, so this doesn't scale well. > > My question is, should I look into using the c/c++ interface directly and is > there documentation for it? > Sounds like a job for an automatic interface generator, such as SWIG: http://linuxgazette.net/issue49/pramode.html SWIG has been around forever, so it is a pretty mature and reliable product. -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] c/c++ interface
Wesley, Am 18.03.2013 um 19:45 schrieb Wesley Moore: > Hey guys, > > I've been playing with linuxcnc a bit and have it working on ubuntu 12.04. > Using the python modules, I've created a bridge to interface with EPICS > (Experimental Physics and Industrial Control System). Basically a network > interface that calls the corresponding linuxcnc functions. This simple > bridge would require that I re-code callbacks for every function I need > access too, so this doesn't scale well. I am working on related issues - could you give some examples which functions you intend to use? - Michael > > My question is, should I look into using the c/c++ interface directly and is > there documentation for it? > > TIA, > > Wesley > > -- > 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_d2d_mar > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] c/c++ interface
Hey guys, I've been playing with linuxcnc a bit and have it working on ubuntu 12.04. Using the python modules, I've created a bridge to interface with EPICS (Experimental Physics and Industrial Control System). Basically a network interface that calls the corresponding linuxcnc functions. This simple bridge would require that I re-code callbacks for every function I need access too, so this doesn't scale well. My question is, should I look into using the c/c++ interface directly and is there documentation for it? TIA, Wesley -- 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_d2d_mar ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users