In The Field:

IP Address: 172.27.13.38

IP Address set: 172.27.13.100

Subnet Mask: 255.255.252.0

Test plan:

  • auxiliary task has homeAsync task -> homeAsync.bcx in filesystem good enough task execution setup has. all tasks enabledParameters > Axis > Limits > EndOfTravelLimitSetup
  • Home Switch Polarity needs to be Active High
  • Home Limit needs to be Use CCW Input (which is the negative limit switch)This one might be correct, but please verify:
  • Parameters > Axis > Motion > Home > HomeSetup
  • Home Start Direction should be CCW/Negative Direction
  • Limit Type  should be Use End-of-Travel Limit Switch
  • Marker Input Source  should be Use Position FeedbackTrip CW/CCW limit
  • Check on motor record screen and on aerotech to see which limits show up

Try to home -> if works, try homing again, try 3 different homes, main panel, homr/homfTest plan:

1. Update parameter

2. Save new parameter file into motion epics App

3. Power Cycle MOC, Reboot IOC , enable axis, home

4. Move to x mm.

5. Home again to see if the behavior is odd.6. Power Cycle MOC, Don`t reboot IOC.

7. enable axis, home

8. Move to x mm.

9. Home again to see if the behavior is odd.10. Reboot IOC, Don`t power cycle MOC.

11. enable axis, home

12. Move to x mm.

13. Home again to see if the behavior is odd.

Notes:

  • Homing on ensemble works fine, it goes back to the 0 position which is at CCW limit switch and stays there
  • On EPICS, the homing would go to the CCW limit switch, then go back to the requested position, rather than a preset offset (which is 0 in the parameter file) 

In Motion Lab:

Test Stand B34:

Address: moc-b34-mc08

ioc: sioc-b34-mc02

Name: B34_MP_4Chan

IP address: 134.79.219.181 

Subnet mask: 255.255.252.0

What was done:

Issue:

The homing procedure in EPICS would home the motor to the CCW LS, and go back to the preset desired position instead of stopping close to the LS.


Observations:

  • The homing procedure in Ensemble works as expected.
  • homeAsync.ab procedure also works as expected after some modification and running on Ensemble. 
  • Moving on to EPICS, when running the homing procedure, the motor would move to the CCW LS and back off a bit (follows what Ensemble does), but then adds an extra procedure of moving to the set "desired position" and setting it as the 0.
    • What was noticed is that MOTR.RBV automatically sets to the -ve value of the "desired position" as it hits the LS. This prompts the motor to want to go back to the 0 position from the -ve value to complete the homing sequence. 
  • Attempting to try homr worked as expected


Steps taken:

  • In Ensemble:
    • Connected on Ensemble, the parameter file of the XTCAV was used to recreate the issue on the test stand in the motion lab (B34_MP_4Chan) 
    • Main thing to be changed is the "Opto-Isolated Limits" parameter
      • Axis → Limits → EndOfTravelLimitSetup → Opto-Isolated limits (change from standard to opto-isolated limits)
    • Make sure Axis/Motion/Home/HomeSetup is 0x00 
      • Home Start Direction is CCW/ Neg dir
    • Axis/Limits/EndOfTravelLimitSetup:
      • End-of-travel Switch Swap: Swap CW and CCW Switches
    • Axis/Feedback/PositionFeedbackType
      • Set to 0, no feedback
    • The homing procedure HomeAsync.ab was modified:
      • line 20 IGLOBAL(32) = 1 
      • uncomment line 21
    • Running the HomeAsync.ab procedure results in the expected homing procedure
  • In EPICS:
    • The homing procedure in EPICS runs homf
    • Running homr resulted in the expected homing procedure
    • Switched the homing procedure to run homr instead of homf which fixed the issue. 
    • Test plan:
      • Start ioc: iocConsole sioc-b34-mc02 
      • In dev, open motion display and motor expert 
      • Enable torque, then home
      • Set a "Requested Position" and move motor
      • Home again
      • As it is homing, check HomeSetup Param on asyn screen "edm -m 'P=MOC:B34:MC08,R=:ASYN' fastwirescannerasyn.edl"
      • Motor should stop after hitting the CCW LS and set the position to 0. 


Parameter file changes (deg to mm) 2mm lead screw:

  • Axis/units:
    • 22.2222 deg to 4000 mm
  • Axis/Limits
    • LimitDecelDistance: 720deg to 4mm
  • Axis/Motion:
    • AbortDecelRate: 20deg/s^2 to 0.111 mm/s^2
    • DefaultRampDistance: 900 deg to 5 mm
    • DefaultRampRate: 3600 deg/s to 20 mm/s
    • DefaultSpeed: 3600 deg/s to 20 mm/s
  • Axis/Motion/Home:
    • HomeRampRate: 1000 deg/s to 5.5555 mm/s
    • HomeSpeed: 360 deg/s to 2 mm/s


Personal Notes:

EPICS:

cd motion/motion-git/iocBoot/sioc-dmp0-mc01/ 

  • We need to clone the motion repository, in cmd lines:
    • eco 
    • motion 
    • then keep pressing enter until it starts cloning
    • make (to build it)
  • cd into directory
    • cd motion/motion-git/motionApp/Db/common/ 
  • copy whichever file you want to modify:
    • phaseShifterGapControl  is the one that includes mm to deg 
    • I copied it into phaseShifterGapControl2 

Ensemble:

  • To run HomeAsync.ab
    • load then build file
    • run (debug → run)
  • Main thing that was changed to get the XTCAV parameter file working on the test stand:
    • Axis → Limits → EndOfTravelLimitSetup → Opto-Isolated limits (change from standard to opto-isolated limits) 

Notes:

  • grep -r phaseShifter
  • iocConsole sioc-b34-mc02 to run ioc from anywhere

  • find . -name <name> 



  • No labels