NIST Center for Neutron Research
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.
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.)
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:
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.
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.
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:
>
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.
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 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 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).
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.
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.
``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:
>
3 the program will check
the intensity data for statistical consistency. Statistic checks
are not performed on area or position sensitive detector data.
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.
Motor Description | Assigned No. |
-Monochromator | 1 |
2-Monochromator | 2 |
Sample table: | 3 |
Scattering Angle: | 4 |
-Analyzer | 5 |
2-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:
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.)
<
energy>
calculates angles 5 & 6 and prints them.
<
energy>
calculates angles 1 & 2 and prints them.
<
energy>
sets angles 5 & 6 to correspond to the
requested energy
<
energy>
sets angles 1 & 2 to correspond to the
requested energy
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:
All the commands described above require a privileged terminal, e.g., you cannot access motors from your office.
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:
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:
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.
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.
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.
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.
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
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.
>
0 issue count with monitor preset to f. (prefactor
disregarded) f <
0 issue count with time for f seconds.
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.
Dn[=]f : Drive angle n to target angle f. f is the absolute position you want the motor to drive to.
DnH[=]f : Drive angle n to hardware angle f.
DnI[=]f : Drive angle n to target angle (A(n) + f). f is the increment you want the motor to 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[=]f : Drive slit motor n to angle f.
DnX[=]f : IF n = 3, drive angles 3 and 4.
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.
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.
FAMP power supply number, current to volt conversion
FCAL power supply number, current, energy
FDAD [=] new value
FDSA [=] new value
To release a fixed angle type RELn (n= motor number or D,A, etc.)
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:
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:
FP/Q
command can be used in a command
file.
The FP commands can only handle up to 100 points in the scan range.
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.
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.
Type HELP for the complete command list or type HELP 'command' for help on a particular command.
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 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 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 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.
INITn[=] f Initialize the current position of motor no. n to angle value f. (n integer, f real)
ISCAN power supply number, starting I, I step, final I, monitor.
ISET power supply number, current. or ISET power supply number, current,limit (Kepco power supply: type 3)
Ln[=] f : Set lower limit of angle n to value f. (n integer, f real)
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.)
MONO= p1 where p1 is one of the following allowed strings: CU311, GE311, or SI531
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.
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[= [f]]: Determine monitor rate with a time count for f seconds. f defaults to 5 seconds.
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 p1 where p1 is one of the following allowed strings: CU311, GE311, or SI531
NUMX [=] new value
NUMY [=] new value
PA Print the software and hardware values of all angles served by the instrument.
PBn-m: Print Bragg buffer n to m.
PDEA = 13.7 will calculate and print angles of motors 5 and 6 for Analyzer energy 13.7
PDEM = 13.7 will calculate and print angles of motors 1 and 2 for Monochromator energy 13.7
PHA: Print hardware angles for all motors served by instrument. The values given here should correspond to the controller display.
PHF: Print field (works only if controller is connected and H+).
PIn-m: Print increment buffer n to m.
PMPn: Print the motor parameters for motor no. n.
POL comfile runs the polfig buffer described in the file comfile
PQn[-m]: Print Q Buffers n [to m]
See under RS how to define and execute a sequence.
PSA: Print software value of all angles served by instrument.
PT: Print temperature (works only if controller is connected and T+).
PTn[-m]: Print T Buffers n [to m]
RA monitor: measure analyzer flipping ratio with flipper off, then
on (monitor <
0 =>
time in seconds).
RBn[-m]: Execute Bragg buffer n [to m]. RB/NFn[-m]: No File Option for RB command. No data files created.
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).
RIn[-m]: Execute increment buffer n [to m]. RI/NFn[-m]: No File Option for RI command. No data files created.
RM monitor: measure monochromator flipping ratio with flipper off,
then on (monitor <
0 =>
time in seconds)
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 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= ``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
RQn[-m] : Execute const-Q buffer n [ to m]. RQ/NFn[-m]: No File Option for RQ command. No data files created.
RRn[-m] : Execute reflect buffer n [ to m]. RR/NFn[-m]: No File Option for RR command. No data files created.
RTn[-m] Execute trash buffers n [ to m ]. RT/NFn[-m]: No File Option for RT command. No data files created.
RXn[-m] : Execute X buffer n [ to m]. RX/NFn[-m]: No File Option for RX command. No data files created.
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 = <
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 = <
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.
<
0 to indicate autotune gain only
set each param to <
0 to autotune that param
Gain= 90; Rate= 40; Reset= 20; Power Range= 5;
Gain= 40; Rate= 20; Reset= 10; Power Range= 3
SF[=] new value
SL[=] pos1,pos2,pos3,pos4
SM = -f : Sets superconducting magnet to f Tesla using appropriate waits SM = -f, waitval : Sets magnet to f Tesla using waitval in algorithm
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
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[=] f : Set upper limit of angle n to value f. (n integer, f real)
Ver= n
VERF : Prints the collimation, mosaic and wavelength.
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 Power supply number, voltage [,limit only if Kepco]
See LOGON and LOGOFF.
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 motorno
XMAX [=] new value
XMIN [=] new value
YMAX [=] new value
YMIN [=] new value
Zn= f : Set zero-point of angle n to value f. (n integer, f real)
(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.
SPMquot
ISCAN 1,0.,0.1,2.,-2"
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.
Prints the flipping current and energy for which it is defined for each power supply.
ISET ps No., current ISET ps No., current, limit (for Kepco power supply: type=3)
Sets power supply current to the specified value.
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.
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.
VSET ps No., voltage
Sets D/A programming voltage to specified value.
FAMP ps No., current
Sets the proportionality between current and programming voltage.
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 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.
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