--
SvetlanaFedotova - 29 Jan 2020
CrySrcMwGenerator
FESA class for controlling MW generator for ECRIS ion source. Used for setting amplitude (0-9 V) and frequency (9-10.5 GHz) to MW generator. Actual values of amplitude and frequency can be aquired as well. Read ADC voltage for amplitude can take values from 0 to 9 V. Read ADC voltage for frequency can take values from 1.7 to 1.98 Volt what shall corresponds 9-10.5 GHz. Hardware used is AdcDac card with 2 DAC for setting and 2 ADC channels for reading the values.
SVN:
https://www-acc.gsi.de/svn/fesa/device/class/CrySrcMwGenerator
https://www-acc.gsi.de/svn/fesa/device/deploy-unit/CrySrcMwGenerator_DU
Released on
scuxl0289, pro-environment
Instance (nomenclature):
YRT1IZ1R
Setting Property:
value-item: amplitude
value-item: frequency
Acquisition Property:
value-item: amplitude
value-item: amplitudeSet
value-item: frequency
value-item: frequencySet
RTDeviceClass:
generates FESL- device object
RT-Actions:
AquisitionRTAction: CMD_SOURCE_START#273; fills staus information; calls FESL methods readActAmpl; getDacValueAmpl; readActFreq and getDacValueFreq
Server actions:
SettingSetAction: calls FESL methods setAmpl(amplitude) and setFreq(frequency);
FESL
SVN:
https://www-acc.gsi.de/svn/fesa/device/driver/feSupport/trunk/feSupport/device/ionSource/MwGenerator.hpp
https://www-acc.gsi.de/svn/fesa/device/driver/feSupport/trunk/feSupport/device/ionSource/MwGenerator.cpp
Hardware
scuxl0289
AdcDac card FG 900.161
Slave 10
Number of internal DAC for amplitude value (Setting): 2
Number of internal ADC for amplitude value (Aquisition): 2
Number of internal DAC for frequency value (Setting): 1
Number of internal ADC for frequency value (Aquisition): 1
Namespace : FeSupport:MWGenerator:class mwGenerator
Methods and parameters:
PRIVAT:
***Min and max values for setting amplitude in proper units (Volts or Watts):
double SetAmpl _max; double SetAmpl _min;
***Min and max values for setting frequency in proper units (GHz):
double SetFreq _max; double SetFreq _min;
***Converts amplitude value set in units into Volts for ADC card:
double UtoV _Ampl
***Converts frequency value set in units into Volts for ADC card:
double UtoV _Freq
***Converts actual amplitude value read from DAC in Volts into units:
double VtoU _Ampl
***Converts actual frequency value read from DAC in Volts into units:
double VtoU _Freq
PUBLIC:
* Scales set amplitude and sends it to ADC Card:
void setAmpl(double AmplU);
***Scales set frequency and sends it to ADC Card:
void setFreq(double FreqU);
***Reads a set value from DAC (raw Hex) for amplitude and scales it to Volts:
double getDacValueAmpl();
***Reads a set value from DAC (raw Hex) for frequency and scales it to Volts:
double getDacValueFreq();
***Reads an actual amplitude value from ADC (raw Hex) and scales it to Volts:
double readActAmpl();
***Reads an actual frequency value from ADC (raw Hex) and scales it to Volts:
double readActFreq();