RTDB : A Memory Resident Real - Time Object Database
- Jerzy M . Nogiec, Eugene Desavouret
An extensible power supply control and monitoring system has been developed at Fermilab’s Technical Division to control and monitor power supplies of various types from within many different applications. This system, deployed as a network service, provides uniform programming and user interfaces for various types of power supplies, ranging from 20A to 30kA. 1 SYSTEM ORGANIZATION The Magnet Test Facility at Fermilab uses many different power supplies in accomplishing its mission. This variety requires the availability of transparent access to these power supplies for applications and users alike. To satisfy this requirement, a power supply service has been developed that allows for concurrent access to a single power supply by several client programs. Only one program is granted control capabilities at any given time (other clients may run in the monitoring mode). For example, several users can monitor the current changes requested by an automated test program. Additionally, the distributed architecture of the system allows users and system operators to be geographically dispersed. Figure 1: Architecture of the Power Control System The system is based on the server-client model. Each power supply has a central server that is connected via a dedicated fiber optic link to an embedded power supply controller . Clients execute power control Operated by the Universities Research Association under contract with the U.S. Department of Energy access operations that are converted into request messages and sent to the power supply server. The server receives the request, unpacks it, and sends a message to the specific power supply controller that performs the actual operation. It then waits for the reply from the controller and sends the response back to the client. Before a client can control the power supply it must allocate and lock the control of this device. Supported server platforms include Solaris and VxWorks; and client platforms include VxWorks, Solaris, and Java.