Jump to content
OMRON Forums

change move target during rotary move


Recommended Posts

dear all,

we are executing trajectory moves using the rotary buffer and gpascii -i which reads the .pmc file.

i would like at some point to change the target position (with new TM and TA), this without passing by a 0 velocity/acceleration phase (no stop/abort).


it would have been possible just by adding a new line in the rotary (linear TM## TA## X##..) , but it seems that using the gpascii -i lock the access to the rotary.


i tried a cpx command, it seems that a motion prog can not be launch when another is already running.


does someone have a solution?

thank you!

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Hello Brad!

We play TM=10 ms sampled trajectory, written in a .pmc file, using "gpascii -i".

At some point, i want to exit this trajectory mode and end the motion in a new commanded position, position not present in the .pmc file.

In the idea sending something like "cpx linear TM10000 TA1000 X0Y0Z0A0B0C0".

I would like the target position to be changed without passing by an 0 velocity/acceleration phase (no stop/abort).

Thank you!

Link to comment
Share on other sites

Like I wrote, there are too many application specific questions that need to be answered to give the best way of doing this. We could not go through all questions without typing a book. So someone will contact you and discuss this. Or if you are in a hurry you can contact me or Lucien by phone before we call you.
Link to comment
Share on other sites

You will have detailed issues that need direct tech support to solve, but here are some general principles:


You cannot break into an executing LINEAR move with another move (except to abort). If the next move is available in the buffer before the end of the front-end acceleration (blending) of this move, a blend without stopping to the next move will be calculated to replace the final deceleration of the executing move.


You CAN break into an executing RAPID move with another RAPID move. However, this new move cannot come from a motion program, as the sequencing rules for motion program execution do not permit calculation of another move until full execution of this RAPID move is finished. So a new move sent to the rotary buffer will not break into the executing move, and a "cpx" command, which is a separate one-line motion program, cannot be used until the executing motion program is finished.


The new RAPID move that breaks into the executing move must come from a PLC program, either one that is already loaded into the PMAC, or using the "cx" command for a one-line one-shot PLC program. So you could do something like:


cx Ldata.Coord=1 Motor[3].MaxSpeed=200 rapid X25.3

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...