white space

SCADA

1 Voorwoord

In het kader van de BPV die ik op het moment vanuit de opleiding elektrotechniek volg, schrijf ik dit verslag over SCADA.
Het idee voor een verslag over SCADA is ontstaan tijdens de stage waar in ik opnieuw in aanraking met een SCADA programma gekomen ben. Opnieuw, vanwege de workshop die we eind 2003 met de klas in Amsterdam gevolgd hebben. Deze workshop werd verzorgt door Getronics en ging over CitectSCADA.
Sinds deze workshop ben ik enthousiast over de vele mogelijkheden die SCADA te bieden heeft. Ik wil in dit verslag dan ook nader in gaan op de vele mogelijkheden, de voor en nadelen ten opzichte van andere besturingssystemen en ten opzichte van andere HMI producten.

2 Inleiding

SCADA (supervisory control and data aquisition) wordt gebruikt voor de bediening en visualisering van processen. SCADA bestaat uit twee onderdelen: supervisory control en data acquisition, dit wil zeggen dat SCADA zorg draagt voor enerzijds het visualiseren van projecten en anderzijds voor het verzamelen en opslaan van gegevens.
Het middelpunt van het SCADA systeem is de database. Hierin staan alle I/O gegevens, grenswaarden, alarmen, tellers, berekeningen enz vermeld. De verschillende applicaties waar SCADA uit bestaat maken gebruik van deze database.

3 Wat is SCADA?

Een SCADA systeem wordt gebruikt voor de bediening en visualisatie van een fabriek of van een proces. Dit is in tegenstelling tot een normale Human Machine Interface (HMI) zoals een operatorpaneel of tekstdisplay, die meestal alleen bedoeld zijn voor de lokale bediening van een machine of deel van een proces. SCADA is de afkorting voor Supervisory Control and Data Acquisition. Dit zijn ook de twee gebieden waarin SCADA opgedeeld kan worden:

  • Supervisory Control
  • Data Acquisition

Supervisory Control
Supervisory control is het visualiseren van productieprocessen met de bijbehorende alarmeringen. Deze informatie kan direct gebruikt worden bij het ingrijpen in het proces. Ook valt de mogelijkheid tot het besturen van het proces onder de supervisory control. Maar dit onderdeel wordt meestal over gelaten aan de PLC.

Data Acquisition
Data acquisition is het verzamelen en opslaan van bij elkaar horende gegevens uit het proces. Deze gegevens kunnen gebruikt worden voor het maken van rapportage over het proces. Door het analyseren van deze rapportage kan het proces worden geoptimaliseerd, dit wordt ook wel procestuning genoemd.

Een SCADA systeem communiceert net als PLC’s, bussystemen met programmeerbare logica en andere controllers, met een controllerlaag. Hierdoor kan het systeem proceswaarden uit het veld inlezen of commando’s en parameters naar het veld sturen. De opbouw van de installatie of het proces wordt schematisch door de graphics weergegeven op het PC scherm. Vanaf dit scherm kan alles bediend worden. De besturing vind normaal gesproken niet in het SCADA systeem plaats, maar in de controllerlaag. Alarmbewaking vind plaats in de controllerlaag, maar het alarmmanagement zoals signalering, het zichtbaar maken en het protocolleren is een typische SCADA functie. Ook historische dataopslag is een typische SCADA functionaliteit. De database met opgeslagen proceswaarden worden doorgaans niet alleen gevisualiseerd in trends maar ze kunnen ook geanalyseerd worden.

Ook kan SCADA gebruikt worden om gegevens tussen controllers uit te wisselen en als koppelvlak voor verdere verticale intergratie zoals het doorsturen van productiegegevens naar administratieve systemen. Tegenwoordig wordt er steeds meer aandacht besteed aan het beheersen en zichtbaar maken van informatie. Hierdoor worden operators beter en sneller in staat gesteld om beslissingen te nemen.

Een SCADA systeem heeft een gebruikerssysteem waarbij aan verschillende groepen gebruikers verschillende rechten toegekend kunnen worden. Ook kunnen op een SCADA systeem andere server taken draaien:

  • Een webserver die kan dienen voor het doorgeven van procesgraphics via een browser
  • Een server die kan dienen voor het doorgeven van procesgraphics naar een PDA (bijv. Compac iPag of Palm)
  • Een SMS op WAP service voor het doorgeven van alarmen naar mobiele telefoons.
  • Andere services voor het doorsturen van alarmen.

Het realiseren van een SCADA systeem kan gebeuren met een van de op de markt verkrijgbare SCADA pakketten. Een SCADA pakket is ontwikkelsoftware waarmee de bovengenoemde functionaliteit meestal standaard kan worden geconfigureerd, zoals de datapunten die uitgewisseld worden met het veld (“tag database”), alarmen, gebruikers en historische dataopslag. Ook bevat ieder SCADA pakket een grafische editor waarmee de procesgraphics kunnen worden getekend en geconfigureerd.

Voor andere functies is een applicatie programmeerscript nodig. De werking en programmering van deze scriptalen zijn meestal vergelijkbaar met de wijze waarop scripts in bijvoorbeeld het office pakket van microsoft worden toegepast.

3.1 Technische uitvoering

SCADA systemen draaien meestal op de professionele Windows versies. De systemen XP, 95 en 98 zijn soms ook mogelijk. Er zijn enkele SCADA pakketten bekend die onder een Linux besturingssysteem werken.

SCADA systemen functioneren in grote applicaties in een netwerk, waarbij de ene groep PC’s taken zoals communicatie met de controllerlaag, historische dataopslag, alarmmanagement voor hun rekening nemen, terwijl andere groep PC's uitsluitend als bedienoppervlak dienst doen.

3.2 Opbouw

Het SCADA systeem bestaat uit een aantal onderdelen die in de nu volgende hoofdstukken besproken zullen worden.
Deze onderdelen zijn:

  • True cliënt- server architectuur
  • Systeem architectuur
  • Redundantie
  • Systeem performance
  • Grafische weergave
  • Internet cliënt
  • Meertalige projecten
  • Rapporten
  • Trends
  • Alarm
  • Beveiliging
  • Interfacing
  • Remote I/O
  • Statical Proces Control
  • Commando’s

4 True Cliënt-Server architecture

Een SCADA systeem heeft een true cliënt architectuur. Dat wil zeggen dat het een real time systeem is dat beschikt over korte reactie tijden en nauwkeurige dataverwerking. Om de cliënt-server architectuur volledig te benutten moet het op het taak niveau uitgevoerd worden. Elke taak werkt als een cliënt of server module, die zijn eigen rol uitvoert en met de andere taken communiceert via de cliënt server relatie. Er zijn vijf belangrijke taken die afgehandeld moeten worden:

  1. Communicatie met de I/O
  2. De alarmen in de gaten houden
  3. De waarde van de uitgangen weergeven
  4. Trending, het in de gaten houden van trends.
  5. Het gebruiks display

Communicatie met de I/O
De I/O taak is verantwoordelijk voor alle communicatie met de in en uitgangen. Dit gebeurt op commando van de taken. De I/O taak fungeert als een server tot andere taken, die zich als cliënten gedragen.


Figuur 1: communicatie met I/O

Alarm server
De alarm server sorteert de gegevens die vanaf de I/O server gevraagd worden. Als een alarm lijst weergeven wordt dan vraagt de display cliënt de gegevens van een specifiek alarm van de alarm server.


Figuur 2: alarm server

Display taak
Wanneer het display weergegeven wordt vraagt de display taak de data van de I/O taak. De I/O server sorteert en rangschikt de data en antwoordt aan de display cliënt met alleen de gevraagde data. Dit gedeelte van SCADA wordt ook wel de HMI genoemd.


Figuur 3: display taak

Trend- en rapportserver
De trend en rapport server werkt op dezelfde manier als de I/O server en de alarm server. Ze leveren de gevraagde gegevens aan hun cliënten.


Figuur 4: trend- en rapportserver

De rapport server is een cliënt van de trend en alarm server als de trends en alarmen in een rapport gezet zijn. Wanneer een rapport geopend wordt, vraagt de rapportcliënt de benodigde gegevens van de server. Omdat servers ontworpen zijn om meerdere cliënten te ondersteunen, is het eenvoudig om een nieuwe display cliënt toe te voegen. Dit kan zonder bemoeienis van de bestaande systemen. Beide display cliënten krijgen hun informatie van de zelfde I/O server. Het virtuele data netwerk wordt nu optimaal benut over het lokale netwerk, zonder verlies van functionaliteit. 

Wanneer er ook secundaire servers beschikbaar zijn is redundantie mogelijk. Dit wil zeggen dat als de primaire server uitvalt, de secundaire server alle taken van de primaire server overneemt. Het kan ook zijn dat een alarm server in moet vallen voor een primaire server. Wanneer alle taken zijn verdeeld onder de verschillende PC’s en door een LAN met elkaar verbonden zijn, ontstaat de true cliënt-server architectuur.

5 Architectuur

5.1 Flexibele architectuur

Binnen SCADA is het mogelijk om het systeem op verschillende manieren op te bouwen. Er kan hierbij gekozen worden uit gecentraliseerde en verspreide processen.

Elke van de in de vorige paragraaf genoemde taken, voert zijn eigen taak afzonderlijk uit. Door deze opbouw kan elke computer die een bepaald systeem controleert, apart gecontroleerd worden.


Figuur 5: architectuur

Ook is het bij de meeste SCADA systemen mogelijk om gebruik te maken van een gecentraliseerde database. Dit kan een voordeel zijn omdat gegevens dan eenmalig centraal ingevoerd hoeven te worden.

5.2 Scalable Architectuur

Het is bij een SCADA systeem ook mogelijk om het systeem naderhand uit te breiden. Dit kan heel eenvoudig door een nieuwe computer aan het netwerk te hangen en hem de configuratie-instellingen van de andere computers over te laten nemen.
Maar ook wanneer er een computer is die het te druk krijgt, biedt SCADA een eenvoudige oplossing. Er kan een nieuwe computer geplaatst worden die taken van de eerste computer over neemt en zo de andere computer ontlast.

6 Redundantie

Zoals eerder geschreven wil redundantie zeggen dat het systeem dubbel aangelegd is. Wanneer er dus een server of verbinding wegvalt, zal de ander het overnemen. Redundantie wordt toegepast bij processen waar absoluut niets mis mag gaan (bijvoorbeeld bij Corus of de verlichting van de start en landingsbaan op Schiphol).


Figuur 6: redundant uitgevoerd systeem

7 Systeem performance

Informatie zo snel en betrouwbaar mogelijk van het veld halen is de belangrijkste taak van een SCADA en HMI systeem. Wanneer een systeem traag is vanwege een bottleneck bestaat het risico dat er gegevens verloren gaan. Om dit te voorkomen zijn een aantal oplossingen bedacht.
Ieder type I/O maakt gebruik van een eigen protocol om met een hoger niveau te communiceren. De snelheid waarmee gegevens getransporteerd kunnen worden hangt af van de I/O en het protocol dat gebruikt wordt. De beperking treedt op bij het niet direct reageren van de I/O en het niet efficiënt werken van het protocol.


Figuur 7: protocol

Bij SCADA wordt gebruik gemaakt van communicatie op commando basis. Bij deze vorm van communicatie worden alleen de benodigde gegevens verzonden. Ook is de server in staat om verschillende gegevens bij elkaar te voegen en in een keer te verzenden. Door deze vorm van communicatie wordt het netwerk ontlast en wordt dus veel snelheid gewonnen. 

Een andere manier om snelheid te winnen is door het toepassen van een cache geheugen op de I/O server. Wanneer een I/O server zijn registers leest, worden de waarden in het geheugen opgeslagen voor een gedefinieerde periode (meestal 300 ms). Als een cliënt gegevens vraagt die in het cache geheugen opgeslagen zijn, dan kan deze informatie geleverd worden zonder dat het register opnieuw gelezen hoeft te worden. Dit scheelt in een systeem met twee cliënten ongeveer 30% van de tijd.

8 Grafische weergave

Er zijn meerdere manieren waarop SCADA systemen grafische weergegeven worden. Sattcontrol van Alfa Laval maakt gebruik van op CAD gebaseerde tekenwijze. CitectScada daarin tegen maakt gebruik van Rapit Application Development (RAD). Ook Siemens maakt gebruik van een soort gelijk systeem.


Figuur 8a: grafische weergave van WinCC van Siemens

Figuur 8b: grafische weergave van Sitect Scada

De verschillende displays van het SCADA systeem zorgen voor de visualisatie van het proces. Meestal is het proces grafisch weergegeven. Dan wordt steeds de actuele toestand van het proces weergegeven zodat de veranderingen daarin door de operator kunnen worden gevolgd. Deze worden dan met kleurveranderingen en beeldanimaties weergegeven. De beeldanimaties kunnen bijvoorbeeld zijn:

  • Verplaatsing
  • Vergrotingen
  • Verkleiningen
  • Rotatie

Een scherm bevat statische en dynamische informatie:

  • Statische informatie blijft op het scherm staan en hoeft niet te worden aangepast.
  • Dynamische informatie wordt met regelmaat ververst (proces variabelen).

Complexe en omvangrijke machines en processen kunnen meestal niet op een scherm worden weergegeven. Daarom kan het programma in meerdere schermen onderverdeeld worden. Deze schermen kunnen met behulp van functietoetsen opgeroepen worden of verschijnen automatisch, bij bijvoorbeeld een alarm.

8.1 Ontwerpen van graphics

Het ontwerpen van graphics gebeurt aan de hand van een bibliotheek of door het zelf ontwerpen van figuren. De bibliotheek bestaat uit o.a. pompen, tanken, kleppen en motoren. Ieder object kan direct aan een variabele gekoppeld worden. En kunnen beweging, afmeting, kleur, opvulling en zichtbaarheid apart ingesteld worden. Ook is het mogelijk om deze instellingen te koppelen aan een procesvariabele en kan er gebruik gemaakt worden van ActiveX.


Figuur 9: graphic

9 Internet Cliënt

SCADA is ook volledig bestuurbaar via het internet. Het is eenvoudig om via deze weg toegang tot het programma te krijgen. De internet cliënt is ontworpen voor ‘real time’ operatie. Het scherm wordt bij een normale modem verbinding ongeveer iedere 2,5 seconden ververst.


Figuur 10: internet cliënt

Het programma wordt beveiligd door een firewall en wachtwoordbeveiliging.

10 Meertalige projecten

Wanneer een SCADA programma in meerdere landen gebruikt wordt of wanneer er veel medewerkers uit verschillede landen in een bedrijf werken, is het mogelijk om het project in meerdere talen uit te laten voeren. Dit kan zonder dat deze talen van te voren geprogrammeerd hoeven te worden. Het wijzigen kan gebeuren terwijl het project in run is.

11 Trending en rapportage

11.1 Rapporten

Een rapport is een statement of een account van de procescondities dat periodiek gemaakt kan worden of alleen wanneer er een evenement plaats vind. (bijv. verandering van een adres of een tijdstip).
Rapporten kunnen in meerdere formaten gegenereerd worden. Ze kunnen bestaan uit: tekst momentele of historische waarden en resultaten van berekeningen. Maar ze kunnen ook uit instructies en receptveranderingen bestaan.


Figuur 11: Rapport

11.1.1 Weergave

Rapporten kunnen op een runtime scherm weergegeven worden, uitgeprint worden of opgeslagen als Word document. Verder is het mogelijk om rapporten in SQL of ODBC-compatible databases op te laten slaan of als HTML document voor plaatsing op het internet.
Ook een rapport-server kan redundant uitgevoerd worden.

11.1.2 Trends

Het trending systeem handelt grote hoeveelheden variabelen af en maakt er een grafiek van. Elke variabele kan in een grafiek geplaatst worden.

11.2 Alarm

Een efficiënt alarm systeem stelt je in staat om snel fouten te identificeren en isoleren.
De alarmen worden afgegeven en bewaard door de alarmserver. De alarmen kunnen op iedere server en display weergegeven worden.

12 Beveiliging

De meeste applicaties hebben taken die alleen door gekwalificeerde mensen uitgevoerd mogen worden. Daarom moet het programma beveiligd worden. Iedere gebruiker kan een eigen gebruikersnaam met wachtwoord krijgen. Aan deze gebruikers kunnen afzonderlijk rechten toegekend worden.
Ook kan SCADA beveiligd worden tegen uitzetten. Dit wordt toegepast in de bedieningskamer, waar SCADA niet zomaar afgesloten mag worden omdat het proces dan gestopt wordt.

13 Interfacing

Het is mogelijk om het SCADA systeem met meerdere controllers te verbinden zoals PLC’s, micro controllers, loop controllers, DCS elementen, wegers, barcode lezers, enz.
Voor het delen van gegevens maakt SCADA gebruik van de mogelijkheden van Windows. De simpelste oplossing hiervoor is het gebruik maken van gedeelde bestanden, dit kan in de gangbare bestandsformaten zoals ASCII, CSV, RTF enz.

14 Remote I/O

Remote I/O wil zeggen: bediening op afstand. Het is mogelijk om een proces met SCADA op afstand via modem of radiogolven te bedienen. Om kosten te beperken kan er kort ingebeld worden om de gegevens te verversen. Daarna wordt de verbinding automatisch verbroken.
Bij werken met remote I/O via de seriële poort met PLC’s kunnen de PLC’s flexibel opgesteld worden.

15 Statical Proces Control (SPC)

Vaak is het belangrijkste doel van een monitor systeem het verzamelen en opslaan van gegevens voor het archief of analyse. Het is mogelijk om de gegevens in meerdere formaten op te slaan zodat de gegevens voor het gewenste doel beschikbaar zijn.
De gegevens die verzameld worden zijn o.a.:

  • Gebeurtenissen die in het proces plaats vinden kunnen opgeslagen worden op het moment dat ze plaats vinden (bijv. alarm, sequentiële stappen of hoog niveau indicatie).
  • Acties van de operators (bijv. handmatig starten van een installatie, noodstop of het veranderen van het setpoint).
  • Errors die in het systeem optreden (bijv. hardware alarmen opslaan, communicatie verbinding of netwerk errrors).

16 Commando’s

Aan ieder controle en commando element kunnen voorkeuren toegekend worden. Soorten commando’s zijn:

  • Sliders
  • Keyboard commando’s
  • Screen targets
  • Touch commando’s

Sliders

Alle grafische objecten (rechthoeken, ronde vormen, enz.) kunnen als slider geconfigureerd worden. Met sliders kunnen de analoge variabelen veranderd worden door de positie van de slider te veranderen. De slider kan naar boven, beneden, links of rechts bewegen, maar kan ook roterende bewegingen maken. Wanneer de proceswaarde veranderd, beweegt de slider mee.

Keyboard commando’s

Er zijn drie soorten keyboard commando’s: systeem, pagina en object commando’s.
Systeem commando’s kunnen overal in het systeem gebruikt worden (bijv. voor het inloggen of het verkrijgen van systeem informatie)
Pagina commando’s kunnen alleen op de desbetreffende pagina gebruikt worden.
Object commando’s kunnen gebruikt worden wanneer de muis op een object geplaatst wordt.

Screen targets

Screen targets zijn buttons die als hot spots uitgevoerd zijn. Ze worden op de achtergrond van het scherm geplaatst.

Touch commando’s

Touch commando’s kunnen aan ieder object toegekend worden. Ze worden geactiveerd wanneer ze aangeklikt worden.
Er kunnen verschillende commando’s uitgevoerd worden op het moment dat de muisknop ingedrukt, losgelaten of vastgehouden wordt.

17 Slot

SCADA is de ideale manier om op een overzichtelijke manier een proces te besturen, door de duidelijke weergave en de vele mogelijkheden die het te bieden heeft. Ook ten opzichte van de ‘normale’ HMI systemen, zoals operatorpanelen en tekstdisplays, die alleen voor lokale bediening van een proces gebruikt worden heeft SCADA als groot voordeel dat het hele proces in een keer overzien en geregeld kan worden. Een ander voordeel van SCADA is dat door middel van data acquisition gegevens uit het proces opgeslagen en geanalyseerd kunnen worden, waardoor het proces telkens verbeterd kan worden. Ook de eigenschap van redundantie is een groot voordeel van SCADA. Door deze eigenschap wordt het programma vaak toegepast in gevaarlijke productieprocessen waar absoluut niets mis mag gaan.
Binnen de Kievit wordt ook gebruik gemaakt van SCADA. Hier wordt vanuit de bedieningskamer het productieproces van poeder geregeld. Op het scherm is een overzicht van het productieproces gegeven, vervolgens kan door op een deel proces te klikken, ingezoomd worden. Zo kan ieder deel van het proces afzonderlijk geregeld en bekeken worden. Ook wordt er in het SCADA programma gekozen voor het soort recept dat gebruikt gaat worden voor de productie van het poeder. Deze receptgegevens worden uit de database gehaald.

18 Literatuuropgave