Los Alamos
SNS Linac Wire Scanner Interface Control Document
Author(s): M. Plum
Date: 27/Mar/01
Rev. 0
The SNS wire scanner system is a PC based instrument, which controls a three-axis wire scanner mechanism as an integrated measurement. Its purpose is to measure the transverse profiles of the beam at a given point in the beamline. It is used with a mechanical wire scanner assembly with appropriate signal conditioning electronics. It supports both local and remote operation via a local console and EPICS (Experimental Physics and Industrial Control System) channel access.
An actuator assembly is used to scan a series of wires through the beam. Both X and Y-axis may be scanned with the same actuator, as well as a third axis at 45 degrees. The amount of beam current intercepted by the wires is read out directly. The measured wire signal may be normalize to the beam current as measured with a nearby current monitor. The beam profile is estimated by measuring the intercepted wire current at a number of positions.
The instrument is a stand-alone device with a few exceptions. External timing is required to synchronize the data acquisition with the accelerator macropulse structure. Wire current integration and measurement is internal to the instrument.
The wire scanner is capable of several measurement operations
1. Manual local/remote motion and acquisition using external trigger pulse
2. Automatic local/remote scan and acquire using external trigger pulse
3. Manual local/remote self test
4. Bias voltage adjustment
In manual motion and acquisition, the device will sample a waveform at a single position. Acquisition is defined by an external pulse, which is assumed to indicate the presence of data at the sensor. The data is presented to the local console and channel access interface. User definable parameters include data array length, presentation, and reduction.
In automatic scan and acquire, the device will sample an array of waveforms from a range of positions. Acquisition is synchronized to external pulse train and mechanism position information. The data is presented to the local console and channel access interface. User definable parameters include data array length, presentation, reduction, and mechanism step size and start/stop positions. Presently the maximum scan rate is limited around (TBD) steps per second.
The device is capable of an automatic self-test manually activated by the user. This test verifies basic functionality of the mechanical actuator, wire integrity, wire current acquisition electronics, and bias voltage (if used). The results of the test are presented to the local console and channel access interface.
For accurate measurement of the wire current the wire must be biased. This bias voltage is adjustable. Though not absolutely established, the probable adjustment range will be from zero to 100 V dc.
There are two modes of measurement available. The mode may be selected from the main measurement control screen. The mode sets up when and where the mechanism is moved and whether or not data is taken. The modes are defined as:
1. Manual operation
· User specifies wire position
· User requests data acquisition
· User specifies waveform length and reduction and analysis
2. Automated scan
· Completes any wire scans as requested
· Automatically moves wire and acquires data throughout measurement
· User specifies range of motion and step size and/or fly mode.
· User specifies waveform length and data reduction and analysis
In order to acquire data, several parameters must be supplied to define the desired position (or range of positions) and interval between measurements for the sensor wire. These values are supplied by the user to a resolution of about 10 microns (TBD). Typical relative position accuracy is on the order of 10 microns (TBD).
Due to the difference in stroke required by differing beam pipe sizes, there may be different calibration constants required for different lead screw pitches.
The current position of the sensor wire is available at any time as an output from the instrument.
|
Channel Name |
Description |
|
Prefix_WSHS_modeSel |
Selects Auto/manual mode |
|
Prefix_WSHS_acquire |
Acquisition start/stop/abort |
|
Prefix_WSHS_status |
Scan status ready/busy/done/error |
|
Prefix_WSHS_strtPos |
Mechanism start position |
|
Prefix_WSHS_endPos |
Mechanism stop position |
|
Prefix_WSHS_stepSize |
Mechanism step size |
|
Prefix_WSHS_fly |
Specifies fly mode |
|
Prefix_WSHS_curPos |
Current mechanism position |
|
Prefix_WSHS_mMode |
Conversion between counts and mm |
Prefix_WSHS_modeSel : This channel controls the overall mode of the scan, auto or manual. Automatic scans produce an array of values over a range of locations, manual scans produce a single value or array of values from a single location. Legal values are integers 0 (auto), or 1 (manual).
Prefix_WSHS_acquire : This channel controls the acquisition operation. Start and stop are self-explanatory. The abort function stops the current operation and returns the mechanism to home position. Legal values are integers 0 (stop), 1 (start), and 2 (abort).
Prefix_WSHS_status : This channel reports the current status of the measurement. Ready indicates that the instrument is idle, and ready to start a scan. Busy indicates a scan is currently in progress. Done indicates that the scan has completed and data is ready to be uploaded. Error indicates that the previous scan was interrupted by either an abort command or hardware error. Issuing a “stop” command can clear the “error” status.
Prefix_WSHS_strtPos: This channel defines the starting position for the current measurement. It is referenced once at the start of each scan. The Legal range is 0 to TBD.
Prefix_WSHS_endPos: This channel defines the ending position for the current scan. It is referenced once at the start of a scan. The legal range is 0 to TBD. In addition, it must be greater or equal to the value supplied for the scan start position. It is ignored for manual scans.
Prefix_WSHS_stepSize: This channel defines the measurement interval. It referenced once at the start of each scan. The legal range is 1 to TBD. It is ignored for manual scans.
Prefix_WSHS_fly: This channel defines if fly mode is selected. The legal range is 0 to 1. 0 means step mode, 1 means fly mode.
Prefix_WSHS_curPos: This channel holds the current position of the mechanism in counts. It can be queried at any time.
Prefix_WSHS_mMode : This channel holds the constant conversion factor between counts and mm for this instrument. It can be queried at any time.
Data is acquired during the course of both manual and automatic scans. The amount of data acquired, reduction algorithm applied, and size of the desired result must be defined by the user.
Generally arrays of data will be acquired which are sufficiently long to encompass the start of the beam macropulse and also include the region of interest for the profile. The actual array length will depend on the sampling rate and the beam pulse width. Typical values would be 100 us long beam pulses and sampling rates of about 4 MSPs. These numbers will be fixed, once established.
|
Channel Name |
Description |
|
Prefix_WSHS_wAqSize |
Acquisition buffer size for wire data |
|
Prefix_WSHS_wSampOffset |
Number of samples to skip at beginning of array |
|
Prefix_WSHS_wSampSize |
Number of samples to process |
|
Prefix_WSHS_DatReduct |
Data reduction none/point/array |
|
Prefix_WSHS_redArrSiz |
Size of array to reduce to |
|
Prefix_WSHS_wData |
Wire data array |
Prefix_WSHS_wAqSize: This channel defines the size of the acquisition buffer in samples. The legal range is 1 to TBD. It is referenced once at the start of each scan.
Prefix_WSHS_wSampOffset: This channel defines the offset in the acquisition buffer where processing will begin on acquired data. The legal range is 0 to the acquisition size. It is referenced once at the start of each scan.
Prefix_WSHS_wSampSize: This channel defines the number of samples to process after the sample offset. The legal range is 1 to acquisition size – sample offset. It is referenced once at the start of each scan.
Prefix_WSHS_DatReduct: This channel defines the data reduction algorithm (if any) that is used to process the acquired data. Currently defines values are 0 (no processing), 1 (average value of all acquired data), and 2 (rolling average reducing to array of a smaller size). It is referenced once at the start of each scan.
Prefix_WSHS_redArrSiz: This channel defines the size of the processed array if the data reduction value is 2. It is referenced once at the beginning of each scan.
Prefix_WSHS_wData: This channel holds the wire scan data. It is represented as an array whose length is defined by the preceding parameters. It is written once at the end of each scan.
In order to normalize the wire data from multiple pulses, it is desirable to synchronously acquire beam current data from a nearby beam current monitor. The optimum method for this is to be determined. It will likely involve simultaneously acquiring time-stamped current monitor from a separate instrument, and performing the normalization in an EPICS application or in a data concentrator.