Jump to content
OMRON Forums

"On the fly" position adjustments during motion program execution


jackvoxel8.com
 Share

Recommended Posts

I am using a Power PMAC controller to drive my CNC machine, which has standard cartesian X, Y, Z axes.

 

Is there any way to adjust the position of the Z axes on the fly while a motion program is running? (in a similar manner to how you can adjust the feedrate on the fly with a feedrate override) Ideally these adjustments would happen ASAP but also follow any accel limits I have set for the axes.

 

I currently have some software that allows my machine operator to enter an offset and that offset is pushed to the controller and stored in a register.

 

For example, lets say I have this simple motion program:

 

G1 Z1

G1 X0 Y0

G1 X10

G1 Y10

G1 X0

G1 Y0

 

The above program should trace a square at Z=1. Now lets say that in the middle of the program executing an operator puts 0.5 into the register. I would like the Z axes to move to Z=1.5 (ASAP while still respecting accel limits) and then finish the rest of the square at Z=1.5. Any subsequent moves will retain this offset (i.e., a move to Z=5 will end up at Z=5.5) until the register is reset back to 0.

 

Is this behavior achievable? If so I'd love some pointers on accomplishing this.

Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

I am using a Power PMAC controller to drive my CNC machine, which has standard cartesian X, Y, Z axes.

 

Is there any way to adjust the position of the Z axes on the fly while a motion program is running? (in a similar manner to how you can adjust the feedrate on the fly with a feedrate override) Ideally these adjustments would happen ASAP but also follow any accel limits I have set for the axes.

 

I currently have some software that allows my machine operator to enter an offset and that offset is pushed to the controller and stored in a register.

 

For example, lets say I have this simple motion program:

 

G1 Z1

G1 X0 Y0

G1 X10

G1 Y10

G1 X0

G1 Y0

 

The above program should trace a square at Z=1. Now lets say that in the middle of the program executing an operator puts 0.5 into the register. I would like the Z axes to move to Z=1.5 (ASAP while still respecting accel limits) and then finish the rest of the square at Z=1.5. Any subsequent moves will retain this offset (i.e., a move to Z=5 will end up at Z=5.5) until the register is reset back to 0.

 

Is this behavior achievable? If so I'd love some pointers on accomplishing this.

CamTables are nice for this type of things since they can control the rate at which correction gets applied to the target axis. In this case a zero degree cam table would work.

Link to comment
Share on other sites

CamTables are nice for this type of things since they can control the rate at which correction gets applied to the target axis. In this case a zero degree cam table would work.

 

Hi Jeff, thank for the response. I was experimenting yesterday and figured out that CamTables do work as I hoped. What do you mean by "zero degree" though? I've pasted my working code below (on the fly updates are achieved by adjusting PosBias), is there anything I can do to simplify it or do I need to define all those options?

 

CamTable Definition:

 

CamTable[0].Source = 0

CamTable[0].Nx = 1

CamTable[0].X0 = 0

CamTable[0].SlewX0 = 10

CamTable[0].Dx = 1

CamTable[0].Target = 3

CamTable[0].PosSf = 1

CamTable[0].PosBias = 0

CamTable[0].SlewPosOffset = 0.1

CamTable[0].DacEnable = 0

CamTable[0].PosData[0] = 0

CamTable[0].PosData[1] = 0

 

Sys.CamEnable = 1

Link to comment
Share on other sites

Look up Motor[x].pMasterEnc in the software reference.

 

I think it will do what you want.

 

Hi Dave, thanks for the response. I will experiment with pMasterEnc and see how it works. It seems simpler than my CamTable solution posted above.

 

Do you know if it has a "slew" option similar to the CamTable so the motion isn't sudden? I couldnt seem to find a reference to anything like that in the docs.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...