Beamline Instrument Software Support |
|
SPEC Macro documentation:
[ Macro Index |
BCU Home ]
|
TAB3.MAC | ||||||
[ source code | installed at | configured at ] | ||||||
See other macros in category: All | ||||||
Description:
| ||||||
Documentation:
A table with three legs in triangle. One in the front and two in the back is a common positioning element in ESRF beamlines. This macros implement tilts and height for this kind of table as pseudomotors. This macros can use different geometries. More than one table can be defined in this way in the same spec application. For geometry 0 (standard): Xtilt is the angle defined by the two back legs. Fixed a middle point B between the two back legs. The height in the middle point between B and the front leg gives the value for the motor height. The motor Ytilt is defined as the angle existing between B and front leg. Two parameters must be input to the system: the distance between the two back legs and the distance between B and the front leg. In this geometry distances are given in mm. Angles in mrad. For geometry 1 (side front leg): The front leg is on the same side and aligned with the first motor. The fixed point is in the middle of the mirror. For positive x tilt is motor 1 higher up then motor 2. For positive y tilt is the front motor higher up then the two back motors. For geometry 2 (ID22 mirror): Xtilt is the angle defined by the two back legs, but only leg2 moves when a xtilt is requested. Ytilt and Height are defined in the line defined by leg1 and front. For the two movements leg2 follows leg1. For geometry 3 (ID21 mirror): Xtilt is the angle defined by the two back legs. Fixed a middle point B between the two back legs. The value of this point gives the value for the motor Height. The motor Ytilt is defined as the angle existing between B and front leg. Two parameters must be input to the system: the distance between the two back legs and the distance between B and the front leg. In this geometry distances are given in mm. Angles in mrad. For geometry 4 (ID20): For geometry 5 (ID29 mirror): Xtilt is the angle defined by the two back legs. B is the middle distance point between the two back legs. C is at fixed distance between B and the front leg, used to calculate the height. The Ytilt is defined as the angle between B and the front leg. Three parameters needed: the distance between the two back legs, between B and the front leg and between C and the front leg (all given in mm). Calculated angles in mrad. For geometry 6 (ID30): All motors must be defined in config. global tab3prefix tab3prefix = "tab3" DEPENDENCIES | ||||||
Macros:
| ||||||
Internal Macros: | ||||||
Usage: tab3_method(id, method, par1) tab3_config Usage: tab3_config(motormne, type, par1,par2) tab3_calc Usage: tab3_calc(mne, mode) tab3_ctrlconfig Usage: tab3_ctrlconfig(unit) tab3_motconfig Usage: tab3_motconfig(mne,unit,chan) tab3_tf Usage: tab3_tf (calcidx , tbl1, tbl2, front, xti, yti, z, mode , d1, d2,d3) calcidx gives the index of the value to be calculated. Indexes are starting from 0 (tbl1) and go to 5 (z). The 3 leg motors and the 3 pseudo motors are all the time given. Depending on calcidx only 3 of them are used in the calculation. The mode allows for different geometries. d1 and d2 are the distances between the legs. d3 is the distance between the front leg and the center of the rotation. | ||||||
|