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

SANS2D: Front Detector Beam Stop #4581

Closed
kjwoodsISIS opened this issue Jul 19, 2019 · 10 comments
Closed

SANS2D: Front Detector Beam Stop #4581

kjwoodsISIS opened this issue Jul 19, 2019 · 10 comments
Assignees
Labels
5 fixed rework sub-ticket Subticket that can have zero points
Projects

Comments

@kjwoodsISIS
Copy link
Contributor

kjwoodsISIS commented Jul 19, 2019

As a SANS2D scientist, I want IBEX to provide control for the front beam stop, so that I can control its position.

Acceptance Criteria

  1. If the detector rotation is greater than 0 degrees, motion of the front beam stop must be inhibited.
  2. I can control the rotation of the front beam stop via the IBEX GUI.
  3. I can control the rotation of the front beam stop via genie_python.
  4. Beam stop motors are de-energised when motion is complete.

Notes

  1. This ticket is a sub-ticket of SANS2D: Control of Vacuum Tank (EPIC) #4576.
  2. The front beamstop must not be operated if the front detector is rotated.
  3. Because the motors that move the beam stops operate in a vacuum, they should be de-energised when a move is complete (otherwise they are at risk of over-heating).
  4. There are schematic diagrams showing the operation of the SANS2D vacuum tank.
  5. There are schematic diagrams showing the how the SANS2D vacuum tank User OPI and Advanced OPI could look.
  6. The LabVIEW VI for the SANS2D vacuum tank is located at: C:\LabVIEW Modules\Instruments\SANS2D\Sans2d Tank (for more details see the S2d Tank - Front Panel.vi in the file Sans2d Tank - System Functions.llb)
  7. Check the paragraph describing the Front Detector Beamstop in the Beam_line_descriptors document.
@kjwoodsISIS kjwoodsISIS added this to To do in SANS2D Apr 3, 2020
@JamesKingWork JamesKingWork moved this from To do to In Progress in SANS2D Jul 7, 2020
@JamesKingWork JamesKingWork added this to In Progress in IBEX Project Board Jul 7, 2020
@JamesKingWork JamesKingWork added in progress sub-ticket Subticket that can have zero points labels Jul 7, 2020
@JamesKingWork JamesKingWork self-assigned this Jul 7, 2020
@DominicOram DominicOram added this to the SPRINT_2020_06_25 milestone Jul 8, 2020
@John-Holt-Tessella
Copy link
Contributor

John-Holt-Tessella commented Jul 8, 2020

Inhibition:

  • On rbv or sp change of detector angle do the following logic
  • if rbv or sp > 0:
    • call, stop motor and DISP = True
  • else set DISP=False

The DISP is on the axes record. We have not used the inhibtor because it does not react to change like this and this is a

@FreddieAkeroyd
Copy link
Member

Would we need to set DISP on both the motor and axis for safety? DISP only disables channel access puts and not ones linked from within the IOC, if this is a potential concern would it be better to disable the motor record itself from scanning?

@John-Holt-Tessella
Copy link
Contributor

Would that not stop the Stop button from working on the motor because it is a field

@JamesKingWork JamesKingWork moved this from In Progress to Review in IBEX Project Board Jul 9, 2020
@FreddieAkeroyd
Copy link
Member

@John-Holt-Tessella Do we need to be able to use the stop button if we are not able to start motion?

@FreddieAkeroyd
Copy link
Member

A recent tech talk post suggests people set DISP and also disable the motor record (either by linking SDIS or writing to DISA). The only side effect of disabling the motor record is it stops the endoder readback updating on the record, so if the axis was (manually) moved this would not be displayed until the record was re-enabled.

@John-Holt-Tessella
Copy link
Contributor

@FreddieAkeroyd I would like not to disable the stop button if something goes wrong and we somehow disable the stop button but don't stop the motor that would be bad.
@JamesKingWork said he would try DISP and see if it stopped the stop button working, not sure what he found out. If we don't disable the motor record it means that if people are fiddling at that lower level they can collide the items but in normal usage they can't.

@FreddieAkeroyd
Copy link
Member

DISP will disable direct channel access but not indirect record processing, so setting motor.DISP will stop access to MOTOR.STOP via the GUI channel access, but would not access to motor.STOP from a record in the same IOC. It seems to follows the same rules as access control. However the docs said "stops dbPutField (usually channel access)" - i am not sure what else uses dbPutField. So I think you can't disable sending moves on the low level motor GUI screen unless you also disable the stop button on that GUI. However if the DB logic sends a stop if it sees movement then maybe that is good enough? Could you also use the SPMG field?

@JamesKingWork JamesKingWork moved this from Review to In Progress in IBEX Project Board Jul 13, 2020
@JamesKingWork
Copy link
Contributor

@JamesKingWork JamesKingWork moved this from In Progress to Review in IBEX Project Board Jul 14, 2020
@DominicOram
Copy link
Contributor

Works as advertised and good tests. The labview also inhibits the detector if the beamstop is rotated. The logic is the same, that the detector can only rotate if -2 < beamstop rotation < 2. This makes sense as if they're going to collide when both rotated it doesn't matter what the order of rotation is. If this is no longer required can you document why.

I also think the documentation could be a bit clearer, it took me a while to work out what it was saying and the distinction between setting DISP on the axis/motor record (sorry that's a vague review comment).

@DominicOram DominicOram moved this from Review to Ready in IBEX Project Board Aug 3, 2020
@JamesKingWork JamesKingWork moved this from Ready to In Progress in IBEX Project Board Aug 4, 2020
@JamesKingWork JamesKingWork moved this from In Progress to Review in IBEX Project Board Aug 5, 2020
@Tom-Willemsen Tom-Willemsen moved this from Review to Review Complete in IBEX Project Board Aug 7, 2020
@Tom-Willemsen Tom-Willemsen moved this from In Progress to Done in SANS2D Aug 7, 2020
IBEX Project Board automation moved this from Review Complete to Done Aug 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
5 fixed rework sub-ticket Subticket that can have zero points
Projects
SANS2D
  
Done
Development

No branches or pull requests

6 participants