Jump to content
OMRON Forums

Gantry Following


Recommended Posts

I'd like to use something like the gantry following (Motor[x].ServoCtrl=8) so that I can get 2 motors to use the same command signal. However, I want one motor's command to be a scaled version of the primary motor's command - in my case 70%.


I have a messy solution, but is there an easy way to achieve this? There doesn't seem to be a variable to scale the input to the secondary motor in a simple way.




Link to comment
Share on other sites

  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

This is very easy, once you know it is already built in.

Take a look at Motor[x].MasterCtrl; Motor[x].MasterPosSF; Motor[x].pMasterEnc.

No need for a messy solution, this is clean and straight forward.

Note that Motor[x].pMasterEnc does not have to actually point to an encoder, it can be pointed to a position command register so that you are following the command rather than motion +- following error.

PMATCH as described in .MasterCtrl

Link to comment
Share on other sites

Hi mbalentine, thanks for you comments. However, using the handwheel (master) input is not really what I want to do. I want to use the commanded position to another motor, not its actual position - which is subject to the accuracy and delays of the PID control. Also, I don't want the additional delay caused by processing a signal via the encoder conversion table.


I am still hoping that there's a simple answer to my initial question!

Link to comment
Share on other sites



Not referring to Handwheel following, and it should be possible to follow the command, not the feedback. However, it does look like a one servo lag is introduced.


I may have been in error in my previous post though. The manual states that Motor[x].pMasterEncoder must be set to an ECT element. This would by necessity introduce a one servo lag since the ECT will process before a new Motor[x].DesPos is calculated in the servo.(?)


Three questions for DT:

1) Is it correct that .DesPos is calculated within the motors' servo closure (after the ECT completes) ?

2) Is it correct that .pMasterEncoder must point to an ECT element?

3) If not constrained by first two questions, is there a way to follow without a lag being introduced ? -

4) Even if writing directly to the followers .MasterPos register from a synchronous PLC, me thinks this also is one servo behind.

Link to comment
Share on other sites

I don’t see any help from lookahead as this is at “trajectory” priority, which is below servo.


As far as the original post, I don’t think there is just a “simple” solution.


User servo could calculate the 70% reduced value. This is after ECT.


If you increase the servo rate master position with the ECT will have less lag.


Also I believe you are correct in #4 above, that an RT PLC will introduce lag.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...