ISISComputingGroup / IBEX

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

SXD: Tensile Stress Rig: Create Templates/Substitution files and OPI for the tensile stress rig #8265

Open KathrynBaker opened 3 months ago

KathrynBaker commented 3 months ago

As a scientist on SXD I want to be able to use the tensile stress rig via IBEX

Acceptance Criteria

The Front Panel of the VI

image

Values to read regularly

Control Name Data Type PV Name(s) Notes
Display Numeric TIME
LOAD
ELONG
The string value returned for this is an array to split between the PVs given
Load and elongation are plotted as a graph against each other
Mode String String MODE
Direction String String DIR
Motor Status String String MOT:STAT If this value is not "Stop", then a MOT:ACTIV Boolean should be true
Control Status String String CON:STAT
Motor Control Mode String String MOT:MODE
Temp Status String String TEMP:STAT

Strings to write (in this order) on a speed change

Command PV Name(s) (for %values)
Mode,Standard
Control,Tacho
Direction,Forward
Speed,%f SPEED
SetSpeed,True
Direction,Reverse
SetSpeed,True

Strings to write (in this order) when a start is requested

Command PV Name(s) (for %values) Notes
StopMeasurement,T Wait 400ms before continuing
Choose Channel,Load
EnableUL,F
EnableLL,F
Choose Channel,Elongation
Set Control,Tacho
Set Mode,Manual
Set Mode,Standard
Upper Limit,%d TRGT If Target > Elongation
Either this or the next line can be enacted
Lower Limit,%d TRGT If Elongation > Target
Either this or the previous line can be enacted
EnableLL,F If Target > Elongation
Either this or the next line can be enacted
EnableUL,F If Elongation > Target
Either this or the previous line can be enacted
StopMeasurement,T
StartMeasurement,T

Strings to write (in this order) when a load is set

Command PV Name(s) (for %values) Notes
StopMeasurement,T Wait 400ms before continuing
Choose Channel,Elongation
EnableUL,F
EnableLL,F
Choose Channel,Load
Set Control,Tacho
Set Mode,Manual
Set Mode,Standard
Upper Limit,%d LOAD
Lower Limit,%d LOAD
EnableUL,T
EnableLL,T
StopMeasurement,T
StartMeasurement,T

Strings to write (in this order) when a stop is requested

Command PV Name(s) (for %values) Notes
StopMeasurement,T

Extra Information

How to Test

verbose instructions for reviewer to test changes (Add before making a PR)

Timestamp in planning: 00:10 23/5/24

LowriJenkins commented 3 weeks ago

SUPPORT LVREMOTE IOC OPI Epics Top

To test, run the tests, first ensure both the LVREMOTE and the DDS Stress Rig Support modules are built. Then run the IOC in recsim and check the OPI, (you can use caput -a %MYPVPREFIX%DDSSTRES_01:SIM:ARRAY followed by up to 7 characters to set the array) Then run the vi and without recsim (Note the VI must be running before the ioc starts in order for the ioc to properly connect). Check that IOC can react to values, some may seem off due to the values in the VI defaulting to empty even though they would never be empty if the instrument was running. The VIs to run are: ISIS LabVIEW Service.llb dds server.vi and possibly dds.vi (theoretically not needed, but dds server.vi refused to interact with the remote labview without this being running for me).