Data Collection Computers
Instrument Control Program (ICP)
NIST Center for Neutron Research
- Getting Started
- Prepare Mode
- Control Mode
- Additional Features
- Command list
- Polarized Beam Operation
- Bufop Command
- EDIT Command
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 ``
>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.,
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.)
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:
- 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.
- 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, or whatever in between.
- 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 ModeOnce 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.
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:
- Press F20 and the buffer will be updated and the program returns to the main screen.
- Press F14 and copy the currently selected buffer into all buffers with a higher number.
- Press F16 and no further changes will be made to the buffer as the program leaves prep mode. (The file is always changed when F17, F18, F19, or F20 are typed. F16 cannot undo any changes to the file resulting from having already hit one of these keys.) F16 should always be used to exit a prep screen that has been open a long time.
- Press F17 and the buffer will be updated and the program returns to the state of Figure 2. From here you could edit another buffer and repeat the whole procedure, select the buffer operations or define a command sequence.
- Press F18 and change some fields in all buffers at once, i.e., the temperature, etc. (see section 3.1).
- Press F19 and define a command sequence (see section 3.2).
Buffer OperationsWhenever 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.
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
>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
>will check for obvious syntax errors in the command file, so that you can check for typos.
>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).
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:
- 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.
- 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.
- Magnetic field control. If set to H+ and a magnet controller is connected, you are able to change and/or monitor field during scans.
- Denotes polarized (P+) or unpolarized (P-) beam. Effective on BT-2, NG-1, NG-5, and NG-7.
- 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.
- 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+/- denotes use or not of focusing motors on NG-5.
- R+/- denotes whether a specified motor will be rocked during counting when a buffer is executed on BT-1.
- 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+/- 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+ indicates synchronization with PGAA on NG-7.
- 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 AnglesThe 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. -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:
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.,
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.)
- Absolute Drive: D4=56.5 Drive angle no. 4 to 56.5 degrees.
- Incremental Drive: D4I=2.75 Drive angle no. 4 2.75 degrees further than it is now.
- 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.
- 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, = 90.0, = 90.0, and = 90.0, with orientation vectors (100) and (001).
- 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.
>calculates angles 5 & 6 and prints them.
>calculates angles 1 & 2 and prints them.
- Release a fixed angle.
- 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.
>sets angles 5 & 6 to correspond to the requested energy
>sets angles 1 & 2 to correspond to the requested energy
- 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.
- Move sample to next position on BT1.
- Drives certain motors to a special position on some instruments.
- 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:
- Print software angles. This command will print the software value of all angles served by the instrument.
- 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.
- Print software and hardware angles.
- Print lower limits.
- Print upper limits.
- Print zero adjustment values.
- 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.
To issue a count command from Control Mode use:
CT=f Count: depending on the sign of f count will select the base.
<0 issue count with time for f seconds.
>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:
- The time parameter f is optional and defaults to 5 seconds.
- 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.
- select a temperature device from a predefined list. The device should be connected as TDEV will initialize it as necessary.
- 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.)
- print the current temperature device configuration.
- print the current magnetic field control device configuration.
- 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.
- Read and Print the Current Temperature. If no temperature controller is connected, 0 is returned after a time out.
- Set Temperature: ST=15.5 sets the temperature set point to 15.5 K.
- Read and Print the current magnetic field. This command is only implemented for some magnet controllers.
- 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.
- 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.
- Set the temperature controller parameters to predefined values for high temperatures: gain= 90, rate= 40, reset= 20, power range= 5.
- Set the temperature controller parameters to predefined values for low temperatures: gain=40, rate= 20, reset=10, power range= 3.
- Print out the current temperature controller parameters.
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.
- 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.
- 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.
- 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.
- 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.
- Performs a scan and attempts to fit a peak.
- 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.
- The APT command does a 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 listThis 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.
- : 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 Å.
- 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
- 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
- +/- Enbl/disable ASD on NG5 or Autorange on BT1.
- : 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.
- : 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.
- : Disable ASD on NG5 or Disable Autorange on BT1.
- [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.
- [Exit ICP]
- [Close Shutter] Close Shutter on XRAY machine only.
- [Count] or CT
- [=]f : f
>0 issue count with monitor preset to f. (prefactor disregarded) f
<0 issue count with time for f seconds.
- is a synonym for CO.
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.
- [Set d spacings]
- [=] f: Analyzer d spacing (default is 3.354).
- [=] 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 Å.
- Drive Angle n
Dn[=]f : Drive angle n to target angle f. f is the absolute position you want the motor to drive to.
- Drive to Hardware Angle
DnH[=]f : Drive angle n to hardware angle f.
- Incremental Drive
DnI[=]f : Drive angle n to target angle (A(n) + f). f is the increment you want the motor to drive.
- 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=80will drive angle 4 to 80 and angle 3 to 30.
- Drive Slit Motor on NG7
DSn[=]f : Drive slit motor n to angle f.
- Polymers Xray Drive
DnX[=]f : IF n = 3, drive angles 3 and 4.
- Drive to Energy
- [=] f: Drive to analyzer energy f (meV). Drives angles 5 & 6.
- [=] f: Drive to monochromator energy f (meV). Drives angles 2 and 1. Also drives 7 and 8 on BT4. Also drives 7 on NG5.
- [=] 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.
- delete RUN sequence
- Directory of Buffers
- : Directory of increment buffers.
- : Directory of Q buffers.
- : Directory of Bragg buffers.
- : Directory of Trash buffers.
- : Directory of Refl buffers.
- : Directory of X buffers.
- 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.
- Dry Run
- : Displays angles used in increment scan.
- : Displays angles used in Q scan.
- : Displays angles used in Trash scan on BT4.
- : Displays angles used in Bragg scan.
- : Displays angles used in Refl scan.
- : Displays angles used in Xbuffer scan.
- : Moves angles as used in Xbuffer scan.
- Exit ICP
- 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.
- +/- Enable/Disable Focusing Motors on NG5
- : Enables Focusing Motors.
- : Disables Focusing Motors.
- : Polarized Beam Only - see Appendix B
FAMP power supply number, current to volt conversion
- : Flipper Calibrate Polarized Beam only - see Appendix B.
FCAL power supply number, current, energy
- Set DAD constant for focusing motors on NG5
FDAD [=] new value
- Set DSA constant for focusing motors on NG5
FDSA [=] new value
- Keep An Angle Fixed during buffer execution
- : 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.
- : Fixes the analyzer. Angles 5 and 6 are fixed.
To release a fixed angle type RELn (n= motor number or D,A, etc.)
- : turn analyzer flipper on(+) or off (-).
- : turn monochromator flipper on (+) or off (-).
- : 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
>count with time )
- : 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
- : Same as FP except search for a peak using monitor counts.
FM motor number,range,stepsize,monitor
- : 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
- : Search for a peak using counts coming into specified scaler or detector (if L+) specified.
- : Search for a peak using a sigmoidal curve. Enabled on Polymers XRAY only.
- : Search for a peak while executing a special scan of motors designed for the polymers xray instrument. Counts at default scaler are used.
- 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:
FP/F motor number, range, step, monitor
- : keep a file of the data at each point in the scan
- : archive the file
- : fit to a minimum peak
- : ``quiet'' mode. Automatically answers [yes] to the question, ``Do you want to fit?'' The
FP/Qcommand can be used in a command file.
The FP commands can only handle up to 100 points in the scan range.
- +/- Enable/Disable Magnet Control and Monitoring
- : Enable Magnet Control and/or Monitoring
- : 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.
- 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.
- Access ICP online HELP
Type HELP for the complete command list or type HELP 'command' for help on a particular command.
- Declare Mode of Superconducting Magnet
- : Magnet will use Persistent Mode (N.B. Make certain the magnet you are using has a persistent mode.)
- : Magnet will not use Persistent Mode
- 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.
- 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.
- 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.
howis x, where x is an instrument. Example:
- 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/fcommands 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.
- initializes MCU controlled magnet motor to zero
- Initialize Hardware Angle
INITn[=] f Initialize the current position of motor no. n to angle value f. (n integer, f real)
- Scan Spin Flipper Power Supply - see Appendix B
ISCAN power supply number, starting I, I step, final I, monitor.
- Set Power Supply Current - see Appendix B
ISET power supply number, current. or ISET power supply number, current,limit (Kepco power supply: type 3)
- Initialize Virtual Motor Array on BT8
- Keithley Fetch command on NG7
- +/- Enable/disable PSD on NG1, NG7, and BT8
- : Enables the Position Sensitive Detector
- : Enables PSD with built in wait for liquid samples to stabilize on NG7
- : Disable PSD
- Set Lower Limit n
Ln[=] f : Set lower limit of angle n to value f. (n integer, f real)
- 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.)
- Do Not Write Log
- Define monochromator on BT1
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.
- 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]
- Determine Monitor Rate
MRAT[= [f]]: Determine monitor rate with a time count for f seconds. f defaults to 5 seconds.
- 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.
- Change monochromator on BT1
NEWMONO p1 where p1 is one of the following allowed strings: CU311, GE311, or SI531
- Move to next sample position on BT1
- Define value for NUMX for ASD on NG5
NUMX [=] new value
- Define value for NUMY for ASD on NG5
NUMY [=] new value
- Remove SUPER privileges
- Open Shutter (on XRAY instruments only)
- +/- Pol/Unpol Beam
- : Sets the flag for polarized beam
- : Sets the flag for unpolarized beam (default).
- Print Software and Hardware Angles
PA Print the software and hardware values of all angles served by the instrument.
- : Print NG5 ASD params: xmin,ymin,xmax,ymax,numx,numy
- Change superuser password. Old password required.
- : Print Bragg Buffer
PBn-m: Print Bragg buffer n to m.
- Print Collimations
- Print Date and Time
- Print Analyzer d Spacing
- Print Monochromator d Spacing
- Print angles for Analyzer energy specified
PDEA = 13.7 will calculate and print angles of motors 5 and 6 for Analyzer energy 13.7
- Print angles for Monochromator energy specified
PDEM = 13.7 will calculate and print angles of motors 1 and 2 for Monochromator energy 13.7
- : Print power supply FAMP values - see Appendix B.
- : Print spin flipper power supply calibrations - see Appendix B.
- : Print NG5 focusing motor param DAD
- : Print NG5 focusing motor param DSA
- : Print list of motors currently fixed
- +/- Enable/Disable PGAA synchronization on NG7
- : Print Hardware Angles
PHA: Print hardware angles for all motors served by instrument. The values given here should correspond to the controller display.
- Print Current Magnet Control Device
- Print Magnetic Field Reading
PHF: Print field (works only if controller is connected and H+).
- : Print Increment Buffer
PIn-m: Print increment buffer n to m.
- : Print Lower Limits
- 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.
- : Print Mosaics
- Print Monochromator and Collimations on BT1
- Print Motor Parameters
PMPn: Print the motor parameters for motor no. n.
- Run Polfig Buffer
POL comfile runs the polfig buffer described in the file comfile
- Print Q Buffers
PQn[-m]: Print Q Buffers n [to m]
- Print Predefined Command Sequence
See under RS how to define and execute a sequence.
- Print Predefined Command Sequence File
- Print Software Angles
PSA: Print software value of all angles served by instrument.
- Print Scale Factor on NG7
- Print Temperature
PT: Print temperature (works only if controller is connected and T+).
- Print T Buffers
PTn[-m]: Print T Buffers n [to m]
- Print Current Temperature Device
- Print Temperature Parameters (Gain,Rate,Reset,Range,etc.)
- Print Upper Limits
- Power Down Goniometer on XRAY Instruments
- Power Up Goniometer on XRAY Instruments
- Print Values of Global Variables
- Print Default Run Number
- Print Virtual Motor Coefficients on BT8
- Print Wavelength
- Print Intensity Window Range
- Print Zero-points
- Print Coefficients for Linear Zero Adjustments on BT4 motors
- +/- Enable/disable wait at each point on NG7. Defocus condition on NG5.
- [Exit ICP]
- +/- Enable/disable Rocking of Motor during buffer execution on BT1
- : Enables Rocking of motor while counting during buffer execution on BT1. The motor number and rocking angle range will be requested.
- : Motor Rocking while counting is disabled.
- Measure Analyzer Flipper Ratio
RA monitor: measure analyzer flipping ratio with flipper off, then on (monitor
>time in seconds).
- Run Bragg Buffer
RBn[-m]: Execute Bragg buffer n [to m]. RB/NFn[-m]: No File Option for RB command. No data files created.
- Release A Fixed Angle
- : 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).
- : Releases angles 5 and 6 (analyzer drum).
- 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
>count for time in seconds).
- Run Increment Buffer
RIn[-m]: Execute increment buffer n [to m]. RI/NFn[-m]: No File Option for RI command. No data files created.
- measure monochromator flipping ratio
RM monitor: measure monochromator flipping ratio with flipper off, then on (monitor
>time in seconds)
- : 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
- : 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
- 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
- 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.
- Run Reflectometer Buffer
RRn[-m] : Execute reflect buffer n [ to m]. RR/NFn[-m]: No File Option for RR command. No data files created.
- Run Trash buffer
RTn[-m] Execute trash buffers n [ to m ]. RT/NFn[-m]: No File Option for RT command. No data files created.
- Run X Buffer
RXn[-m] : Execute X buffer n [ to m]. RX/NFn[-m]: No File Option for RX command. No data files created.
- +/- Enbl/disable Statistical checking
- : 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.
- : Statistics check is disabled.
- 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
- Reset Angle Zeros for Analyzer energy specified
>will change the motor zeros of angles 5 and 6 so that the current motor positions will correspond to the analyzer energy value given.
- Reset Angle Zeros for Monochromator energy specified
>will change the motor zeros of angles 1 and 2 so that the current motor positions will correspond to the mono energy value given.
- Set-up Temp Controller parameters
- [=] 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
- : Set temperature controller parameters for high temperatures:
Gain= 90; Rate= 40; Reset= 20; Power Range= 5;
- : Set temperature controller parameters for low temperatures:
Gain= 40; Rate= 20; Reset= 10; Power Range= 3
- : Set NG7 scale factor
SF[=] new value
- : Drive NG7 slit motors to positions specified
- 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
- Prints status of ICP
- 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
- : Type out current status
- : Become Super User. Password required.
- Enable/disable Temp Control
- : 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+.
- : Disables the temperature control. No access to temperature controller when T is set to T-.
- Enable/disable use of "Careful Approach" in Temp Control
- 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.
- Set Upper Limit n
Un[=] f : Set upper limit of angle n to value f. (n integer, f real)
- +/- Enable/disable additional file with angle positions for q-buffer.
- Set lower limit for the data file version.
- Print Coll, Mos, Wl
VERF : Prints the collimation, mosaic and wavelength.
- 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.
- Set Power supply voltage - see Appendix B
VSET Power supply number, voltage [,limit only if Kepco]
- +/- Enable/disable Writing Log File on disk
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.
- Calibrate motor specified on XRAY instruments
- : 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.
- Define value for XMAX for ASD on NG5
XMAX [=] new value
- Define value for XMIN for ASD on NG5
XMIN [=] new value
- Define value for YMAX for ASD on NG5
YMAX [=] new value
- Define value for YMIN for ASD on NG5
YMIN [=] new value
- 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 ModeThe 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:
- Turn the flipper on (see FL below).
- 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.
- 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.
- Repeat steps 2 and 3 until the best flipping ratio is achieved.
- [power supply current (I) SCAN with optional file write] ISCAN ps No., Istart, Istep, Ifinal, n
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.
- 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.
- [Print Flipper Calibrations]
Prints the flipping current and energy for which it is defined for each power supply.
- 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.
- Turn Monochromator/Analyzer Flipper on(+)/off().
- RM, RA, RF
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 ModeThe 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.
- ps, 0 [sets ps to 0.] Manually adjust both programming voltage and power supply current so that logical zero is physical zero.
- 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.)
- ps, max-current
- Voltage SET
VSET ps No., voltage
Sets D/A programming voltage to specified value.
- Full AMPs
FAMP ps No., current
Sets the proportionality between current and programming voltage.
Bufop CommandOperations 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
EDITcommand 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.
- 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.
- 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
Last modified 20-August-2012 by website owner: NCNR (attn: Bill Kamitakahara)