Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
GBT Control System Richard Prestage Atacama Large Millimeter/submillimeter Array Karl G. Jansky Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array Requirements of a Single Dish Telescope • Flexibility! • Multiple Receivers – GBT has 11 current, 1 retired, more planned • Multiple Backends – Three Spectrometers – Two heterodyne continuum + one bolometer array – Multiple pulsar backends (many visitor instruments) • Multiple Observing Modes – Line, Pulsar, Continuum,VLBI, FSSW, PSSW, BMSW, OTF Mapping… • Continually being upgraded • Software must be flexible and agile also… 2 Requirements of the Control System • • • • Support the above flexibility Allow novice users to think about astronomy, rather than device settings Allow expert users to manipulate and use every capability of the hardware Create a laboratory of instruments, rather than a monolithic telescope – Allow for expansion and upgrades – Minimize interdependencies • Systems implemented as autonomous units, coordinated by time – Consistent metaphor for devices – Consistent device state machine 3 4 Areas I will cover today • Monitor and Control System (“Managers”) • Configuration Logic • Observation Control • Queue Control 5 • Monitor and Control System (“Managers”) • Configuration Logic • Observation Control • Queue Control 6 7 Monitor and Control System • Each separate piece of hardware is controlled by a separate process – “Device Manager” • Base class “Manager” provides a common control interface and implements core functionality required by all devices. • Derived class adds methods specific to the needs of the device • Control or “set-up” variables which define the operation of a device are encapsulated in the class “Parameter” – Primitive data types – Arrays – C-structures • “setParameter” method can set any Parameter of any type. Manager off on setParameter recalculate activtate stop start arm complete getEGST reportParameter 8 Monitor and Control System • Can have a hierarchy of “coordinators” and “managers” Scan Coordinator Antenna Coordinator Antenna Manager LO1 Manager Spectrometer Manager Active Surface Manager 9 Monitor and Control System • • • • • • Basic unit of data acquisition is a “scan” Contiguous period of telescope motion and data acquisition One “On” of an On-Off observation or point map One “row” of an on-the-fly map. Managers are independent state machines Running Coordinated by Start Time Committed Stopping Aborting Activating Ready Standby Off • Monitor and Control System (“Managers”) • Configuration Logic • Observation Control • Queue Control 11 Configuration Logic • The GBT has had over 10 receivers and over 10 backends available for use during the 10 years since its commissioning. • Each receiver to backend must be routed through a complicated IF chain. • If any part of the configuration is incorrectly setup, the observation will fail and telescope time will be lost. • A typical configuration results in over 125 individual settings to at least 7 different hardware devices. • The ‘configuration tool’ is an api that allows an observer to specify how they want to use the telescope without having to understand the details of the hardware or the M&C software system. • The observer specifies what they want to do and the configuration tool maps this into GBT specific hardware settings. 12 Configuration Logic 13 Configuration Logic Configure(""" receiver = 'Rcvr12_18' beam = 'B12' obstype = 'Continuum' backend = 'DCR' nwin = 1 restfreq = 15000 deltafreq = 0 bandwidth = 320 swmode = 'tp' swtype = 'none' swper = 0.2 swfreq = 0.0, 0.0 tint = 0.2 vlow = 0 vhigh = 0 vframe = 'topo' vdef = 'Radio' noisecal = 'lo' pol = 'Circular' iftarget = 3 """) 14 Configuration Logic • Configuration Tool: – Does what? – How? 15 • Monitor and Control System (“Managers”) • Configuration Logic • Observation Control • Queue Control 16 Observation Control • Typical Observation: – Calibrate the Telescope (Peak, Focus) – Configure the instrumentation (as discussed above) – Balance the IF system – Slew to a target source (specified in a catalog) – Perform the observation • GBT Observation Control System executes simple scripts, written in python, to execute the above steps. • All of the power of python is available to the observer. 17 Simple Observing Scripts Example 1: AutoPeakFocus() Example 2: mySource = “3C48” myOffset = Offset(“J2000”, 1.0, 1.0) Catalog(flux_cal) Configure(“/home/users/ashelton/myConfigure.py”) Slew(mySource) Balance() Track(mySource, myOffset, 60.0, “1”) More Complex Example offsetList = [0,1,-1,2,-2,3,-3,4,-4,0] for nOffset in offsetList: # Calculate total offset, place into servo totOffset = offset0 + delOffset*nOffset SetSubrOffset("y3", totOffset) # Compensate LPC's a = (az0LPC+delOffset*nOffset*azLPCScale) e = (el0LPC+delOffset*nOffset*elLPCScale) f = focus0LPC+delOffset*nOffset*focusLPCScale SetValues("Antenna",{"localPointingOffsets,azOffset2":a}) SetValues("Antenna",{"localPointingOffsets,elOffset":e}) SetValues("Antenna",{"local_focus_correction,Y":f}}) Python list, loop Call a Python function Python arithmetic Set values in hardware # Add some annotation to the observing process Annotation("Y3FFSET",str(totOffset)) # Do the measurements AutoPeak(source=src, configure=False, balance=False) 19 • Monitor and Control System (“Managers”) • Configuration Logic • Observation Control • Queue Control 20 Queue Control 21 Queue Control 22 Queue Control 23 The National Radio Astronomy Observatory is a facility of the National Science Foundation operated under cooperative agreement by Associated Universities, Inc. www.nrao.edu • science.nrao.edu 24