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
| Ramp mode reporting (fast/slow) | Yes | Not available |
124
+
| Status reporting | Yes | Detailed |
125
+
| He Level reporting | No | Yes |
126
+
| N2 Level reporting | No | Yes |
130
127
131
-
Answer from Oxford Instruments:\
132
-
<em>`F17/F19`\
133
-
I assume that you mean legacy commands `R17` (Trip Current) and `R19` (Trip Field).
134
-
This functionality is preserved when Mercury iPS remote interface is set to use legacy command set.
135
-
But when using "SCPI-style" command set, this exact information cannot be retrieved directly from
136
-
the iPS.
137
-
Under certain (limited) circumstances `R17/R19` are equivalent to `DEV:<UID>:PSU:SIG:PCUR` and
138
-
`DEV:<UID>:PSU:SIG:PFLD` (note that UID must be a group, not an individual PSU).
139
128
140
-
`Xmn`
141
-
There is no equivalent for `X` (examine status) command in the "SCPI-style" command set.
142
-
As far as the first portion (`mn`) of the reply to `X` command is concerned, certain `m` values
143
-
correspond loosely to the bits of the status word in Mercury iPS group device
144
-
(`READ:DEV:<UID>:PSU:STAT`).
145
-
The `n` part is not applicable to the Mercury iPS at all.
146
-
</em>
147
-
148
-
Q: For `Xmn`, I note that these may be dealt with by alarms which can be read with
149
-
`READ:DEV:<UID>:PSU:STAT` in some hex format which is not defined in the manual
150
-
(p. 162 in Issue 20). Could this be clarified?\
151
-
152
-
Answer from Oxford Instruments:\
153
-
<em>
154
-
`READ:DEV:<UID>:PSU:STAT`\
129
+
130
+
### PSU Status:
131
+
Using the SCPI command: `READ:DEV:<UID>:PSU:STAT`\
155
132
It is important to note that the STATus word should be examined at the group device level,
156
133
not the individual PSU level.\
157
134
It is also very important to mask out (ignore) all other bits in this 32-bit word (i.e. ones
158
135
not defined in the list given below):\
159
-
</em>
160
136
161
137
| Status | Bit value |
162
138
| ------ | --------- |
@@ -177,21 +153,8 @@ not defined in the list given below):\
177
153
| Voltage ADC error | 00010000 |
178
154
| Current ADC error | 00020000 |
179
155
180
-
Q: Also, is it possible to read if the Mercury iPS has tripped due to a low helium level signal
181
-
from the level card (something like the `X` command on the old `iLM200` which has a low level flag at
182
-
bit 5 of S)?
183
-
184
-
Answer:\
185
-
<em>
186
-
Low helium level
187
-
188
-
There is no direct indication of the fact that iPS has run the magnet down as a result of helium
189
-
level dropping below a set threshold.\
190
-
It is possible to read both the helium level (`DEV:<UID>:LVL:SIG:HEL`) and the configured threshold
191
-
for low helium alarm (`DEV:<UID>:LVL:HEL:LOW`).
192
-
</em>
193
156
194
-
## Compromises with SCPI command set and EPICS
157
+
###Compromises with SCPI command set and EPICS
195
158
`STS:SYSTEM:LIMIT`\
196
159
Is an `mbbi` and has has 5 possible values:\
197
160
- 0: "Normal"
@@ -204,3 +167,29 @@ The limit flags came from the legacy command: `Xmn`
204
167
with the index denoted by the `n` value.
205
168
SCPI does not provide this information.
206
169
170
+
## IOC Test Framework:
171
+
With support for the new SCPI based IPS command set, there are now two sets of StreamDevice
172
+
protocols. The appropriate protocol is implemented by use of a macro (`PROTOCOL` = `SCPI` | `LEGACY`) defined
173
+
prior to running the IOC.
174
+
175
+
The test framework has been adapted by splitting the existing legacy tests into common tests
176
+
and tests specific to either control interface. For instance, the legacy command set knows
177
+
nothing about cryogen levels, which the SCPI command set does.
178
+
179
+
The IOC support provides two protocol files:
180
+
- Legacy: OxInstIPS.protocol
181
+
- SCPI: OxInstIPS_SCPI.protocol
182
+
183
+
The lewis emulator and IOC test framework for the Mercury IPS is located within the IPS support
184
+
module. Manually running the tests is achievable using the following approach:
185
+
1.`cd` to `C:\Instrument\Apps\EPICS\support\IPS\master\system_tests`
186
+
2.`run_tests.bat -t ips_scpi -a -f` - this will run all the SCPI specific tests
187
+
3.`run_tests.bat -t ips -a -f` - this will run all the legacy specific tests
188
+
4. To run a specific test, use something like: `run_tests.bat -t ips_scpi.test_WHEN_inductance_set_via_backdoor_THEN_value_in_ioc_updates_0__0_12345 -a -f`
189
+
- Note that the -a flag simply prompts as to whether to run tests or simply run the emulator.
190
+
- The -f flag forces a fast fail on error and no further tests are run.
0 commit comments