ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

GUI: Jaws OPI: Prevent error when only 2 of 4 axes defined #3646

Open davidkeymer opened 6 years ago

davidkeymer commented 6 years ago

When using a 4 axis jaws OPI and only 2 axes are defined, an error occurs and the following stack trace is generated:

2018-10-09 15:07:50 ERROR: Error in on East_Blade. Traceback (most recent call last): File "<script>", line 6, in <module> ZeroDivisionError: float division

2018-10-09 15:07:50 ERROR: Error in on West_Blade. Traceback (most recent call last): File "<script>", line 4, in <module> ZeroDivisionError: float division

It is suspected that as the range of motion of the two undefined axes is zero, when trying to update the image of the blades, the ZeroDivisionError occurs.

John-Holt-Tessella commented 6 years ago

Do we want a user to use a 4 axis OPI with a 2 axis blade?

kjwoodsISIS commented 6 years ago

Does this ticket relate to #3463? Is it possible for a two-axis OPI to drive a 4-axis IOC? (naively, I would expect that a two-axis OPI could drive a 4-axis IOC - it could just initialise the two unused axes to some suitable values which will never change).

KathrynBaker commented 6 years ago

I’d assume that if you set up a 2-axis OPI looking at a 4-axis IOC then the two not being referred to would stay wherever they are or where you put them.

OPIs do not drive IOCs just present the controls and information for display so I wouldn’t expect it to do anything to something it isn’t pointing at.

John-Holt-Tessella commented 6 years ago

As a user if I use a 2 set to look at 4 I am confused why I am getting no neutrons (if other jaws are closed). Similarly, if I use a 4 set to look at a 2 it appears that 2 axes are not connected. Either way, I ring the support phone and complain that my jaws don't work. I think the solution is that the jaws db should publish a PV which is JAWS type (MBBI, 4 blades, 2 blades horizontal, 2 blades vertical etc). The OPI should then read this PV and either:

  1. clearly indicate you are using the wrong OPI
  2. swap to the right OPI

Sorry to expand the ticket better now than later.