Presentation is loading. Please wait.

Presentation is loading. Please wait.

OATS - An Example of LCOD Organic Aerosol Thermal desorption chemical ionization mass Spectrometer David Thomson NOAA Aeronomy Lab October 19, 2006 ALARM.

Similar presentations


Presentation on theme: "OATS - An Example of LCOD Organic Aerosol Thermal desorption chemical ionization mass Spectrometer David Thomson NOAA Aeronomy Lab October 19, 2006 ALARM."— Presentation transcript:

1 OATS - An Example of LCOD Organic Aerosol Thermal desorption chemical ionization mass Spectrometer David Thomson NOAA Aeronomy Lab October 19, 2006 ALARM Meeting

2 OATS Program Architecture Multiple Top-Level Tasks LCOD Components Timing Counters PXI Timing and Triggering Pulse Generation Challenge

3 Program Architecture Multiple Top-Level Tasks Control Task Starts other tasks, watches Alarms, shuts tasks down Housekeeping Records instrument health (1 Hz) State Sequencer Top level “mode” sequencer Data State Sequencer Carries out multiple data steps for each mode User Interface Optional - allows full user control

4 Task Architecture Queued State Machines Control Task State Machines with Enums State Sequencer Data State Sequencer Optional User Interface Two parallel Timed Loops Housekeeping One for Data Acquisition One for User Interface, Communication

5 LCOD Need access to various hardware devices from several top-level programs E.g., Control Task has to act on hardware, while Housekeeping Task queries it for data Need a semiphore mechanism to prevent communication collisions Developed “Drivers” or “Components” to address this issue Configuration info for all components stored in the same.ini file

6 Example Component: Digital Output Cross between a State Machine, a Functional Global, and an Object Encapsulates all methods required to deal with the Digital Output hardware Retains internal memory of the Digital Output states Allows Housekeeping to query the state without bothering the hardware Allows one bit in a byte to be set without changing the other bits

7 Digital Output Component No-op Initialize Reads its section of the.ini file Retains its config info internally Sets up the required Daq tasks Can be called explicitely, or will be called automatically if a command is called Close Releases resourses when the program stops Commands: Set Bit State, Set Bit Hi, Set Bit Low, Negate Bit, Set Port, Read DO, Read Names

8 More Component Features Optional time-stamped logging of all actions Use/Simulate option Component Template for faster development Automatic logging of all errors to the Log File Component Caller VI allows access to all functions while the programs are running

9 OATS Timing and Triggering Sequences within Sequences... Dev1 32 Channel Slow AO (2 Counters) Dev2 M-Series for Housekeeping (1S/s, 2 Analog Outputs, 2 Counters) Dev3 M-Series for Data (1MS/s, 4 High Speed AO, 4 Counters) 4 Port RS232 Serial 3rd party Arb (20MS/s) Dev4 PXI-6602 Counter/Timer (8 Counters)

10 Timing Diagram Start EmptyTrap Trap End Data StartTrap Begin Triggered ByRouted To SoftwarePXI_Trig0 Generated On Dev4 CTR4 Fast AO Clock Dev2 CTR1PXI_Trig2 PXI_Trig0 then PXI_Trig4 reconfigured... pulse train single pulse Trap End Dev1 CTR1 PXI_Trig0PXI_Trig4 Fast AOs Dev3 AO 0-3PXI_Trig2 Do Not Interupt Dev3 CTR1 PXI_Trig0 Acquire Dev3 CTR1 PXI_Trig0 RF Amplitude Dev2 AO1 PXI_Trig2 then PXI_Trig1 reconfigured... Data Acquisition Dev3 AI0 PXI_Trig1 AC Waveform Trigger Dev4 CTR0 PXI_Trig0 PXI_Trig3 AC Waveform Arb PXI_Trig3 Mass Scan PXI_Trig1

11 Pulse Generation Challenge ● Use AO to create a digital pulse train ● Reconfigure counters ● Other ideas?


Download ppt "OATS - An Example of LCOD Organic Aerosol Thermal desorption chemical ionization mass Spectrometer David Thomson NOAA Aeronomy Lab October 19, 2006 ALARM."

Similar presentations


Ads by Google