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 December 6th, 2017, 06:56 AM   #1
LiquidBoarder
Member
United States

LiquidBoarder is offline
 
Join Date: Mar 2016
Location: Michigan
Posts: 6
AB Servo Control Around Unwind Position

Hi All,

I am currently programming a rotational cycling machine that is meant to rotate parts one direction a predefined number of degrees and back to 0 again. Suddenly it hit me that if the user programs 360 as the first position, the drive may not move at all due to the unwind position.

Am I correct in thinking this? Does anyone have an elegant way to work around this?

I am using a Powerflex 527 drive which uses the motion axis commands of the Kinetix product family.

Thanks,
  Reply With Quote
Old December 6th, 2017, 07:41 AM   #2
the_msp
Lifetime Supporting Member
United Kingdom

the_msp is offline
 
the_msp's Avatar
 
Join Date: May 2008
Location: Northern Ireland
Posts: 617
Welcome to the forum.... perhaps not elegant, but KISS;

IF setPos == 360 then:
index 180

InPos:
index 180

InPos2:

Rev 360
__________________
Regards,

Patrick

https://www.youtube.com/user/MrMatrixEngineering
  Reply With Quote
Old December 6th, 2017, 07:55 AM   #3
Mispeld
Member
United States

Mispeld is offline
 
Mispeld's Avatar
 
Join Date: Feb 2017
Location: VA
Posts: 282
If using the MAM instruction, the "Move Type" operand will affect the behavior of movement for a rotary axis. There is shortest path, positive, and negative options. It may be possible that shortest path will be effective in this application.
  Reply With Quote
Old December 6th, 2017, 08:11 AM   #4
LiquidBoarder
Member
United States

LiquidBoarder is offline
 
Join Date: Mar 2016
Location: Michigan
Posts: 6
Quote:
Originally Posted by the_msp View Post
Welcome to the forum.... perhaps not elegant, but KISS;

IF setPos == 360 then:
index 180

InPos:
index 180

InPos2:

Rev 360
This was kind of what I had it mind as well. I was going to check to see if the position was above 300 or something and if so start an initial move to the halfway point of the desired position. Then, while that move was executing, initiate a 'final' move to the desired location. I just wasn't sure if I was over thinking it. I want the whole motion process to seem like a single motion - no stopping at the mid point. Otherwise it isn't a true test per our requirements.
  Reply With Quote
Old December 6th, 2017, 08:12 AM   #5
LiquidBoarder
Member
United States

LiquidBoarder is offline
 
Join Date: Mar 2016
Location: Michigan
Posts: 6
Quote:
Originally Posted by Mispeld View Post
If using the MAM instruction, the "Move Type" operand will affect the behavior of movement for a rotary axis. There is shortest path, positive, and negative options. It may be possible that shortest path will be effective in this application.
I originally was planning on doing the rotary positive and negative types but then if there is a slight amount of overshoot I think the next move would only cover those few degrees of error rather than wrapping all the way around again.

Am I wrong about that?
  Reply With Quote
Old December 6th, 2017, 09:19 AM   #6
kekrahulik
Member
United States

kekrahulik is offline
 
Join Date: Apr 2009
Location: Lancaster,pa
Posts: 258
Is you application just rotating 0-360 degree and back? Ie it never goes more than one revolution?

If so, you could program your servo to be a rotary axis that goes from 0-720 degrees (2 rotations) but you never command it to go more than 360. Thus avoid the overlap.

Or If you only go 0-360, you don't need to make it a rotary axis. Make it linear and then 0 and 360 are unique.

As already mentioned, you can also specify the direction of the move and shortest etc.

The more delicate side of rotary axis control is the use of compare instructions in your logic. Using a > or < statement as an axis goes from 359.9 to 0 degrees needs some real thought (and logic) put to it. Similarly as you do math to make moves, you need to be cognizant of the situations where you are crossing a reset boundary. If you end up developing such logic, I recommend making it into an add-on instruction - you will use it often.
  Reply With Quote
Old December 6th, 2017, 09:31 AM   #7
LiquidBoarder
Member
United States

LiquidBoarder is offline
 
Join Date: Mar 2016
Location: Michigan
Posts: 6
The application can be set to rotate any number of degrees up to 360. It will cycle to that position and back to 0 a preset number of times and then wait for the operator to reset the system for the next test. So you are correct. It will never cycle more than one rotation at a time.

I didn't want to use the rotary shortest path because we expressly want to make the device swivel back and forth rather than have it possibly go twice in the same direction depending on the final resting position.

I like the idea of making the axis linear. That never occurred to me. Thanks!

I have seen math logic setup to handle the unwind position error which was complicated enough that I think I'll take your method and run with it.
  Reply With Quote
Old December 6th, 2017, 09:49 AM   #8
Mispeld
Member
United States

Mispeld is offline
 
Mispeld's Avatar
 
Join Date: Feb 2017
Location: VA
Posts: 282
Quote:
Originally Posted by LiquidBoarder View Post
I originally was planning on doing the rotary positive and negative types but then if there is a slight amount of overshoot I think the next move would only cover those few degrees of error rather than wrapping all the way around again.

Am I wrong about that?
Overshoot would only come into play if the Lock Tolerance is set to an unreasonably large value, such that the next move position is within that tolerance limit. In this situation, I guess the axis will not move at all with the next command, though it is something I have never experimented with.

Shortest path will be appropriate if rotation can freely go in both directions, and you do not care from which direction you approach the command position. After reading some other posts here, it sounds like shortest path might not work.
  Reply With Quote
Old December 6th, 2017, 09:58 AM   #9
LiquidBoarder
Member
United States

LiquidBoarder is offline
 
Join Date: Mar 2016
Location: Michigan
Posts: 6
After thinking about this some more I'm disappointed I didn't think of it sooner but I can just make the travel of the drive unlimited and then run it like a linear axis.

This completely eliminates the need to handle the unwind. Agreed?
  Reply With Quote
Old December 6th, 2017, 10:20 AM   #10
kekrahulik
Member
United States

kekrahulik is offline
 
Join Date: Apr 2009
Location: Lancaster,pa
Posts: 258
Yep - that will work. Your concern is the rollover point - that would eliminate it.

just make sure you home it before using it. If it thinks its position is currently 50000 degrees, it will rotate many times to get there. or put logic in to catch those situations
__________________
_______________________________________________

"Get it right the first time" is a great philosophy, but when that doesn't happen, be persistent and "Get it right the last time".
  Reply With Quote
Old December 6th, 2017, 10:23 AM   #11
LiquidBoarder
Member
United States

LiquidBoarder is offline
 
Join Date: Mar 2016
Location: Michigan
Posts: 6
I was planning on homing it every time the machine powers on.

Thanks for your advice!
  Reply With Quote
Old December 6th, 2017, 02:16 PM   #12
kvogel
Member
United States

kvogel is offline
 
Join Date: Jan 2011
Location: Colorado
Posts: 55
Limit the allowable input from 0 - 359 degrees

Cheers

Ken
  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
Micrologix control of AB servo using message commands irondesk40 LIVE PLC Questions And Answers 6 May 7th, 2015 09:25 AM
Pf525 position control problem jugenzhu1963 LIVE PLC Questions And Answers 4 April 24th, 2015 01:11 PM
Sequencers randy LIVE PLC Questions And Answers 43 December 20th, 2014 02:10 PM
servo motor control irondesk40 LIVE PLC Questions And Answers 3 June 7th, 2012 07:48 PM
can i use SOPDT system parameter idetification in position control with a servo motor metwally.mustafa LIVE PLC Questions And Answers 2 May 4th, 2012 04:12 PM


All times are GMT -5. The time now is 07:14 AM.


.