[Emc-users] independent motion of axes
Hello everybody, Is there a way to move axes independently using G code? For instance i want to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. This probably won't work: N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 Regards Klemen -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
The one line program you show will not work. That motion can be achieved but the program would probably be a very long program. A CAM system can output the code to move the axes in the manner you wish depending on each slide configuration and the actual requirements you have. With the limited amount of information available it is impossible to determine the possibility for your situation. On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel wrote: > Hello everybody, > > Is there a way to move axes independently using G code? For instance i want > to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. > > This probably won't work: > N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 > > Regards > Klemen > > > > > > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > > -- dos centavos -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
How about programming the move using inverse time mode (G93) ? Regards, Alex - Original Message - From: "Stuart Stevenson" To: "Enhanced Machine Controller (EMC)" Sent: Friday, April 02, 2010 3:29 PM Subject: Re: [Emc-users] independent motion of axes > The one line program you show will not work. That motion can be achieved > but the program would probably be a very long program. A CAM system can > output the code to move the axes in the manner you wish depending on each > slide configuration and the actual requirements you have. With the limited > amount of information available it is impossible to determine the > possibility for your situation. > > On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel > wrote: > >> Hello everybody, >> >> Is there a way to move axes independently using G code? For instance i >> want >> to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. >> >> This probably won't work: >> N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 >> >> Regards >> Klemen >> -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel wrote: > Hello everybody, > > Is there a way to move axes independently using G code? For instance i want > to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. > > This probably won't work: > N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 > > Regards > Klemen > ... Just trying to get my head around why do you want to do totally independent movement of axes? If it is an intellectual exercise, that I can go with. I just don't see the practical need. thanks for helping me understand, ... Jack -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
That would probably be the result but we don't know the machine slide configuration ie. is the U axis a second X axis and parallel with the X axis or is the U axis a linear or rotary axis of some unknown orientation. If the known axis departure commands and feed rates cause each axis motion to stop at exactly the same time then yes inverse time will be the answer.and one line just may work. On Fri, Apr 2, 2010 at 6:47 AM, Alex Joni wrote: > How about programming the move using inverse time mode (G93) ? > > Regards, > Alex > > - Original Message - > From: "Stuart Stevenson" > To: "Enhanced Machine Controller (EMC)" > Sent: Friday, April 02, 2010 3:29 PM > Subject: Re: [Emc-users] independent motion of axes > > > > The one line program you show will not work. That motion can be achieved > > but the program would probably be a very long program. A CAM system can > > output the code to move the axes in the manner you wish depending on each > > slide configuration and the actual requirements you have. With the > limited > > amount of information available it is impossible to determine the > > possibility for your situation. > > > > On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel > > wrote: > > > >> Hello everybody, > >> > >> Is there a way to move axes independently using G code? For instance i > >> want > >> to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. > >> > >> This probably won't work: > >> N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 > >> > >> Regards > >> Klemen > >> > > > > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > > -- dos centavos -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
I am not an expert. But it is of interest that such automation scenarios that are common and easily performed with plc and motor drives. Is one step removed from the actions of machine tools. Simultaneous independent moves are simply a mater of coordinated timing, and rate programming. Simple to say that is, My experience lacks. - Original Message - From: "Stuart Stevenson" To: "Enhanced Machine Controller (EMC)" Sent: Friday, April 02, 2010 8:57 Subject: Re: [Emc-users] independent motion of axes > That would probably be the result but we don't know the machine slide > configuration ie. is the U axis a second X axis and parallel with the X > axis > or is the U axis a linear or rotary axis of some unknown orientation. > If the known axis departure commands and feed rates cause each axis motion > to stop at exactly the same time then yes inverse time will be the > answer.and one line just may work. > > On Fri, Apr 2, 2010 at 6:47 AM, Alex Joni wrote: > >> How about programming the move using inverse time mode (G93) ? >> >> Regards, >> Alex >> >> - Original Message - >> From: "Stuart Stevenson" >> To: "Enhanced Machine Controller (EMC)" >> Sent: Friday, April 02, 2010 3:29 PM >> Subject: Re: [Emc-users] independent motion of axes >> >> >> > The one line program you show will not work. That motion can be >> > achieved >> > but the program would probably be a very long program. A CAM system can >> > output the code to move the axes in the manner you wish depending on >> > each >> > slide configuration and the actual requirements you have. With the >> limited >> > amount of information available it is impossible to determine the >> > possibility for your situation. >> > >> > On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel >> > wrote: >> > >> >> Hello everybody, >> >> >> >> Is there a way to move axes independently using G code? For instance i >> >> want >> >> to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. >> >> >> >> This probably won't work: >> >> N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 >> >> >> >> Regards >> >> Klemen >> >> >> >> >> >> -- >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> ___ >> Emc-users mailing list >> Emc-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/emc-users >> >> > > > -- > dos centavos > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
It would be of interest to know the control scheme for pick and place machinery. - Original Message - From: "Alex Joni" To: "Enhanced Machine Controller (EMC)" Sent: Friday, April 02, 2010 8:47 Subject: Re: [Emc-users] independent motion of axes > How about programming the move using inverse time mode (G93) ? > > Regards, > Alex > > - Original Message - > From: "Stuart Stevenson" > To: "Enhanced Machine Controller (EMC)" > Sent: Friday, April 02, 2010 3:29 PM > Subject: Re: [Emc-users] independent motion of axes > > >> The one line program you show will not work. That motion can be achieved >> but the program would probably be a very long program. A CAM system can >> output the code to move the axes in the manner you wish depending on each >> slide configuration and the actual requirements you have. With the >> limited >> amount of information available it is impossible to determine the >> possibility for your situation. >> >> On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel >> wrote: >> >>> Hello everybody, >>> >>> Is there a way to move axes independently using G code? For instance i >>> want >>> to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. >>> >>> This probably won't work: >>> N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 >>> >>> Regards >>> Klemen >>> > > > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
In one scenario, this is no different than the operation of a CNC machine with an automated tool changer. A random-magazine tool changer will operate simultaneously, but independently of the CNC controller. And these tool changers have several degrees of freedom. But, they are operated by an independent controller (usually yes, but always I am not sure) that coordinates with the CNC controller by status bits. Just my two cents... Best regards, -- -- Glenn -Original Message- From: Cal Grandy [mailto:cmg...@comcast.net] Sent: Friday, April 02, 2010 7:01 AM To: Enhanced Machine Controller (EMC) Subject: Re: [Emc-users] independent motion of axes I am not an expert. But it is of interest that such automation scenarios that are common and easily performed with plc and motor drives. Is one step removed from the actions of machine tools. Simultaneous independent moves are simply a mater of coordinated timing, and rate programming. Simple to say that is, My experience lacks. - Original Message - From: "Stuart Stevenson" To: "Enhanced Machine Controller (EMC)" Sent: Friday, April 02, 2010 8:57 Subject: Re: [Emc-users] independent motion of axes > That would probably be the result but we don't know the machine slide > configuration ie. is the U axis a second X axis and parallel with the X > axis > or is the U axis a linear or rotary axis of some unknown orientation. > If the known axis departure commands and feed rates cause each axis motion > to stop at exactly the same time then yes inverse time will be the > answer.and one line just may work. > > On Fri, Apr 2, 2010 at 6:47 AM, Alex Joni wrote: > >> How about programming the move using inverse time mode (G93) ? >> >> Regards, >> Alex >> >> - Original Message - >> From: "Stuart Stevenson" >> To: "Enhanced Machine Controller (EMC)" >> Sent: Friday, April 02, 2010 3:29 PM >> Subject: Re: [Emc-users] independent motion of axes >> >> >> > The one line program you show will not work. That motion can be >> > achieved >> > but the program would probably be a very long program. A CAM system can >> > output the code to move the axes in the manner you wish depending on >> > each >> > slide configuration and the actual requirements you have. With the >> limited >> > amount of information available it is impossible to determine the >> > possibility for your situation. >> > >> > On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel >> > wrote: >> > >> >> Hello everybody, >> >> >> >> Is there a way to move axes independently using G code? For instance i >> >> want >> >> to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. >> >> >> >> This probably won't work: >> >> N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 >> >> >> >> Regards >> >> Klemen >> >> >> >> >> >> -- >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> ___ >> Emc-users mailing list >> Emc-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/emc-users >> >> > > > -- > dos centavos > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
> ... Just trying to get my head around why do you want to do totally > independent movement of axes? > > If it is an intellectual exercise, that I can go with. I just don't > see the practical need. > > thanks for helping me understand, ... Jack > > here is one setup, a lathe with two Z axes (Z & W say) both might have a X also on top (X & U) see my superslant retrofit. this has two Z axes 1 X axis (they also made them in 4 axes + power tooling +C axes with both axes sets controled independent not bad for 1985) now you might wan to use the two Z axes together or maybe u want to get fancy, drill a hole in the bar, and turn the outside profile or maybe even work on two chucks in the same lathe so Z & X work on the front spindle W & U work on the rear spindle, (but then i would say u realy want to use two EMC controls here talking to each other etc) theres a few more i can think off also. sliding head lathe could also be a different setup -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
I went through this exercise not too long ago. Short answer is that there is no way to do it in gcode that I could find. However I did find some tricks to get around the problem, none of them really satisfactory though. This is to control an axis independently without adding more computers. The best solution I came up with that works for me, although fairly complicated, is this: Added a new non standard GCode G00.1 which acts like an instantaneous G00. My code for this hack is horrible since I just wanted it to work. Add a multiplexer to the hal file so that normally stepgen.motor.pos-fb is connected to the axis.motor-pos-fb, but when switched on by a digital output from gcode, the axis.motor-pos-cmd is connected directly to the axis.motor-pos-fb. You need this so that following errors don't occur when an instantaneous move occurs. Add a comparator to the hal file so that when stepgen.motor-pos-fb is the same as stepgen.motor-pos-cmd a digital input goes high. So to do an independent move, first set the digital output which controls the multiplexer to true, this short circuits the feedback for the axis so no following errors will occur. Then issue your G00.1 command, and the axis will begin moving. It will also finish the G00.1 immediately even though the axis is still moving since the stepgen has it's motor-pos-cmd set and will keep moving towards that goal. You can now issue other GCode commands. When you want to return control of the axis back to coordinated motion, wait until the digital input connected to the comparator goes high which means the axis is back in position and set the digital output back so that the stepgen-motor-pos-fb is connected properly back to the axis-motor-pos-fb. Lawrence On Thu, Apr 1, 2010 at 11:50 PM, Klemen Dovrtel wrote: > Hello everybody, > > Is there a way to move axes independently using G code? For instance i want > to move G0 X200 Y300 and at the same time G1 U30 F100 and G1 V20 F50. > > This probably won't work: > N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 > > Regards > Klemen > > > > > > -- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
EMC2, like most other CNC programs are primarily designed to move a single point in XYZ space. EMC2 is unique in that you can change the "joints" so the axes do not have to be at right angles to each other, as in a robot. (I haven't gone there yet.. ) but still the end result is that a single point in space is controlled - in the case of a robot, usually the end of the gripper. In "generic industrial motion controls", oftentimes the axes on a machine are not linked into a cartesian space That is why you can buy industrial controllers with 8+ axis. Usually in an industrial motion controller such as the Galil, Parker, Delta Tau, and Delta computer boxes, you can connect certain axes to a program thread or task (say two or three in a task) and then gear them or do coordinated motion between two or three axes, so one task could do cartesian motion control with 3 axis for a pick and place, another task might have two axes assigned to it and that task runs the feeder system that puts the parts in front of the pick and place etc. EMC2, out of the box is primarily designed to run CNC machine tools, so it starts out assuming that you are going to run 3 axis in a cartesian space and position a milling cutter or position a lathe (usually in two axes). Hal allows you to do all kinds of things with the back end of EMC2. For instance you can start out with X,Y,Z axis in cartesian space and then decide to gear another axis to the X axis at a determined ratio. But in the end the G code interpreter is limited to running a single task to position a single point usually in cartesian space. It would be really nice if EMC2 could run multiple instances of the G code interpreter so you could assign different axes to different G code interpreter tasks. I would not be surprised if this has not been done already by someone as it is a common need with industrial controls... (if this has been done, I'd be very interested in hearing about it.. :-) ) However there are ways to get around this right now.Using the G code interpreter is not required. You can interface with Hal via Python and run "multiple tasks" via your Python program. I also believe that you can run a Python program along side the Gcode interpreter and use the Python program as one task controlling certain axes and use the Gcode interpreter to control the rest. I'm relatively new to EMC2 but I believe that when EMC was conceived by the NIST way back when that it was originally designed as a general purpose motion controller not necessarily tied to only CNC machines that tend to work with a single point of motion. It would be interesting to go back in time and see how they planned on implementing a true general purpose motion controller back then. The other way to look at doing multiple tasks with EMC2 is to use more than one computer and dividing the tasks between them. Since computers are dirt cheap now, and they are getting crazy small (I have two mini-ITX based computers stacked up next to me at the moment taking up less than 8x8x6 inches of space) the use of additional hardware to get around a software limitation is a viable idea. If have anything wrong here, someone please correct me. As usual, I'm still learning also! :-) Dave On 4/2/2010 9:13 AM, Cal Grandy wrote: > It would be of interest to know the control scheme for pick and place > machinery. > > > - Original Message - > From: "Alex Joni" > To: "Enhanced Machine Controller (EMC)" > Sent: Friday, April 02, 2010 8:47 > Subject: Re: [Emc-users] independent motion of axes > > > >> How about programming the move using inverse time mode (G93) ? >> >> Regards, >> Alex >> >> - Original Message ----- >> From: "Stuart Stevenson" >> To: "Enhanced Machine Controller (EMC)" >> Sent: Friday, April 02, 2010 3:29 PM >> Subject: Re: [Emc-users] independent motion of axes >> >> >> >>> The one line program you show will not work. That motion can be achieved >>> but the program would probably be a very long program. A CAM system can >>> output the code to move the axes in the manner you wish depending on each >>> slide configuration and the actual requirements you have. With the >>> limited >>> amount of information available it is impossible to determine the >>> possibility for your situation. >>> >>> On Fri, Apr 2, 2010 at 12:50 AM, Klemen Dovrtel >>> wrote: >>> >>> >>>> Hello everybody, >>>> >>>> Is there a way to move axes independently using G code? For instance i >>>> want >>>> to move G0 X200 Y300 and at the same time G1 U30 F100 and G
Re: [Emc-users] independent motion of axes
Cal Grandy wrote: > It would be of interest to know the control scheme for pick and place > machinery. > They use fairly custom code for these machines, they have a lot of relatively independent motions and activities going on. In general, a P&P machine may not have any coordinated axes, it just needs to go from one POSITION to another POSITION, with little care about how it handles the movement in between. This is quite different from milling machines and routers, which do work while ON the move. My older P&P, a Philips CSM84 (made by Yamaha and also sold as their YM84) has X Y and rotation axes. Some models also have programmed Z, but mine doesn't. Everything else on the machine is pneumatic, the board fixturing, the head up-down, the mechanical aligner for the larger chips, the chip pick-up suction, the door locks, the feeders for the larger parts, and on and on. The XY motion seems to be coordinated by linear interpolation, and probably the rotation axis is coordinated with XY, too. But, it is mostly a positioning system, where it moves to a location, waits for the servo to settle, then strokes the head down and up, and moves on. Alignment of smaller components is done by chuck fingers that close when the head moves up, centering the parts. Jon -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
--- On Fri, 4/2/10, j...@coats.org wrote: > From: j...@coats.org > Subject: Re: [Emc-users] independent motion of axes > To: "Enhanced Machine Controller (EMC)" > Date: Friday, April 2, 2010, 2:56 PM > On Fri, Apr 2, 2010 at 12:50 AM, > Klemen Dovrtel > > wrote: > > Hello everybody, > > > > Is there a way to move axes independently using G > code? For instance i want to move G0 X200 Y300 and at the > same time G1 U30 F100 and G1 V20 F50. > > > > This probably won't work: > > N100 G0 X200 Y300 G1 U30 F100 G1 V20 F50 > > > > Regards > > Klemen > > > > ... Just trying to get my head around why do you want to do > totally > independent movement of axes? > > If it is an intellectual exercise, that I can go > with. I just don't > see the practical need. > > thanks for helping me understand, ... Jack > > My idea is to control a pick and place machine... I would like to change the tool while moving the machine (the tool changer would be mounted on head of machine) I would also like to install a fly camera like this ( http://www.youtube.com/user/madelltv#p/u/1/OU-EJStWjkM ), which would check the position of picked IC while moving. Using two computers each running emc seems a good solution. How can i connect two computers together? Can emc somehow send command to other machine? AND i would also like to somehow edit the G code in the middle of program execution based on camera view. I would use openCV to generate G code to edit/correct the end position or maybe communicate with HAL directly if possible. Regards, Klemen -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] independent motion of axes
Klemen Dovrtel wrote: > >> ... Just trying to get my head around why do you want to do >> totally >> independent movement of axes? >> >> If it is an intellectual exercise, that I can go >> with. I just don't >> see the practical need. >> >> thanks for helping me understand, ... Jack >> > My idea is to control a pick and place machine... > I would like to change the tool while moving the machine (the tool changer > would be mounted on head of machine) I would also like to install a fly > camera like this ( http://www.youtube.com/user/madelltv#p/u/1/OU-EJStWjkM ), > which would check the position of picked IC while moving. > > Using two computers each running emc seems a good solution. How can i connect > two computers together? Can emc somehow send command to other machine? > You can physically connect two machines via external wires, similar to how you might connect a tool changer PLC. I think you could also run one instance of EMC2 on the "display" machine, and run a remote GUI connected to the other one via the network. > AND i would also like to somehow edit the G code in the middle of program > execution based on camera view. I would use openCV to generate G code to > edit/correct the end position or maybe communicate with HAL directly if > possible. > What you want to do isn't a good fit for EMC2, but you could certainly build something on HAL and its hardware drivers. The package you get when you install EMC2 is really three parts: HAL, EMC2, and several GUIs. In this context, EMC2 is a special set of HAL modules and userspace programs that are intended for CNC-type machine control. The (userspace) interpreter is meant to transform G-code into motion instructions for the motion controller. The motion controller is meant to control exactly one tool position in 3-space (or 6-space really, if you consider orientation). The important things about controlling that position are coordinating motion of multiple machine joints simultaneously, and making sure that the point follows a specific path or contour. EMC2 is very flexible about how it controls that one point (the tooltip), in that you can use machines that don't have cartesian axes, while still programming your G-code in cartesian XYZ coordinates. Fundamentally though, the parts of EMC2 that deal with multi-axis motion and G-code are intended to make only one thing happen - move the tooltip along a particular path at a particular speed. You have a different motion problem - you don't care what path the head takes to get to a place point, you only want to be sure that it's really there before sticking the part on the board. There are various things that have to happen to pick up and drop a part (vacuum on/off, sensing vacuum to know if you have the part or not, cameras to see if it's rotated or off center, etc). G-Code has no provision for automatically doing all these things for you. Ladder logic can certainly all that for you though. If you want to use a camera, you'll probably have a userspace application doing the image analysis, and you'll want the program to pause while the offsets are being determined. You may want motion to continue as a speed optimization, but then you still want to delay the placement of the part until after the image analysis and any necessary offset motion are done. What you may want to do is think about writing a separate motion controller and interpreter for pick and place, one that uses HAL for the realtime motion control, I/O, and ladder logic. There's a pretty standard file format that PCB CAD programs will spit out (a centroid file, not to be confused with the CNC control company of the same name). This contains the part name, XY location and orientation of each part to be placed. Since the machine has to do the same thing every time it picks something up and puts it down, there should be no need to include all those commands in the file - just a list of locations and orientations would suffice. There's more setup than that for sure, like entering the reel locations and part spacing for each reel, but it's a start. - Steve -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users