John, Jeff,

If synchronized I/O can be implemented, that would sure seem to be the way
to go, recognizing where Jeff indicates it likely still doesn't or won't
work, at least in the current form. 

Alternatively, could I not do something like?:
G1 X1             Move to X=1 with the laser off
G1 X1.00001 Z30   Raise to 30% power over very short distance
G1 X2             Move X at 30% power
G1 X2.00001 Z60   Raise to 60% power over very short distance
G1 X3             Move X at 60% power

Basically if the distance is less than can be traversed in 4-5ms, then that
is less than the response time of the laser anyway.

I have to check with my CAM guy, but I believe the post-processor for the
laser CAM package could do this.

I will be sure to check in on IRC on Sunday, or let me know if it will be at
another time.

Regards,
Eric

> The problem with using another axis is that the change in 
> laser intensity will be spread over the entire move.  For 
> example, assume you are using Z for the laser intensity:
> 
> G0 X0 Y0 Z0    initial position, laser power zero
> G1 X1 Y0 Z1    moves to (1,0), while ramping laser from 0 to 1
> G1 X2 Y0 Z2    moves to (2,0), while ramping laser from 1 to 2
> 
> If you want the laser power to be constant during the moves, 
> you would need to do:
> 
> G0 X0 Y0 Z0    initial position, laser power zero
> G0 Z1          raise laser power to 1 as quickly as possible
> G1 X1 Y0       move to (1,0), laser power remains at 1
> G0 Z2          raise laser power to 2 as quickly as possible
> G1 X2 Y0       move to (2,0), laser power remains at 2
> 
> If you are willing to write that kind of g-code, this 
> approach is quite feasable.  However, you still won't get 
> step changes in the laser power level - the rate of change 
> will be controlled by the Z axis velocity limits.  In 
> essence, you are turning your two-dimensional part program 
> into a three dimensional one, with the third dimension being 
> laser power.  In addition, the program above will _still_ 
> stop the X axis while the Z axis (laser power) changes.  (The 
> first program does _not_ stop X, but the Z axis change is 
> spread out over the entire X move, instead of happening 
> quickly when the X value passes 1.0.
> 
> It sounds like what you really want is motion synchronized I/O.
> That means analog and/or digital outputs that are controlled 
> by G (or M) codes, and change in sync with the motion.  Such 
> I/O has been planned for years, and was partly implemented in
> EMC1 (other parts of it were commented out years ago and 
> never worked).
> 
> At the moment I can't even find out what G or M-codes were 
> intended to be used for synchronized I/O.  (I'm away from my 
> Linux box and don't have the ability to quickly search thru 
> the source code.)
> 
> This should probably be moved to the emc-developers list. It 
> may be possible to implement synchronized I/O in time for the 
> version 2.1 release.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to