spec

Software for Diffraction

5.5.5.2. - Motor Parameters



Motor parameter assignment consists of key words of the form MOT000, MOT001, ..., followed by 11 values. The MOT key words must be numbered consecutively starting at zero. The values are:

 1   Controller type (E500, SMC, OMS, ...) 
 2   Steps per unit (degrees, mm, ...) (sign changes direction of motion) 
 3   Sign between user and dial units (+1 or -1) 
 4   Steady state rate (Hz) (must be positive) 
 5   Base rate (Hz) (must be positive) (also used as backlash rate) 
 6   Steps for backlash (sign changes direction of motion) 
 7   Acceleration time (msec) 
 8   Not used 
 9   Motor flags in hexadecimal (protection, units, etc.) 
 10   Motor mnemonic (th, phi, sl1, ...) 
 11   Motor name (Theta, Phi, Slit 1, unused, ...) 



An example is:
# Motor  cntrl steps sign slew base backl accel nada  flags mne  name
MOT000 = E500 -2000    1 2000  200    50   125    0  0x003 tth  Two Theta

Valid controller types currently include:
 18011   Oriel Encoder Mike Controller 18011 
 18092   Oriel Encoder Mike 18092 
 ANORAD   Anorad I-Series Controller 
 ANORAD_E   As above, but with encoder 
 CM3000   Compumotor 3000 
 CM4000   Compumotor 4000 
 CMSX   Compumoter SX 
 CMSX_E   As above, but with encoder 
 DAC_B12   PC DAC 12-Bit D/A (binary output) 
 DAC_B16   PC DAC 16-Bit D/A (binary output) 
 DAC_T12   PC DAC 12-Bit D/A (two's complement) 
 DAC_T16   PC DAC 16-Bit D/A (two's complement) 
 E250   DSP E250 12-Bit D/A as Motor Controller 
 E500   DSP Technology E500A 
 E500_M   As above, but with multiplexor 
 ECB_M   RISO ECB Motors 
 EPICS_M1   EPICS using spec's config motor parameters 
 EPICS_M2   EPICS using EPICS' database motor parameters 
 ES_OMS   ESRF using VME OMS 
 ES_VPAP   ESRF using VME Vpap 
 GALIL   Galil DMC-1000 PC Board 
 HLV544   Highland Technology VME V544 
 HUB9000   Huber 9000 
 IP28   Micro-Controle IP28 
 ITL09   Micro-Controle ITL09 
 ITL09_E   As above, but with encoder 
 IXE   Phytron IXE 
 KS3112   Kinetic Systems 3112 12-Bit D/A 
 KS3116   Kinetic Systems 3116 16-Bit D/A 
 KS3195   Kinetic SystemsS 3195 16-Bit D/A 
 MAXE   ESRF VME MAXE Motor Controller 
 MAXE_E   As above, but with encoder 
 MAXE_S   As above, but with servo 
 MAXE_DC   ESRF VME DC Motor Controller 
 MC4   Klinger MC4 
 MCB   Advanced Control Systems MCB 
 MCU   Advanced Control Systems MCU 
 MCU_E   As above, but with encoder 
 MCU_H   As above, with with Heidenhain encoder 
 MCU_O   As above, but with old PROMs 
 MM2000   Newport MM2000/3000 
 MM2000_E   As above, but with encoder 
 MM2500   Newport MM2500 
 MM2500_E   As above, but with encoder 
 MM4000   Newport MM4000/4005 
 MM4000_E   As above, but with encoder 
 MMC32   NSLS homemade 
 MURR   Missouri Research Reactor Motors 
 MURR_E   As above, but with encoder 
 NF8732   New Focus Picomotor 8732 
 NONE   Pseudo controller 
 NSK   NSK Motor Controller 
 NT2400   Laboratory Equipment Corporation Model 
 OMS   Oregon Micro Systems PCX/34/38/39/48 
 OMS_E   As above, but with encoder 
 PI   PI DC Motor Controller 
 PM500   Newport PM500 
 RIGAKU   Rigaku RINT-2000 Motor Controller 
 SCIPE_A   SCIPE Actuator Device 
 SIX19   Micro-Controle SIX19 
 SMC   Joerger Single Motor Controller 
 SPI8   Advanced Control System SPI-8 
 TSUJI   Tsuji PM16C-02N 
 XIAHSC   XIA HSC-1 
 XRGCI_M   Inel XRGCI motor controller/timer 



Field 2, the steps per unit, may be non-integral, and the units can be in degrees, millimeters or whatever. The rest of the numeric fields must be integral. The motor names should be kept to nine characters or less, as the standard macros truncate them to fit a nine-character field when printing them out.

Field 8 is reserved.

Field 9, the flags field, contains several kinds of information. The lowest order two bits are used to enable particular operations on the selected motor. If bit 0 is set, the user can move the motor. If bit 1 is set, the user can change the software limits of the motor. Bits 2 and 3 are used by the edconf program to prevent users from changing certain configuration information. Bits 8 through 12 are used with the shared config file feature described below.


Optional motor parameters appear on lines following the MOT keywords and are of the form
MOTPAR:dcgain = 1500
Each MOTPAR refers to the immediately preceding motor. Possible parameters are:
encoder_step_size
step_mode
slop
home_slew_rate
home_base_rate
home_acceleration
dc_dead_band
dc_settle_time
dc_gain
dc_dynamic_gain
dc_damping_constant
dc_integration_constant
dc_integration_limit
dc_following_error
dc_sampling_interval
deceleration
read_mode
torque
misc_par_1
misc_par_2
misc_par_3
misc_par_4
misc_par_5
misc_par_6
Most parameters are not used by most motor controllers.