You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old August 21st, 2019, 09:00 PM   #1
scarince
Lifetime Supporting Member
United States

scarince is offline
 
Join Date: Jan 2009
Location: Dayton, OH
Posts: 136
Kinetix Rotary Axis Control Logic

I have a very simple application but I'm not very experienced with motion and looking for your advice.

I have a rotary axis. Kinetix 5700. I put a cylindrical part onto the axis and rotate it at about 900 rpm to do a metal forming process. The forming process only takes about 2 seconds. This part only weighs a few pounds but the axis tooling is built to take a heavy compression load, so there's a lot of inertia in the rotating mechanical system.

The axis has to stop in the "home" position for loading and unloading. While the part is cylindrical, the end is not, so the rotating nest has to be aligned for a robot to load the part. It's not super critical....a tolerance of a few degrees is plenty. There is a home-position prox that is used for homing, but once the axis is homed then the process can just use the position feedback. It's configured so that one revolution = 1.0. In other words, 0 and 1 are both home position.

The machine builder wrote the logic like this: The do a MAM and they flash it on and off 10X/second, and every time they tell it to go to position = 50. Once they are ready to stop the rotation, they send another MAM to go to position 0, absolute position, no merge. My problem is that while it works, the axis stops and runs backwards to get back to zero. It seems to decelerate far faster than necessary and then it wastes time moving backwards to get back to position 0.

If I change the accel/decl values for either of these MAM's, then the axis doesn't even stop, it just keeps turning. I don't understand why.

It seems like this should be done with a MAJ for the forming process and then a MAS and then a MAM to position 0, or maybe it should be a MAJ and then a MAM to slow it down, and then another MAM to stop it at position 0? I haven't seen enough examples of the correct way to do this to know how to best approach it.

All I need to do is turn this axis at a constant speed, and then stop it at a known position. It seems very fundamental.

I have two question:

1) What is the "correct" way to control this motion? It seems weird to me to spam an instruction with a flashing bit to get it to turn. I'm interested in your advice.
2) The machine builder used the same motion tags in every instruction of the same type. In other words, they used the same tag in all of the MAJ's, and the same tag in all the MAM's, etc. Shouldn't they be different since they're control tags?

Apologies if I omitted anything important...please just ask.

Thanks
  Reply With Quote
Old August 22nd, 2019, 09:43 AM   #2
kamenges
Member
United States

kamenges is offline
 
kamenges's Avatar
 
Join Date: Nov 2002
Location: Brillion, WI
Posts: 3,874
Wow!! You inherited quite the pile of manure there, didn't you? That may be one of the strangest ways to achieve continuous motion with plc commands that I have yet come across. Now, before you purests out there jump down my throat telling me that "under the hood" a jog on a position axis is just an incremental position move, note that I stated "with plc commands".


Quote:
Originally posted by scarince:

It seems like this should be done with a MAJ for the forming process and then a MAS and then a MAM to position 0,...
I'm with you on that. This is how i would do it. Another possible way to do it would be to replace the MAJ with an MAM that is an incremental move with an integer number of rotations. that would tend to make the absolute MAM at the end very short and just there to make sure there is no long-term drift of the incremental moves.

Also, as you state, I would make sure that every instance of a motion instruction has its own instruction data instance. It obviously isn't required but I would think it will make things much clearer. You can retrigger motion instructions.

Keith

Last edited by kamenges; August 22nd, 2019 at 09:49 AM.
  Reply With Quote
Old August 22nd, 2019, 08:35 PM   #3
scarince
Lifetime Supporting Member
United States

scarince is offline
 
Join Date: Jan 2009
Location: Dayton, OH
Posts: 136
Thanks Keith, I'm going to give that a try. Thanks for you reply!
  Reply With Quote
Old August 22nd, 2019, 10:32 PM   #4
Ken Roach
Lifetime Supporting Member + Moderator
United States

Ken Roach is offline
 
Ken Roach's Avatar
 
Join Date: Apr 2002
Location: Seattle, WA
Posts: 14,837
I think it can be as simple as:

1. Motion Axis Jog (MAJ)
2. Motion Change Dynamics (MCD)
3. Motion Axis Move (MAM)

RA Knowledgebase 721593 reiterates some of the Instruction Set Reference information more clearly about how the "merge" feature works when you trigger an MAM move on an axis that is already under the control of a MAJ jog.

You can run the MAJ at the 900 RPM forming speed, then issue a MCD to slow down the spindle until it reaches a speed from which it can stop in 1 revolution. The MAJ is still controlling the axis, but its speed and accel/decel characteristics have been changed by the MCD.

Once it has reached that lower speed and it passes through the Home position, you trigger an MAM. You can just use a position comparison instruction to detect it passing through Home, or get fancy with a Motion Axis Watch. Try comparison instructions first.

When you set the MAM to "Merge" with the previous axis command, the MAJ will stop controlling the axis, and the MAM will run to the designated stopping position.

Set the merge speed setting to "current", so the spindle will run at the adjusted jog speed.


You might be able to do it without the MCD by setting the merge speed to "programmed" and selecting the correct type of rotary MAM so it doesn't try to decelerate too quickly if it's close to zero when the MAM is triggered. But I would keep it understandable and use the MCD to slow down before you use the MAM to stop in position.
  Reply With Quote
Old August 23rd, 2019, 05:07 AM   #5
scarince
Lifetime Supporting Member
United States

scarince is offline
 
Join Date: Jan 2009
Location: Dayton, OH
Posts: 136
That makes perfect sense....I'm going to try to make the changes and test it today.

Thanks!!!

Bill
  Reply With Quote
Old September 12th, 2019, 11:27 AM   #6
asdf6
Member
Canada

asdf6 is offline
 
Join Date: Apr 2018
Location: canada
Posts: 9
Quote:
Originally Posted by kamenges View Post

Also, as you state, I would make sure that every instance of a motion instruction has its own instruction data instance. It obviously isn't required but I would think it will make things much clearer. You can retrigger motion instructions.

Keith
Having a unique motion instruction structure for each motion instruction IS required for proper function.

see attached

also from RA knowledgebase

"ControlLogix uses the Motion Control tag to control the execution of the motion instruction. Motion Instructions sharing the same Motion Control tag can result in unexpected motion. User changing the state of the Motion Control status bits are also not recommended programming practice."
Attached Images
File Type: png Motion_Instruction_Struct.png (38.9 KB, 37 views)
  Reply With Quote
Old September 12th, 2019, 02:15 PM   #7
Peter Nachtwey
Member
United States

Peter Nachtwey is offline
 
Peter Nachtwey's Avatar
 
Join Date: Apr 2002
Location: Vancouver, WA, US
Posts: 6,941
Instead of wasting the time going back to 0, why not reset the position by closed integer number of turns then move a half turn forward or backwards a half turn or less to get to 0.
This would save time.

I also do not see the need for a MAJ.
KISS applies.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
Kinetix 5500 Winding using Torque Control? misterturbo LIVE PLC Questions And Answers 6 November 15th, 2018 08:25 AM
What is the best logic to control the flow and temperature? elyas ghanbari LIVE PLC Questions And Answers 11 February 24th, 2014 10:56 AM
PLC Sequence/Step Program for Motor Control, Is my logic correct? mike64b LIVE PLC Questions And Answers 7 November 7th, 2011 09:52 AM
installing a panelview 600 + rjmarinaro LIVE PLC Questions And Answers 10 June 17th, 2008 11:52 AM
Machine Control Logic jthornton LIVE PLC Questions And Answers 7 September 17th, 2002 09:02 AM


All times are GMT -5. The time now is 03:48 AM.


.