Previous Table of Contents Next


1.1 Introduction

   The purpose of the DAIS Application Program Interface (API) is to support efficient real time transfer of large amounts of data from an industrial process to a wide range of clients. It supports discovery of parameters and update of parameter values. The DAIS is intended for on-line data transfer and cannot be used to configure servers implementing the API.

   Control systems used to monitor and control industrial processes consist of the following major pieces:

   SCADA and management systems can be regarded having a server part where data processing is performed and a Human Machine Interface (HMI) part where visualization and command dialogs are made. The SCADA and management system may have common or different HMI.

   This results in a hierarchical structure shown below.


   Figure 1-1 Control system structure

    The solid arrows in Figure 1-1 correspond to transfer of data from servers to clients. The data can be state variables and parameters (for example, measured values, calculated values, limit values, dead bands, scan rates, engineering units).

   The dashed arrows correspond to data written to servers by clients. The data can be control variables and parameters. The API support simple writes operations. More complex controls like select and execute (for example, breaker on/off) or raise lower commands can be implemented combining multiple write and read operations.

   As indicated in Figure 1-1 the DAIS API can be used at several levels in a system. For example, a DAIS server can be an RTU/Process station communication unit, a SCADA server, or even a Management system.

   DAIS support both subscription and read/write operations. A subscription means server has no a priori knowledge of clients and it is clients that establish connection with servers. Once connection is established a server calls the clients back when data becomes available or updated. The callbacks mean the DAIS API also defines an interface that the client has to implement.


   data transfer

   Figure 1-2 Data subscription

    Figure 1-2 shows the bi-directional subscription with connection establishment and callback interfaces.

   For historical reasons SCADA systems for different industrial processes has evolved along different lines. SCADA for power systems has evolved onto a UNIX base and SCADA for most other industrial processes has evolved onto a Windows NT base. For UNIX based systems APIs formulated in CORBA (Common Object Request Broker Architecture) IDL (Interface Definition Language) are now emerging (for example, DAIS RFP [1] and UMS DAF [2]). For Windows NT based systems, such as OLE for Process Control (OPC) [3], has become the dominating standard. OPC defines three different APIs; measurement data access [4], alarms & events [5], and history [6]. OPC is based on Microsoft COM.

   OPC is focused on the interfaces and does not explicitly describe the information model behind the interface. The information model is however implicit and can be derived from the OPC specifications. This specification describes both the API and information model expressed in UML.

   Within the CCAPI project an information model Common Information Model (CIM) [7] has been developed. This model is now evolving into the IEC 61970-30x draft standard [8]. The CIM contains a SCADA information model (61970-303) with its roots in power transmission and generation. The DAIS API supports the CIM.