The Conditional Stop/Pause window looks like this:
Each of the items in the window is explained in the sections that follow. These sections can be reached directly by clicking on the items in the above picture.
This window is used to request that the experiment either halt or pause when it reaches a specified point. This window is part of the Manager program and is opened by Manager when the "Cond. S/P" button is clicked.
The pair of radio buttons titled "Action:" is use to select whether the experiment is to be stopped or just paused. The vertical row of buttons is used to select the conditions under which the halt or pause will occur. The action occurs only when all the selected conditions are met. The "Request" button (the title changes between "Request Stop" and "Request Pause" according to the state of the "Action:" buttons) is used to submit a request for a halt or pause.
Once a request for an action has been submitted, the "Request" button looses its highlight (the lettering turns gray) to indicate that a request is pending and that the button is now inactive. Likewise, the "Cancel" button becomes highlighted to indicate that the button is active and can be used to cancel the pending request.
The window can be closed and a pending request will remain active.
Return to Conditional Stop/Pause Window.
Each state in an experiment include a control field that specifies various actions that may take place during that state. Included in the control field are four conditional action bits. These bits are used to mark the state as one in which a conditional action (a halt or pause) may occur. By convention Conditional Action Bit 1 is used to mark the last state in every scan and Conditional Action Bit 2 is used to mark the last state in every experiment. If the standard RELAX macro is used, the relaxation delays are automatically marked in this manner by the macro. Conditional actions bits 3 & 4 have no assigned purpose and can be used as pulse program authors deem appropriate.
The pulse programmer also has three Experiment State Registers (ESRs). Any state in an experiment can be used to load a number into one of these registers. Typically, ESR 1 is used to keep track of the scan number and ESR 2 is used to keep track of the experiment number, but this is a decision made by the pulse program author. Pulse programs generally include LOAD_ESR() macros which create states that load ESR registers at appropriate times. Within a pulse program the assign_names() function is used to assign names to experiment state registers. Once a name is assigned to a register, both the name and the contents of the register are displayed in the status box on the Manager window. The name is also displayed in the Conditional Stop/Pause window. For example, if the name "Scans" is assigned to ESR 1 and "Experiments" is assigned to ESR 2, the choices in the window will appear as:
Typically, a pulse program loads the ESRs at the beginning (i.e., before the irradiation sequence begins) of each scan or experiment repetition. The value displayed in the Manager window status box is updated as soon as an ESR is loaded.
The user requests a conditional halt or pause by specifying a set of conditions that must all be true in order for the action to occur. For example, the following set of conditions
request that the experiment stop at the next state in which Conditional Action Bit 1 is set and the contents of ESR 1 equal 759. Since the requested action always occurs at the end of the state, and the RELAX macro sets Conditional Action Bit 1 in every relaxation delay state, this request will be honored at the end of the first relaxation delay in which the scan number (the contents of ESR 1) is equal to 759.
If only one condition had been set, the halt would likely have occurred sooner. For example, if only
was selected, the experiment would have halted at the end of the next relaxation delay irrespective of the scan number. Or, if only
was set the experiment would halt at the end of state that loaded "759" into ESR 1. In other words, it would halt at the beginning of scan 759.
Return to Conditional Stop/Pause Window.
These buttons specify which Conditional Action Bits must be set in the control field of a state in order for a requested halt or pause to occur at the end of that state. By convention Conditional Action Bit 1 is set in the relaxation delay at the end of each scan and, additionally, Conditional Action Bit 2 is set in the relaxation delay at the end of each experiment. Thus the buttons which specify that these bits must be set for the requested action to occur are labeled "after this scan" and "after this experiment".
Return to Conditional Stop/Pause Window.
Clicking one of these buttons specifies that the value of the corresponding Experiment State Register (ESR) must be equal to the value entered in the box in order for the requested halt or pause to occur. In the example shown here, the pulse program has assigned the name "Scans" to ESR 1 and the name "Experiments" to ESR 2. In this case, in order for the requested action to occur in a state, the value of ESR 1 ("Scans") must be equal to 759.
Return to Conditional Stop/Pause Window.
These are "radio buttons" (only one button can be depressed at a time) that determine whether a pause or a stop is the requested action. The state of these buttons also determines what label appears on the Request button: either "Request Stop" or "Request Pause".
Return to Conditional Stop/Pause Window.
Clicking this button request either a stop or pause, depending on the state of the Action Selection Buttons. This button is only active if the pulse programmer is running and there is not already a conditional pause or halt request pending. When the button is inactive the text on the button turns gray.
Return to Conditional Stop/Pause Window.
Clicking this button cancels a pending pause or stop request. This button is only active if such a request is pending. When the button is inactive the text on the button turns gray, as shown in this example.
Return to Conditional Stop/Pause Window.