Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EMMA: Fermi Chopper Lift IOC and OPI #2365

Closed
kjwoodsISIS opened this issue May 23, 2017 · 6 comments
Closed

EMMA: Fermi Chopper Lift IOC and OPI #2365

kjwoodsISIS opened this issue May 23, 2017 · 6 comments
Assignees

Comments

@kjwoodsISIS
Copy link
Contributor

kjwoodsISIS commented May 23, 2017

As scientist/technician using EMMA, I want IBEX to provide a controller and GUI to manage the lifting of the Fermi Chopper in/out of the beam, so that I can only move the Fermi Chopper when it is in the right state to do so.

Acceptance Criteria

  1. The GUI reports the current status of the Fermi Chopper Lift. The GUI should display one of the following states:
    1. Parked, out-of-beam (i.e chopper lift is in a raised position; the chopper is now positioned above the beam)
    2. Lift is in operation (i.e. chopper is being moved - raised or lowered)
    3. Clamped, in-beam (i.e. lift is in a lowered position and clamped in place; the chopper is now positioned in the beam, ready for use)
  2. The GUI must include a warning statement to make it clear to the user that he/she should not attempt to move (lift) the Fermi Chopper when it is spinning.
  3. I can use the GUI to request that:
    1. the Fermi Chopper be lowered into the beam (if it is not already in that position)
    2. the Fermi Chopper be raised out of the beam (if it is not already in that position)
  4. The GUI could report the status of the Fermi Chopper (i.e. spinning/not-spinning or in-use/not-in-use).
  5. The GUI should not report the status of the Fermi Chopper Lift interlock (controls team policy).
  6. I can not operate the Fermi Chopper Lift via the motor GUI (accessible via the Table of Motors)

Notes

  1. The Fermi Chopper Lift must not be operated when Fermi Chopper is spinning.
    1. It must not be possible to spin the Fermi Chopper when it is out-of-beam (i.e. the only position in which the Fermi Chopper can be operated is when the lift is in the lowered position and is clamped).
    2. The IOC is not required to implement an interlock system - there is a hardware interlock to prevent the user from operating the lift when the Fermi Chopper is spinning.
    3. The hardware interlock system is implemented in the Galil controller (via a Galil program described in the EMMA chopper lifter - Handover document).
    4. The IOC should pass requests to raise/lower the Fermi Chopper to the Galil program. Check the current Fermi Chopper Lift VI to see how this is done.
  2. Apparently, the motor that drives the lift does not have an encoder, so there is no way to absolutely determine the position of the lift, until it encounters one of the switches (home switch and upper & lower limit switches - see Handover document).
  3. See EMMA LabVIEW GUIs for images of the current LabVIEW GUIs.
  4. See EMMA Instrument Details for additional information.
  5. The Galil used to drive the Fermi Chopper Lift should not be accessible via the Table of Motors or should, at least, be read-only (so that the user cannot control the Fermi Chopper Lift by "the back door").
@KathrynBaker
Copy link
Member

Notes from the VI:

Number of Nodes: 108
Cyclomatic complexity: 15
Notes: There is a written note on the front panel to make sure the fermi chopper is stopped before moving it, could be a candidate for the inhibit functionality
Controlled via a program in the Galil, 4 status values, 1 = clamped, 2 = parked, 3 = moving, 4 = error. Status is retrieved by sending “status=?” and interpreting the result for display. Position is set by executing the section of galil code, e.g. by sending “#Park” and 5 to the execute program VI, so final command sent is of the form “XQ #Park,5”
IBEX setup:
Motion set up, Adrian best placed possibly to comment
OPI is straightforward
image
image

If we include the inhibitor will take a little longer, John best placed to comment.

@kjwoodsISIS
Copy link
Contributor Author

Regarding an inhibitor system: please see notes (ii) and (iii) above - there already appears to be a (possibly partial) hardware inhibition system.

@Tom-Willemsen
Copy link
Contributor

From Jeff Sykora:

Re chopper lifter: The idea is that no one is able to move the lifter with the chopper running. If it is available in the ToM then anyone can get in and move it. I am happy to have it password protected as you say and I would say that it is relatively critical that motion control can have access to it. They will be aware of the procedures for moving the chopper.

@Tom-Willemsen
Copy link
Contributor

In terms of the IOC itself, this is done. I can't test it on the office galil because the thread won't start (maybe needs an encoder and/or limit switches?)

In terms of the access security stuff, we had a meeting and decided to:

  • Put an ASG on all the motor records (which would default to "default", same as currently)
  • Switch on the access security for Emma's fermi chopper lift meaning that it is controllable while the instrument is in "manager mode" only.
  • For the galil, wait until Galil: Harmonise motor IOCs #2787 is done as that ticket will make this work substantially easier.

@Tom-Willemsen
Copy link
Contributor

After discussion with @John-Holt-Tessella I've created a separate ticket (#2789) for the ASG stuff and reduced this ticket's points to adjust for the split.

@AdrianPotter
Copy link

I've tested with the office Galil with a dummy program and it detects and triggers status changes as expected. It will need checking with the original program on Emma itself

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants