Download GBT Control System

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

International Ultraviolet Explorer wikipedia , lookup

Allen Telescope Array wikipedia , lookup

CfA 1.2 m Millimeter-Wave Telescope wikipedia , lookup

Transcript
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