ISISComputingGroup / IBEX

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

HIFI: IOC & OPI for Thorlabs Filter Wheel #6085

Open kjwoodsISIS opened 3 years ago

kjwoodsISIS commented 3 years ago

As a muon scientist I want to be able to control the Thorlabs Filter Wheel (essentially, select a numbered aperture).

Acceptance Criteria

  1. Using the IBEX client, I can control the Thorlabs Filter Wheel
  2. Using genie_python, I can control the Thorlabs Filter Wheel

Notes

  1. Check the HIFI Instrument wiki.
  2. The manufacturer's web-site describes a number of Thorlabs Filter Wheel. Check with the instrument scientist to determine the model in use.
  3. The IOC & OPI must offer functionality equivalent to the existing VI (located here: C:\LabVIEW Modules\Instruments\HIFI\Thorlabs Filter Wheel).
    1. The VI has two identical front panels. Check with the instrument scientists as to why this is the case (there may be no good reason, but it is worth checking).
KathrynBaker commented 1 year ago

This is about as simple as it gets in the VI, it needs to get a COM port set. Commands are as follows:

Command Response type
*idn? String
pos? Unsigned Integer
pos=<unsigned integer for position> None

COM settings are: | Baud | 115200 | | Data Bits | 8 | | Parity | None | | Stop bits | 1 |

No flow control or end modes are specified in the initialisation, but a CR is appended before writing to the COM port, and it has a long timeout of 4 seconds.

Minimum of 2 IOCs needed

iangillingham-stfc commented 1 week ago

Information from a conversation with James Lord re number of VIs: "_We have two of these filter wheels. For most laser setups we use both of them and want to control them independently. So the VI library has two identical copies of the top level VI (front panel), one will be configured to talk to each wheel and there is a SECI block associated with each. We need the same setup in IBEX – two IOCs which are identical apart from their PV prefix and the macro file they will use (e.g. THORLABS_01 and THORLABS02) and probably two instances of the OPI (I think we can just set this up with no need to compile multiple copies).

Both of ours have 6 position wheels (i.e. FW102C) but the motor unit works with both 6 and 12 position wheels._"