SCADA Current State and Perspective Welcome Several pages of this presentation were created by Axel Daneels from CERN who can not join this workshop Matthias Clausen, DESY (A. Daneels, CERN) 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Overview What is SCADA (compared with DCS systems) Where and Why are SCADA systems used What do SCADA systems Provide? Evolution OPC for SCADA Benefits Experience from DESY Outlook 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Traditional Control 9 - 12 Oct. 2000 PCaPAC'2000 - DESY Let‘s first look back how controls started: a central console Dedicated controller with dedicated links 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Traditional Control 2nd Dedicated Consoles Point to point communication No network No remote access No remote diagnostic 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Distributed Control Network Protocol PLC’s Field Bus Mixed operations of UNIX and PC workstations Fontend processors of various kind Fieldbus integration with dedicated units. Each fieldbus needs its own integration method and support. (this can be a lot of work!) Field Bus Field Bus-Integrator 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Distributed Control 2nd Advantages: Distributed databases/ programs created from a single development environment (also in front end processor) Distributed access Distributed diagnostic Display ‘everything everywhere’ Disadvantages: None of the DC systems are compatible to each other Difficult: Integration of various field bus components 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
SCADA ? SCADA ? SCADA ? Supervisory Control Data Acquisition And ERP Systems Expert Systems SCADA ? SCADA ? SCADA ? Supervisory Control Data Acquisition And Archiving, Logging, Access Control, Alarms Graphics and Batch processing Distributed database (page is self describing while it is updating) Special: Data server for fieldbus integration Several drivers for many fieldbuses available Data Server Data Server PLC’s Field Bus Control Programs 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
What, Where and Why What is “SCADA”and where is it used Supervisory Controls And Data Acquisition Application area : Industrial processes: chemical, power generation and distribution, metallurgy, … Nuclear processes: reactors, nuclear waste, ... Experimental physics: Tokamaks, HEP laboratories Application size: 20 K I/O to 450 K I/O, two examples of 1 M I/O under development Why SCADA systems were evaluated for LHC SLC ? Reduction of resources CERN policy of “outsourcing” SCADA is - not a full control system, focuses on the supervisory level. - a purely software package that is positioned on top of hardware to which it is interfaced, in general via Programmable Logic Controllers (PLCs) SCADA systems - used to run on DOS, VMS and UNIX; - in recent years all SCADA vendors have moved to NT. - One product was found that also runs under Linux. 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
What do SCADA Provide? Flexible and open architecture Basic SCADA functionality MMI Alarm Handling and Trending Access Control Automation Logging, Archiving, Report Generation Interfaces to H/W and S/W Interfaces to ERP- and Expert-Systems Development Tools Flexible Architecture: - Hardware and Software 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Generic Software Architecture SCADA Developt. Environt. SCADA Client Graphics Editor Active X Controls MMI Tren- ding Alarm Display Log Display ASCII File Editor Active X Container Library Client / Server - Publish / Subscribe - TCP/ IP ASCII Files SCADA Server Recipe DB RT & Event Manager Export / Import Data Proces Report Gener. Alarm Log Archive Recipe Managt Commercial DB RT DB SQL Alarm DB Log DB Archive DB Ref. DB Project Editor The products are - multi-tasking: run under UNIX/VMS: more advanced on NT; 1 on Linux - based upon a real-time database (RTDB) in 1or more servers. - Servers: perform data acquisition and handling (e.g. polling controllers, alarm checking, calculations, logging and archiving) Internal Communication Server-client and server-server communication: - publish-subscribe and event-driven, -TCP/IP protocol, i.e., a client application subscribes to a parameter ‘owned’ by a server: only changes are transmitted Access to Devices - data servers poll the controllers at a user defined polling rate. - polling rate may be different for different parameters. - controllers pass the requested parameters to the data servers. - Time stamping of the process parameters is performed in the controllers ODBC: Open Data Base Connectivity DDE: Dynamic Data Exchange API: Application Program Interface OPC: OLE for Process Control ODBC Commercial Devel. tool Data R/W DDE Driver Toolkit API/DLL Private Application EXCEL Driver OPC VME PLC PLC 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
SCADA functions (1): MMI - Library of "generic" symbols with TAG links - Dynamic linking of parameters to graphics - On-line configuration and customisation of MMI - Links can be created between display pages - Animation and multimedia facilities 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
SCADA functions (2) * ! Experience @ DESY Alarm Handling Based on limit and status checking * More complicated expressions developed by creating derived parameters * Alarms are time stamped and logically centralised * Notifications (audible, visual, Email, GSM) Multiple alarm priority levels Grouping of alarms and handling of groups is possible Suppression and masking of alarms either individually or as a complete group Filtering of alarms is possible DESY experience: how alarms can be implemented ( see slide 26) * ! Experience @ DESY 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
SCADA functions (3) Trending Multiple trending charts Charts are pre-defined or configured on-line Charts contain multiple pens, Zooming, scrolling, panning, ‘Hairline’ Real-time and historical trending Write data to RDB 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
SCADA functions (4) Access Control Automation Users organised in groups with a set of allocated privileges Large number of groups possible Privileges limit write access to process parameters Some allow access to graphics and functionality to be limited Automation Actions can be initiated automatically triggered by an event * Recipes Sequencing and scripting possibilities Automation a scripting lnguage is provided to define automatic action like: - load a particular display, - send an Email, run a user defined application or script and write to the RTDB. - Recipes: allow particular system configuration can be saved to a file and then re-loaded at a later date. - Sequencing : allow to execute a complex sequence of actions on one or more devices 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
SCADA functions (5) * ! Experience @ DESY Logging, Archiving Data stored in compressed and proprietary format Logging / Archiving either for a set number of parameters or for a set period of time Logging / Archiving can be frequency or event driven * Logging of user actions together with a user ID VCR facility for playback of stored data Writing logs into RDB Report Generation Reports created using SQL type queries to the RTDB or logs Automatic generation, printing and archiving of reports Use of ‘components’ for report generation * ! Experience @ DESY 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Interfaces to H/W and S/W Multiple communication protocols supported in a single system (in particular CERN supported Field busses) Support for major PLCs/DCSs but not VME S/W API ODBC, DDE and OLE I/F to PC Products OPC Client and OPC Server ActiveX Containers Web clients H/W multiple communications protocols supported by 1 server: - in general as many such protocols as it has slots for interface cards S/W - Application Program Interface (API): supporting C, C++, VB - Open Data Base Connectivity (ODBC) interface to the data in the archive/logs, but in general not to the configuration database - OPC: a lack of devices/controllers, which provide OPC server software, but this improves rapidly 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Development Tools Project editor Graphics editor Configuration through parameter templates Scripting language Most processing tools based on IEC 1131 Batch configuration according to S88.1 Driver Development Tool Kit Project Editor: - to configure the system; stores configuration data in a Configuration or Reference database that is: - generally of proprietary format - logically centralised - physically distributed Graphics Editor: - standard drawing facilities, lines, squares, circles, freehand etc - library of generic symbols that can be linked to variables and animated - links between views to navigate 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Evolution Frequent new versions From “tag/ channel-based” to “device oriented” Multi-team development Web technology, Active X, Java, etc. OPC for internal communication Etc Frequent new versions: -1 major, up to 2 minor / year To take advantage of: - new market opportunities, - new requirements - evolution of technology Tag-based or Channel-based <-> device oriented Industrial applications grow in size and complexity (2 examples of 1 M I/O channels under development). Therefore: - design the SCADA systems to handle devices and subsystems as full entities that encapsulate all their specific attributes and functionality 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Why is OPC Data Access needed? Display Application Trend Application Report Application Software Driver Software Driver Software Driver Software Driver This slide illustrates what we call ‘The I/O Driver Problem’. Clearly each software driver requires a unique, device specific chunk of code for the device or network it wants to connect to. That is not a problem we are trying to address. That is something fieldbus is trying to address, and devicenet, and profibus, and lonworks, and a bunch of others. The problem we needed to deal with was that each of these software drivers also presented a different Software interface to the calling application. As a result, each application also requires a unique, chunk of code for each driver, device or network it wants to connect to. Nobody was enjoying this situation.
How does OPC Solve the Problem? Display Application Trend Application Report Application OPC OPC OPC OPC OPC OPC OPC Software Driver Software Driver Software Driver Software Driver OPC Solvs this problem be creating a ‘software bus’ Applications need only know how to get data from OPC data sources. As a result, they are simpler, smaller and easier to use. Device Drivers (servers) need only know how to provide data in a single format (OPC Server). As a result they are easier to write (and there is more of a market for such servers).
Where does OPC Data Access Fit? OPC (via DCOM)can also be used between subsystems and Management Consoles Data Monitor SubSystem OPC is generally used between Monitoring applications and I/O specific software drivers OPC While the MAIN problem we want to solve is the ‘I/O Driver’ problem, OPC is flexible enough to be used not only between Devices and SCADA, SoftPLC or DCS systems, but also between the SCADA SoftPLC or DCS engines and the high level applications such as HMI, Trends, Reports, etc. which use their data. Note that in this architecture, the SCADA system, the DCS system or the SOFTLOGIC system really just represents a ‘smarter’ device. Low level sensors Typically use a dedicated Hardware Interface and protocol Device Specific I/O Control 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Benefits of SCADA Standard frame for application Rich functionality (50 - 100 p-yrs investment) Reliability and Robustness (very large installed base, mission critical processes) Limited specific development Technical support and maintenance ….. Etc Standard framework for Applications: particularly interesting in case of large collaborations as for the CERN LHC experiments as it ensures a common framework for: - development of applications - operation of the detectors: same look and feel whatever part of the experiment is controlled 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Let’s go for it ! ??? Let’s go for it ! More Aspects to take into Account: Configuration of SCADA Systems Data Access Mechanism’s DESY Experience: Namespace: flat vs. OO System Load Network Processor Project Management 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Configuration of SCADA Systems Field Bus Data Server PLC’s Different Namespaces!! 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Configuration of SCADA Systems 2nd PLC SCADA Communication Processor Programs Analog-Input Value-AI-0 Value-AI-1 Analog-Output Value-AO-0 Value-AO-1 Analog-Input Vacuum_VALUE Pressure_VALUE Analog-Output Valve_1_OUT Heater_1_OUT Mapping Field Bus 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Configuration of SCADA Systems 3rd (Alarms) Data Server Alarm Generation Analog-Input Vacuum_VALUE Pressure_VALUE Analog-Output Valve_1_OUT Heater_1_OUT (generic) Alarm scripts: IF (Pressure_VALUE > Pressure_HIHI_ALARMVAL) {Pressure_ALARM_HIHI=TRUE Pressure_ALARM_STATE=CRITICAL Pressure_ALARM_COLOR=RED } IF (Pressure_VALUE < Pressure_LOLO_ALARMVAL) {Pressure_ALARM_LOLO=TRUE Pressure_ALARM_STATE=ATTETION Pressure_ALARM_COLOR=BLUE } 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Winnings !!! How many individual Tags did I create up to now in my example? 17 8 10 10 4 Vacuum_VALUE Pressure_VALUE Valve_1_OUT Heater_1_OUT Pressure_VALUE Pressure_HIHI_ALARMVAL Pressure_ALARM_HIHI Pressure_ALARM_STATE Pressure_ALARM_COLOR Pressure_LOLO_ALARMVAL Pressure_ALARM_LOLO Pressure_ALARM_STATE Pressure_ALARM_COLOR 4 4 2 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Data Access Mechanism's Alarm Server Alarm Server typically poll data from the data server ( -> impact on network bandwidth) More advanced techniques like publish / subscribe are available in some cases Data from field buses are mainly polled Asynchronous protocols are difficult to handle Data Server Polling Polling Field Bus 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
DESY Experience 1st Namespace System Load Individual tags for each property blow up the namespace Flat namespaces of thousands of tags can not be properly handled without adequate tools Latest SCADA technology clearly shows the trend to support the definition of objects which cleans up the namespace System Load Additional –non standard- features like calculating alarms for each channel temperature conversions ( 6th grade polynomial) ... can cause a lot of overhead which needs to be taken into account for the calculation of the system load on process controllers ( here: in a SCADA-like DCS system) 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
DESY Experience 2nd Project Management Small systems can be easily handled with in-house personal Big systems (several thousand of channels) should be coordinated by an engineering office because of: The coordination of the Field Bus (PLC) databases and the SCADA databases The knowledge of the various tools which come along with a SCADA system One of the main arguments for SCADA systems is: outsourcing 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Let’s go for it ! ??? Let’s go for it ! ??? Utility controls @ DESY use EPICS as a SCADA system H1 is going to use PVSS for their slow controls There‘s no alternative for big projects like TESLA Various subsystems can be controlled by SCADA systems: Utility Controls (water, energy, air, heating...) Cryogenic Controls (cryogenic plants, cryogenic distribution) Vacuum Systems (insulation vacuum, beam vacuum) Special developments i.e. for RF control should have a ‚SCADA-aware‘ design 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
Is SCADA the only Future ? ... New Technology: JetWeb Each node is an individual Web Server All nodes and all I/O hooked up to the Ethernet ... probably not, but a very attractive one. 9 - 12 Oct. 2000 PCaPAC'2000 - DESY
That’s all Folks 9 - 12 Oct. 2000 PCaPAC'2000 - DESY