ISISComputingGroup / IBEX

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

MuSR: 3He Refrigerator Implement Cryogenic Control Logic #6240

Open JamesKingWork opened 3 years ago

JamesKingWork commented 3 years ago

As a MuSR scientist, I would like to be able to control the 3He Refrigerator.

Relies on logic being documented and approved from https://github.com/ISISComputingGroup/IBEX/issues/6239 as well as communications being implemented from https://github.com/ISISComputingGroup/IBEX/issues/6241.

Acceptance criteria:

Notes:

3He Refrigerator tickets:

JamesKingWork commented 3 years ago

Confirmed with cryogenics and MuSR scientists that this is purely ITC503 and doesn't use ITC502s and ITC601s as the LabVIEW suggests

JamesKingWork commented 3 years ago

Do not implement autorecondensing as part of this ticket.

rerpha commented 3 years ago

Sticking this in impeded now as we're waiting for more info from cryogenics and for #6239 to be completed.

JamesKingWork commented 3 years ago

I am happy that we have enough of the cryogenic logic and communications correct that we can start implementing this

JamesKingWork commented 3 years ago

PRs:

Release notes: https://github.com/ISISComputingGroup/IBEX/pull/6344

JamesKingWork commented 3 years ago

To review:

rerpha commented 3 years ago

Just taken off the under review label so someone else can review if they get round to it before I have some time to.

rerpha commented 3 years ago

Tests/emulator: I still get those PID errors when running the IOC tests in devsim, though im not that worried as it only seems to happen on my machine and last time we tried to reproduce it on another machine it didnt happen. I do however get some test errors in the IOC test framework - the recsim ones fall over, here is the first one that fails:

C:\Instrument\Apps\EPICS\support\IocTestFramework\master>%PYTHON3% run_tests.py -t hlx503 -tm RECSIM -f
Testing module tests.hlx503 in Rec sim mode.
Check that IOC is not running
Starting IOC (HLX503_01)

Running tests...
----------------------------------------------------------------------
ss.F
======================================================================
FAIL [27.401s]: test_WHEN_cancelled_in_any_step_THEN_temp_not_set_AND_cancelled_1_1 (tests.hlx503.HLX503Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Instrument\Apps\Python3\lib\site-packages\parameterized\parameterized.py", line 533, in standalone_func
    return func(*(a + p.args), **p.kwargs)
  File "C:\Instrument\Apps\EPICS\support\IocTestFramework\master\tests\hlx503.py", line 274, in test_WHEN_cancelled_in_any_step_THEN_temp_not_set_AND_cancelled
    self.skip_parts(parts_skipped)
  File "C:\Instrument\Apps\EPICS\support\IocTestFramework\master\tests\hlx503.py", line 410, in skip_parts
    self.ca.assert_that_pv_is("RE:PART", f"PART {i+1+part_offset}")
  File "C:\Instrument\Apps\EPICS\support\IocTestFramework\master\utils\channel_access.py", line 270, in assert_that_pv_is
    return self.assert_that_pv_value_causes_func_to_return_true(
  File "C:\Instrument\Apps\EPICS\support\IocTestFramework\master\utils\channel_access.py", line 249, in assert_that_pv_value_causes_func_to_return_true
    raise AssertionError(err)
AssertionError: Expected PV, 'TE:NDW1836:HLX503_01:RE:PART' to have value 'PART 1' (type: 'str').
Final PV value was 'PART 2' (type: 'str')

----------------------------------------------------------------------
Ran 4 tests in 85.088s

FAILED (failures=1, skipped=2)

which could be because part 1 goes to part 2 very quickly, on the OPI you see it shift quickly. There is nothing that alarming in the logs except for this line which appears a few times before iocinit, though it could be a red herring:

ReadASCII: File Open Failed: C:/Instrument/Apps/EPICS/support/hlx503/master/configurations/hlx503/: Permission denied

Have attached the full IOC log from running the test above - log_tests_hlx503_recsim_HLX503_01_ioc.log

OPI/IOC: PIDs work nicely, as does the switching of HI/LO he3pot sensors.

JamesKingWork commented 3 years ago

As musr are no longer requiring the HLX503 this cycle (they will use SECI), this ticket is no longer required for the release

JamesKingWork commented 3 years ago

When reworking, make sure to run the LabVIEW Vi against the emulator

JamesKingWork commented 2 years ago

Handed over to @rerpha

rerpha commented 2 years ago

note to self, I will need to sort out the tests to adapt to the fact that part 2 no longer exists

rerpha commented 2 years ago

recondensing seems to work now and WISH look to have managed one, but going to get some feedback before putting this in review to see if there are any niggles

FreddieAkeroyd commented 2 years ago

@rerpha have we had any feedback, is this ready for review?

rerpha commented 2 years ago

@rerpha have we had any feedback, is this ready for review?

I need to revisit it, recondensing wasn't working very well so need to book some time in the shutdown to test against the device again.