You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As someone setting voltages on the Technix PSU in certain situations I want to be able to automate the conditioning so that it can be trusted to do this itself rather than have to do the job manually
Explanation
These PSUs will be used on SuperMUSR, but are also needed for some testing long before the instrument will be in place.
It is possible for the voltage when set to keep the current high, and the voltage then drops lower, which is not the desired behaviour.
Using a ramp, with some conditioning variables should help reduce this. If the PSU ramps, then this is simpler than if it doesn't, this needs to be verified.
There is already an IOC for the PSU, this is a refinement to operation.
At the moment there is some understanding of what the solution may be, but before implementing this work it will need to be confirmed and refined. This issue only details the undersanding from an initial conversation.
This lack of certainty is one of the reasons that this ticket will be undertaken in python, usually this kind of logic is best kept as close to the control of a device as possible
Additional Information
The testing is planned to be undertaken from around April 2025
Moving this logic into an IOC will be the long term goal so that anyone controlling it can turn the conditioning state on or off, and when on, there is no need to do anything other than set the desired voltage. This adaptation to the IOC should be available for early 2026.
Simplist version of the logic would be along the lines of:
Receive V_End_Target
Set V_Target to V_End_Target
Set V to V_Target
If I stays above Conditioning_Value for Length_Of_Time:
Start the loop over with V_Interim, which is V_Target * V_Proportion
If I is below Conditioning_Value after Length_Of_Time:
Carry on, which may be a ramp step, or V_End_Target as appropriate
Feedback messages from the Python script, such as "I stayed high for the length of time, lowering V Target", are needed
It may be possible to use some of the scans and run engine functions to achieve this, but in the end it will still need to move to the IOC level, so consider the levels of complexity of that when writing the Pythong script
Acceptance Criteria
When picking up this ticket arrange a meeting with R Hale (Power group) and P Baker (Inst scientist) to make sure that the proposed logic is correct, and to agree the testing setup. Add comments to this ticket with the verified or changed logic and the testing setup
Before the meeting, ask for manuals for the device itself, we already have the comms manual, and verify whether the PSU ramps to a voltage or not, if it doesn't then the logic will need to adapt to include one potentially, add a comment to the ticket with this information
A python function is created, with tests, that fulfills the logic agreed on in the meeting, and that is demonstrated to R Hale
A VM is made available on a remote server, which can be connected to the PSU in R106/R6 as appropriate for the testing, using DCLAB would be the most likely option - the individual steps would be:
If not using DCLAB: Getting a VM capable of running IBEX set up on a server somewhere
If not using DCLAB: Ensure that IBEX is installed on the VM from the most recent release
Getting a moxa nport installed where the testing will take place
Connecting that moxa to the VM/DCLAB
Creating a config using a suitable number of Technix IOCs as agreed when discussing the testing setup
The python function is available on the VM/DCLAB
A follow on ticket is created to transfer the agreed logic into an IOC, the first acceptance criteria of that ticket needs to be a check in with R Hale and P Baker to ensure that the most recent logic is in use
How to Review
Before making a PR...
Provide verbose instructions for the reviewer to test your changes
Describe how you have implemented testing for this feature
Provide screenshots of the feature to help the reviewer if relevant
As someone setting voltages on the Technix PSU in certain situations I want to be able to automate the conditioning so that it can be trusted to do this itself rather than have to do the job manually
Explanation
These PSUs will be used on SuperMUSR, but are also needed for some testing long before the instrument will be in place.
It is possible for the voltage when set to keep the current high, and the voltage then drops lower, which is not the desired behaviour.
Using a ramp, with some conditioning variables should help reduce this. If the PSU ramps, then this is simpler than if it doesn't, this needs to be verified.
There is already an IOC for the PSU, this is a refinement to operation.
At the moment there is some understanding of what the solution may be, but before implementing this work it will need to be confirmed and refined. This issue only details the undersanding from an initial conversation.
This lack of certainty is one of the reasons that this ticket will be undertaken in python, usually this kind of logic is best kept as close to the control of a device as possible
Additional Information
Acceptance Criteria
How to Review
Before making a PR...
If not applicable, write "Not applicable"
To the reviewer: Make sure to update submodules!
The text was updated successfully, but these errors were encountered: