spec

Software for Diffraction

oriel

Oriel 18092 motor controller

DESCRIPTION

The Oriel 18092 Encoder Mike Controller is supported by spec on both RS-232C and GPIB interfaces.

The controller is selected in the config file as

RS_18092 = device_name baud_rate number_of_motors
GP_18092 = gpib_address number_of_motors

depending on the interface being used.

When running the configuration editor, switch to the device configuration screen to select the appropriate interface. On the motor screen, select the 18092 controller type for each motor to be controlled.

By default, motors are automatically assigned to the controller channels in the same order they appear on the motor screen. If there is more than one controller, the channels are assigned to the controllers in the order in which the controllers appear on the motor device screen. However, for the Oriel 18092 motor controller, controller-unit and motor-channel numbers can be assigned in arbitrary order on the second line of the motor configuration screen.

PARAMETERS

spec allows a number of additional parameters to be set in the configuration file and by the motor_par() function for this controller. Use the configuration editor to establish the long-term values of the parameters in the configuration file. Use motor_par() to make changes to the parameters that only are in effect during a particular spec session. To set the parameters from the configuration editor, use the m command from the main motor screen to access the optional-parameter screens.

The following parameters are associated with DC motor operation. The two-letter command sent to the motor controller associated with each parameter is given in parenthesis.

motor_par(motor, "dc_gain" [, value])
If value is given, sets the gain (or derivative gain), otherwise returns the current value. The factory default value is 3000. ("SG") (Note, the Oriel manual incorrectly indicates this parameter is set with "SD".)
motor_par(motor, "dc_integration_constant" [, value])
If value is given, sets the integral gain, otherwise returns the current value. The factory default value is 10. ("SI")
motor_par(motor, "dc_integration_limit" [, value])
If value is given, sets the integration limit, otherwise returns the current value. The factory default value is 200. ("IL")

Another motor_par() parameter is:

motor_par(motor, "slop" [, value])
If value is given, sets a threshold value in steps, below which spec suppresses position discrepancy messages when spec and the motor controller disagree about motor position, otherwise returns the current value.

With the GPIB interface on the Oriel 18092, it is apparently necessary for an application to insert delays before sending commands and reading back responses. The following two parameters allow the length of the delay to be tuned. These two parameters cannot be set in the configuration file.

motor_par(motor, "wdelay" [, value])
If value is given, sets the delay before writing a command over the GPIB interface to value microseconds, otherwise returns the current value. The default value is 75000 (0.075 usec).
motor_par(motor, "rdelay" [, value])
If value is given, sets the delay before reading a response over the GPIB interface to value microseconds, otherwise returns the current value. The default value is 75000 (0.075 usec).

COMMAND PASS THROUGH

Command pass through is available using the following:

motor_par(motor, "send", cmd)
Sends the string cmd to the Oriel 18092 channel associated with motor. For example, set cmd to "SB1,3,8" to set output bits 1, 3 and 8.
motor_par(motor, "read", cmd)
Sends the string cmd to the Oriel 18092 channel associated with motor, as above, and returns a string containing the response.

LIMITATIONS

The Oriel 18092 motor controller only allows its internal position registers to be set to zero. Thus the chg_dial() function (used by the set_dial macro) will not accept nonzero position arguments. Similarly, if there is a motor position discrepancy between spec and the controller, if you choose to change the controller register position to agree with spec and if the spec dial position is not zero, the spec dial position will instead be changed to agree with the controller, and the the spec offset parameter will be changed to keep the same spec user-units position.

VERSION

The above description describes the Oriel 18092 firmware version 1.0d.