djoey

mam instruction Motion Servo Axis

13 posts in this topic

Hello everybody,
  I have the following situation:
  I use the MAM function to move a servo axis; It also moves and stops  correctly when the condition before turns flase. The result is actually good, except that sometimes a readjustment takes place (but only disturbs as I said sometimes). I have been sitting in front but didn't notice anything, only the Operator meant that this happens sometimes
  Now I would like to know how this can be stopped. Thank you
  What information do you Need toUnbenannt.thumb.JPG.f1752b328e2a1420cc4d help me further

Share this post


Link to post
Share on other sites

Hi djoey,

By "Readjustment" do you mean that the servo moves twice, or that it moves in a "not expected" way ?

 

The only guess i have so far, is that the MRP instruction is not completed before you execute the MAM instruction.

As Rockwell states in the manual 

"The instruction execution MAY take multiple scans to execute because it requires multiple coarse updates to complete the request. The Done (.DN) bit is not set immediately, but only after the request is completed."

That might explain why it only happens sometimes.

To fix this, you could try to add 2 XIC after the MRP instruction with the MRP motion instruction .EN and .DN bits before the MAM instruction is triggered.

I hope it will help you.

Good luck.

1 person likes this

Share this post


Link to post
Share on other sites

Hi Jobbe9000

thanks for your answer.

By "Readjustment" i mean the servo moves till the defined Position and then tries further to reach that Position again(just like it never achieved the move). The servo pulls a film down and that film is seal by two jaws. The Problem sometimes is that when the cross jaws hold the film to seal and cut it, this film moves up a little bit.

 "The only guess i have so far, is that the MRP instruction is not completed before you execute the MAM instruction"

Is it maybe a way to trend that or how can i check it?

Share this post


Link to post
Share on other sites
2 hours ago, djoey said:

By "Readjustment" i mean the servo moves till the defined Position and then tries further to reach that Position again(just like it never achieved the move). The servo pulls a film down and that film is seal by two jaws. The Problem sometimes is that when the cross jaws hold the film to seal and cut it, this film moves up a little bit.

Sounds alittle bit like your servo could be overshooting. What are the maximum deceleration set to in the planner ?

You have variables on the acceleration and deceleration. When are these changed ?

Only thing is that if it is overshooting, then it is strange that it only happens sometimes....

2 hours ago, djoey said:

Is it maybe a way to trend that or how can i check it?

Yes, you can set up a trend with the .EN and .DN bits from the MRP instruction, and the .IP bit from the MAM instruction.

If the .IP bit from the MAM instruction is set before both the .EN and .DN bits from the MRP, then the MRP instruction didnt finish before the MAM was started.

Share this post


Link to post
Share on other sites

Posted (edited)

Maybe i didnt explain myself very well.  After the MAM move is done and the Position is reached,  the cross jaws hold and seal the film; These jaws put a Kind of pressure on the film when they closing and this pressure pulls the film a Little down... so the servo tries again to keep the reached Position and to readjust.

I have done the trend  Unbenannt1.thumb.JPG.afe9fda04bf1999002aand it's look like on the

Is there a way to stop the positioning after the Position was reached? Maybe with a MAS  instruction?

Thanks

Unbenannt2.JPG

Edited by djoey

Share this post


Link to post
Share on other sites

Okay, i understand.

3 hours ago, djoey said:

Is there a way to stop the positioning after the Position was reached? Maybe with a MAS  instruction?

The motor will try to keep it position as long as it is enabled, no matter what.

There are ways to overcome a problem like this.

The simplest way is to simply disable the drive after the MAM is done using the MSF instruction, and then enable the drive again after the welding is done.

Instead of readjusting, the motor will then just coast. 

 

Share this post


Link to post
Share on other sites

Posted (edited)

Thank you, i will try that. You would use the MSO to enable the drive again, right ? Do i absolutly need to home(MAH) the servo after a MSF?

Edited by djoey

Share this post


Link to post
Share on other sites
4 hours ago, djoey said:

You would use the MSO to enable the drive again, right ?

Yes, excatly.

4 hours ago, djoey said:

Do i absolutly need to home(MAH) the servo after a MSF?

No, you do not need to home it after the MSO.

You can use another MRP instruction if you need the position to be a certain value once you enable the axis again.

Share this post


Link to post
Share on other sites

hi

i thank you a lot for your help and sorry for Always asking somthing else.

i have used a MSF to disable the drive and it seems to work.  How can i trend the disable/enable state of the drive (.servoActionStatus)?

when the machine ist not producing(stoped) my MSO brings me the .ERR 20. thats probably not normal?? there is another MSF/MSO for this Axis, is that Maybe the reason? The other used MSO do not brings any error.

Do you have any idea?

Thanks once again

1 person likes this

Share this post


Link to post
Share on other sites

 when i check the .ERR Code i get,  i see this, but the Axis do not have any fault; .ServoActionStatus is false

20

The axis is in the faulted state.

Axis In Faulted State

Share this post


Link to post
Share on other sites

You could trigger a MASR and a MAFR instruction before you trigger the MSO instruction.

Make sure that the axis.ShutdownStatus is false and that the axis.AxisFault = 0 before you trigger either of the MSO instructions.

 

You should be able to see what caused the axis to fault in the axis log if you want to figure our why the axis faults.

Share this post


Link to post
Share on other sites

I'm guessing that the film feeding axis is configured as linear and you're using the MRP to avoid ever reaching the maximum length of the axis with repeated moves. If I'm correct, I recommend configuring the axis as rotary, set the unwind to some arbitrary value, delete the MRP, and make the moves with the MAM relative instead of absolute.

You say the clamp and seal mechanism moves the film - is that by design? Or is that a mechanical problem? Generally not good practice to try to solve mechanical problems with software.

 

Share this post


Link to post
Share on other sites

Hey all,

i want to thank you guys for the help on this topic und share what i have done.

Since i already have a MSF/MSO instruction for this Film-axis, i have just add in the same Routine/rung new Enable/Disable condition. And i have used now in the whole Programm the MSF/MSF for this axis just once with several conditions.

With the "LIM" instruction it was able to MSF the axis at a certain range of the Jaws position(when the jaws are almost closed) and MSO the axis when the Jaws are about to open; the closing-state takes 4,5sec. It seems to work

A further question is maybe to know how can i be sure that the MSF was executed? I mean i have the .DN bit and no .ERR; is maybe a way to trend a MSO /MSF to watch that the axis is now OFF or ON?

Thanks once again

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now