Download presentation
Presentation is loading. Please wait.
Published byLinda Delany Modified over 10 years ago
1
© 2013 SPiiPlus Training Class Homing
2
© 2013 Homing Homing is a very important aspect for almost any motion system. With a wide variety of mechanical systems, each with it’s own constraints, there can be many different methods to home the system. o Home at current position o Home to hard stop o Home to limit switch o Home to home switch o Home to index o Home to hard stop and index o Home to limit switch and index o Home to home switch and index
3
© 2013 Homing Because of all the different ways that homing can happen, ACSPL+ does not have a dedicated home command. Instead, a few lines of ACSPL+ code can be written to give the desired behavior. Important Commands and Variables: ENABLEIST JOGIND PTPFAULT SETFPOS TILLFDEF
4
© 2013 Home at Current Position Homing at the current position is the simplest way to home. o A stage can be moved manually or automatically to a desired position o When at the position, it is set to zero o Method has poor repeatability and requires human intervention Load Home
5
© 2013 Home at Current Position ACSPL+ Code: SET FPOS(axis) = 0 SET command is required because FPOS cannot simply be written to like any other variables.
6
© 2013 Home to Hard Stop Homing to a hard stop is a simple way to home when a machine doesn’t have a limit sensor or home switch. o Care needs to be taken so that the load and hard stop are not damaged in the homing process. o Home position is typically offset slightly from the hard stop to make sure load does not contact hard stop in normal operation o Method has poor repeatability Load Home Home Offset
7
© 2013 Home to Hard Stop Process: 1.Enable motor ( ENABLE ) 2.Reduce motor current saturations to prevent overcurrenting motor or damaging load or hard stop ( XCURI, XCURV ) 3.Turn off default response to critical position error so homing program can detect hard stop collision ( FDEF ) 4.Jog slowly towards negative or position hard stop ( JOG ) 5.Detect critical position error indicating hard stop ( TILL, FAULT ) 6.Set home position as current position + offset and move to home position ( SET FPOS ) 7.Reset motor current saturations and default response to critical position error
8
© 2013 Home to Hard Stop ACSPL+ Code: ! 1. Enable motor ENABLE (axis) ! 2. Reduce motor current saturations XCURI(axis) = 5 XCURV(axis) = 5 ! 3. Turn off default CPE response FDEF(axis).#CPE = 0 ! 4. Jog towards negative hard stop JOG/v (axis), -home_velocity ! 5. Detect CPE fault TILL ( FAULT(axis).#CPE = 1 ) ! 6. Set home position as current + offset and move to home SET FPOS(axis) = 0 - home_offset PTP/ev (axis), 0, home_velocity ! 7. Reset motor current saturations and CPE response XCURI(axis) = 50 XCURV(axis) = 100 FDEF(axis).#CPE = 1
9
© 2013 Home to Limit Switch Homing to a limit switch is a simple and safe way to home. o Limit switches are put near the negative and positive travel limits. o Home position is typically offset from the limit sensor o Method has mediocre repeatability because limit switch is detected in software Load Home Home Offset Limit
10
© 2013 Home to Limit Switch Process: 1.Enable motor ( ENABLE ) 2.Turn off default response to negative or positive limit switch so homing program can detect limit switch trigger ( FDEF ) 3.Jog towards negative or position limit ( JOG ) 4.Detect limit switch ( TILL, FAULT ) 5.Jog slowly in opposite direction and detect when limit is off ( JOG, TILL, FAULT ) 6.Set home position as current position + offset and move to home position ( SET FPOS ) 7.Reset default response to limit switch
11
© 2013 Home to Limit Switch ACSPL+ Code: ! 1. Enable motor ENABLE (axis) ! 2. Turn off default negative limit switch response FDEF(axis).#LL = 0 ! 3. Jog towards negative limit JOG/v (axis), -home_velocity ! 4. Detect left limit fault TILL ( FAULT(axis).#LL = 1 ) ! 5. Jog slowly in opposite direction and detect when limit is off JOG/v (axis), home_velocity * 0.1 TILL ( FAULT(axis).#LL = 0 ) ! 6. Set home position as current + offset and move to home SET FPOS(axis) = 0 - home_offset PTP/ev (axis), 0, home_velocity ! 7. Reset left limit default response FDEF(axis).#LL = 1
12
© 2013 Home to Home Switch Homing to a home switch is a simple and safe way to home. o A typical home switch will have low polarity on one side of travel and high polarity on the other side o Homing is done by finding the home switch transition. o Method has mediocre repeatability because home switch is detected in software Load Home Home Switch State
13
© 2013 Home to Home Switch Process: 1.Enable motor ( ENABLE ) 2.Jog in negative or position direction, dependent on current state of home switch ( JOG, IN ) 3.Detect home switch transition ( TILL, IN ) 4.Move slightly offset from home switch transition in negative or positive direction ( PTP ) 5.Approach home switch slowly to detect home switch transition and set as home position ( JOG, TILL, IN ) 6.Move to home position ( PTP )
14
© 2013 Home to Home Switch ACSPL+ Code: ! 1. Enable motor ENABLE (axis) ! 2. Jog in negative or positive direction dependent on home switch IF ( IN(0).(home_switch) = 0 ) JOG/v (axis), -home_velocity ! 3. Detect home switch transition TILL ( IN(0).(home_switch) ) = 1 ELSE JOG/v (axis), home_velocity ! 3. Detect home switch transition TILL ( IN(0).(home_switch) ) = 0 END ! 4. Move off home switch in negative direction PTP/rve (axis), -home_offset, home_velocity ! 5. Approach home switch slowly and set as home position JOG/v (axis), home_velocity * 0.1 TILL ( IN(0).(home_switch) ) = 1 SET FPOS(axis) = 0 ! 6. Move to home PTP/e (axis), 0
15
© 2013 Home to Index Home to index is a very repeatable way of homing a rotary motor. o Typical rotary encoder has one index mark per revolution o Home to index is usually done only on rotary motors with no travel limits o Method has excellent repeatability because index is latched in hardware Motor Index
16
© 2013 Home to Index Process: 1.Enable motor ( ENABLE ) 2.Reset index latch ( IST ) 3.Jog in negative or position direction ( JOG ) 4.Detect index ( TILL, IST ) 5.Set home position as index position with optional offset ( SET FPOS, IND ) 6.Move to home position ( PTP )
17
© 2013 Home to Index ACSPL+ Code: ! 1. Enable motor ENABLE (axis) ! 2. Reset index latch by toggling IST(axis).#IND = 1 IST(axis).#IND = 0 ! 3. Jog in negative direction JOG/v (axis), -home_velocity ! 4. Detect index TILL ( IST(axis).#IND = 1 ) ! 5. Set home position with optional offset SET FPOS(axis) = FPOS(axis) - ( IND(axis) - home_offset ) ! 6. Move to home position PTP/e (axis), 0
18
© 2013 Home to Hard Stop and Index Home to hard stop and index is a very repeatable way to home a linear motor that doesn’t have a limit sensor or home switch o Typical linear encoder has one index mark o For best repeatability the index mark should always be found from the same direction o Care needs to be taken so that the load and hard stop are not damaged in the homing process. Load Index
19
© 2013 Home to Hard Stop and Index Process: 1.Enable motor ( ENABLE ) 2.Reduce motor current saturations to prevent overcurrenting motor or damaging load or hard stop ( XCURI, XCURV ) 3.Turn off default response to critical position error so homing program can detect hard stop collision ( FDEF ) 4.Jog slowly towards negative or position hard stop ( JOG ) 5.Detect critical position error indicating hard stop ( TILL, FAULT ) 6.Jog in opposite direction, reset index flag, and detect index ( JOG, IST ) 7.Set home position as index position with optional offset ( SET FPOS, IND ) 8.Reset motor current saturations and default response to critical position error
20
© 2013 Home to Hard Stop and Index ACSPL+ Code: ! 1. Enable motor ENABLE (axis) ! 2. Reduce motor current saturations XCURI(axis) = 5 XCURV(axis) = 5 ! 3. Turn off default CPE response FDEF(axis).#CPE = 0 ! 4. Jog towards negative hard stop JOG/v (axis), -home_velocity ! 5. Detect CPE fault TILL ( FAULT(axis).#CPE = 1 ) ! 6. Jog in opposite direction, reset index flag, and detect index JOG/v (axis), home_velocity IST(axis).#IND = 1 IST(axis).#IND = 0 TILL ( IST(axis).#IND = 1 ) ! 7. Set home position with optional offset SET FPOS(axis) = FPOS(axis) - ( IND(axis) - home_offset ) PTP/ev (axis), 0, home_velocity ! 8. Reset motor current saturations and CPE response XCURI(axis) = 50 XCURV(axis) = 100 FDEF(axis).#CPE = 1
21
© 2013 Home to Limit Switch and Index Home to limit switch and index is a very repeatable and safe way to home a linear motor o Typical linear encoder has one index mark o For best repeatability the index mark should always be found from the same direction Load Index Limit
22
© 2013 Home to Limit Switch and Index Process: 1.Enable motor ( ENABLE ) 2.Turn off default response to negative or positive limit switch so homing program can detect limit switch trigger ( FDEF ) 3.Jog towards negative or position limit ( JOG ) 4.Detect limit switch ( TILL, FAULT ) 5.Jog in opposite direction, reset index flag, and detect index ( JOG, IST ) 6.Set home position as index position with optional offset ( SET FPOS, IND ) 7.Reset default response to limit switch
23
© 2013 ACSPL+ Programming Example: 1 Write a program to home to a limit switch and index. Load Index Limit
24
© 2013 Home to Home Switch and Index Homing to a home switch and index is a simple, safe and very repeatable way to home. o Homing is done by first finding the home switch transition, and then finding the index. o For best repeatability the index mark should always be found from the same direction Load Home Home Switch State Index
25
© 2013 Home to Home Switch and Index Process: 1.Enable motor ( ENABLE ) 2.Jog in negative or position direction, dependent on current state of home switch ( JOG, IN ) 3.Detect home switch transition ( TILL, IN ) 4.Jog in direction of index, reset index flag, and detect index ( JOG, IST ) 5.Set home position as index position with optional offset ( SET FPOS, IND ) 6.Move to home position ( PTP )
26
© 2013 ACSPL+ Programming Example: 2 Write a program to home to a home switch and index. Load Home Home Switch State Index
27
© 2013 ACSPL+ Programming Example: 3 A robust homing program should have the ability to recover if any physical sensor fails (limit switch, home switch, index). Expand example 1 (home to limit switch and index) to be robust to these failures.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.