AB MAM Instruction Help!

junkyard

Member
Join Date
Feb 2024
Location
Alabama
Posts
3
Hi guys, beginner here.

I need to be able to stop an incremental MAM instruction in Studio 5000 and then start it back.
But the catch is I need it to only go the remaining distance left to go, not restart the entire length of the move.

Ive tried to just use a MAS to stop, but on restart of the MAM, it executes the entire distance, not the remaining distance.

TIA
 
I don't think you understand what incremental means. It means the servo will go exactly that far from its position when you trigger the MAM. It sounds like you want an absolute MAM.

When you trigger an incremental MAM, the servo begins the move to go that distance. When you stop, that instance of the MAM is effectively killed and destroyed (it has no memory of what it was doing). When you trigger the MAM again, it is an all new instance. So if you only want to go a little further, you need to change the incremental distance of the MAM.

If it were absolute distance, you could stop it and restart it and it will go to that absolute position.
 
^ Correct. You can't pause an incremental move. If you need to do this, then monitor the position during the first move, and subtract that off the amount of the second incremental move. Or just use two MAM Absolute moves with the same target.
 
Well I thought I needed an incremental move type MAM because i do not want to go to an absolute position, the end position will change with each cycle. I just want to go a certain distance from the current position.
But will moving to that certain distance from the current position, I need to be able to interrupt the Move with a Stop PB, and restart from the position, only going the remaining distance.

I thought about using a MAJ for this even through it in the auto seq, and just monitoring the actual position and if it gets Stopped, I do the math to how much further it needs to jog after the stop. But that fells clunky and maybe not the right way.


Or...maybe I could force a zero to the actual position of the axis after each cycle, then I could use absolute. But I'm not sure if thats possible.
 
^ Correct. You can't pause an incremental move. If you need to do this, then monitor the position during the first move, and subtract that off the amount of the second incremental move. Or just use two MAM Absolute moves with the same target.

THANKS for the help!!! ill try using 2 incremental the way you are saying.
 
At the beginning of the original incremental move, do you know the axis' actual absolute position? If so, I would just add your movement increment to the current position and make that the target of the absolute move.
 
At the beginning of the original incremental move, do you know the axis' actual absolute position? If so, I would just add your movement increment to the current position and make that the target of the absolute move.

Yes....sort of. If you axis is a linear one (that moves back and forth like a linear rail), then absolutely it is that simple.

However, if you axis is a rotary axis where it will rollover to zero as it moves, then the math and the instruction setup become more complicated. Example: If your axis is set to rollover at 360 degrees and at 350 degrees you want to move 20 degrees, you need to make an absolute move to 10 degrees. Then make sure the move is only in the forward direction.
 
I guess the vast majority of motion control systems I've dealt with were linear motion with either a linear motor (one time) or some sort of gear/ball screw arrangement. Only one time was it a rotary position that rolled over every rotation, and I didn't set that one up myself. It's a good point to keep in mind.
 
Well I thought I needed an incremental move type MAM because i do not want to go to an absolute position, the end position will change with each cycle. I just want to go a certain distance from the current position.

If you really don't want to use absolute, then Robertmee's suggestion of subtracting the traveled distance is a great idea.

However, you can still have the end position be different every cycle and still use an absolute position. All you need to do have the position tag be an reference, then update it with the position you want each cycle before triggering the MAM. I've done this when there are a set number positions (i.e. 10 different positions each cycle then start over) and when using calculated pick/place positions for hundreds of different positions (i.e. first position is known, and you add a certain amount to each consecutive position).
 

Similar Topics

Hi I am having trouble with a Motion action Move CMD. The drive is not exactly tuned so that is part of the issue but I have a question about the...
Replies
12
Views
6,930
Hi All, I currently have an intermittent issue on a CompactLogix 1769-L30ERM with firmware 28.11. When I get to the machine, all conditions for...
Replies
5
Views
3,265
Hi I am new to the motion control. We have two kinetix 7000 which are controlled by controllogix 5000. Both servo drives mostly work fine...
Replies
11
Views
5,250
We have a servo motor for a tubing coiling (rotating) arm. I'm using RSLGX5000 (V19.01.00), CTLGX 5000 (1756-L61), and Kinetix 6500. The coiling...
Replies
13
Views
9,911
Howdy guys - Looking for some insight on the MAM instruction. Had an interesting one today: I performed a controller upgrade on an older system...
Replies
1
Views
439
Back
Top Bottom