sw_glossary.html
07/30/96
Rev 1.2
SMARTS GLOSSARY

Glossary

ACU
Antenna Control Unit - A PMAC dedicated to servo control and monitoring of the antenna azimuth and elevation drives, the chopping subreflector, holography, and the tension servo.

Antenna Computer
The antenna computer is responsible for all antenna control and monitoring functions. It uses the LynxOS operating system.

Array Computer
see Central Computer

Array Controller
see Central Computer

Axis
PMAC Axis - PMACs have two types of axes, physical and logical. The number of physical axes are based on the options purchased with the PMAC. Typical numbers are 4, 8 and 12. These physical axes have a relation to software; the hardware registers and memory are mapped into specific PMAC addresses.

A logical axis is a definition used by the PMAC to specify a geometric axis of movement to a PMAC motor number.

An example of a physical and logical axis definition is as follows. The left azimuth motor is assigned to PMAC Motor #1, PMAC physical axes 1 and 2, and PMAC logical axis X in coordinate system 1. The assignment looks like this:

&1 #1->11650.844444X

Central Computer
The computer responsible for coordinating the realtime actions of the SMA. The central computer - named hal - uses the LynxOS operating system.

Coordinate System
A PMAC coordinate system is a logical aggregate of PMAC motors. It is used to allow a synchronized movement of the motors. The PMAC allows up to 8 coordinate system definitions. A coordinate system may have 1 to 8 motor assignments. Only one motion program is allowed to run in a coordinate system.

DERS
Diagnostic and Error Reporting System - The software mechanism by which the status and diagnostic/monitor data is propagated throughout the software.

DPRAM
Dual-Ported RAM - This is the PMAC memory that is mapped onto the VME bus. It is used to allow the PMAC and the host computer to communicate.

ECU
Environmental Control Unit - A PMAC dedicated to the control and monitoring of the HVAC system.

Gateway Computer
The computer which provides the firewall to the SMA. This computer - named sma1 - provides the X-window front end to the software, runs the SMARTS parser, and serves as the operator's console.

GUI
Graphical User Interface - One example is the 'front end' of the SMARTS package. The GUI provides a mouse/event driven user interface to the software. User input and output are provided, making extensive use of the graphics capabilities of the workstation/terminal.

HTML
Hypertext Markup Language - The language used for documents created for viewing on the World Wide Web (WWW).

IPC
Interprocess Communications - The methods of performing I/O between local applications. Typical IPC methods include the use of shared memory, pipes, message queues, and sockets.

I Variables
I variables are PMAC special use variables. They allow the system to be configured based on user's requirements. There are 1024 I variables labeled I0 to I1023. Often, I variable numbers will be referenced (as an example) Ix02. The x denotes a PMAC motor number. I100 to I899 are used to configure the PMAC motors 1 to 8. The other I variables are used for a variety of other configuration options.

Motion Program
A PMAC motion program must be used to cause the PMAC's defined motors to perform a movement. The PMAC has an extensive set of commands to perform a variety of functions. Commands associated with motion are restricted to motion programs.

Motor Assignments
One of the attributes of a PMAC is a motor. A PMAC has the capability to support 8 motors. A motor is a logical (or software) entity. Typically, there is a direct hardware correlation. Motors are assigned to coordinate systems. Motor assigments consist of axis definitions. As an example, an SMA antenna has three drive motors assigned to PMAC ACU motors 1, 2, 3. Motors 1 and 2, the azimuth motors, have an X axis assignment. Motor 3, the elevation motor, has a Y axis assignment.

M Variables
A PMAC uses M variables to allow the user access to registers and memory. There are 1024 M variables, numbered 0 to 1023. M variables are general use global variables.

M Variable Definition
A PMAC uses M variables to allow the user access to registers and memory. Thus, the M variables must be defined to point to these specific locations. A typical M variable definition looks like this:

M100->DP:$D200,0,16,s

That assigns M100 to point to DPRAM location D200 (hex) and defines that location as a 16 bit signed integer. There are many other options.

NFS
Network File System - A file system which resides one a computer system and is logically connected to other computer systems. In our configuration, all of the SMARTS source code will reside on the SUN sma1 computer. This directory hierarchy is crossmounted onto other systems to allow access to the source code and configuration files. This provides a single repository for the software.

OS
Computer Operating System - The Sun computers are running SunOS version 5.5. The realtime computers are running LynxOS version 2.3.0.

PLC
Programmable Logic Control Program - A PMAC background task. A PMAC may have up to 32 of these programs, numbered 0 to 31. PLC 0 is used for special purpose - high speed applications. PLCs 1 to 31 execute at a lower priority.

PLS
Programmable Limit Switch PMAC - A PMAC dedicated to the control and monitoring of the limit switches which guard the antennas from collisions when in the innermost array configuration.

PMAC
Precision Multi Axis Controller - A DSP based processer typically used for servo control. Other uses include DAC and ADC I/O, digital I/O, and performing miscellaneous synchronous and asynchronous tasks.

The PMACS reside in a VME chassis and communicate with the antenna computer through dual-port RAM and VME mailbox registers. The PMACs may also be accessed through an on-board serial port.

P Variables
P variables are PMAC's general use global variables, but unlike M variables, they do not reference hardware locations. They are a typical software implementation of user variables. P variables are numbers P0 to P1023. Note that P0 has a special use. If running a PMAC executive session, values typed interactively are automatically deposited into P0.

Q Variables
Q variables are PMAC's general use local variables. They are software variables similar to P variables. There are 1024 Q variables which are distributed among the defined coordinate systems. The local usage of Q variables is not enforced by PMAC. This allows the unfortunate possibility of modifying Q variables in other coordinate systems. Hence, care must be taken to restrict the Q variable numbers to those allowed for the intended coordinate system. As an example, if 8 coordinate systems are defined, each coordinate system provides 128 Q variables labeled Q0 to Q127. If a program running in coordinate system 1 modifies Q128, that is the equivalent of changing Q0 in coordinate system 2.

Reflective Memory
A hardware solution to provide common memory throughout a distributed computer network. The SMA uses a VME based reflective memory network linked by fiber optic cables.

RPC
See Remote Procedure Call

rpcgen
A utility used for creating RPC source code stubs. This utility is available on both LynxOS and SunOS systems.

Remote Procedure Call
Method used to communicate between computers using the Internet. The network layer dealing with RPCs is the session layer. It is one layer further removed from hardware dependancies then the transport (TCP/IP, sockets) layer.

SMARTS
SubMillimeter Array Radio Telescope Software - Name given to the entire control and monitoring software package.

TCP
Transmission Control Protocol - A networking transport method layered on top of Internet Protocol (IP). The SMARTS software uses TCP when reliable data transfers or data transfers larger than 8 KB are required.

UDP
User Datagram Protocol - A networking transport method layered on top of Internet Protocol (IP). The SMARTS software uses UDP when very fast throughput is required for data transfers. However, UDP has two key limitations. It has a maximum transfer size of 8 KB and it does not have a reliable error recovery mechanism.

XDR
External Data Representation - A specification used for data encoding/decoding to provide portable network data transfers.

YCU
YIG Control Unit - A PMAC dedicated to the control and monitoring of the LO/IF subsystem.