How to Pause and Resume AB MAM Instruction in Studio 5000 for Incremental Movement Without Starting Over

Question:

Hello everyone, I am a novice looking for guidance. I am trying to halt and resume an incremental MAM instruction in Studio 5000, but with a specific condition - I only want it to continue from where it left off, not start the entire movement again. I attempted using a MAS to pause the instruction, but upon resuming the MAM, it covers the entire distance instead of just the remaining portion. Any advice on how to achieve this would be greatly appreciated. Thank you in advance.

Top Replies

Understanding the concept of incremental movement is crucial. When you trigger an Incremental Motion Actuator Module (MAM), the servo will move a specific distance from its current position. It seems like you might be looking for an absolute MAM instead. With an incremental MAM, each movement instance is independent - once stopped, it is essentially reset. To continue moving further, you would need to adjust the incremental distance. If it were an absolute distance, you could pause and resume the movement to reach the exact position.

That's right - it's not possible to pause an incremental movement. To achieve this, you can monitor the position as you make the initial move, and then adjust the second incremental move accordingly. Alternatively, you can opt to execute two MAM Absolute moves targeting the same position. This way, you can ensure a seamless operation without interruptions.

I was considering using an incremental move type Motion Axis Module (MAM) because I want to avoid reaching an absolute position, as the end position varies with each cycle. My goal is to move a specific distance from the current position. However, I also need to have the ability to pause the move with a Stop Push Button (PB) and then resume from where it left off, covering the remaining distance. One possibility I considered is using a Motion Axis Jog (MAJ) and continuously monitoring the actual position to calculate the distance needed to jog after a stop. However, this approach seems cumbersome and may not be the most optimal solution. Alternatively, I thought about resetting the axis position to zero after each cycle and using absolute positioning. I am unsure if this is a viable option though.

Robertmee pointed out that you cannot pause an incremental move. To achieve this, monitor the position during the initial move and subtract it from the second incremental move. Alternatively, you can utilize two MAM Absolute moves with the same target. Thank you for the assistance! I will attempt to implement two incremental moves as per your suggestion.

When starting a new incremental move, it is crucial to determine the axis's current absolute position. By adding your desired movement increment to this position, you can set the target for the absolute move. Knowing the initial absolute position is key for a successful and accurate incremental movement.

Hi, it seems you're on the right track using the MAS instruction to pause the MAM. However, to resume from where it left off, instead of a hard restart, you need to preserve your accumulated value. Try using an immediate interrupt routine. The accumulated value in the MAM block can’t be read directly, but, if you check the immediate update box in the MAM instruction, you can use a MOV instruction in an immediate interrupt routine to move the current accumulated value to a holding register. This approach should help you resume from where you left off, rather than restarting the entire movement again. Let me know if that works out for you.

It sounds like you're on the right track by using a MAS instruction to pause the MAM. However, to ensure the MAM continues from where it paused, you need to store the current position into a temporary memory then feed it back to the MAM's position (POS) tag when resuming. Essentially, just before issuing the MAS, capture the actual position of your axis into a temporary memory. Then, when releasing the MAS, write that temporary position into the POS tag of MAM. This will ensure that the MAM resumes from where it halted instead of starting from the original point. Good luck and keep experimenting!

More Replies β†’

Streamline Your Asset Management
See How Oxmaint Works!!

βœ…   Work Order Management

βœ…   Asset Tracking

βœ…   Preventive Maintenance

βœ…   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: 1. How can I pause and resume an incremental MAM instruction in Studio 5000 without restarting the entire movement?

Answer: To achieve this, you can use a combination of instructions like MAS to pause the movement and then resume it from where it left off. Ensure that the logic is designed to track the position and resume accordingly.

FAQ: 2. Why does resuming the MAM instruction cover the entire distance instead of just the remaining portion?

Answer: This issue occurs because the logic might not be correctly handling the current position and restarting the movement from the beginning. Make sure that the program is designed to resume the MAM instruction from the last known position.

FAQ: 3. Can you provide guidance on implementing a pause and resume functionality for an incremental MAM instruction in Studio 5000?

Answer: One approach is to use a conditional logic that tracks the position of the movement before pausing (using MAS) and then resumes the MAM instruction from that position when the condition for resuming is met. Review your program logic to ensure it aligns with this approach.

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  β†’