PiezoPiE712

This section displays the beamline specific code for the PiezoPiE712.

#
# E712 code
#
$Spc::res_h{ e712_title } = { text => "E712 Detector"};
$Spc::res_h{ e712_help} = sub 
{ 
    Util::display_text( "Help E712", 
'

  WAV axis X LIN SegLength Ampl Offset WaveLength StartPoint SpeedUpDown

SegLength
  the length of the wave table segment in points, def. 5000

Amp
  the amplitude of the scan line, e.g. 100 move from the current
  position relative +100

Offset
  the offset of the scan line, e.g. 0

Wavelength
  the length of the single scan line curve in points, e.g. 4980

StartPoint 
  the index of the starting point of the scan line in the segment, e.g. 0

SpeedUpDown
  the number of points for speed-up or low-down, e.g. 10

TableRate
  the duration of the output, e.g. 10

OutputCycles
  1

WOS
  wave generator output offset, reflects the position

Position
  Move using waveform, if distance > 2

PositionRaw
  Move by command, not by WF
'
)};

$Spc::res_h{ e712_io1 } = { label => { name => "SegLength", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveSegmentLength");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveSegmentLength", $_[0]);}}};
$Spc::res_h{ e712_io2 } = { label => { name => "Amp", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveAmplitude");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveAmplitude", $_[0]);}}};
$Spc::res_h{ e712_io3 } = { label => { name => "Offset", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveOffset");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveOffset", $_[0]);}}};
$Spc::res_h{ e712_io4 } = { label => { name => "WaveLength", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveWaveLength");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveWaveLength", $_[0]);}}};
$Spc::res_h{ e712_io5 } = { label => { name => "StartPoint", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveStartPoint");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveStartPoint", $_[0]);}}};
$Spc::res_h{ e712_io6 } = { label => { name => "SpeedUpDown", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveSpeedUpDown");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveSpeedUpDown", $_[0]);}}};
$Spc::res_h{ e712_io7 } = { label => { name => "TableRate", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveTableRate");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveTableRate", $_[0]);}}};
$Spc::res_h{ e712_io8 } = { label => { name => "OutputCycles", 
									   get => sub {Spectra::tng_attrLongRd( "mi_pi1", "WaveOutputCycles");}},
							entry => { set => sub {Spectra::tng_attrLongWrt( "mi_pi1", "WaveOutputCycles", $_[0]);}}};
$Spc::res_h{ e712_io9 } = { label => { name => "WOS", 
									   get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "WOS");}},
							entry => { set => sub {Spectra::tng_attrDoubleWrt( "mi_pi1", "WOS", $_[0]);}}};
$Spc::res_h{ e712_io10 } = { label => { name => "ServoUpdateRate", 
									   get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "ServoUpdateRate");}}};
$Spc::res_h{ e712_io11 } = { label => { name => "State", 
										get => sub {Spectra::tng_state( "mi_pi1");}}};
$Spc::res_h{ e712_io12 } = { label => { name => "Position (WF)", 
									   get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "Position");}},
							entry => { set => sub {Spectra::tng_attrDoubleWrt( "mi_pi1", "Position", $_[0]);}}};
$Spc::res_h{ e712_io13 } = { label => { name => "PositionRaw", 
									   get => sub {Spectra::tng_attrDoubleRd( "mi_pi1", "PositionRaw");}},
							entry => { set => sub {Spectra::tng_attrDoubleWrt( "mi_pi1", "PositionRaw", $_[0]);}}};

$Spc::res_h{ e712_b1} = { name => "DefineWF", 
			       command => sub { Spectra::tng_inout( "mi_pi1", "DefineWaveform");}}; 
$Spc::res_h{ e712_b2} = { name => "StartWaveGen.", 
			       command => sub { Spectra::tng_inout( "mi_pi1", "StartWaveGenerator");}}; 
$Spc::res_h{ e712_b3} = { name => "StopWaveGen.", 
			       command => sub { Spectra::tng_inout( "mi_pi1", "StopWaveGenerator");}};

Figure 14.26: BLSC: PiezoPiE712
Image blscE712