on Accelerator
on Accelerator
and Largeand
Large Experimental
Physics Control
Trieste, Italy


A. Daneels, CERN, Geneva, Switzerland
W.Salter, CERN, Geneva, Switzerland

SCADA systems are widely used in industry for
This section describes the common features of the
Supervisory Control and Data Acquisition of industrial
SCADA products that have been evaluated at CERN in
processes. Companies that are members of
view of their possible application to the control systems
standardisation committees (e.g. OPC, OLE for Process
of the LHC detectors [1], [2].
Control) and are thus setting the trends in matters of IT
technologies generally develop these systems. As a 2.1 Hardware Architecture
matter of fact, they are now also penetrating the
experimental physics laboratories for the controls of One distinguishes two basic layers in a SCADA
ancillary systems such as cooling, ventilation, power system: the "client layer" which caters for the man
distribution, etc. More recently they were also applied machine interaction and the "data server layer" which
for the controls of smaller size particle detectors such handles most of the process data control activities. The
as the L3 muon detector and the NA48 experiment, to data servers communicate with devices in the field
name just two examples at CERN. through process controllers. Process controllers, e.g.
SCADA systems have made substantial progress PLCs, are connected to the data servers either directly
over the recent years in terms of functionality, or via networks or fieldbuses that are proprietary (e.g.
scalability, performance and openness such that they Siemens H1), or non-proprietary (e.g. Profibus). Data
are an alternative to in house development even for servers are connected to each other and to client
very demanding and complex control systems as those stations via an Ethernet LAN. The data servers and
of physics experiments. This paper describes SCADA client stations are NT platforms but for many products
systems in terms of their architecture, their interface to the client stations may also be W95 machines. Fig.1.
the process hardware, the functionality and application
shows typical hardware architecture.
development facilities they provide. Some attention is
paid to the industrial standards to which they abide,
their planned evolution as well as the potential benefits
of their use.
Client Client Dedicated

SCADA stands for Supervisory Control And Data Ethernet
Acquisition. As the name indicates, it is not a full
control system, but rather focuses on the supervisory Data Data
level. As such, it is a purely software package that is Server Server
positioned on top of hardware to which it is interfaced,
in general via Programmable Logic Controllers (PLCs),
or other commercial hardware modules. Con- Con-
SCADA systems are used not only in most industrial troller troller
processes: e.g. steel making, power generation Con- Con- Con-
(conventional and nuclear) and distribution, chemistry, troller troller troller
but also in some experimental facilities such as nuclear Figure 1: Typical Hardware Architecture
fusion. The size of such plants range from a few 1000
to several 10 thousands input/output (I/O) channels.
However, SCADA systems evolve rapidly and are now 2.2 Software Architecture
penetrating the market of plants with a number of I/O
channels of several 100 K: we know of two cases of The products are multi-tasking and are based upon a
near to 1 M I/O channels currently under development. real-time database (RTDB) located in one or more
SCADA systems used to run on DOS, VMS and servers. Servers are responsible for data acquisition and
UNIX; in recent years all SCADA vendors have moved handling (e.g. polling controllers, alarm checking,
to NT. One product was found that also runs under calculations, logging and archiving) on a set of
Linux. parameters, typically those they are connected to.


VME on the other hand is general on a publish-subscribe and event-driven basis generally not supported. Internal Communication Applicom cards) and therefore have additional cost Server-client and server-server communication is in associated with them. Of the three fieldbuses that are recommended at CERN.. datalogger a SCADA architecture most of the common PLCs and widely used field-buses. both Profibus and Worldfip are supported but CANbus often not [3]. which provide OPC server used support unsolicited data transfer then the products software. typically in the range of 2-6 weeks depending on the complexity and similarity with existing drivers. SQL Alarm DB Log DB Archive DB DB DB DB Project ODBC Editor Data DDE Commercial R/W API/DLL Developt Driver tools Toolkit Driver Private EXCEL OPC Application VME PLC PLC Figure 2: Generic Software Architecture However. Modbus. The polling rate may be different for different parameters. a client application A single data server can support multiple subscribes to a parameter which is ‘owned’ by a communications protocols: it can generally support as particular server application and only changes to that many such protocols as it has slots for interface cards.g. e. that is generic for the products that were evaluated. SCADA Client Graphics Tren.3 Communications drivers are based on third party products (e..TCP/IP SCADA Recipe SCADA Server Developt.Publish / Subscribe . There still seems to be a lack of server.e. i. Display Display File Editor Library Active X Container Client / Server . e. Access to Devices The data servers poll the controllers at a user defined 2.4 Interfacing polling rate. The controllers pass the requested Application Interfaces / Openness parameters to the data servers. Some of the 2.g. ASCII Environ DB RT & Event Manager Files Data Export Recipe Report Managt Proces. Alarm Log Archive / Gener. but this improves rapidly as most of the will support this too.g. parameter are then communicated to the client The effort required to develop new drivers is application. Active X 3rd Party Editor HMI Alarm Log ASCII ding Controls Applic . and uses a TCP/IP protocol. Import sing RT Commercial Ref. producers of controllers are actively involved in the 340 . Time stamping of the The provision of OPC client functionality for process parameters is typically performed in the SCADA to access devices in an open and standard controllers and this time-stamp is taken over by the data manner is developing. and a driver development toolkit is provided for this. it is possible to have dedicated servers for The products provide communication drivers for particular tasks. If the controller and communication protocol devices/controllers..

• the parameters to be trended in a specific chart can be predefined or defined on-line 2.e. the same status (e. to visualise data dynamically in an would however not be applicable to the type of EXCEL spreadsheet.g.6 Redundancy The trending feature is either provided as a separate module or as a graphical object (ActiveX). Links can be created is generally of a proprietary format. displayed 2. The products include a standards such as Dynamic Data Exchange (DDE) library of standard graphical symbols. More complicated 3. graphical object with links to process variables.. but not They also support the concept of a "generic" to the configuration database.4 Alarm Handling 3 FUNCTIONALITY Alarm handling is based on limit and status checking and performed in the data servers. archiving).g. Tag-names used to link graphical objects’ to devices The PC products provide support for the Microsoft can be edited as required. On-line configuration The configuration data are stored in a database that is and customisation of the MMI is possible for users with logically centralised but physically distributed and that the appropriate privileges. The products achieve although generally not in the same chart scalability by having multiple data servers connected to • historical trending is possible for any archived multiple controllers. its on/off to the product’s internal features such as alarm status. Dynamic Link Library (DLL) and applications encountered in the experimental physics Object Linking and Embedding (OLE).1 Access Control expressions (using arithmetic or logical expressions) can be developed by creating derived parameters on Users are allocated to groups.. the in the system and often also to specific product information only exists in one place and all users see functionality. scrolling. community. The read/write access privileges to the process parameters alarms are logically handled centrally. The archive and logging format is usually also proprietary for performance reasons..g.) to which a Tag-name is associated. the acknowledgement).. for • real-time and historical trending are possible.development of this standard. i.2 MMI evaluated by the CERN-IT-CO group [4]. which can • an Open Data Base Connectivity (ODBC) contain combinations of synoptic diagrams and text. XY and at a server level. The API often does not provide access power supply current. memory of the servers and is also of proprietary format. logs and decompose the process in “atomic” parameters (e. the RTDB resides in the another. which have defined which status or limit checking is then performed. its maximum value. 3. which is normally transparent to the other statistical analysis plots are generally not user. These • an ASCII import/export facility for objects can be “dragged and dropped” from a library configuration data.3 Trending do support logging to a Relational Data Base The products all provide trending facilities and one Management System (RDBMS) at a slower rate either can summarise the common capabilities as follows: directly or via an ODBC interface. a archive. Many of the products also provide more complete provided. interface to the data in the archive/logs. etc. many of which which allows e. and Visual Most of the SCADA products that were evaluated Basic (VB) to access data in the RTDB. but some products 3. alarm handling. and included into a synoptic diagram. re-sizing.5 Scalability • a chart may contain more than 8 trended Scalability is understood as the possibility to extend parameters or pens and an unlimited number of the SCADA based control system by adding more charts can be displayed (restricted only by the readability) process variables. redundancy solutions if required. The handling. C++. which can The products often have built in software redundancy then be embedded into a synoptic display. between display pages to navigate from one view to For performance reasons. Each data server has its own parameter configuration database and RTDB and is responsible • zooming and scrolling functions are provided for the handling of a sub-set of the process variables • parameter values at the cursor position can be (acquisition. The products also provide The products support multiple screens. reporting. and 341 . trending. etc. OPC is currently being 3.g. more specialised servers (e. alarm handling) or more clients. Standard windows editing facilities are provided: Database zooming. • a library of APIs supporting C.

The concept of recipes is supported.multiple alarm priority levels (in general many more Some of the products do support an expert system than 3 such levels) are supported. send an Email. C++. The filtering of 4.6 Report Generation On-line modifications to the configuration database and the graphics is generally possible with the One can produce reports using SQL type queries to appropriate level of privileges. etc. RTDB or logs. The logged data is time-stamped configuring very large numbers of parameters are not and can be filtered when viewed by a user. Logging the configuration database. Logging of data can be developer then works with a number of folders. associated information (e. E. However. time. time period or number of points is Windows Explorer type development studio.. 4. including trending and alarm displays are developed.g. In general.7 Automation circles. occurs. as large either a user ID or station ID. and linked 3. whereby a • a data base configuration tool (usually through particular system configuration can be saved to a file parameter templates). run a user defined application between views so as to ease navigation at run- or script and write to the RTDB. time and The development of the applications is typically group. It is possible to import pictures in many formats as well as using predefined The majority of the products allow actions to be symbols including e. with standard drawing facilities including freehand. one can load a particular as they change. The logging very strong. standard: • a graphics editor.5 Logging/Archiving where appropriate to the process parameters.2 Development Tools Facilities exist to be able to automatically generate.g. The following development tools are provided as print and archive reports. export data in ASCII files so as to be edited Sequencing is also supported whereby. 3. it is possible to suppress alarms either individually or as a complete group. supporting C. configured in a more efficient manner using an external whereas archiving is long-term storage of data either on editor such as Excel and then importing the data into disk or on another permanent storage medium. but none has the concept of a Finite State Machine It is generally possible to group alarms and to handle (FSM). relationships between alarms cannot done in two stages. the archive. The products also provide an ASCII Export/Import facility The terms logging and archiving are often used to for the configuration data (parameter definitions). this has not really been an issue of user actions is in general performed together with so far for most of the products to-date. Logged data can be transferred to an archive The facilities provided by the products for once the log is full. many of the PC tools now have a certain file size. a “cut and paste” capability is in general not provided. logging can be which enables large numbers of parameters to be thought of as medium-term storage of data on disk. it is possible to execute a more complex • a scripting language sequence of actions on one or more devices. relating to alarm mails can be generated or predefined actions conditions) are defined through some sort of parameter automatically executed in response to alarm conditions.e. lines. indicates. these as an entity (typically filtering on group or acknowledgement of all alarms in a group). trending charts. definition template and then the graphics. describe the same facility. There is often also a applications are typically about 50K I/O points and VCR facility to play back archived data. Sequences • an Application Program Interface (API) may also react to external events. or only initiated if the each contains a different aspect of the configuration. 4 APPLICATION DEVELOPMENT Furthermore. which performed at a set frequency. A automatically triggered by events. as the name through an ASCII editor or Excel. database population from within an ASCII editor such as Excel is still a workable option. However. squares 3. is typically performed on a cyclic basis. Although it is sometimes possible to embed EXCEL charts in the report.1 Configuration alarms seen on the alarm page or when viewing the alarm log is also possible at least on priority. VB 342 . First the process parameters and generally be defined in a straightforward manner. value changes or when a specific predefined event including the graphics. A scripting language library of generic symbols is provided that can provided by the SCADA products allows these actions be linked dynamically to variables and animated to be defined. However. once a However. etc. It is in general possible to and then re-loaded at a later date. The reached the data is overwritten. i. It is also possible to create links display.

The SCADA system for the control of experimental physics support of objects is therefore fairly superficial. The of Fieldbuses at CERN in the LHC Era". and The benefits one can expect from adopting a control actions are performed on parameters. Java. SCADA product for the implementation of a control [3] G. In addition. specific to the use of a SCADA system are the definition of: • a library of objects (PLC. configured. “Technology Survey Summary of Study Report”. some of the products have the concept of an specific alarms. graphical interface and drivers for hardware that is not supported by the associated scripts for animation. "look and feel" whatever part of the experiment they As far as new technologies are concerned. graphical object classes. In general the products do not handle objects.g. the control. where reliability and performance are As was already mentioned.Daneels.. this Conference.285. W. “Results of the OPC Evaluation economical in development and maintenance and that is done within the JCOP for the Control of the LHC reliable and robust. facilities can be summarised as follows: • a rich functionality and extensive development 5 EVOLUTION facilities.Barillere et al.. p. subsystem) complete with standard object behaviour (script. Beijing. It should thus be possible to connect OPC compliant third REFERENCES party modules to that SCADA product. device. 4. Geneva 26 Aug 1998.. as for the CERN LHC in size.). alarms are defined for 7 POTENTIAL BENEFITS OF SCADA parameters. they will also operating the detectors. object within the configuration database.. that is [4] R. • templates for different types of "panels". . products evolve thus very rapidly so as to take especially with suitable engineering. IT-CO/98-08-09. • a Driver Development Toolkit to develop sequences.. "Selecting and Evaluation of Whilst one should rightly anticipate significant Commercial SCADA Systems for the Controls of development and maintenance savings by adopting a the CERN LHC Experiments".. most of the SCADA paramount. These systems are requirements of their customers and to take advantage used for mission critical industrial processes of new technologies. These to be performed by the end-user is limited.. alarms.g. which support inheritance.g. th CERN. However. new SCADA versions are now being designed experiments. "Recommendations for the Use system. SCADA product. • OPC as a means for communicating internally between the client and server modules. a system that complies with the requirements. In addition. a device . The products in general have the concept of • a mechanism to prevent conflicting controls (if not provided with the SCADA). Operators experience the same support multi-team development. • Web technology. associated. logging is performed on parameters. advantage of new market opportunities. to meet new • reliability and robustness..3 Object Handling • instructions on how to control e. 343 .Salter. this Conference. but rather handle individual parameters.Baribaud et al. In • alarm levels. ActiveX.Salter. specific development is products that were evaluated decompose the process in performed within a well-established framework “atomic” parameters to which a Tag-name is that enhances reliability and robustness. 6 ENGINEERING [2] A. W. this aspect also depends to a SCADA products are now adopting: significant extent on proper engineering. As the industrial applications are increasing For large collaborations. Examples of engineering activities Experiments”. The amount of effort invested in SCADA product amounts to 50 to 100 p-years! SCADA vendors release one major version and one • the amount of specific development that needs to two additional minor versions once per year.. . etc. This is impractical in the case of very large • technical support and maintenance by the processes when very large sets of Tags need to be vendor. using a SCADA system for their controls to handle devices and even entire systems as full ensures a common framework not only for the entities (classes) that encapsulate all their specific development of the specific applications but also for attributes and functionality.. behaviour to be adopted in case of addition. 1997. e. need for proper engineering can not be sufficiently Proceedings of the 1997 International Conference emphasised to reduce development effort and to reach on Accelerator and Large Experimental Physics Control Systems. e. [1] A.Daneels. it does not mean a “no effort” operation.