Skip to content

Commit d500903

Browse files
authored
Update Reflectometry-Config-Training-‐-Overview-&-Setup.md
1 parent 5fdbbf9 commit d500903

File tree

1 file changed

+44
-13
lines changed

1 file changed

+44
-13
lines changed

doc/specific_iocs/reflectometry/config_training/Reflectometry-Config-Training-‐-Overview-&-Setup.md

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,49 @@ This training unit presents a series of exercises which take you through the cre
1212

1313
## Setup Instrument Configuration & Dev Environment:
1414

15-
1. Open up the IBEX GUI.
16-
2. Create a new configuration called `REFL_TRAINING` or something similar.
17-
3. Add the `GALIL_01` IOC to the configuration, give it a `Sim. Level` of `RECSIM`, and assign `01` to the `MTRCTRL` macro, everything else can stay as the default values.
18-
4. Add the `GALIL_02` IOC to the configuration, give it a `Sim. Level` of `RECSIM`, and assign `02` to the `MTRCTRL` macro, everything else can stay as the default values.
19-
5. Add the `GALIL_03` IOC to the configuration, give it a `Sim. Level` of `RECSIM`, and assign `03` to the `MTRCTRL` macro, everything else can stay as the default values.
20-
6. Add the `REFL_01` IOC to the configuration, everything stays as the default values.
21-
7. Load your configuration.
22-
8. Make sure the Reflectometry perspective is available to you, if it isn't you can make it visible via the `Preferences` menu.
23-
9. At this point if you open the Reflectometry perspective the `Server Status` should indicate an `ERROR` as it can't find the configuration.
24-
10. In the configurations folder for the computer you are using create a folder called `refl`, and in `refl` create `config.py`.
25-
11. If you restart the `REFL_01` IOC at this point, the server will still be in error, but the error text should have changed to being unable to read the file rather than being unable to find it.
26-
12. Open `config.py` in the editor of your choice, and copy in this code, which is the most reflectometry configuration you have that will load.
15+
1. Navigate to `...\Apps\EPICS\support\motorExtensions\master\settings\<computer name>\galil`
16+
2. Create a `jaws.cmd` with the following contents, so that the appropriate jaws are available later.
17+
18+
```
19+
$(IFIOC_GALIL_01) dbLoadRecords("$(JAWS)/db/jaws.db","P=$(MYPVPREFIX)MOT:,JAWS=JAWS1:,mXN=MTR0101,mXS=MTR0102,mXW=MTR0104,mXE=MTR0103")
20+
$(IFIOC_GALIL_01) dbLoadRecords("$(JAWS)/db/jaws.db","P=$(MYPVPREFIX)MOT:,JAWS=JAWS2:,mXN=MTR0105,mXS=MTR0106,mXW=MTR0108,mXE=MTR0107")
21+
```
22+
23+
3. In the same folder create an `axes.cmd` with the following, these aliases are useful later.
24+
25+
```
26+
$(IFIOC_GALIL_03) dbLoadRecords("$(AXIS)/db/axis.db","P=$(MYPVPREFIX)MOT:,AXIS=STACK:TRANS,mAXIS=MTR0305")
27+
$(IFIOC_GALIL_03) dbLoadRecords("$(AXIS)/db/axis.db","P=$(MYPVPREFIX)MOT:,AXIS=STACK:HEIGHT,mAXIS=MTR0307")
28+
$(IFIOC_GALIL_03) dbLoadRecords("$(AXIS)/db/axis.db","P=$(MYPVPREFIX)MOT:,AXIS=STACK:PHI,mAXIS=MTR0306")
29+
$(IFIOC_GALIL_03) dbLoadRecords("$(AXIS)/db/axis.db","P=$(MYPVPREFIX)MOT:,AXIS=STACK:PSI,mAXIS=MTR0308")
30+
$(IFIOC_GALIL_02) dbLoadRecords("$(AXIS)/db/axis.db","P=$(MYPVPREFIX)MOT:,AXIS=MONITOR,mAXIS=MTR0208")
31+
```
32+
33+
4. Open up the IBEX GUI.
34+
5. Create a new configuration called `REFL_TRAINING` or something similar.
35+
6. Add the `GALIL_01` IOC to the configuration, give it a `Sim. Level` of `RECSIM`, and assign `01` to the `MTRCTRL` macro, everything else can stay as the default values.
36+
7. Add the `GALIL_02` IOC to the configuration, give it a `Sim. Level` of `RECSIM`, and assign `02` to the `MTRCTRL` macro, everything else can stay as the default values.
37+
8. Add the `GALIL_03` IOC to the configuration, give it a `Sim. Level` of `RECSIM`, and assign `03` to the `MTRCTRL` macro, everything else can stay as the default values.
38+
9. Add the `REFL_01` IOC to the configuration, everything stays as the default values.
39+
10. Load your configuration.
40+
11. It may make things clearer if you update the motor descriptions as per the following table:
41+
42+
| Axis | Galil 01 | Galil 02 | Galil 03 |
43+
| -- | -- | -- | -- |
44+
| 01 | Jaws 1, North | Detector Angle | Slit 1 Offset |
45+
| 02 | Jaws 1, South | Detector Position | Slit 2 Offset |
46+
| 03 | Jaws 1, East | Bench Front | |
47+
| 04 | Jaws 1, West | Bench Back | |
48+
| 05 | Jaws 2, North | Bench Slide | Sample Stack Translation |
49+
| 06 | Jaws 2, South | Supermirror Position | Sample Stack Phi |
50+
| 07 | Jaws 2, East | Sumpermirror Angle | Sample Stack Height/Offset |
51+
| 08 | Jaws 2, West | Monitor | Sample Stack Psi |
52+
53+
12. Make sure the Reflectometry perspective is available to you, if it isn't you can make it visible via the `Preferences` menu.
54+
13. At this point if you open the Reflectometry perspective the `Server Status` should indicate an `ERROR` as it can't find the configuration.
55+
14. In the configurations folder for the computer you are using create a folder called `refl`, and in `refl` create `config.py`.
56+
15. If you restart the `REFL_01` IOC at this point, the server will still be in error, but the error text should have changed to being unable to read the file rather than being unable to find it.
57+
16. Open `config.py` in the editor of your choice, and copy in this code, which is the most reflectometry configuration you have that will load.
2758

2859
```Python
2960
from typing import Dict
@@ -51,5 +82,5 @@ def get_beamline(macros: Dict[str, str]) -> Beamline:
5182

5283
```
5384

54-
13. At this point you should be able to edit `config.py` in the following pages and build up your example system.
85+
17. At this point you should be able to edit `config.py` in the following pages and build up your example system.
5586

0 commit comments

Comments
 (0)