Post on 19-Apr-2020
transcript
European Synchrotron Radiation Facility
Grenoble, France
Stretched-Wire Measurement Bench
User’s Manual
Author G. Le Bec Date 23/02/2017 Version 2.7
2
Contents
1 Warnings ......................................................................................................................................... 4
2 Introduction .................................................................................................................................... 4
2.1 General features ..................................................................................................................... 4
2.2 Linear stages and towers ........................................................................................................ 4
2.3 Control and measurement unit .............................................................................................. 5
3 Handling .......................................................................................................................................... 5
4 Wiring diagrams .............................................................................................................................. 5
5 Using the bench .............................................................................................................................. 7
5.1 Introduction ............................................................................................................................ 7
5.2 Initialization ............................................................................................................................. 8
5.2.1 Open and close a measurement ..................................................................................... 8
5.2.2 Modifying the measurement metadata .......................................................................... 8
5.2.3 Load and save measurement parameters ...................................................................... 8
5.3 Moving the stages ................................................................................................................... 9
5.3.1 Stage control using the Igor interface ............................................................................. 9
5.3.2 XPS motion controller access from the navigator........................................................... 9
5.4 Stretching the wire .................................................................................................................. 9
5.5 Magnetic measurements ...................................................................................................... 10
5.5.1 Abort a measurement ................................................................................................... 10
5.5.2 Alignment ...................................................................................................................... 10
5.5.3 Circular measurements ................................................................................................. 12
5.5.4 Compensated measurement ........................................................................................ 14
5.5.5 Linear measurements ................................................................................................... 14
5.5.6 Repeatability analysis .................................................................................................... 15
5.5.7 Exporting data ............................................................................................................... 15
5.6 Command lines ..................................................................................................................... 15
5.7 Wave description .................................................................................................................. 16
5.8 Computing field and gradient ............................................................................................... 21
6 Calibration ..................................................................................................................................... 21
6.1 Accuracy of linear stages ...................................................................................................... 21
6.2 Stage perpendicularity .......................................................................................................... 22
6.3 Procedure for stage calibration ............................................................................................ 22
6.4 Stage roll angles .................................................................................................................... 23
3
6.5 Position of the wire support ................................................................................................. 23
7 Installation of software updates ................................................................................................... 23
8 Configuration files ......................................................................................................................... 23
9 Replacement of the XPS controller ............................................................................................... 24
10 Source codeSWLab ftp server ................................................................................................... 24
11 References ................................................................................................................................ 24
4
1 Warnings The stretched-wire magnetic measurement bench contains some moving parts. Please read the
related warnings in the ILS-100CC and IMS-100V linear stages user’s manuals. This documentation is
attached to the current manual.
General warnings and cautions are indicated in the XPS user’s manual, page 4.
Safety precautions are indicated in the Keithley 2182 user’s manual, page 5.
The bench shall be connected to the ground.
2 Introduction
2.1 General features The Stretched Wire Measurement (SWM) bench version 3 is an evolution of the benches built by the
ESRF ID lab. A first bench was used for dipole, quadrupole and sextupole measurements. A second
bench was built to measure four magnets installed on the same girder. The assembly of the linear
stages has been revised to significantly reduce the position errors. On a third version, the wire
supports have been redesigned to obtain a better wire positioning and for compatibility with
Vibrating Wire Measurements.
The SWM bench can be used for magnet fiducialization, field strength measurements and higher
order multipole measurements. Linear field measurements, circular measurements and multipole
compensated measurements are available. The typical repeatability of the main measurements is
given in Table 1. The values given in the table are indicative: it depends on the magnet under test,
measurement method, duration of the measurement, etc.
The bench is composed of two towers (Figure 1) and a control and measurement unit.
Table 1. Typical repeatability obtained with the ESRF SWM bench. Alignment repeatability have been obtained with a 20 T/m, 50 cm long, 33 mm bore radius quadrupole.
Typ. repeatability
Magnetic center position 2 µm Pitch and yaw angles 0.1 mrad Roll angle 0.1 mrad Integrated field 0.2 G m
2.2 Linear stages and towers The horizontal and vertical linear stages are assembled in cross to improve the position accuracy
(Figure 1). This implies installing a vertical stage strong enough to support the horizontal stage. The
stage specifications are given in the table below. The stages are mounted on a standard Newport
EQ180 bracket.
A wire support is fastened on the tower. This support is used for wire positioning, wire tension
tuning and for connecting the wire to the measurement unit. The tuning of the wire tension is
manual. A reference cone is machined on the top of the wire support for fiducialization purposes.
5
Table 2. Linear stage specifications.
Model Range Repeatability
Vertical Newport IMS100V 100 mm 0.5 µm Horizontal Newport ILS100CC 100 mm 1 µm
Figure 1. CAD view of one of the bench towers. The tower is an assembly of two linear stages, a wire support and a few mechanical parts.
2.3 Control and measurement unit The main components of the control and measurement unit are a high performance Newport XPS
motion controller and a Keithley 2182 nanovoltmeter. Also included is an industrial PC working with
the Windows 7 operating system, and an auxiliary data acquisition board used for wire tension
tuning and temperature measurements.
3 Handling Take care when handling the XZ groups of stages. These stages have been calibrated with a
micrometric accuracy. Use the stage stands (Newport EQ180 bracket) for handling, do not use the
horizontal stage for this purpose.
4 Wiring diagrams The wiring of the main elements of the bench is described in Figure 2. Figure 3 describes the wiring
of the linear stages. The trigger link installed between the Newport XPS motion controller and the
Keithley 2182 voltmeter is described in Figure 4.
The connections between the patch panel, the Keithley 2182 voltmeter, the NI-DAQ connector block
and the stretched wire are described in Figure 2.
Better noise performances are obtained if a twisted pair is used for connecting the stretched wire to
the Keithley voltmeter.
The return loop should be as small as possible to minimize the noise induced by ambient varying
fields.
6
Figure 2. Control and measurement rack wiring diagram.
Figure 3. Linear stages wiring diagram.
7
Figure 4. Trigger link wiring diagram.
Figure 5. Small signal wiring diagram.
5 Using the bench
5.1 Introduction The bench is interfaced with the Igor Pro software. The bench routines can be accessed through
three Igor Pro menus:
− SWLab Measurement, for measurement sequences;
− SWLab Processing, for magnetic measurement data processing;
− SWLab Motion, for wire motions.
Most of the measurement routines are written in C++. The analysis routines and the user interface
are written in Igor language.
8
5.2 Initialization Power on the industrial PC, the voltmeter and the motion controller.
Launch Igor.
5.2.1 Open and close a measurement
Initialize the bench with SWLab Measurement > Initialization > Open. The Open command initialize
the measurement bench, the voltmeter and the motion controller. The stages move to their
references after each reboot of the motion controller.
Igor Pro opens a dialog. The requested parameters will be associated to the measurements. The N-
poles parameter is mandatory and should take one of the following values: “2-poles”, “4-poles”, “6-
poles” or “8-poles”.
The measurement data will be saved in the Measurement Directory specified during the
initialization.
In the case an error message is displayed, please check if the voltmeter and the controller are
powered on.
The following Igor data folders are created:
− K2182 is used to drive the voltmeter
− XPS2d is used to drive the XPS motion controller
− Multipole is used to store the measurement parameters and the measurement results
Use the SWLab Measurement > Initialization > Close command to close the measurement. It is
important to close the connection before closing Igor or opening another Igor experiment. If this has
not been done and if error messages are displayed, try to set the variables K2182:path and
XPS2d:path to 1.
5.2.2 Modifying the measurement metadata
The measurement metadata can be modified on an opened measurement, with the command
SWLab Measurement > Metadata. This allows to modify e.g. the serial number without closing and
reopening the measurement.
5.2.3 Load and save measurement parameters
Use the SWLab Measurement > Measurement Parameters > Load for loading predefined
measurement parameters. These parameters may include: the nominal centre and axis of the bench,
the measurement radius, the velocity, the number of points, etc.
A measurement parameter file can be created with the SWLab Measurement > Measurement
Parameters > Save command. This command will save the parameters stored in the root:Multipole
Igor data folder. Undefined parameters are set to their default values.
By default, the measurement parameters are stored in the C:\ConfigurationFolder\MeasParameters
directory.
9
5.3 Moving the stages
5.3.1 Stage control using the Igor interface
The SWLab Motion Igor menu can be used to perform basic motions.
5.3.1.1 Homing
Select SWLab Motion > Reference to home the stages. Note that the home position of the vertical
stage is offset by 9 mm.
5.3.1.2 Moving the stages
Select SWLab Motion > Velocity > Set Velocity to modify the velocity of the stages (unit: mm/s). The
maximum velocity is 20 mm/s.
Select SWLab Motion > Acceleration > Set Acceleration to modify the acceleration of the stages (unit:
mm/s2). The maximum acceleration is 80 mm/s2.
Select SWLab Motion > Pitch and Yaw > Set Pitch and Yaw to modify the offset between the stages
(unit: mm). Enter NaN if you do not want to change one of the offsets.
The velocity, the acceleration and the offsets entered with the above commands are taken into
account for manual motion only (i.e. not for magnetic measurements). To modify these values
during magnetic measurements, please refer to the Magnetic Measurements section.
Select SWLab Motion > Position > Set Absolute Position to run an absolute motion. Enter the final
position in the stage reference system. Enter NaN if you do not want to move one of the axis.
Select SWLab Motion > Position > Set Relative Position to run a relative motion. Enter the relative
position with respect to the current point. Enter NaN if you do not want to move one of the axis.
5.3.1.3 Stop the motion and emergency stop
Select SWLab Motion > Abort or SWLab Measurement > Abort to stop a motion in progress.
Any motion will be stopped if the emergency button is pressed. The stages must be send to their
references after an emergency stop. Select SWLab Motion > Reference.
5.3.2 XPS motion controller access from the navigator
The XPS motion controller can also be driven from Firefox or Internet Explorer. Enter the address
http://192.168.0.254/ in the navigator, then login as Administrator (password Administrator).
Select Front Panel, Move to move the stages independently. It is necessary to initialize and to home
the stages after any rebooting of the controller.
If necessary, please refer to the motion controller configuration manual.
5.4 Stretching the wire Place a magnet close to the wire (the field of a multipole magnet should be sufficient if the wire is
not located at the centre of the magnet).
Run the WireTension.exe application (Figure 6).
10
Flick the wire and read the frequency with the application. The frequency should be a multiple of
50 Hz.
It is recommended to use 0.1 mm diameter titanium/aluminium/vanadium (Ti 90/Al 6/ V 4) wire.
Copper-beryllium can be used also (the sag is larger with CuBe wire).
The sag is approximately 232s g f , where 9.81g m/s2 and f is the fundamental frequency of
the wire. The wire tension is 2 24 lT m L f where ml is the wire mass by unit length1 and L is its length.
Figure 6. Interface of the WireTension application.
5.5 Magnetic measurements
5.5.1 Abort a measurement
Select SWLab Measurement > Abort to abort a measurement in progress.
5.5.2 Alignment
The current values of the magnetic centre and axis are stored in the Igor waves
root:Multipole:MagCentre and root:Multipole:MagAxis. The values stored in these waves are used as
default values for the magnetic measurements.
The last measured values (to be validated by the operator) of the magnetic centre and axis are
stored in the Igor waves root:Multipole:MagCentreLastMeas and root:Multipole:MagAxisLastMeas.
1 ml = 35 mg/m for Ti90/Al6/V4 and ml = 65 mg/m for Cu98/Be2, for d = 0.1 mm.
11
Use the SWLab Measurement > Set Centre and Axis to Last Measured Values for setting the current
values to these values.
The default values, corresponding the nominal values of the measurement bench, are stored in the
waves root:Multipole:BenchCentre and root:Multipole:BenchAxis. The current values can be set to
the default values with the command SWLab Measurement > Reset Centre and Axis.
5.5.2.1 Quadrupole centre and axis from linear measurements
Select SWLab Measurement > Alignment > 4-poles > Centre to determine the magnetic centre. The
wire is moved linearly and the centre is defined as the point with zero integrated field. In the Igor
dialog, check the value of the centre and axis, the measurement range, the number of points and the
number of averages.
Select SWLab Measurement > Alignment > 4-poles > Axis to determine the magnetic axis (i.e. the
pitch and yaw angles) of a quadrupole magnet.
The result is printed in the Igor history and is stored in the root:Multipole:MagCentreLastMeas and
the root:Multipole:MagAxisLastMeas Igor waves.
The measurement of the centre and axis can be done iteratively with the command SWLab
Measurement > Alignment > 4-poles > Centre and Axis – Iterative. The centre and axis values at each
iteration are stored in the root:Multipole:IterativeAlignment Igor data folder.
Use the command SWLab Measurement > Set Centre and Axis to Last Measured Values to set the
root:Multipole:MagCentre and root:Multipole:MagAxis to the last values measured. It will make the
measured values available for initializing the next measurements.
The wire can be moved to the magnet center with the commands SWLab Motion > Move to Centre >
No Sag (assumes a zero sag) and SWLab Motion > Move to Centre > Correct Sag (computes the sag
and correct the position)
5.5.2.2 Sextupole centre and axis from linear measurements
Use the SWLab Measurement > Alignment > 6-poles menu for measuring the centre and axis of a
sextupole magnet. (To be developed.)
The routines used for sextupole alignment are similar to the quadrupole routines. Please see the
section 5.5.2.1 for details.
5.5.2.3 Multipole centre from harmonic analysis
The magnetic centre of any multipole magnet can be obtained from the harmonic analysis. If a
circular measurement has been done and analysed, select SWLab Processing > Magnetic Centre. The
magnetic centre is computed from the data located in the current data folder. If the current data
folder is the root:Multipole folder, the root:Multipole:MagCentre wave is updated and will be used
as default value for the next measurements. The magnetic centre is computed with all harmonics
with a numerical method.
The magnetic centre is defined as the point with zero gradient for the 2(2n+1) pole magnets
(dipoles, sextupoles, etc.) and the point with zero field for the 2(2n) pole magnets (quadrupoles,
octupoles, etc.).
12
5.5.2.4 Multipole axis from harmonic analysis
Function to be developed.
5.5.3 Circular measurements
5.5.3.1 Measurement radius
Circular measurements can be performed at one or several radii. These radii are stored in the
root:Multipole:Radius wave.
The Radius wave can be edited directly in the root:Multipole data folder, or with the SWLab
Measurement > Radius > Edit command.
The values in the Radius wave should be sorted in decreasing order2.
The maximum number of measurement radii is 1024. This can be used for stacking several
measurements. For example, for stacking 256 measurements at 10 mm radius, the Radius wave can
be created with the Igor command Make/O/N=256 root:Multipole:Radius = 10.
A radius wave can be created automatically with the command SWLab Measurement > Circular
Measurement > Radius > New Radius Wave. It create a given number of radius in a specified range.
The obtained values can be randomized to reduce the effect of systematic errors. In that case, the
first value of the wave is set to Maximum Radius in order to keep the normalization radius fixed.
5.5.3.2 Measurement
Select SWLab Measurement > Circular Measurement > Circular Measurement and check the
parameters in the dialog.
Please note that Points per turn x Number of turns should be less or equal to 1024. More data can be
stacked using the Radius wave, see the section 5.5.3.1 for details.
The sampling period should be set to a multiple of 20 ms in order to filter out the 50 Hz noise. The
maximum ratio of the integration time to the sampling period is 0.8 (Figure 7), leading to the
following condition:
0.8 2Velocity Integration Time Number of Points Radius
The measurement routine terminates with an error is this condition is not verified. This ratio is taken
into account during the data processing.
The drift of the voltmeter can be estimated and corrected if the measurement is performed on more
than one turn. The drift is modelled as a polynomial. Drift correction is disabled if Order of drift
correction is set to 0 or if Number of turns is set to 1.
2 This can be done with the Igor command Sort/R Radius, Radius
13
Figure 7. Sampling period and integration time.
The measurement results are stored in the root:Multipole data folder:
− The FieldIntegral wave contains the measurements in [T mm]
− The XPosition and ZPosition waves contain the wire position in [mm]
− The TrajAngle wave contains the angle of the wire trajectory in [rad]
The measurement date and time are stored in the MeasStr wave and the measurement parameters
are stored in the MeasParameters wave.
The analysis routine is automatically launched at the end of the measurement. This routine will
ceate the root:Multipole:MultipoleData folder and copy the measurement results in it, and compute
the multipole components.
The root:Multipole:MultipoleData folder can be drag and drop to any convenient location. If not, it
will be overwritten by the next measurement.
The maximum input voltage can be checked with the command SWLab Processing > Tools >
Maximum Input Voltage. This tool may be useful to determine the voltmeter range.
5.5.3.3 Multipole analysis
The analysis routine is launched automatically after a circular measurement [1].
The analysis routines stores the multipoles in the an, anNorm, bn and bnNorm waves. The analysis
parameters are stored in the AnalysisParameters wave.
The analysis parameters can be modified with the command SWLab Processing > Multipole Analysis
> Multipole Analysis. The analysis will be performed after the validation of the parameters in the
dialogs. This command can be applied to any folder containing the FieldIntegral, XPosition, ZPosition
and TrajAngle waves.
5.5.3.4 Reference radius
The reference radius can be changed with the command SWLab Processing > Change Reference
Radius. The new multipole coefficients are stored in the waves an_<New Radius>mm, bn_<New
Radius>mm, anNorm_<New Radius>mm and bnNorm_<New Radius>mm. This command acts on the
current directory.
5.5.3.5 Gradient, strength and roll angle
The menus SWLab Processing > 4-poles and SWLab Processing > 6-poles can be used for computing
the strength and the roll angle of magnet. The results are stored in the IntegratedGradient wave
14
(quadrupole) or in the IntegratedStrength wave (sextupole). The roll angle is stored in the RollAngle
wave. All results are printed in the Igor history. The strength of a sextupole is defined as half the
second derivative of the field.
5.5.3.6 Dipole and dipole-quadrupole measurements
The field and gradient integrals along a curved trajectory can be computed with the command
SWLab Processing > Curved magnets > Field and Gradient Integrals. A dialog asks a few parameters;
the defauts values corresponds to the DQ magnets of the EBS.
The parabolic trajectory is described by the Magnetic Length and the Deflection Angle. The
corresponding curvature radius is computed and printed in the Igor history.
The Nominal Field Integral (Curved) parameter corresponds to the field integrated along a parabola.
This value is needed to compute the magnetic centre. The Nominal Gradient Integral (Curved) is
used to check the gradient specification.
All these parameters are stored in the DQParameters wave.
The straight multipoles an and bn are converted to “curved” multipoles named anCurved and
bnCurved. Please note that only the two first components of anCurved and bnCurved are accurate.
The other ones are for information only.
5.5.4 Compensated measurement
Compensated measurements can be performed with the command SWLab Measurement > Other
Measurement > Compensated Measurement [1].
The measurement parameters are almost the same as the circular measurement parameters. The
Average parameter sets the number of averages per measurement points and the Integration length
parameter sets the length of the measurement.
The Radius wave should contain at least two measurement points, e.g. 𝑅0 and 𝑅0 2⁄ .
The measurement results are stored in the root:Multipole folder with the names given in
section 5.5.3.2. The analysis routine is launched automatically at the end of the measurement.
The analysis routine compute the multipoles and store it in the an and the bn waves. The normalized
coefficients are not computed because the main multipole component is not measured.
All the results are stored in the root:Multipole:MultipoleData folder. This folder can be drag and
drop in any convenient location.
5.5.5 Linear measurements
Field integral measurements can be measured along a straight line with the command SW
Measurement > Other Measurement > Linear Measurement. As this measurement sequence is not
used in standard measurements, all parameters must be set manually. Try for instance the following
set of parameters:
XBegin = -20; ZBegin = 0; XEnd = 20; ZEnd = 0; (values in [mm])
NumberOfPoints = 21 (i.e. 2 mm steps, corresponding to one turn of the encoders)
Integration time = 0.04 (value in [s])
15
Acceleration = 80 (value in [mm/s2])
NumerOfAverages = 2
The measurement results are stored in the root:Multipole folder, with the usual names.
5.5.6 Repeatability analysis
The repeatability of the bench can be checked as follows.
Stack several time the same radius (or the same sequence of radii) in the Radius wave. Set the
measurement parameters and run the measurement.
At the end of the measurement, launch the command SWLab Processing > Repeatability and check
the parameters prompted in the dialog. In the Repeatability Analysis Parameters dialog, set the
number of measurements you want to average, and select the order of the multipole you want to
study (by default, this parameter is set to the main multipole).
The results are stored in the RepeatabilityAnalysis folder. The evolution of the measured multipoles
are stored in the RepeatAn and RepeatBn waves.
5.5.7 Exporting data
Select the SWLab Processing> Export Data for saving the measurement results in a tab delimited text
file. It saves the data present in the current data folder, or in the root:Multipole:MultipoleData if the
current data folder is root:Multipole.
The ExportParameters wave can be used for specifying export parameters.
The file name is generated automatically. If a file with the same name already exists, the new data
are appended at the end of the previous file.
5.6 Command lines All of the Igor Pro commands can be typed directly in the command window, without using the
SWLab menus.
The main command lines are listed in the table below. The function parameter may differ from the
table below, please check the function templates in the Igor procedure files.
Table 3. Main command lines
MultipoleAbort() MultipoleOpen() MultipoleClose() MultipoleLoadParam() MultipoleSaveParam() MultipoleFindCentre() MultipoleFindAxis() MultipoleFindCentreAxis() MultipoleSetCentreAxis() CI(d, b) MultipoleNewRadius() CCI()
Abort a measurement and stop the motion of the stages Initialize the bench and open a measurement Close a measurement Load measurement parameters from a file Save measurement parameters to a file Find the centre of a quadrupole magnet Find the axis of a quadrupole magnet Iterative measurement of the centre and axis of a quadrupole Set the centre and axis to the last measured values Circular field integral measurement Create a new radius wave Compensated circular field integral measurement
16
MultipoleIsMeasuring() MultipoleGetLastErr()
Check if a measurement is in progress Get the last error message
MPMultipoleAnalysisDialog(d) MPMultipoleCompAnalysisDialog(d) MPChangeRadius(r) MPMultiFindCentre(s) MPQuadGradientRoll() MPQuadGradient(p) MPQuadRoll(p) MPSextuStrengthRoll() MPSextuStrength(p) MPSextuRoll(p) MPRepeatability() MPExportData() MPField(p) MPGrad(p) MPDQAnalysisDialog(d)
Run the analysis routine, with (d=1) or without (d=0) dialog Run the analysis routine for compensated measurements Compute the multipoles a radius r Find the magnetic centre from the multipoles and (if s=1) set the MagCentre wave to the last measured values Compute the gradient and roll of a quadrupole Compute the gradient of a quadrupole Compute the roll of a quadrupole Compute the strength and roll of a sextupole Compute the strength of a sextupole Compute the roll of a sextupole Run the repeatability analysis routine Export the data to a delimited text file Field computations from multipoles Gradient computations from multipoles Field, gradient and roll for dipole-quad magnets
SWMoveToCentre(s) Move the wire to the magnetic centre, with (s=1) or without (s=0) correcting the sag
Axis2DRef(path) P_MoveAbs(path, “w”, x, z) P_MoveRel(path, “w”, dx, dz) P_ReadPos(path)
Move the stages to their references Absolute stage motion Relative stage motion Read stage position
5.7 Wave description Table 4. an
Index Description Unit
k kth skew multipole T mm
Table 5. anNorm
Index Description Unit
k Normalized kth skew multipole (normalized at Radius[0]) 10−4
Table 6. an_<radius>mm
Index Description Unit
k kth skew multipole (normalized at radius) T mm
Table 7. anNorm_<radius>mm
Index Description Unit
k Normalized kth skew multipole (normalized at radius) 10−4
Table 8. AnalysisParameters
Index Description Unit
17
0 Reference radius mm 1 Magnet type (1: dipole, 2: quadrupole, etc.) 2 Number of multipole coefficients 3 X and Z axis perpendicularity error rad 4 Pitch correction (1: on, 2: off) 5 Vertical offset for pitch correction 6 Bench roll angle rad
Table 9. AnalysisParametersStr
Index Description
0 Name of the field integral wave 1 Name of the trajectory angle wave 2 Name of the horizontal position wave 3 Name of the vertical position wave 4 Path to the pitch correction wave
Table 10. BenchAxis
Index Description Unit
0 Default horizontal offset between the wire extremities (yaw = this value / length)
mm
1 Default vertical offset between the wire extremities (pitch = this value / length)
mm
Table 11. BenchCentre
Index Description Unit
0 Default horizontal position of the magnet centre mm 1 Default vertical position of the magnet centre mm
Table 12. bn
Index Description Unit
k kth normal multipole T mm
Table 13. bnNorm
Index Description Unit
k Normalized kth normal multipole (normalized at Radius[0]) 10−4
Table 14. bn_<radius>mm
Index Description Unit
k kth normal multipole (normalized at radius) T mm
Table 15. bnNorm_<radius>mm
Index Description Unit
18
k Normalized kth normal multipole (normalized at radius) 10−4
Table 16. CentreMeasParameters
Index Description Unit
0 Horizontal position of the centre before measurement mm 1 Vertical position of the centre before measurement mm 2 Horizontal offset before measurement (yaw angle = h. offset / wire length) mm 3 Vertical offset before measurement (pitch angle = v. offset / wire length) mm 4 Range (the centre and offsets are searched within +/- Range) mm 5 Number of points 6 Number of averages 7 Number of iterations
Table 17. CompAnalysisParameters
Index Description Unit
0 Reference radius mm 1 Magnet type (1: dipole, 2: quadrupole, etc.) 2 Number of multipole coefficients 3 X and Z axis perpendicularity error rad 4 Pitch correction (1: on, 2: off) 5 Vertical offset for pitch correction 6 Bench roll angle rad
Table 18. CompMeasParameters
Index Description Unit
0 Horizontal position of the centre mm 1 Vertical position of the centre mm 2 Number of points 3 Number of averages per point 4 Integration length mm 5 Velocity mm/s 6 Acceleration mm/s2
Table 19. Current
Index Description Unit
0 Current A
19
Table 20. DQParameters
Index Description Unit
0 Field integral along a parabola T mm 1 Gradient integral along a parabola T 2 Magnetic length mm 3 Curvature radius mm 4 Deflection angle rad
Table 21. ExportParameters. The test results defined here depends on the magnets and must be configured by the user. See the TestResult wave.
Index Description Unit
0 Save the result of the magnetic centre test (if 1) 1 Save the result of the roll angle test (if 1) 2 Save the result of the higher order multipole test (if 1) 3 Save the dimensions of the shims (if 1) 4 Specified GFR radius to be saved in .dat files 5 Save the raw data (if 1) 6 Horizontal distance between shims mm
Table 22. FieldIntegral
Index Description Unit
k Measured field integral at point k T mm
Table 23. MagAxis
Index Description Unit
0 Current horizontal offset between the wire extremities (yaw = this value / length)
mm
1 Current vertical offset between the wire extremities (pitch = this value / length)
mm
Table 24. MagAxisLastMeas
Index Description Unit
0 Last measured horizontal offset between the wire extremities (yaw = this value / length)
mm
1 Last measured vertical offset between the wire extremities (pitch = this value / length)
mm
20
Table 25. MagCentre
Index Description Unit
0 Current horizontal position of the magnet centre mm 1 Current vertical position of the magnet centre mm
Table 26. MagCentreLastMeas
Index Description Unit
0 Last measured horizontal position of the magnet centre mm 1 Last measured vertical position of the magnet centre mm
Table 27. MeasParameters
Index Description Unit
0 Horizontal position of the centre mm 1 Vertical position of the centre mm 2 Number of points 3 Number of turns 4 Integration time s 5 Velocity mm/s 6 Acceleration mm/s2
7 Polynomial order of the drift correction (no correction if 0) 8 First wire mode Hz
Table 28. MeasStr
Index Description
0 Name of the company (or name of the project) 1 Name of the operator 2 Date at the end of the measurement 3 Time at the end of the measurement 4 Serial number 5 Magnet type (“2-poles”, “4-poles”, etc.) 6 Path to the measurement directory
Table 29. Radius
Index Description Unit
k Radius k mm
Table 30. RandRadiusParam
Index Description Unit
0 Maximum radius mm 1 Large radius specification mm 2 Small radius specification mm 3 Standard deviation specification mm 4 Number of radii
21
Table 31. TrajAngle
Index Description Unit
k Angle of the wire trajectory at point k rad
Table 32. TestResult All values set to 0 by default. The user may develop functions to set some values to 1 if the magnet is within specifications.
Index Description Unit
0 Magnetic centre within specifications 1 Roll angle within specifications 2 Higher order multipoles within specifications
Table 33. XPosition
Index Description Unit
k Horizontal position at point k (centre of the integration interval) mm
Table 34. ZPosition
Index Description Unit
k Vertical position at point k (centre of the integration interval) mm
5.8 Computing field and gradient The field and gradients can be computed from the multipoles with the MPField() and MPGrad()
commands, as shown in the example below.
// Initialize two waves
Make/c/n=100 bw, gw
// Set the x axis to +/- 10 mm
SetScale/I x, -10, 10, bw, gw
// Compute the field and gradient along the x axis
bw=MPField(cmplx(x, 0), bn, an, 10) // assuming the measurement radius is 10 mm
gw=MPGrad(cmplx(x, 0), bn, an, 10) // assuming the measurement radius is 10 mm
6 Calibration
6.1 Accuracy of linear stages The typical repeatability of the linear stages is 0.7 µm for the ILC100CC and 0.2 µm for the IMS100V
whereas the typical accuracy is 2.5 µm for the ILC100CC and 1.5 µm for the IMS100V. Systematic
errors can reach 5 µm in the worst case3.
As the stretched wire multipole measurements rely on accurate wire motions, it is important to
check the calibration of the linear stages after the installation of the bench. Correction tables can be
3 Please see the Newport IMS100V and ILC100C user’s manual (joined to the present manual)
22
loaded to the motion controller if needed. Please see the Newport XPS motion controller user’s
manual, chapter Motion tutorial, Compensation, Positioner mapping.
The stage position measurements can be done with a laser interferometer or with a Coordinate
Measuring Machine (CMM).
6.2 Stage perpendicularity Perpendicularity errors between the horizontal and the vertical stages may lead to spurious skew
multipoles. Two types of methods can be used: one relying on a coordinate measuring machine
(CMM) and the other one relying on a laser interferometer. As the CMM calibration is
straightforward, it will not be detailed in this manual.
Figure 8 shows the stage group calibration set up. A compact laser interferometer, e.g. the Renishaw
RLE system, is convenient for this calibration. The detailed operation of interferometer
measurements, including beam alignment, is not presented here. Please refer to your
interferometer user’s manual.
The procedure for angle calibration is as follow:
Measure the scales of the linear stages (interferometer head in position 1 and 2).
With the interferometer head in position 3, measure the distance while running a
synchronous motion of the horizontal and the vertical stages (i.e. a 45° motion).
The angle between the stages is given by 𝜃 = cos−1 (𝑑𝑋𝑌
2−𝑑𝑋2−𝑑𝑌
2
2𝑑𝑋𝑑𝑌), where 𝑑𝑋 and 𝑑𝑌 are
the distances measured on the horizontal and vertical stages, and 𝑑𝑋𝑌 is the distance
measured with the interferometer head at position 3.
Insert shims below the horizontal stage and check the angle with the same method.
Figure 8. Stage group calibration with a laser interferometer.
6.3 Procedure for stage calibration For time efficiency, it is recommended to use the following procedure for stage calibration:
Measure the displacement of the stages with the interferometer head in position 1, 2 and 3
Compute the angle and install a shim if necessary
Measure again the distance with the interferometer in position 3, and modify the shim until
the angular tolerance is reached
23
Measure the displacement along the horizontal and vertical axis and generate correction
tables
Please refer the XPS controller’s user manual for a complete description of the correction tables
(chapter Motion tutorial, Compensation, Positioner mapping). The correction tables are entered in
the files Mapping_ StageType_SerialNumber.txt. The file names, the number of points and the
maximum absolute value of the correction tables are entered in the file stages.ini. The system (i.e.
which stage is connected to which plug, etc.) is described in the file system.ini. Correction table
templates in Excel format are provided with the bench.
6.4 Stage roll angles The stage roll angle, with respect to the magnet girder, can be measured with a CMM (laser tracker,
Faro Arm, etc.) or deduced from two measurements of the same magnet rotated by 180 ° around
the vertical axis.
6.5 Position of the wire support The position of the two prismatic reference blades which support the wire can be measured directly
with a portable CMM (Faro Arm type) or with a ½ inch laser tracker reflector. No additional
calibration is needed.
A cone has been machined on the top of the supports and can be used optionally. The position of
the cone with respect to the reference blades can be measured with a CMM.
7 Installation of software updates Please check the SWLab ftp server for software updates:
http://ftp.esrf.fr/pub/InsertionDevices/SWLab/
The bench software includes different files:
− Multipole.xop, Axis2D.xop and KeithXop.xop are dynamic linked library
− SWLabMeas.ipf, SWLabProc.ipf and SWLabXPS.ipf are Igor procedure files
Any new version of the *.xop file must be paste in the C:\Program Files (x86)\WaveMetrics\Igor Pro
Folder\Igor Extensions\SW Igor Extensions. The SW Igor Extension file must contain an up-to-date
XPS_Q8_drivers.dll file.
Any new version of the *.ipf files must be paste in the C:\Program Files (x86)\WaveMetrics\Igor Pro
Folder\Igor Procedures\SW Igor Procedures.
The previous versions of the updated files must be deleted.
The present version works with Igor Pro 6.3x and has not been fully tested with Igor Pro 7.
8 Configuration files The bench resource files are located in the directory C:\ConfigurationFolder. It includes *.conf
configuration files for the bench, the voltmeter and the motion controller, a PitchW.ibw file which
24
may be used for correcting the pitch of the stages (pitch correction is disabled by default and need
additional calibration which is not needed if the stages are assembled as shown in Figure 3).
The C:\ConfigurationFolder\MeasParameters directory contains specific measurement parameters.
These parameters can be created by the user using the SWLab Measurement > Measurement
Parameters > Save command.
9 Replacement of the XPS controller Please use the following procedure for replacing the XPS controller in case of failure.
Shutdown the XPS controller and unplug the stages, the trigger link installed on the GPIO1 and the
emergency stop button.
Install the new XPS and plug the stages on the same driver cards (the driver card names are written
on the stages). Plug the trigger link on the GPIO1 and the emergency stop button on the INHIBIT
port.
Turn on the XPS.
A backup of the configuration files is located in the following directory:
My Documents\Calibration\<Bench Name>\Config
Copy all the files of this directory in the Config file of the XPS controller, using the XPS’s ftp server
(connect to ftp://192.168.0.254 as an administrator (Login: Administrator, password: Administrator
or use the Computer\XPS shortcut).
Reboot the XPS controller: in the XPS web interface, select Stages, Modify, Reboot.
10 Source codeSWLab ftp server The SWLab software is under a GNU license. The source code is available on the ESRF ftp server:
http://ftp.esrf.fr/pub/InsertionDevices/SWLab/
11 References [1] G. Le Bec, J. Chavanne, and C. Penel, "Stretched wire measurement of multipole accelerator
magnets," Physical Review Special Topics - Accelerators and Beams, vol. 15, p. 022401, 2012.