Jump to content
OMRON Forums

Machine run empty


dzrong

Recommended Posts

Hello Everyone,

 

There is a function in the machine,called 'run empty', I can use encode table to achieve it in Turbo,usually set command position of one axis in encode table,and set Ix05 of the axis equal to encode table ,and then open Ix06.

 

Who know how to set that in PowerPmac? I mean how to set command position of one axis into encode table.

 

Thanks

 

Link to comment
Share on other sites

  • Replies 9
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Hello Everyone,

 

They is a function in the machine,called 'run empty', I can use encode table to achieve it in Turbo,usually set command position of one axis in encode table,and set Ix05 of the axis equal to encode table ,and then open Ix06.

 

Who know how to set that in PowerPmac? I mean how to set command position of one axis into encode table.

 

Thanks

 

 

We usually call this a phantom or virtual motor because for PMAC it is a motor but there is no real motor. This link gives you some setup in PowerPmac.

 

Note that over time we have discoved it is much better to use the DAC out to make this than using the CMD position.

 

http://forums.deltatau.com/showthread.php?tid=193&highlight=phantom

 

Link to comment
Share on other sites

  • 4 weeks later...

Hello Everyone,

 

They is a function in the machine,called 'run empty', I can use encode table to achieve it in Turbo,usually set command position of one axis in encode table,and set Ix05 of the axis equal to encode table ,and then open Ix06.

 

Who know how to set that in PowerPmac? I mean how to set command position of one axis into encode table.

 

Thanks

 

 

We usually call this a phantom or virtual motor because for PMAC it is a motor but there is no real motor. This link gives you some setup in PowerPmac.

 

Note that over time we have discoved it is much better to use the DAC out to make this than using the CMD position.

 

http://forums.deltatau.com/showthread.php?tid=193&highlight=phantom

 

 

This function may be called 'simulation mode' or 'machine lock',I'm not sure.I can used phantom to achieve.

But I don't want to the axis working at open loop mode.If I want to the axis working at close loop mode when the machine working at 'simulation mode' or 'machine lock', what should I do?

 

Thanks

Link to comment
Share on other sites

The phantom motor works in either closed or open loop mode. In english we say phantom, it is the same as a simulated motor. You make this setup and PPmac works just like it has a real motor connected.

 

I'm sorry for not speaking clear.

I mean the real motor works at close mode.I want the DesignPosition become zero when program is running or jog command has be sent,but the sevro loop still closeloop.So the hardware enable signel must still there.

 

Thanks

Link to comment
Share on other sites

Sorry, I do not understand this. Can you give a more detailed explanation

 

Please see the picture,it's from Turbo.

In PPmac,the Moter[x].DesPos seems be Net Positon(A+B in the picture) in Turbo.In the picture, A is called Command Position in Turbo.How can I get Command Position in PPmac? I mean,Is't a Data Structure there for Command Position?

If I can find it,I can make 'B= -A' as the picture show in Turbo.I want to this way to achieve 'machine lock' in PPmac.

 

Thanks

turbo.JPG.14126f215dc26ad6f6dfce54eef4b8f5.JPG

Link to comment
Share on other sites

drzong:

 

The particular trick you used in Turbo PMAC -- feeding the desired position through the conversion table into the master position with a "gain" of -1 to cancel out the net position command into the servo loop, is not available in Power PMAC, because the trajectory desired position is a floating-point and the conversion table requires fixed-point inputs.

 

I think the equivalent trick in the Power PMAC is to use the trajectory pre-filter to cancel out any changes to the net position command. This filter works on changes to the computed trajectory. Most people use it as a band-reject filter or low-pass filter to take certain frequencies out of the desired trajectory, but it can be set up to take out the whole trajectory in effect.

 

If Motor[x].Pn0 is set to 1.0, and Motor[x].Pd1 is set to -1.0, with all other filter coefficients set to 0.0, the filter (when active) integrates the position changes from the computed trajectory, then subtracts these from the computed trajectory. The net result is no change in net position command to the servo, but the servo is active at the position where this mode was enabled. The filter is enabled by setting Motor[x].PreFilterEna to 1.

 

When you want to command real motion, you can either set Motor[x].PreFilterEna to 0 to disable the filter, or set the coefficients Pn0 and Pd1 back to their default values of 0.0 to make the active filter do nothing. I'm not sure which is better.

 

The computed trajectory position can be found in Motor[x].Desired.Pos whether or not the filter is active. It is copied into Motor[x].Ppos if the filter is active. The output of the filter -- the net command to the servo -- can be found in Motor[x].DesPos.

 

Try this first with bare motors, because mistakes in the filter can cause violent motion. Make sure you can switch between modes safely and reliably.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...