Two digital oscilloscopes are dedicated to NMR readout – one for the analysis line NMRs and one for the spectrograph NMRs. The scopes are located in the S3 mezzanine. They are isolated from clean ground because this signals from the NMR probes are on a dirty ground.
Due to the location of the NMR probes in the dipoles of both the S800 analysis line and spectrograph, the NMR signals are usually too small for the NMR module to lock on. This has been a long standing problem which required the users to manually search the resonance, a painful and lengthy process (especially at 3:00 AM!), as well as costly in beam time. The improvement made in 2001 was a remote control panel for the NMR modules that prevented the users from having to enter the vault in order to measure the fields and match the dipoles. Although it greatly shortened the amount of time and energy spent in performing those tasks, it still remained laborious compared to a fully autonomous system like the NMR program running on the A1900 for which the signals are strong enough for the module to lock on.
The solution implemented on the S800 uses digital oscilloscopes to digitize the NMR signal. The digitized signal is then used in a program that calculates the position of the resonance and deduces the value of the magnetic field. This program (written in Tcl/Tk) is fully autonomous and automatically writes the measured Brho values to the relevant EPICS channels. In addition, it offers the possibility to match the dipoles by pairs and keeps a log file of the measured fields.
The NMR running programs for both the S800 analysis line and spectrograph dipoles can be started by logging in to exp-s3-nmr.ftc (10.40.230.111) accessible from the EXP network, namely, from a whatever computer connected to the EXP network,
$ ssh [your-user-name-on-EXP]@exp-s3-nmr -Y
and typing, for the analysis line dipoles
$ /usr/bin/wish /srv/s3-nmr/analysis/analysis.tcl
and for the spectrograph dipoles
$ /usr/bin/wish /srv/s3-nmr/spectrograph/spectrograph.tcl
Now press start on the GUI, which is shown below, and you should see a field reading. Sometimes the initialization of these applications fail. In that case check section "Troubleshooting" below). The picture below shows the NMR panel for the S800 Analysis Line GUI as an example. The top (yellow) panel shows the data relevant to the NMR module, the middle (pink) the digitized signal from the oscilloscope and the bottom (blue) the status and measurements for the dipoles.
A solution has been implemented for the case where one user needs to run the NMR software via the 'wish' command, but another user is already running it.
If a user is running 'wish' (usually 2 processes, one for analysis and one for spectrograph) and another user needs to run it instead, they can do the following:
$ ps aux | grep wish $ sudo -u usernameRunningWish pkill wish
and you should be able to run the NMR software.
The NMR program constantly checks the status of the various dipoles from the EPICS system and updates the status column. In addition, the program checks the log file at startup for the closest previously measured value. In case no previous measurement can be used the program searches for a signal around the guessed value of the field. This search can take some time if the calibration is off or the hysteresis of the dipole is large. The maximum number of attempts is limited to 200. After that the status is marked as “Failed” and the program gives up on this dipole.
In order to reduce the searching time, the program tries to guess the field from the following sources, in priority order:
Once a signal is found, the measuring sequence tries to find two resonance positions on either side of 0. Each resonance is calculated as the average between the negative and positive modulation minima (blue and green curves, and corresponding arrows). The final field is interpolated from those measurements, simulating a lock on the NMR signal.
If a dipole is turned off or its field is being changed, the status shows either “Off” or “Unstable” and the program issues a beep. If this happens under running condition in data-taking mode, stop the beam and ask the operator to assist you in investigating the situation of the magnet giving the problem. The operators have the possibility to check on all magnet power supplies and helium fill levels in the control room. A magnet current below the set value, for example, is indicated in Barney as a blue circle on the respective optics element. In the figure below, the S800 Barney page with all magnets operational is shown. The grey square in the third dipole of the analysis line indicates that the system is trying to read the current of the magnet. The blue squares in the second dipole of the analysis line and the two dipoles of the spectrograph indicate that the read and desired current values differ by more than 0.1%.
The magnet currents, measured fields, and deviation from the set value are logged in a file that is soft-linked from the “current run” directory. An example of the log file (analysis.log) for the four dipoles of the analysis line is shown below.
The button labeled “Match” opens a new window for matching the dipoles by pairs (see picture below). The user has the possibility to match the dipoles to either Barney or to the average calculated from the present measurements. This last function is useful when the dipoles have been tweaked to adjust the position of the beam, leading to an unmatched pair of dipoles. Since matching the dipoles involves changing their fields, it is necessary to wait for the measuring loop to go over each dipole before the effect of matching can be observed.
The NMR program is connected to the following devices and systems:
Any of these connections can eventually be broken, and the program tries to catch the failures and report them to the user. However there are cases when the program “hangs” and need to be manually aborted. The little heart displayed at the top left corner of the oscilloscope display indicates the liveliness of the EPICS loop, as well as the liveliness of the program itself. If the heart stops beating for more than 10 seconds, it probably means the program is frozen. To restart it, simply click on the program's icon again, which will kill the existing process and start a new one.
In case nothing happens after clicking on the icon, the connection to the NMR module is probably locked and needs to be freed. To free it, type the following from any shell window (actual typing show in bold font):
(Based on notes from Mathias Steiner with some extra info included)
You will need to get access to the NMR controllers in the mezzanine level of S3 (see picture below). You will also have to connect an oscilloscope to one of the NMR controllers, either analysis line (left) or Spectrograph (right). Connect the left BNC connector (field modulation) to CH1 in the oscilloscope and the right BNC connector (NMR signal) in CH2. Select XY display, and AC coupling.
Let’s assume that you want to set the dipole I265DS (first dipole (D1) of S800 Spectrograph) to the rigidity (Brho) 3.7965 Tm (this works for any dipole in the S800)