Jump to content
OMRON Forums

gsmith

Members
  • Posts

    4
  • Joined

  • Last visited

Everything posted by gsmith

  1. Thanks for the help, but unless I misunderstand, I do not think the dwell will do what I want. Here is a scenario: At the end of the coordinated motion program, the dither axis has Motor[x].CompPos = 1,000,000 cts. In real world, this corresponds to an offset of let's say 30 degrees for the rotary axis being dithered. This means that the Motor[x].Pos and Motor[x].ActPos are different by 30 degrees. I would like to get these two values the same, but I am constrained to avoid physically moving the axis in the process. In the above scenario, if I only set Motor[x].CompPos = 0 at the end of the motion program then ActPos = Pos as desired, but this will be accomplished by physically moving the motor as was done for the dithering. To avoid any actual motion, I tried to tell the axis to jog by 1,000,000 counts while at the same time changing the CompPos from 1,000,000 to zero. In essence I was trying to tell the motor to move by 1,000,000 counts while at the same time telling it that the offset was wrong by 1,000,000 counts, or in other words, I told the motor that it reached the destination immediately. This seemed to have the desired effect of avoiding any physical motion while making Motor[x].Pos = Motor[x].ActPos. Unfortunately the combination of commands also led to the axis being disabled, which I am guessing is due to a following error. Do you know any other way I can make Motor[x].Pos = Motor[X].ActPos while avoiding any hardware motion?
  2. I have the dither working using Motor[x].CompPos as suggested, and it works great! My problem now is how to handle the position information when the motion stops. More specifically, there are times where the dither offset is non-zero when the coordinated motion and the dither axis complete the motion program. I would like to reset the CompPos offset to zero, but unfortunately there are some cases where allowing the necessary motion would not be safe. So, what is the best way to do a "zero motion" move? I tried a simultaneous setting of CompPos to zero along with a jog command to the offset position. The concept is the two would cancel each other without the motor actually moving. It seems to mostly work, but it has the side effect of disabling the motor at the same time. I am guessing it is because of a fatal following error. Do you have any suggestions?
  3. Thanks. I would not have thought of using a compensation table in such a way, but it should work perfectly in this case. The compensation is in time. I will try the RtPlc approach. It is really just a sine wave, so it should be easy.
  4. Is there any way to add uncoordinated motion to an axis in a coordinate system? I have several axes in a coordinate system following a pre-planned, coordinated path in pvt mode. For one of those axes, I would now like to add a back and forth dither motion on top of the existing coordinated motion. Ideally, the dither motion would be independent of the coordinated motion and continue at the same rate even if the coordinated motion slows down. However I can live with solutions that use the same time base as the coordinated motion. The "obvious" solution is to add dither motion into the coordinated path, but that is not practical in this case since the time steps for the pvt program are not equal and are too long compared to the dither frequency. Anyone have any thoughts? Can this be easily done?
×
×
  • Create New...