An Open Distributed Monitoring and Control System

Paper: 382
Session: B (poster)
Presenter: Nogiec, Jerzy, Fermilab, Batavia
Keywords: control systems, data acquisition systems


An Open Distributed Monitoring and Control System

J.M.Nogiec, E.Desavouret, J.Pachnik, S.Sharonov, J.Sim
Fermi National Accelerator Laboratory


Abstract

A distributed computer monitoring and control system developed at
the Fermilab's Magnet Test Facility (MTF) is described. The system has been
successfully applied to control cold tests of superconducting accelerator
magnets.

The MTF control system is a configurable set of communicating distributed
objects. The system is multiplatform: graphical user interfaces and data
archiving parts run under Unix while data acquisition and direct control
run under the VxWorks real-time operating system. Most of the system
components are available on both platforms and there are plans to extend
this functionality into the Windows-NT environment. The data acquisition
part uses both the VME and GPIB instrumentation busses. The system also
integrates transparently PLC - based I/O systems.

Both control parameters and values acquired from the process under
control are viewed by the system identically as so called
variables. Variables are grouped into classes and each variable can belong
to more than one class. The system supplies users with general purpose
tools to select and display values and attributes of any set of variables
either graphically (trends) or numerically. The system also supports rapid
development of animated process schematics for operators based on
standardized access to system variables.

Multiple tools can be used concurrently to monitor, archive and control
different or the same parts of the controlled system from many distributed
locations. The mutual mutual exclusion that is necessary in such
environments is achieved through locking of objects under control.

The communication and synchronization between system elements is done
with help of TCP/IP networking and events transferred between the objects.
Events are exchanged using a concept of a "software bus" where objects can
communicate with each other without having direct knowledge of each other.
In this scheme any active object (e.g., data acquisition scan) that wants
to receive events registers its interest in specific types of events.

The system is open and its functionality can be extended or modified at
three different levels: a) software bus level, by selecting or implementing
new modules that plug into event-based software bus; b) program level, by
writing new modules that use supplied APIs to access system resources; and
c) configuration level, by updating the system configuration to modify data
acquisition, hardware configuration, data processing, and control
algorithms.

The article describes architecture of the system, the software bus model
of IPC communication, the run-time data base, universal GUI tools,
integration with the Sybase database, and the development methodology
applied. The current applications of the system to control the Horizontal
and Vertical Magnet Test Facilities at MTF as well as plans for the future
are also discussed.