|
||
|
Hardware reference : Motors : XIA HSC (Huber Slit Controller) | ||||||||||||||
|
|
|||||||||||||||
XIA HSC (Huber Slit Controller)config file RS_XIAHSC = device_name base_address number_of_motors edconf: DEVICES screen MOTORS DEVICE ADDR <>MODE NUM <>TYPE YES /dev/ttyS0 <> 9600 2 XIA HSC-1 (Serial)Sample edconf for motors: edconf: MOTORS screen Number: <>Controller 0: XIAHSC 1: XIAHSC 2: XIAHSC 3: XIAHSC Unit/Channel 0/0 0/1 0/2 0/3 Name Slit1 A Slit1 B Slit1 Gap Slit1 Cen Mnemonic s1a s1b s1g s1c Steps per degree/mm 400 400 400 400The X-Ray Instrumentation Associates Huber Slit Controller Model HSC-1 is a specialized device only used to control Huber slits. The HSC-1 communicates through a serial port, and several HSC-1 modules can be daisy-chained together and run off a single serial port. On the device screen of the configuration editor, the NUM field is set
to the number of HSC-1 modules on the serial port.The HSC-1 module needs to be sent a calibration command before the HSC-1 motors can be moved with the normal move commands. The HSC-1 manual describes a manual calibration procedure. It is also possible to set the controller to the calibrated state by sending the "calibrate" command with motor_par() as
described below.Each HSC-1 contains two motors that control the slit blades. Each blade can be moved independently. The HSC-1 also implements commands to move both blades simultaneously to change either the gap or the center-of-the-gap position. spec can be configured to control just the two blades, just the gap and the center position, or all four motions. When all four motions are configured, moving either blade changes the positions reported for gap and center, and moving either the gap or the center causes the positions reported for each blade to change. Configuration for the HSC-1 requires the unit/channel field on the second line of the motor screen of the configuration editor to be filled in according to the following special format. The unit number corresponds to successive entries on the devices screen - each unit is associated with a different serial port. The channel number combines two values. Each HSC-1 module requires an arbitrary module number N (see below). This number is multiplied by 10 and added to the channel number that identifies the motion, as follows: For motor controller N, channel N * 10 + 0 corresponds to blade A, channel N * 10 + 1 corresponds to blade B, channel N * 10 + 2 corresponds to the gap and channel N * 10 + 3 corresponds to the center of the gap. Channel numbers ending in 4 through 9 are invalid. Entering the Serial Number The module number N (see above) is used only for internal bookkeeping and does not designate a particular HSC-1 module. Each module is identified by a thirteen-character unique serial number of the form XIAHSC-B-0014 . The serial number needs to be
entered as a string in the field generic parameter 1 on the optional
motor parameter screen of the configuration editor. Use the m
command twice from the motor screen of the configuration editor to reach
the screen where you can enter generic parameter 1. Type an initial
single quote ' to enter a string. Note, the serial number can also be
entered as B-0014 , 0014 or 14
if such a string is sufficient to distinguish among modules. Also note,
the serial number should be entered for just one of the motors associated
with module N.If the alias feature of the HSC-1 is used, and bit 6 of the control word (see below) is set for "use alias as ID", spec requires there be no space characters in the alias. Of course, the alias, rather than the serial numbers would need to be entered as generic parameter 1. Setting and changing aliases requires establishing serial communication with the modules, which may be difficult for novice spec administrators, so CSS recommends simply using the serial numbers as the modules come from the factory. Motor Parameters The steps per deg/mm parameter should be set to 400 for the HSC-1 modules. Normally, the positions for each blade become more positive as the blade is opened. However, if the sign of user * dial parameter is negative for either blade (or both), the motor position will become more negative as the blade opens. The sense of the center-of-the-gap motion can also be changed by changing the sign of the sign of user * dial parameter. The gap motion is always positive as the gap increases, though. The backlash, speed and acceleration parameters in the config file are ignored. CSS recommends using the calibration feature of the HSC modules to set the zero positions, rather than using the set macro to set
the user offset parameter. That is, it is best to keep the user
and dial positions the same. The chg_dial() function will,
in fact, send the "immediate calibration" command to the controller,
but only when setting the position to zero. Note, the gap should be
physically at zero before using set_dial . Use of the
standard set_dial macro should be followed by the
set macro to set the user-dial offset back to zero.The HSC-1 controller stores a number of parameters in nonvolatile memory. spec will read and display them with the command motor_par(motor, "dump") , where motor
is the mnemonic for any of the motions on the particular HSC-1 module.
The display format is as follows:
1 Outer motion limit (rw) = 4400 (11 mm)
2 Origin position (rw) = 400 (1 mm)
3 Motor A position (ro) = 900 (2.25 mm)
4 Motor B position (ro) = 900 (2.25 mm)
5 Motor step delay (rw) = 200 (roughly 0.272 mm/sec)
6 Gear backlash (rw) = 10 (0.25 mm)
7 Control word (rw) = 142 (0x8e)
8 Escape character (rw) = 33
9 Arbitration priority (rw) = 8
10 Motor A phase (ro) = 0
11 Motor B phase (ro) = 0
12 Calibration complete (ro) = 150
13 EEPROM signature (ro) = 23205
14 EEPROM version (ro) = 4
These parameters can be modified using a command such as
motor_par(motor, "send", "W 6 20")
which changes memory location 6 (gear backlash) to 20.Special Commands Function Reference:
|
|||||||||||||||
|
|
|||||||||||||||