80 likes | 228 Views
TANGO collaboration meeting. F.Epaud – ESRF/CS/SEG Date: 06-09-2006. Common Data Acquisition Classes. Daq server (version 1) : NIDaq. Very trivial TANGO server: Features: Support of NI cards: Analog & Digital IO (No CT) Autoconfiguration according to the card type
E N D
TANGO collaboration meeting F.Epaud – ESRF/CS/SEG Date: 06-09-2006 Common Data Acquisition Classes
Daq server (version 1) : NIDaq • Very trivial TANGO server: • Features: • Support of NI cards: Analog & Digital IO (No CT) • Autoconfiguration according to the card type • Single channel, single point • Dynamic generation of Scalar attributs for each channel • Problems • NI cards oriented • No classes design • No multiples channels, no several samples, no triggers • Only -10/+10 Voltage measurement
Daq server (version 2): TANGO TACO EPICS Futur TANGO C++ prog (Labs) C++ classes HW adaptor HW adaptor HW adaptor HW adaptor NIDAQmx ADLink driver(s) WAGO/Modbus ICV150/712/…. AI AO DIO CT AI AO DIO CT AI AO DIO CT AI AO DIO CT
Daq Channel C++ Classes • Daq Channel: • PhysicalChannelName • type • Direction • NumberOfSamples • SamplingFrequency • FillingMode • StartTriggerSource • - StopTriggerSource • NbOfSamplesPostTrigger • Status • Error . • AnalogChannel: • MeasurementType • Units • MinimalValue • MaximalValue DigitalChannel: DigitalInputChannel • AnalogInputChannel • ShuntResistor • ThermoCoupleType DigitalOutputChannel AnalogOutputChannel
Physical Device C++ Classe AnalogInputChannel . AnalogInputChannel AnalogOutputChannel AnalogInputChannel • physicalDevice: • Phys_device_name • type • - nbofAI, nbOfIO, nbOfDI, NbOfDO • AnalogInputChannel • -AnalogOutputChannel • DigitalIputChannel • DigitalOutputChannel AnalogOutputChannel AnalogInputChannel DigitalInputChannel DigitalOutputChannel DigitalInputChannel DigitalOutputChannel DigitalInputChannel DigitalOutputChannel DigitalInputChannel DigitalInputChannel Linked channels: Channels “of the same type” can be linked together and uses the setting of the master channel.
TANGO device server • TANGO device is a list of physical devices defined by a properties • For each devices, the server asks the capabilities of the physical device to the Hardware layer then instantiates all the corresponding classes. • Get the channels properties from the SDB (Static Data Base). • Properties should have the form ClassType<xx>-<yyy>/PropertyName Where XX is the logical device [1-n] and YYY the logical channels [0-m] Example: AnalogInput02-004/Name, AnalogInput02-004/MinValue • Linked channel are recognized with the string “link to #<channel> in the name property. Ex: AnalogInput02-004/Name = “ai7 linked to #6” Need a configuration tool • Creates an attribut per channel. Attribut type depends of the number of channels and the number of samples: • 1 channel, 1 sample -> Scalar type • N channels or N samples -> Spectrum type • N channels and N samples -> Image type (X and Y assignement depend of the fillingMode property). • Read_ClassType_attr(attribut_name) redirected to the hardware layer. • Finally requests the hardware layer to initialize according to the settings
Hardware adaptors: • Simulation: • Written at the same time as the TANGO server • Only Analog Input and Output implemented. • Only single and finite acquisition implemented (not continious) • Multi channels implemented. • NIDAQmx: • The first hardware to connect • ADLink • Wago • ICVxxx
NIDAQmx • Handles all the NI data acquisition cards • Handles: Analog IO, Digital IO, counter/timer • Hardware: PCI, PXI, USB, cRIO, … • Operating systems: Windows, Mac, Linux • Task oriented: - Task creation - Specifications of channels and channels parameters - Channels should be of the same types