Data Collection Computers
Instrument Control Program (ICP)

NIST Center for Neutron Research


Contents

Overview

Many instruments in the NIST Center for Neutron Research use an instrument control program (ICP) that currently runs on VAX computers:

CNBS runs BT 1,2,4 and 9
VAX4 runs BT 8
VAX6 runs NG1, NG5 (SPINS), and NG7 (Reflectometer)
XRAY runs the xray instrument.

This documention primarily describes the functions of ICP and should serve as a user's guide. Section 2 gives an overview of the data collection and analysis systems, and explains how to invoke the ICP program. Sections 3 and 4 describe the two main modes, i.e., the Prepare Mode and the Control Mode. Section 5 contains some additional features that can be skipped by the first time reader. In Appendix A you will find a complete list of all the commands from the Control Mode.

Although ICP can be run remotely from any terminal, certain commands that interact with the instrument hardware are only executed when entered from the terminal physically located at the instrument. If you are running ICP from this terminal, you are running in a privileged mode. However, if you are logged in anywhere else, ICP will put you in a non-privileged mode. In order to avoid multiple and contradictory accesses to the hardware, you cannot issue motor, temperature control, or commands which access the CAMAC hardware from the non-privileged mode. You will, however, have access to all the editing and supervising functions. The main screen in ICP (Figure 1) indicates if you are on a non-privileged line.

If you log onto the instrument account (ex: BT2) from any terminal, you may obtain some information about the last data point by typing STATUS at the VMS prompt. (You do not need to enter ICP first.) Typing howis BT2 on some of the remote UNIX systems gives the same information.

Getting Started

To log onto the instrument console, type in the description for the instrument using (i.e., BT1, BT4, XRAY, NG5, etc) and hit RETURN. Then, type in the password, which can be obtained from the instrument responsible or your on-site collaborator.

On the personal computers found at most of the instruments, a ``privileged'' window for instrument control can be obtained by clicking on the ``ICP'' icon in the lower right-hand corner of the screen. ``Nonprivileged'' windows (for editing run buffers, etc.) may be obtained by invoking the command ``<instrument-name>term &'' from the command line of any open xterminal window (e.g., ``bt4term'' for bt4, etc.) The appropriately mapped ICP function keys are labelled on the keyboard.

You will then be greeted by a list of specific assigned directories. If you have your own directory then type it in here. DO NOT use someone else's assigned directory unless you have their permission. If you don't have an assigned directory, enter GUEST1, GUEST2, or GUEST3 and remember which you have selected as this is where your data, run buffers, and command buffers are stored. It should, perhaps, be noted here that this storage is temporary and it is up to you to copy your data to the appropriate system for analysis once the file has been completed. Do not, however, delete your data file from the VAX. Data files are periodically archived from the instrument control computers and an automatic clean up procedure runs every evening which removes all files that are 60 days old. To logout from the VAX, type LOGOUT or LO.

ICP is made to be general as far as instrument-specific configurations are concerned. All the instrument-specific information (CAMAC module addresses, motor parameters etc.) are read from a configuration file which should only be changed by the instrument responsible on the rare occasions when a change is called for.

Online help for ICP commands is available within ICP by typing ``help.'' Help on a specific command can be obtained by typing ``help <command>'' (e.g., help calc).

Once you have logged onto the instrument computer, start the program by typing ICP at the VMS prompt. You will see the main menu screen which displays information about the particular hardware in use as well as allowing you to select how to continue. (See Fig. 1.)


  
Figure 1: Main screen after startup of ICP. In the top left corner there is a menu with three items to choose from: Prepare Mode, Control Mode and EXIT. At the top right should be the instrument name, the software version which is running and the date and time. The lower part of the screen is filled with some useful hardware information, (i.e., the CAMAC crate slot numbers of the important modules and the RS232 ports that are used for motor and temperature control.)
\begin{figure}
\centerline{
\epsfig {figure=scr1.eps,angle=90,height=3in}
}\end{figure}

ICP has two modes: the ``Prepare Mode'' and the ``Control Mode.'' In Prepare Mode, you edit one or more buffers, each containing all the parameters for one run. ICP provides buffers for several types of runs: Increment buffers, constant-Q buffers, Bragg buffers, and other buffers specific to certain instruments. If you elect to enter the Prepare Mode, you will be offered a menu of the buffers allowed on the instrument being used. You may select which type to edit from this menu.

In Control Mode, you have control over the hardware of the instrument. From here you can change temperature, move motors, start a run or a sequence of runs, etc. The suggested procedure to run an experiment is the following, but many other ones will work as well:

1.
Go into Prepare Mode and edit one or more buffers to define a run. ICP will provide some help for each of the fields to be filled.
2.
If you have more than one run it's a good idea to define a command sequence or setup a command file. This way you can instruct ICP to execute one buffer after the other and, if necessary, change temperature, magnetic field, $\vec{\rm q}$ or whatever in between.
3.
Change to Control Mode and execute the predefined buffers with an rs (run sequence) or rsf (run sequence file) command.

Real-time display of the data being collected on the instruments may be obtained either by clicking on the ``xpeek'' icon also found in the lower right-hand corner of the screen or by invoking ``xpeek'' from the command line of the instrument computer or the UNIX division computer.

Prepare Mode

  Once you have selected the Prepare Mode and made your selection from the type of buffers offered, ICP will display a screen which is similar to that in Figure 2. The upper half of this screen is again a menu.


  
Figure 2: The initial screen in Prepare Mode (const-I).
\begin{figure}
 \centerline{
\epsfig {figure=scr2.eps,angle=90,height=3in}
}\end{figure}

To select a buffer press the arrow keys until the desired buffer is highlighted, then press ENTER. In the current version, 30 buffers are available for each type of buffer. As soon as you move the highlighted bar down, the menu will scroll automatically and the remainder of the buffers will appear. The visible information in the menu is not complete. There are more fields in that buffer. The information you can see should help you select a buffer for further editing. The buffers are stored in a file within each instrument subdirectory. They initially contain default values but will retain any values given them until they are changed again by yourself or another user within that subdirectory.


  
Figure 3: The initial screen in Prepare Mode (const-Q).
\begin{figure}
 \centerline{
\epsfig {figure=scr3.eps,angle=90,height=3in}
}\end{figure}

Assume we want to change buffer no. 5. Move the highlighted bar to the corresponding line and press ENTER. ICP now displays the whole buffer, as shown in Figure 4. The cursor is at the beginning of the comment field. Use the arrow keys to jump around. To change the values in a field, type over them. If the input is correct the new data will be displayed and the cursor moves to the next field. If the input was incorrect the entire field will be filled with dashes and a warning bell should tell you that an error has occurred. If you are running in a privileged mode and want to load the current instrument angles into the buffer, press F13 and ICP will fetch all angles. Once you have finished editing you have several options for how to continue:


  
Figure 4: Ready to edit buffer no.5.
\begin{figure}
 \centerline{
\epsfig {figure=scr4.eps,angle=90,height=3in}
}\end{figure}

Buffer Operations

  Whenever you press F18 while you are in Prepare Mode you arrive at a level that allows you to make the same changes to all buffers at once, or copy one buffer into another, reset a buffer to its default values, etc. Assume you want to have all buffers contain a temperature value of 77 K. Instead of repeating the procedure mentioned above for each buffer, select Buffer Oper by pressing F18, then simply type T= 77, hit RETURN and observe the temp fields in the menu. 77.0 appears in all buffers. To get a list of all the commands in this mode type HELP at the Command > prompt. The commands and their syntax are listed below as well.
SYNTAX: field = value
recognized fields: An AnF In (M3 for BT4) (Sn SnF for NG7) (angles)
A AA B BB C CC (Lattice Params)
EC ES EFT FE
HC HS KC KS LC LS
COM MON MPF MT PTS
T IT TW TH TER HF
RESET n1[-n2] (Reset to default values)
COPY n1[-n2],m (n1 to n2 into m, m+1, ...)

Separate multiple instructions by commas. When done with all parameters return to the previous screen by pressing F20.

In Control Mode, the commands DRQn or DRIn will display the angles as they are used during the execution of buffer n. Angle limit checks are performed during these Dry Run commands so that the user can check for obvious errors.

Define Sequence

  Once you have edited all the buffers you need, you can define a sequence of commands by pressing F19. Most of the commands from Appendix A can be entered. Nevertheless, be careful because your input is not fed to the parser and therefore not checked for typing errors and invalid commands. It would be a shame to stop a experiment in the middle of the night due to a misspelled command. To start with an empty list, delete the sequence by typing DEL. The lines above the RS= should immediately reflect that command by saying: Defined Sequence: NONE. Now enter the commands as you want to have them executed. Use a semicolon to separate commands. The screen is updated every time you hit RETURN. Should you have a number of buffers to execute more than once, i.e.,three times RI1, RI2, RI3, RI8, you can type 3(RI1-3;RI8), and everything within the parenthesis will be repeated three times. Note that multiple run commands like RI1-3 appear unfolded in the command sequence. When finished, press F20 and you return to the previous screen (see Figure 2). You can also define a sequence in Control Mode, but there you won't see the buffers as a guide in the upper half. Type RS= 'command'; 'command', ...then hit RETURN. To have a look at the defined sequence type PRS and hit RETURN.

A more powerful and flexible way to automate running the instrument is to set up a command sequence file within Control Mode. Just type EDIT <filename-of-your-choice> and hit RETURN. You will find yourself in the VMS full screen editor (see Appendix D) where you can enter your commands; type C and hit RETURN to obtain the full screen option. Here is an example of a command file:

st=200;hold=15*;pt
!Change temperature to 200K
bufop q1-10 t=200
rq1
ap 3,4,0.05,-1,0.02
vlat=a
apt 4,4,0.1,-1,6.0
bufop q1-10 a=vlat
rq2-10

This command sequence changes the temperature to 200K, holds for 15 minutes, prints the temperature, changes the temperature parameter in the first ten qbuffers to 200K, moves the spectrometer to the (6,0,0) Bragg peak stored in buffer number 1, aligns the sample (motor #3) with the ap command, changes the lattice parameter based on the new observed scattering angle with the apt command, changes the $a$ lattice parameter in the first ten buffers, and then executes the q-scans 2-10 of interest. Note that multiple commands may be placed on each line if they are separated by a semicolon. Lines beginning with an exclamation point are ignored. The command file may contain only commands in the ''expanded format'' in which run sequences are normally stored; 4(RI1,RI7) is not acceptable.

ICP uses a ``*'' in the command file (here just after the ``hold'' command) to indicate the program's present position in the command sequence. The * can be moved either to skip a command, or to re-execute a command, and of course commands can be edited, deleted or added. To finish with the editor and return to Control Mode in ICP, use Ctrl-Z and then type EXIT. After the editor is exited the new, revised command sequence file will be the active one (with a higher version number). You should be certain that ICP does not need to access the command sequence while you are editing it; otherwise the ``*'' will be in the wrong position in the revised file as compared to the original, unedited command file, which is the active file until the editor is exited. It is of course the user's responsibility to assure that the commands are correct in the command file, and that they will do what you intend. The command DRSF <filename> will check for obvious syntax errors in the command file, so that you can check for typos.

RSF <filename> will cause ICP to execute the command file specified by filename. This can only be executed from the privileged ICP terminal. After the command sequence is running, the file can be edited by logging in from any non-privileged terminal, either from another x-window on the PC, or in fact from anywhere in the world over the network. The sequence file can be edited directly from the VMS prompt by invoking the editor, or from within a non-privileged version of ICP. The buffers can also be edited from within a non-privileged version of ICP; ICP only reads a buffer at the time that the buffer is actually to be executed. This gives the user a lot of flexibility to adjust the experiment as it progresses.

A community directory stores some of the commonly used command sequence files on each instrument. If icp cannot locate the <filename> specified by the RSF <filename> command in the local directory, it will automatically search for this file in the community directory. If found, icp copies the community file to the local directory and executes it there. RSF/C <filename> will cause icp to immediately copy the file from the community directory without first searching for a local file. Any local file of the same name will be overwritten by the RSF/C command.

A command sequence file may reference another command sequence file by employing the INCLUDE <filename> command. As it executes the original sequence file, icp will temporary replace the INCLUDE command by the contents of the file specified. Once these newly inserted commands have been completely executed, icp will take them back out and restore the original INCLUDE command. If the filname specified is not found in the local directory, icp will take it from the community directory. INCLUDE/C causes the file in the community directory to take precedence over any local file of the same name. The local file is not overwritten by the INCLUDE/C command.

The commands SAY and CONFIRM are designed to be used in command sequence files to allow some coordination between command file execution and any manual tasks that must be accomplished at certain points during this execution. They enable the command file to print a message to the screen and then suspend exection until the user has indicated by typing a response that execution can either be resumed or aborted.

Automonitor & Howlong

 

Automonitor is another utility you can access when editing a buffer, see Fig. 4. It will determine the monitor rate, then calculate the monitor allowed for each point in order to have the run finished at a given time. Although this utility is available for more than the const-increment buffers, the results in these cases could be considerably off if the incident energy changes during a scan. To use the AUTOMON utility,move the cursor to the AUTOMON field and hit RETURN. Now, the only information you have to provide is the number of days (i.e., how many times the date changes) that the particular buffer should run and the time on the last day the run should finish, (see Figure 5).

  
Figure 5: The Automonitor screen.
\begin{figure}
 \centerline{
\epsfig {figure=scr5.eps,angle=90,height=3in}
}\end{figure}

Based on the current time, the requested end-time, the number of points to be measured and the actual monitor rate, the program will calculate the appropriate monitor. In order to estimate the monitor rate, the program must be able to issue a count command. Therefore, you can access this feature only from privileged lines, i.e., not from remote terminals. As an example, suppose it is 11:00 a.m. and you want your scan to run until 9:00 a.m. tomorrow morning, i.e., you want it run for 22 hours. The number of days is 1 and the time is 09:00.

The ``howlong'' command can be used to estimate the time it will take to execute a series of commands. For example, howlong q2-5 will calculate the time to execute each of the q buffers numbered 2 to 5, including temperature and field holds, and the total time. For a command file sequence, one types howlong/f myruns.com. The command howlong/rs will give an estimation of the time required to execute the currently defined run sequence. The command mrat/s should be executed before the howlong command so the that correct monitor rate is stored in the computer.

For variable incident energy scans the time estimate is adjusted for the variation of the monitor rate with angle #2.

Control Mode

 

Selecting the Control Mode item in the main menu or pressing F17 in Prepare Mode brings you in the control mode, which is indicated by the prompt *. In this mode you have control over the instrument. This is the place to issue count or drive commands as well as to set the temperature and start a run. For a complete list of the allowed commands refer to the Appendix. ICP also provides online help; just type HELP for the complete command list or type HELP 'command' for help on a particular command. A possible screen is shown in Fig. 6. The "PZ" command prints the zeropoints for all motors served by the instrument.


  
Figure 6: The screen in Control Mode.
\begin{figure}
 \centerline{
\epsfig {figure=scr6.eps,angle=90,height=3in}
}\end{figure}

``PI1'' means: print increment buffer 1. The contents of buffer 1, as it was defined in the Prepare Mode, is printed. You are not restricted to uppercase commands; ICP will accept upper and lowercase characters.

The status line is important since it displays the status of some program controlling flags. Here is the list of these flags and their meaning, from left to right:

S
This flag tells you whether the statistics check is enabled or not. If S+ and the prefactor > 3 the program will check the intensity data for statistical consistency. Statistic checks are not performed on area or position sensitive detector data.

T
Temperature control. If set to T+ and a temperature controller is connected, you are able to change and/or monitor temperature during scans. The command tdev will automatically be called up if T+ is entered without first using tdev to declare a temperature device. T# indicates that the option to use a database curve was selected in tdev. T* indicates that the "careful-approach" algorithm will be used.

H
Magnetic field control. If set to H+ and a magnet controller is connected, you are able to change and/or monitor field during scans.

P
Denotes polarized (P+) or unpolarized (P-) beam. Effective on BT-2, NG-1, NG-5, and NG-7.

SUPER
Denotes that ICP is running in the SUPER privileged mode. This mode is the only state in which a few very special commands can be executed in ICP.

W
The W stands for Write Log. If W+ the screen output is written to a file whose name is formed by the date. The file type is .log. If W- the screen output is sent to the terminal only. (Data that is already stored in a file when a buffer or find-peak is executed is not included in the log file.)

F
F+/- denotes use or not of focusing motors on NG-5.

R
R+/- denotes whether a specified motor will be rocked during counting when a buffer is executed on BT-1.

A
A+/- indicates use or nonuse of area sensitive detector on NG-5. A* indicates that raw ASD data are being kept. (Note: raw ASD data files are quite large and are automatically deleted on NG-5 after 7 days. They are of file type .ASD.) On BT-1, A+ indicates that the automatic specification of scan ranges for motor 4 according to monochromator type is in effect. In this case, the starting position and increments for motor 4 are automatically filled in when an increment buffer is selected for editing. A- denotes that this feature is disabled.

L
L+/- denotes use or not of position sensitive detector on BT-8, NG-1, NG-5, and NG-7. L* on NG-7 indicates that a built-in wait between points for liquid samples to stabilize is also in effect.

PGAA
PGAA+ indicates synchronization with PGAA on NG-7.

F:
F: is followed by a list of the motors that are currently "fixed" on the instrument. A fixed motor is not moved by a buffer execution. It may, however, be moved with a drive command. The command PFIX will print out a list of the fixed motor(s) at any time.

To change the status of one of these flags, type the flag character followed by a plus (+) or a minus (-) sign.

From Control Mode, hit F17 to switch back to Prepare Mode. If you came from that mode you could also hit F20 and ``return'' from whence you came. F20 will always bring you back to the point from which you came.

Motors and Angles

  The most important aspect to know here is the angle numbering convention. Starting from the monochromator and working out to the detector the following scheme applies to most instruments regardless of whether or not the motor exists on that instrument:

 
Figure 6: The screen in Control Mode.
Motor Description Assigned No.
$\theta$-Monochromator 1
2$\theta$-Monochromator 2
Sample table: 3
Scattering Angle: 4
$\theta$-Analyzer 5
2$\theta$-Analyzer 6

Additional motors, such as focussing motors, apertures, goniometer arcs, etc, are also defined, but the numbering scheme varies with the instrument.

There are two bases for talking about angles; they are: software and hardware angles, which differ by a zeropoint correction. The relation is the following:

hardware angle = software angle + zero-point.

When you are talking physics (Bragg angle, scattering angle) you are talking software angles. However a sample angle of 45 degrees could be considered as 135 degrees on the hardware side. The reason you have to know both angles is the motor controller display. It will always show hardware angles, but as a user you always provide software angles. So, do not be surprised if the motor controller display does not necessarily reflect the number you have given in a motor-moving command. It should also be noted that the zero adjustment for the monochromator motors on BT-4 may be a linear function of the motor's current position. When this function is to be employed, the zeropoint value is set to -99. to indicate this special condition. The zero adjustment of a motor can be changed by Zn = f (e.g., z2=-0.875).

A brief summary of the commands to control motor movement and positions follows. See the Appendix A for more details. (Angles are always software angles.)

Dn
Absolute Drive: D4=56.5 Drive angle no. 4 to 56.5 degrees.
DnI
Incremental Drive: D4I=2.75 Drive angle no. 4 2.75 degrees further than it is now.

DnT
2:1 Drive: D4T=41.0 Drives angle no. 4 to 41.0 degrees and angle no. 3 to A(3) + (41.0 - A(4))/2.

DQ
Drive to Q: DQ=1.,0.,0.,5.0 Drive angles 3 and 4 to Q = (100) and an energy transfer of 100 meV, as determined by values in the most recently executed q-buffer or Bragg buffer. If no q-buffer has been executed, the parameters default to the powder setting: a = 2, b = 2, c = 2, $\alpha$= 90.0, $\beta$= 90.0, and $\gamma$ = 90.0, with orientation vectors (100) and (001).

FIXn
Keep an angle fixed: FIX2 or FIXD (D for drum) will prevent the monochromator from moving during a buffer execution. FIX3 will fix the sample table and FIX5 or FIXA will keep the analyzer crystal from moving. The FIXn command will NOT prevent you from manually driving that angle, e.g., with a Dn = command.

PDEA
= <energy> calculates angles 5 & 6 and prints them.

PDEM
= <energy> calculates angles 1 & 2 and prints them.

RELn
Release a fixed angle.

SETn
Change the zeropoint: SET3=134.697 Change the zero-point of angle no. 3 in such a way that the software angle of the current position reads 134.697.

SETDEA
= <energy> sets angles 5 & 6 to correspond to the requested energy

SETDEM
= <energy> sets angles 1 & 2 to correspond to the requested energy

INIn
Initialize an angle: INI5=134.697. Make the motor controller believe that the hardware angle of the current position reads 134.697. This command should only be used when aligning the instrument.

DS & SL
Drive slit motor(s) on NG7.

NEXT
Move sample to next position on BT1.

HOME
Drives certain motors to a special position on some instruments.

XCAL
Calibrate a motor on the XRAY instruments.

DEM & DEA
Drive the monochromator or analyzer to the energy specified. PDEM, PDEA, SETDEM, and SETDEA are related to these commands.

Whenever a drive command is issued, the target angle is checked for hardware angle limits. If the target hardware angle is above or below the current hardware limits the drive will be refused. The lower and upper limits can be changed by Ln = f and Un = f respectively, with n as the angle number and f the hardware value for the limit.

It is possible to check the current position by issuing a print command:

PSA
Print software angles. This command will print the software value of all angles served by the instrument.

PHA
Print hardware angles. This command will print the hardware value of all angles served by the instrument. The values printed here must coincide with the motor controller displays.

PA
Print software and hardware angles.

PL
Print lower limits.

PU
Print upper limits.

PZ
Print zero adjustment values.

PMP
Print motor parameters for angle no. n.

All the commands described above require a privileged terminal, e.g., you cannot access motors from your office.

Counting

 

To issue a count command from Control Mode use:

CT=f Count: depending on the sign of f count will select the base.

f < 0 issue count with time for f seconds.

f > 0 issue count with monitor preset to f (no prefactors here).

CO is a synonym for CT.

After the count has completed, the intensity or intensities will be printed on the terminal. That data cannot be stored in a file.

To find out the monitor rate use:

MRAT=f
The time parameter f is optional and defaults to 5 seconds.
MRAT/S=f
Perform an MRAT and save results for use with HOWLONG commands.

Temperature and Magnetic Field Control

 

Temperature & Field Control Device Configuration

All supported configurations for cryogenic and furnace controllers as well as the superconducting magnets are now predefined and the user selects one from the displayed lists. The selected configuration is volatile i.e., ICP does not remember it if the program is exited and then started again. The current temperature and/or magnetic control device must be redeclared every time ICP is restarted. No access to these devices is possible until the TDEV (for temperature) and HDEV (for magnetic field) commands have been executed. If a device is changed without exiting ICP, the appropriate command must be reentered. To find out about the current settings type PTD and/or PHD and ICP will print out the currently used configuration. To use a temperature controller in any way, the T+ flag must also be set. To use a magnetic field controller in any way, the H+ flag must be set.

Commands:

TDEV
select a temperature device from a predefined list. The device should be connected as TDEV will initialize it as necessary.

HDEV
select a magnet control device from a predefined list. The device should be connected to the RS232 cable on the instrument and HDEV will initialize it as necessary. A conversion constant must be specified in HDEV which defines the units in which field values are entered and returned. Often the user will want to specify the gauss/amps value for the particular controller to be used. (A value of 1 will cause no conversion and field will be defined in amps.)

PTD
print the current temperature device configuration.

PHD
print the current magnetic field control device configuration.

XDT
lists the possible calibration curves in the current Lakeshore temperature controller and the dip switch settings to select a particular curve. It also tells you which curves are suitable for which cryostat.

Temperature & Magnetic Field control in buffers

Temperature and Field scans are easy to do in ICP. But remember, the T flag must be set to T+ before a buffer is executed, or the temperature fields in the buffer are ignored. For Magnetic Field monitoring or control, the H flag must be set to H+. Since the temperature and field are treated almost like angles in the buffers, a scan on one of these parameters can be considered as a constant increment scan.

For the experimenter's convenience several fields are provided in the buffers for controlling the temperature. See Figure 2 or Figure 4. There is the temperature-start field marking the starting point of a temperature scan or just a fixed temperature at which the buffer should run. It should be noted that a value of 0 for this field is a special flag to ICP. The temperature is not set or changed during a buffer execution if this ``temperature start'' field is set to 0. The temperature-increment field is used to specify the amount the temperature is to be changed at each point. If this value is zero, the temperature is set to the ``temperature start'' value at the beginning of the buffer execution and not changed again for the remainder of the buffer. The Wait and the Err field are useful in determining how long to wait for the temperature to reach its new target. Every time the temperature is changed, the system will pause the data acquisition until either the temperature is within the error specified by the Err field or until the wait time exceeds the maximum wait given in the Wait field.

Selecting the FIELD option in the buffers will produce a new screen allowing specification of a Magnetic field starting value, increment value, and wait time to be used in setting or scanning the Magnetic field when the buffer is executed with the H+ flag set. Magnetic field values are entered and returned in whatever units the user selects. A conversion constant must be specified in HDEV.

The two hold fields in each buffer allow the user to define constant wait times to be executed in the buffer's scan. Because these waits are designed to allow the sample environment to stabilize, they will not be executed unless either the T+ flag or the H+ flag is set. The Hld0 field indicates how long the system is to be paused once and only once at the very beginning of a scan (after the temperature and/or field have been set to their initial values). This feature is useful when running scans at a constant but different temperature, enabling the newly set temperature to stabilize. The value in the Hld field indicates how long the system should pause at each point in the scan. This pause is needed when the temperature or field increments are non-zero to permit the sample to equilibrate. ICP also supports a HOLD command which can be entered in Control Mode or included in Run Sequences and Run Sequence Files to cause a HOLD between buffers. Once the system goes into a wait state a ***HOLD*** message is shown in the status line: the HOLD can be terminated by hitting CTRL-A (once and only once).

In order to get a temperature reading every time intensity data are written, set the temperature flag to T+. Remember, the temperature fields in the parameter buffers also become active when this flag is set to T+ unless the Starting Temp Field is zero.

Setting the H flag to H+ will enable the Magnetic Field parameters defined in the buffer to be activated. However, the field is only included for each point in the data file if it is changing (ie: the field increment is not equal to zero). This field value at each point is only actually read back from the controller for some types of devices.

Temperature & Magnetic Field control from Control Mode

The temperature and magnetic field can be read and changed from Control Mode using the commands listed below. TDEV must be executed and the T+ flag must be set for temperature. HDEV must be executed and the H+ flag must be set for access to the magnetic field controller.

PT
Read and Print the Current Temperature. If no temperature controller is connected, 0 is returned after a time out.

ST
Set Temperature: ST=15.5 sets the temperature set point to 15.5 K.

PHF
Read and Print the current magnetic field. This command is only implemented for some magnet controllers.

SM
Set Magnetic Field: SM[=]f: Set the superconducting magnet to f units, where units are defined in HDEV. The value supplied will be divided by the conversion constant supplied in HDEV before being sent to the controller. Every magnet and controller has a maximum, so caution must be exercised.

SETP0=n1,n2,n3,n4
Set the temperature controller parameters to the given values, where n1 is the gain, n2 the rate, n3 the reset, and n4 the power range on many controllers. See the Appendix A for more details.

SETP1
Set the temperature controller parameters to predefined values for high temperatures: gain= 90, rate= 40, reset= 20, power range= 5.

SETP2
Set the temperature controller parameters to predefined values for low temperatures: gain=40, rate= 20, reset=10, power range= 3.

PTP
Print out the current temperature controller parameters.

Calculator

 

ICP offers an online calculator with the following syntax:

a, + b  ==> a + b       a, - b  ==> a - b

a, x b  ==> a * b       a, / b  ==> a / b

a, ex b ==> a * exp(b)  a, ln b ==> a * ln(b)

a, rt b ==> a * sqrt(b) a, ** b ==> a ** b

a, sn b ==> a * sin(b)  a, as b ==> a * arcsin(b)

a, cs b ==> a * cos(b)  a, ac b ==> a * arccos(b)

a, ta b ==> a * tan(b)  a, at b ==> a * arctan(b)

ang, ds 1       finds d from angle and lambda

d, tt 1         finds angle from d and wavelength

d, fw ang       finds wavelength from d and angle

q, qt 1         finds angle from q and wavelength

ang, tq 1       finds q from angle and wavelength

e, ew           converts energy in [meV] to wavelength in [];
                changes wavelength used in subsequent apt 
                calculations (on all instruments except bt1 & ng7)

l, we           converts wavelength in [] to energy in [meV]
You can use z in place of any number where z is the previous answer.

Additional Features

At the moment, ICP offers some additional features which allow the experimenter to pause or stop the experiment or to enable special features on some of the instruments.

Hold
ICP provides several types of holds which can be specified in a buffer and used when changing the temperature or field during a run (ex: a temperature scan). These holds cause the computer to wait before beginning data acquisition. The first hold common to all buffers is the WAIT field. ICP will wait up to the number of minutes specified in this field for the sample temperature to be within the given error of the setpoint. The wait will be terminated early if the temperature is within this error before the wait time has elapsed. The HLD0 field in each buffer represents the time in minutes icp should wait before the first point is taken, while the HOLD field contains the time to wait before each point. None of these holds are executed unless the temperature or field is changed by the buffer. When icp does go into the hold state, a ***HOLD*** message will appear on the status bar. You can `wake' the system by hitting Control-A which will abort the current hold and start the data-acquisition immediately.

Pause
If for instance you have to close the beam during an experiment, and you want the data-acquisition to pause until the beam is open again, you can make ICP pause itself by pressing Control-P. ICP will collect data for the current point and then pause. This state will be reflected in the status line by ***PAUSE***. To resume, hit Control-A.

Emergency Abort
If you have to stop a motor from moving, a counter from counting, or both together regardless of the circumstances, hit Control-A and the Program returns to the command prompt ('*') in Control Mode. If you do this during data acquisition, your data file will be updated through the previous point.

Finish-Up
If you would like to terminate a buffer execution early but in a normal fashion, type Control-F. This will cause the current point to be finished and the scan terminated.The data file will be updated and control will pass to the next command in the run sequence or run sequence file.

Polarized Beam
With the P flag set to P+, up to four cross sections can be measured at each Q or angle point. This is possible on some instruments only. The intensity data are written to separate files. See Appendix B for more details.

FP
Find peak will scan around the current position and tries to find a peak. If a peak is found, the instrument will position itself on the peak. See Appendix A for a description of the FP command. Note: the ``standard'' FP command may not be included in a run sequence file because it is interactive, but using the ``quiet'' switch (e.g, FP/Q) turns off the interactive part and forces a fit.

FPT
Performs a $\theta-2\theta$ scan and attempts to fit a peak.

AP
The Align Peak commands will scan around the current position and try to find a peak. If a peak is found, the zeros of the motor(s) specified will be reset appropriately. See Appendix A for more details on the AP commands. The AP commands may be included in run sequence files.

APT
The APT command does a $\theta-2\theta$ scan, and returns a new value for the lattice parameter. The AP and APT commands together allow the user to change temperature, for example, and realign your single crystal sample with revised lattice parameters.

Command list

  This section contains an alphabetical list of all the commands of the control mode. ICP will accept numeric input of almost any standard format when a number is part of the command. Multiple commands on the same line are separated by semicolons. When a small n is part of the command, i.e., Dn, n specifies a motor or buffer number.

!
: Comment Line. Lines starting with an exclamation point are ignored.

AP
: Align Peak. Search for peak and Reset angle zero if found.

AP, AM
Search for a peak using counts coming in on the default scaler (AP) or the monitor (AA). If peak found, reset angle zero of motor.
AP motor number, range, stepsize, monitor, tolerance, number of iterations
AA, AS
Search for a peak using monitor counts. If peak found, reset angle zero of motor.
AA motor number,range,stepsize,monitor,tolerance,maxit Å.
APD
Search for a peak using counts coming in to scaler or detector (if L+) specified. If peak found, reset angle zero of motor. APD detector,motor,range,step size,monitor,tolerance Å.

The calling parameters beginning with range are optional in all cases. The defaults taken are: range = 1., stepsize = .1, monitor = -1, tolerance = .05, and max iterations = 5.

The align peak commands can be followed with one or more of the following options: /F = keep a file of the data at each point in the scan /T = monitor and record the temp at each point in the scan /M = fit to a minimum peak AM/F/T motor number,range, step, monitor, tolerance

APT
Search for a peak while executing a 2:1 scan of motor and motor-1. Counts at default scaler are used. The angle zeros of the motors are NOT reset. The lattice parameter, however, is calculated based on the observed diffraction angle, wavelength, and a constant. If the fit was ok during execution of the apt command, icp calculates a new value for this variable vlat. This calculation uses the Fixed Energy value from the most recently executed q or b buffer. (Dry runs and dq commands also effect this most recent Fixed Energy value.) This FE is used in calculating wavelength which is then used in determining the new lattice parameter value. On all instruments except BT1 and NG7, the wavelength value may therefore be changed by APT. The variables v3 and v4 contain the fitted values for the two angles used in the scan.
APT motor number,range,stepsize,monitor, constant

A
+/- Enbl/disable ASD on NG5 or Autorange on BT1.

A+
: Enables the Area Sensitive Detector on NG5. On BT1, the scan range of motor 4 will be automatically set whenever a buffer is opened in the prep mode. The settings used will depend on the current monochromator selection.
A*
: Enable ASD and keep raw data on NG5. The raw ASD data files are very large, of type .ASD, and are automatically deleted after they are 7 days old.
A-
: Disable ASD on NG5 or Disable Autorange on BT1.

BUFOP
[Buffer Operations] - see Appendix C

The syntax is BUFOP [buffer type & number range] [list of operations]

Examples: BUFOP I1-3 TH=5,TER=1 BUFOP Q2 AA=90.

Operations permitted in the BUFOP command can be viewed in the Appendix. Any other commands will cause an error. If ICP discovers an error in any of the operations in a given BUFOP command, none of the changes in the bufop command will be made. Note: DRS will not check the syntax of the BUFOP command other than to verify that the type buffer is provided.

Bye
[Exit ICP]

CS
[Close Shutter] Close Shutter on XRAY machine only.

CO
[Count] or CT

CO
[=]f : f > 0 issue count with monitor preset to f. (prefactor disregarded) f < 0 issue count with time for f seconds.

CT
is a synonym for CO.

COL
[Collimation]

COL[LIM=] c1,c2,c3,c4: COL lets you describe up to four collimations. However, this is for informational purposes only. The collimation data are stored in the data file. To examine previously given collimation data type PC.

D
[Set d spacings]

DA
[=] f: Analyzer d spacing (default is 3.354).

DM
[=] f: Monochromator d spacing (default is 3.354).

DMCU, DACU
: Sets the monochromator/analyzer d spacings to Cu(220), i.e., 1.2780 Å.
DMPG, DAPG
: Sets the monochromator/analyzer d spacing to graphite (002), i.e., 3.35416 Å.
DMPG2, DAPG2
: Sets the monochromator/analyzer d spacing to PG(004), i.e., 1.67708 Å.
DMHS, DAHS
: Sets the monochromator/analyzer d spacing to Heusler Alloy (111) i.e., 3.445 Å.

Dn
Drive Angle n

Dn[=]f : Drive angle n to target angle f. f is the absolute position you want the motor to drive to.

DnH
Drive to Hardware Angle

DnH[=]f : Drive angle n to hardware angle f.

DnI
Incremental Drive

DnI[=]f : Drive angle n to target angle (A(n) + f). f is the increment you want the motor to drive.

DnT
2:1 Drive

DnT[=]f : Drive angle n to target angle f and angle (n-1) to A(n-1) + (f - A(n))/2 ==> n : (n-1) == 2 : 1

This command results in a 2:1 drive. For example, if the current position of angles 3 and 4 are 20 and 60, respectively, the command D4T=80 will drive angle 4 to 80 and angle 3 to 30.

DSn
Drive Slit Motor on NG7

DSn[=]f : Drive slit motor n to angle f.

DnX
Polymers Xray Drive

DnX[=]f : IF n = 3, drive angles 3 and 4.

DE
Drive to Energy

DEA
[=] f: Drive to analyzer energy f (meV). Drives angles 5 & 6.
DEM
[=] f: Drive to monochromator energy f (meV). Drives angles 2 and 1. Also drives 7 and 8 on BT4. Also drives 7 on NG5.
DEFA
[=] f,r: Drive to focusing energy f (meV) on NG5. Or to center f of FA energy. Range of FA energy is r. F+ must be set.

DELRS
delete RUN sequence

DIR
Directory of Buffers

DIRI
: Directory of increment buffers.
DIRQ
: Directory of Q buffers.
DIRB
: Directory of Bragg buffers.
DIRT
: Directory of Trash buffers.
DIRR
: Directory of Refl buffers.
DIRX
: Directory of X buffers.

DQ
Drive to Q

DQ [=] qx, qy, qz, energy: Drive angles 3 and 4 to the given Q. DQ [=] qz, [qx]: Drives to given q-vector on NG7. Default qx = 0.0.

DR
Dry Run

DRIn
: Displays angles used in increment scan.
DRQn
: Displays angles used in Q scan.
DRTn
: Displays angles used in Trash scan on BT4.
DRBn
: Displays angles used in Bragg scan.
DRRn
: Displays angles used in Refl scan.
DRXn
: Displays angles used in Xbuffer scan.
DRX
Mn
: Moves angles as used in Xbuffer scan.

EX
Exit ICP

EDIT
Edit Run Sequence File

EDIT filename: opens new or existing file in EDT full screen editor. Multiple commands on the same line should be separated by semicolon. Lines starting with an exclamation point (!) are ignored. Use Ctrl-z and "EXIT" to leave editor and return to Control Mode.

F
+/- Enable/Disable Focusing Motors on NG5

F+
: Enables Focusing Motors.
F-
: Disables Focusing Motors.

FAMP
: Polarized Beam Only - see Appendix B

FAMP power supply number, current to volt conversion

FCAL
: Flipper Calibrate Polarized Beam only - see Appendix B.

FCAL power supply number, current, energy

FDAD
Set DAD constant for focusing motors on NG5

FDAD [=] new value

FDSA
Set DSA constant for focusing motors on NG5

FDSA [=] new value

FIX
Keep An Angle Fixed during buffer execution

FIXn
: Fixes motor n so that it will not be moved by an executing buffer. WARNING: explicit motor drive commands will still move a "fixed" angle. on NG5. Also fixes 1, 7, and 8 on BT4.
FIXD or FIXM
: Fixes the drum. Angle 2 fixed. Also fixes 1 & 7 on NG5. Also fixes 1, 7, and 8 on BT4.
FIXT or FIXS
: Fixes the sample table. Angle 3 is fixed.
FIXA
: Fixes the analyzer. Angles 5 and 6 are fixed.

To release a fixed angle type RELn (n= motor number or D,A, etc.)

FLA
: turn analyzer flipper on(+) or off (-).

FLM
: turn monochromator flipper on (+) or off (-).

FP
: Find Peak.

FP will scan the given range around the current position for a peak. If a peak is found, a fit can be done, and the scanning motor will drive to the peak position. After the scan, if no peak is found, the motor will return to the initial position. (Example: FP 3, 2, 0.1, -1) Will scan the sample angle 1 around the present position, in steps of 1/10 of a degree, counting 1 sec/pt.

FP n, p2, p3, p4 : Find a peak in the given range.
n = angle no to scan.
p2 = range of scan in degrees, scan center is always the current position.
p3 = step size in degrees.
p4 = monitor for counting ( p4 < 0 => count with time )

variants:

FP
: Search for a peak using counts coming in on the default scaler. If peak found, can find a fit to the peak.
FP motor number, range, stepsize, monitor
FM
: Same as FP except search for a peak using monitor counts.
FM motor number,range,stepsize,monitor
FPT
: Search for a peak while executing a 2:1 scan of motor and motor-1. Counts at default scaler are used.
FPT motor number,range,stepsize,monitor
FPD
: Search for a peak using counts coming into specified scaler or detector (if L+) specified.
FPD detector,motor,range,stepsize,monitor
FPS
: Search for a peak using a sigmoidal curve. Enabled on Polymers XRAY only.
FPS detector,motor,range,stepsize,monitor
FPX
: Search for a peak while executing a special scan of motors designed for the polymers xray instrument. Counts at default scaler are used.
FPX start,range,stepsize,monitor
FP/RM and FP/RA
: Search for a peak using flipping ratio.
FP/RM motor number, range, stepsize, monitor

The calling parameters beginning with range are optional in all cases. The defaults taken are: range = 1., setpsize = .1, monitor = -1.

The find peak commands can be followed with one or more of the following options:

/F
: keep a file of the data at each point in the scan
/A
: archive the file
/M
: fit to a minimum peak
/Q
: ``quiet'' mode. Automatically answers [yes] to the question, ``Do you want to fit?'' The FP/Q command can be used in a command file.
FP/F motor number, range, step, monitor

The FP commands can only handle up to 100 points in the scan range.

H
+/- Enable/Disable Magnet Control and Monitoring

H+
: Enable Magnet Control and/or Monitoring
H-
: Disable Magnet Control and/or Monitoring

The command HDEV will automatically be called up if H+ is entered without first using hdev to declare a magnet control device. No access at all to magnet controller is possible unless H is set to H+. When a buffer is executed with H+ using the Lakeshore magnet controller with the white magnet, the field is read and recorded at the end of each point.

HDEV
Declare and initialize Magnet Controller

The HDEV command will call up a menu of recognized magnet controllers. The controller currently connected to the instrument should be chosen from this list. It will be initialized by hdev and available within control mode and executing buffers for changing and monitoring magnetic field. HDEV must be executed at least once whenever a controller is connected to the instrument. If ICP is exited for any reason, HDEV must be reexecuted. Field cannot be monitored nor set until hdev has been executed.

HELP
Access ICP online HELP

Type HELP for the complete command list or type HELP 'command' for help on a particular command.

HM
Declare Mode of Superconducting Magnet

HM=P
: Magnet will use Persistent Mode (N.B. Make certain the magnet you are using has a persistent mode.)
HM=N
: Magnet will not use Persistent Mode

HOLD
Hold System

HOLD[=] n : Put the system into a hold for n minutes. Can be aborted by pressing Control-A. After the hold the next command will be processed and executed.

HOME
Send motor to Home position

Home motorno +/-

The Home command is only recognized on certain instruments and for certain motors. It sends the motor to the home position in the + or - direction as specified.

HOWIS
Type status file of instrument specified

howis x where x is an instrument. Example, howis bt9.

Used from various UNIX systems to type out current status of instrument.
Syntax: howis x, where x is an instrument. Example: howis bt9

HOWLONG
Estimate execution time of a series of buffers or a command file

howlong q1-3,5,7 estimates the execution time of these q buffers. howlong/f myruns.com estimates the execution time of the run sequence file myruns.com. At present, only R (run buffer) commands and HOLD commands are considered as taking any time in run sequence command files. Each command is evaluated independently. Therefore, the eventual consequences of a bufop command within a command file will not be considered by howlong. howlong/rs will give an estimation of the time required to execute the currently defined run sequence.

The command MRAT/S must be executed on the instrument before the HOWLONG command can be used. MRAT/S stores information needed by HOWLONG. With this information and configuration files created by the instrument responsible, Howlong can take into account the current monitor rate as well as the variation in monitor rate versus monochromator angle (A2) for Q buffers and T buffers. Hold times and wait times specified in the buffers are also included in the time estimates as appropriate.

The outputs from the howlong and howlong/f commands are slightly different. The howlong output gives the execution time of each buffer as well as a running total.The howlong/f command gives the execution time of each command in the file as well as a total execution time for the entire file at the end. A time range is shown when temperature waits could make a difference. T+, H+, or P+ appear on each line where they are assumed to be in effect by howlong. Also a message indicates if the monochromator is not moving in that buffer (whether because motor 2 is fixed or because of a zero angle increment or because of Ei being fixed in a q buffer).

A ``/p'' option has been built into the howlong/f command which will allow one to get a time estimate for only the unexecuted portion of a command file.

INIM
initializes MCU controlled magnet motor to zero

INIT
Initialize Hardware Angle

INITn[=] f Initialize the current position of motor no. n to angle value f. (n integer, f real)

ISCAN[/F]
Scan Spin Flipper Power Supply - see Appendix B

ISCAN power supply number, starting I, I step, final I, monitor.

ISET
Set Power Supply Current - see Appendix B

ISET power supply number, current. or ISET power supply number, current,limit (Kepco power supply: type 3)

IVM
Initialize Virtual Motor Array on BT8

KF
Keithley Fetch command on NG7

L
+/- Enable/disable PSD on NG1, NG7, and BT8

L+
: Enables the Position Sensitive Detector
L*
: Enables PSD with built in wait for liquid samples to stabilize on NG7
L-
: Disable PSD

Ln
Set Lower Limit n

Ln[=] f : Set lower limit of angle n to value f. (n integer, f real)

LOGON
Write Log

Sets W to W+ and causes screen output to be written to a .log file. The filename is formed by the date. (Data that are already stored in a file when a buffer or find-peak is executed are not included in the log file.)

LOGOFF
Do Not Write Log

MONO
Define monochromator on BT1

MONO= p1 where p1 is one of the following allowed strings: CU311, GE311, or SI531

MOS
Mosaic

MOS[=] m1,m2,m3 : MOS lets you describe the mosaic spread of the monochromator, sample, and analyser. However this is for information only. The mosaic data will be printed in the data file. To examine previously given mosaic values type PM.

MP
Set Motor Parameter

MPn[=] p1, p2, p3, p4, p5 : Sets new parameters for motor no n;

p1: Base Rate [pulses/sec]

p2: Ramp [pulses/sec]

p3: Top [pulses/sec]

p4: Backlash [pulses]

p5: Tolerance [pulses]

MRAT
Determine Monitor Rate

MRAT[= [f]]: Determine monitor rate with a time count for f seconds. f defaults to 5 seconds.

MRAT/S
Determine monitor rate and save information needed by howlong command.

The command MRAT/S (s is for save) in ICP will function differently whether it is entered from the privileged (or instrument control) terminal or from anywhere else. When entered from the instrument control terminal, mrat/s causes the counts/sec, motor 2 angle, and current monochromator d-spacing to be saved in common as well as in a file. A request is made for the user to supply a constant overhead per point. All of this information not only becomes the working numbers used in any succeeding ``howlong'' calculations, but is stored in a file and read back in whenever ICP is started on that instrument (from any terminal). This means that the latest mrat/s findings will be available to anyone logging in to that instrument from anywhere. The file contents, however, can only be changed as the result of an mrat/s command being entered at the instrument control terminal. mrat without the /s switch just counts the monitor as usual, and does not update the stored values.

If someone enters mrat/s from any terminal other than the instrument control terminal, they will be given the option of using these values as last stored, or typing in temporary local values to be used in their own howlong calculations.

NEWMONO
Change monochromator on BT1

NEWMONO p1 where p1 is one of the following allowed strings: CU311, GE311, or SI531

NEXT
Move to next sample position on BT1

NUMX
Define value for NUMX for ASD on NG5

NUMX [=] new value

NUMY
Define value for NUMY for ASD on NG5

NUMY [=] new value

NOSUPER
Remove SUPER privileges

OS
Open Shutter (on XRAY instruments only)

P
+/- Pol/Unpol Beam

P+
: Sets the flag for polarized beam
P-
: Sets the flag for unpolarized beam (default).

PA
Print Software and Hardware Angles

PA Print the software and hardware values of all angles served by the instrument.

PASD
: Print NG5 ASD params: xmin,ymin,xmax,ymax,numx,numy

PASSWORD
Change superuser password. Old password required.

PB
: Print Bragg Buffer

PBn-m: Print Bragg buffer n to m.

PC
Print Collimations

PD
Print Date and Time

PDA
Print Analyzer d Spacing

PDM
Print Monochromator d Spacing

PDEA
Print angles for Analyzer energy specified

PDEA = 13.7 will calculate and print angles of motors 5 and 6 for Analyzer energy 13.7

PDEM
Print angles for Monochromator energy specified

PDEM = 13.7 will calculate and print angles of motors 1 and 2 for Monochromator energy 13.7

PFAMP
: Print power supply FAMP values - see Appendix B.

PFC
: Print spin flipper power supply calibrations - see Appendix B.

PFDAD
: Print NG5 focusing motor param DAD

PFDSA
: Print NG5 focusing motor param DSA

PFIX
: Print list of motors currently fixed

PGAA
+/- Enable/Disable PGAA synchronization on NG7

PHA
: Print Hardware Angles

PHA: Print hardware angles for all motors served by instrument. The values given here should correspond to the controller display.

PHD
Print Current Magnet Control Device

PHF
Print Magnetic Field Reading

PHF: Print field (works only if controller is connected and H+).

PI
: Print Increment Buffer

PIn-m: Print increment buffer n to m.

PL
: Print Lower Limits

PLAT
Print most recent lattice constants: A,B,C as well as FE and WL. These lattice constants were saved during the last dry run or (q or bragg) buffer execution or dq command.

PM
: Print Mosaics

PMONO
Print Monochromator and Collimations on BT1

PMP
Print Motor Parameters

PMPn: Print the motor parameters for motor no. n.

POL
Run Polfig Buffer

POL comfile runs the polfig buffer described in the file comfile

PQ
Print Q Buffers

PQn[-m]: Print Q Buffers n [to m]

PRS
Print Predefined Command Sequence

See under RS how to define and execute a sequence.

PRSF
Print Predefined Command Sequence File

PSA
Print Software Angles

PSA: Print software value of all angles served by instrument.

PSF
Print Scale Factor on NG7

PT
Print Temperature

PT: Print temperature (works only if controller is connected and T+).

PTn
Print T Buffers

PTn[-m]: Print T Buffers n [to m]

PTD
Print Current Temperature Device

PTP
Print Temperature Parameters (Gain,Rate,Reset,Range,etc.)

PU
Print Upper Limits

PUD
Power Down Goniometer on XRAY Instruments

PUP
Power Up Goniometer on XRAY Instruments

PV
Print Values of Global Variables

PVER
Print Default Run Number

PVMC
Print Virtual Motor Coefficients on BT8

PW
Print Wavelength

PWIN
Print Intensity Window Range

PZ
Print Zero-points

PZC
Print Coefficients for Linear Zero Adjustments on BT4 motors

Q
+/- Enable/disable wait at each point on NG7. Defocus condition on NG5.

QUIT
[Exit ICP]

R
+/- Enable/disable Rocking of Motor during buffer execution on BT1

R+
: Enables Rocking of motor while counting during buffer execution on BT1. The motor number and rocking angle range will be requested.
R-
: Motor Rocking while counting is disabled.

RA
Measure Analyzer Flipper Ratio

RA monitor: measure analyzer flipping ratio with flipper off, then on (monitor < 0 => time in seconds).

RB
Run Bragg Buffer

RBn[-m]: Execute Bragg buffer n [to m]. RB/NFn[-m]: No File Option for RB command. No data files created.

REL
Release A Fixed Angle

RELn
: Releases angle n.
RELM, RELD
: Releases angle 2 (monochromator drum) (Also angles 1 and 7 on NG5.)
RELT, RELS
: Releases the sample table (= angle 3).
RELA
: Releases angles 5 and 6 (analyzer drum).

RF
Measure Both Analyzer and Monochromator Flipper Ratios

RF monitor: measure flipping ratios with both flippers off for monitor/10., then only monochromator flippers on for monitor, and finally only analyzer flippers on for monitor. (If monitor < 0 => count for time in seconds).

RI
Run Increment Buffer

RIn[-m]: Execute increment buffer n [to m]. RI/NFn[-m]: No File Option for RI command. No data files created.

RM
measure monochromator flipping ratio

RM monitor: measure monochromator flipping ratio with flipper off, then on (monitor < 0 => time in seconds)

ROCK
: Scan given motor around the current angle.

ROCK motor number, angle range, stepsize, monitor

The calling parameters beginning with range are optional. The defaults taken are: range = 1., setpsize = .1, monitor = -1. (Monitor < 0 indicates time in seconds.)

The rock command can be modified with /F to keep a file of the data at each point in the scan, or with /A to archive the scan:
ROCK/F motor number, angle range, stepsize, monitor

When the option /X is used, rock finishes the scan and then drives the motor to the position at which the maximum number of counts were found. It then compares the new position of the motor with the position it was at when the scan was first started (ie: the center of the scan). If the difference in the positions is greater than the tolerance specified, rock/x will change the zero of the angle so that the software angle of the motor reads the same before and after the rock/x even though the hardware angle may be different.

The syntax is: ROCK/X/F motor number, angle range, stepsize, monitor, tolerance

ROCKH
: Scan Magnetic Field around specified field.

ROCKH center of field,field range, stepsize, monitor

The calling parameters beginning with range are optional. The defaults taken are: range = 1., setpsize = .1, monitor = -1. (Monitor < 0 indicates time in seconds.)

The rockh command can be modified with /F to keep a file of the data at each point in the scan. ROCKH/F center of field,field range, stepsize, monitor

RS
Execute Defined Sequence

RS= ``command'';``command'' : Defines a command sequence. These commands are ``stored'' in a file. Another way of defining this sequence is to go into prepare mode and select option F19 (define sequence). Be Careful: The commands you enter here are not checked for validity!!

RS : Executes all commands in your command sequence

RQ
Run const-Q Buffer

RQn[-m] : Execute const-Q buffer n [ to m]. RQ/NFn[-m]: No File Option for RQ command. No data files created.

RR
Run Reflectometer Buffer

RRn[-m] : Execute reflect buffer n [ to m]. RR/NFn[-m]: No File Option for RR command. No data files created.

RTn
Run Trash buffer

RTn[-m] Execute trash buffers n [ to m ]. RT/NFn[-m]: No File Option for RT command. No data files created.

RX
Run X Buffer

RXn[-m] : Execute X buffer n [ to m]. RX/NFn[-m]: No File Option for RX command. No data files created.

S
+/- Enbl/disable Statistical checking

S+
: Enables the statistics check in your data acquisition If prefactor is greater than 3 and counts are greater than 10, each prefactor will be checked for statistical consistency. May not be used with Area or Position Sensitive Detectors.
S-
: Statistics check is disabled.

SET
Change Zero-point

SET n[=] f: Change the zero-point in such a way that the current position equals to f. (n integer, f real) f is usually a calculated angle

SETDEA
Reset Angle Zeros for Analyzer energy specified

SETDEA = <value> will change the motor zeros of angles 5 and 6 so that the current motor positions will correspond to the analyzer energy value given.

SETDEM
Reset Angle Zeros for Monochromator energy specified

SETDEM = <value> will change the motor zeros of angles 1 and 2 so that the current motor positions will correspond to the mono energy value given.

SETP
Set-up Temp Controller parameters
SETP0
[=] p1, p2, p3, p4 : Set controller params to values given for LR400 & LR700: p1: Range, p2: Excitation for LK330 & LK340: p1: Gain, p2: Rate, p3: Reset, p4: Range for others: p1: Gain, p2: Rate, p3: Reset, p4: Power for LK340 autotune: set p1 to < 0 to indicate autotune gain only set each param to < 0 to autotune that param

SETP1
: Set temperature controller parameters for high temperatures:

Gain= 90; Rate= 40; Reset= 20; Power Range= 5;

SETP2
: Set temperature controller parameters for low temperatures:

Gain= 40; Rate= 20; Reset= 10; Power Range= 3

SF
: Set NG7 scale factor

SF[=] new value

SL
: Drive NG7 slit motors to positions specified

SL[=] pos1,pos2,pos3,pos4

SM
Set Magnet

SM = -f : Sets superconducting magnet to f Tesla using appropriate waits SM = -f, waitval : Sets magnet to f Tesla using waitval in algorithm

STATUS
Prints status of ICP

ST
Set Temperature

ST[=] f : Set the temperature setpoint to f. ST[=] f,error, wait : Use only when "careful approach" option selected. Defaults for error and wait are 10

STAT
: Type out current status

SUPER
: Become Super User. Password required.

T+/-
Enable/disable Temp Control

T+
: Enables the temperature control. With this feature enabled you get a temperature reading every time a point is finished during buffer execution. In order to access the temperature controller at all, T must be set to T+. If TDEV has not already been executed, it is called automatically by T+.
T-
: Disables the temperature control. No access to temperature controller when T is set to T-.

TC+/-
Enable/disable use of "Careful Approach" in Temp Control

TDEV
Declare and initialize Temperature Controller

The TDEV command will call up a menu of recognized temp controllers. The controller currently connected to the instrument should be chosen from this list. It will be initialized by TDEV and available within control mode and executing buffers for changing and monitoring temperature. TDEV must be executed at least once whenever a controller is connected to the instrument. If ICP is exited for any reason, TDEV must be reexecuted. Temperature cannot be monitored or set until TDEV has been executed.

Un
Set Upper Limit n

Un[=] f : Set upper limit of angle n to value f. (n integer, f real)

V
+/- Enable/disable additional file with angle positions for q-buffer.

VER
Set lower limit for the data file version.

Ver= n

VERF
Print Coll, Mos, Wl

VERF : Prints the collimation, mosaic and wavelength.

VLAT
Set Value of Variable VLAT

VLAT = char : where char is either a, b, or c. Set value of vlat to saved value of lattice constant a, b, or c to provide a default value for APT command output. See PLAT and APT.

VSET
Set Power supply voltage - see Appendix B

VSET Power supply number, voltage [,limit only if Kepco]

W
+/- Enable/disable Writing Log File on disk

See LOGON and LOGOFF.

Wl
Wavelength

Wl[=] f : change the current wavelength. The wavelength is used for calculational purposes in the APT command. It will be printed in the data file. To examine previously given wavelength data type PW.

XCAL
Calibrate motor specified on XRAY instruments

XCAL motorno

XDT
: XDT lists the possible calibration curves in the current Lakeshore temperature controller and the dip switch settings to select a particular curve. It also tells you which curves are suitable for which cryostat.

XMAX
Define value for XMAX for ASD on NG5

XMAX [=] new value

XMIN
Define value for XMIN for ASD on NG5

XMIN [=] new value

YMAX
Define value for YMAX for ASD on NG5

YMAX [=] new value

YMIN
Define value for YMIN for ASD on NG5

YMIN [=] new value

Zn
Set Zero-point n

Zn= f : Set zero-point of angle n to value f. (n integer, f real)

Polarized Beam Operation

 

(BT-2, NG1, NG5, and NG7 only)

To run in polarized beam mode the P flag must be turned on (by typing P+ in Control Mode). The currents for the flipper can be scanned and calibrated in Control Mode, while the various polarization cross sections can be selected or deselected from the "POLA" submenu when setting up the buffers.

The flippers used at the polarized beam instruments each have three magnetic fields produced by separate direct currents: the horizontal field (HF), the compensating field (CF), and the guide field (GF). All the power supplies operate in constant-current mode. The HF and CF are computer controlled; both are on when the flipper is on and both are off when the flipper is off. The HF and CF power supplies should only be controlled by computer; do not operate the controls by hand. The GF can only be changed by hand and should not be changed once you are in a particular experimental configuration. The various fields are controlled by the power supplies as numbered in the table below. Typical currents are in the range of 1 to 2 A for BT2 at 14.8 meV, and around 2 A for NG1.

Power Supplies no. 1 & 2 for the horizontal field-compensating field of the Monochromator. Power Supplies No. 3 & 4 for the Analyzer.

Control Mode

  The flippers need to be tuned for each new experimental configuration. This is done using the ISCAN command, which scans the current while monitoring the counting rate. The tuning procedure is:

1.
Turn the flipper on (see FL below).
2.
Scan CF using ISCAN. At the end of the scan, you are offered the option of setting the fitted extremum value as the flipper calibration value. Do so.

3.
Scan HF using ISCAN. At the end of the scan, you are offered the option of setting the fitted extremum value as the flipper calibration value. Do so.

4.
Repeat steps 2 and 3 until the best flipping ratio is achieved.

ISCAN/F
[power supply current (I) SCAN with optional file write] ISCAN ps No., Istart, Istep, Ifinal, n
Example: SPMquotISCAN 1,0.,0.1,2.,-2"
will scan power supply 1 (horizontal field on monochromator flipper) from 0 A to 2 A every 0.1 A for 2 seconds. This scan is fit to a cosine function to determine the extremum. You are offered the option of changing the field calibration (see FCAL, below) to the fitted extremum value.

FCAL
Flipper Calibrate

FCAL ps No., current, energy

Sets the HF flipping current (in amps) required for a particular energy (in meV). For BT-2 and NG5, the HF current required for flipping is then set appropriately for variable energies, since this current is proportional to neutron velocity. This setting is non-volatile.

PFC
[Print Flipper Calibrations]

Prints the flipping current and energy for which it is defined for each power supply.

ISET
current (I) SET

ISET ps No., current ISET ps No., current, limit (for Kepco power supply: type=3)

Sets power supply current to the specified value.

FLM,FLA
Turn Monochromator/Analyzer Flipper on(+)/off().

RM, RA, RF
[=][-]n

Measure flipping ratio of monochromator (M) or analyzer (A) or both (F) by time (n) or monitor (n); flipping ratio is counts with flipper off divided by counts with flipper on.

Prepare Mode

  The desired cross sections can be selected from the "POLA" submenu in each buffer. Place the cursor on the "POLA" field while editing a buffer and press "RETURN," a window with the all the cross sections will appear. Move to a particular cross section with the up or down arrows and toggle the setting by pressing the space bar. Press "F20" to exit the submenu.

The data for each cross section are stored in separate files, each of which has the same 8 character body, e.g. AAAAAnnn, but a different extension than the unpolarized data files Byn or Nyn (where y is given in the table below and n = 2 for BT2 and 5 for NG5).

y (in Byn)Mono. flipperAna. Flipper A(off-off) B(on-off) C(off-on) D(on-on)

The files are transferred to JAZZ for analysis by the command fetchp, which is used on JAZZ and works in the same way as the unpolarized fetch command.

Commands required ONLY for use by the instrument-responsible:

These commands should only be used if there is an equipment failure and a new D/A converter is installed or a different power supply is used.

To control the Kepco power supplies, the VAX sends commands over the IEEE-488 bus instructing the Kepco D/A to put out a certain programming voltage between 0 and 1 V. This programming voltage determines the current from the Kepco power supplies. The following procedure is used to establish the proportionality between the D/A voltage and the current.

SET
ps, 0 [sets ps to 0.] Manually adjust both programming voltage and power supply current so that logical zero is physical zero.

VSET
ps, 0.999 [sets ps to current corresponding to 1 V programming voltage] The maximum current possible is determined by setting the programming voltage to its 1 V maximum. This current is then used in the next step (about 6 A for the Kepco power supplies.)

FAMP
ps, max-current

VSET
Voltage SET

VSET ps No., voltage

Sets D/A programming voltage to specified value.

FAMP
Full AMPs

FAMP ps No., current

Sets the proportionality between current and programming voltage.

Bufop Command

  Operations permitted in the BUFOP command (m refers to motor number):

Ibuffer Qbuffer Tbuffer Bbuffer Rbuffer
  A= lattice   A= lattice  
  AA= lattice   AA= lattice  
An=90.        
AnF=180.        
  B= lattice   B= lattice  
  BB= lattice   BB= lattice  
  C= lattice   C= lattice  
  CC= lattice   CC= lattice  
  EC= e-center EC= e-center    
  ES= e-step ES= e-step    
  EFT=a or m      
  FE= e-field FE= e-field FE= e-field  
  HC= h-center   hc= h-center  
  HS= h-step      
H0= hold0 H0= hold0 H0= hold0 H0= hold0 H0= hold0
HF= h-field HF= h-field HF= h-field HF= h-field HF= h -field
HFW= hfwait HFW= hfwait HFW= hfwait HFW= hfwait HFW= hfwait
HOLD= hold HOLD= hold HOLD= hold HOLD= hold HOLD= hold
IHF= inc-hf IHF= inc-hf IHF= inc-hf IHF= inc-hf IHF= inc-hf
IT= inc-T IT= inc-t IT= inc-t IT= inc-t IT= inc-t
In= inc-angle        
  KC= k-center   KC= k-center  
  KS= k-step      
  LC= l-center   LC= l-center  
  LS= l-step      
MON= monitor MON= monitor MON= monitor MON= monitor  
MPF= pref MPF= pref MPF= pref MPF= pref  
MT= n or t MT= n or t MT= n or t MT= n or t  
    M3= n or y (BT4)    
PTS= points PTS= points PTS= points    
T= temp T= temp T= temp T= temp T= temp
TW= t-wait TW= t-wait TW= t-wait TW= t-wait TW= t-wait
TER= t-err TER= t-err TER= t-err TER= t-err TER= t-err

EDIT Command

  The EDIT command within ICP invokes the VMS EDT editor. This editor uses the keypad keys as well as the arrow keys on your keyboard. Pressing the HELP key (which is the key above the 8) in keypad mode will provide a diagram of the keypad functions as well as explanations. Two functions are shown for most of the keypad keys. To select the lower of the two functions of a key, press the GOLD key (upper left corner of the keypad) and then the key itself.


  
Figure 7: The HELP screen in the EDIT mode.
\begin{figure}
 \centerline{
\epsfig {figure=scr7.eps,angle=90,height=3in}
}\end{figure}

Starting the session
To call up the editor within ICP, type EDIT filename and press the RETURN key at the control mode prompt. To begin keypad editing, type the command CHANGE after the asterisk.

HELP
Once you have entered keypad editing mode as described above, press the HELP key which is located immediately above the 8 in the keypad. Once the diagram of the keys is displayed, you may press any keypad key to get a description of the functions of that key.

Ending the session
To end the session and save your edits to a file, press the GOLD function key (upper left corner of the keypad) and the COMMAND function key (the 7 key) and type the command EXIT. To end the session without saving your edits, type QUIT instead of EXIT. The command you type must be terminated by pressing the ENTER key on the keypad.

Inserting Text
To add text to a file, use the arrow keys to position the cursor where the text is to be placed and begin typing.

Deleting Text
Text in a file may be deleted by positioning the cursor immediately after that text and using the DELETE key as necessary. There are also keypad keys for deleting an entire line (upper right corner of the keypad) and deleting a word (the key to the right of the 9).

Searching Text
Press GOLD (upper left corner of keypad) and FIND key (above the 9) on the keypad. Type in the string to look for and then press the ADVANCE key (4) or BACKUP key (5) to specify the direction of the search. To locate an additional occurrence of the string, Use the FNDNXT key (above the 9).

Moving Text
To copy text to the paste buffer, position the cursor at either end of the text to be copied, press the SELECT key (to the right of 0) and then use the arrow keys to highlight the desired text. Finally press the CUT key (6) to move the highlighted text to the paste buffer. To insert the text back into the file, position the cursor immediately before the new position and press GOLD and PASTE (6).

Writing another File
To create a new file containing a selected portion of the text in the current file, use the SELECT key and the arrow keys to highlight the desired text. Then press the GOLD and COMMAND keys and type in the following: WRITE newfilename SELECT then press the ENTER key. The highlighted text will be written to a file with the name you have specified. If you do not include the word SELECT in your WRITE command, the entire file will be written to the new file.

Reading in another File
To include the contents of the text from another file in the file you are currently editing, press the GOLD and COMMAND keys and type in the following: INCLUDE filename then press the ENTER key. The contents of the file specified will appear immediately preceeding the current cursor position.

About this document ...

Data Collection Computers
Instrument Control Program (ICP)

This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 0 -no_math -no_navigation -scalable_fonts icp.

The translation was initiated by Nick Maliszewskyj on 6/22/1999


Nick Maliszewskyj
6/22/1999