SCADA

SCADA (Supervisory Control And Data Acquisition) är ett system för övervakning och styrning av processer. Denna klass av programvara används främst inom industrin för processövervakning, men har på senare tid även börjat användas inom vanlig fastighetsautomation. Främst är det billiga datorer och fri mjukvara som gjort detta möjligt. Systemet använder sig av datorer, datorkommunikation och grafiska användargränssnitt för att behandla övervakning och styrning på en hög nivå, men även andra kringutrustningar förekommer. Exempel på kringutrustningar kan vara PLC:er och diskreta PID-regulatorer som interagerar med en processanläggning eller en maskindel. Ett operatörsgränssnitt som möjliggör övervakning och styrning (till exempel utfärdande av processkommandon) hanteras via ett SCADA-kontrolldatorsystem. Däremot utförs realtidsstyrning (realtidssystem) av nätverksmoduler, som i sin tur är kopplade till sensorer och manöverdon ute i fält. 

SCADA-konceptet utvecklades som ett universellt medel för fjärråtkomst till en rad lokala styrmoduler, vilka kan vara från olika tillverkare som tillåter åtkomst genom standardiserade automationsprotokoll. I praktiken har detta koncept vuxit till att vara mycket likt ett distribuerat styrsystem, men som använder flera sätt för interaktion av en anläggning. Detta omfattar övervakning och styrning av storskaliga processer inom olika platser och arbeten med långa avstånd. SCADA är en av de vanligaste typerna inom industriella styrsystem, dock finns det en oro över dess sårbarhet mot cyberattacker.

Modell

Huvudegenskaperna för ett SCADA-system är dess förmåga att utföra övervakning och styrning inom olika områden med dess tillhörande enheter. 

Bilden till höger visar ett allmänt diagram/modell på funktionella nivåer med datorstyrd drift. 

 Nivå 0: Består av fältet där sensorer och manöverdon är installerade. Exempel på sensorer är flödes- och temperatursensorer. Manöverdonets uppgift är att reglera eller starta/stänga olika anordningar, som exempelvis elektrisk motor, ventil och strömbrytare.

 Nivå 1: Består av I/O-moduler och dess samhörande elektronik. Det kan exempelvis vara mikrokontroller, PLC:er och RTU:er som mottar/skickar signaler från/till sensorer/manöverdon. 

 Nivå 2: Består av övervakningsdatorer, vilket samlar in information från olika områden/enheter inom de närliggande nivåerna, samt tillhandahåller information till operatörer på nivå 3. Här finns också SCADA:s mjukvara där dess funktion vanligtvis är begränsad till grundläggande styrning och övervakning. Exempelvis kan det vara en PLC som styr flödet av kylvatten till ett börvärde genom en industriprocess. Sedan kan en operatör om den vill, ändra inställningen för flödet, vilket mjukvaran tillåter.  Ett annat exempel kan vara SCADA:s larmfunktion som varnar om flödet försvinner eller om temperaturen blir för hög. Normalt finns det en återkoppling som är direkt kontrollerade via RTU:er eller PLC:er, men SCADA-mjukvaran har ändå en sorts övervakning över det hela omloppet/kretsen. Oavsett händelse, så skyltas och loggas alltid processens status av SCADA-systemet. 

 Nivå 3:  Består av styrning och övervakning med hjälp av datorer. Behöver nödvändigtvis inte vara direkt styrning, men omfattar alltid övervakning över viss produktion eller uppgift. Typiska exempel är driftcentraler och kontrollrum där en eller flera operatörer finns. 

 Nivå 4: Består produktionsplanering. Till exempel ett planerat underhåll längre fram i tiden.

Datainsamling (Data acquisition) börjar vid RTU- eller PLC-nivån, och inkluderar instrumentmätning samt statusrapporter, vilket vidare kommuniceras med nivå 2 (SCADA) efter behov. Därefter sammanställs och formateras datan så att en operatör (via HMI) kan avgöra om ett beslut/kommando behöver utfärdas. Datan lagras/loggas också i en databas för att vid ett senare tillfälle kunna möjliggöra en uppföljning eller analys. 

SCADA-systemet använder vanligen en slags databas med etiketter (engelska: tag database) som innehåller dataelement, oftast kallad tags som relateras till specifika enheter såsom instrument, sensorer eller manöverdon inom ett processystem (exempelvis piping and instrumentation diagram). Datan ackumuleras sedan mot referenser av dessa enhetstags.

Användningsområden

Både stora och små system kan använda SCADA-konceptet. Exempel på användningsområden kan vara industri, infrastruktur eller anläggningsbaserade processer.

 Industri: Kan exempelvis vara tillverkningsindustri, processkontroll, elproduktion och raffinering.

 Infrastruktur: Kan vara både offentlig och privat, och inkluderar områden såsom vatten- och reningsverk samt ledningsnät för el, naturgas, tele/bredband och fjärrvärme.

 Anläggningsprocesser: Kan vara vanliga byggnader, flygplatser, fartyg och rymdstationer. I detta fall övervakas och styrs värme, ventilation och sanitet (VVS), säkerhet (åtkomst, passage och larm) samt energiförbrukning. 

Det ska kommas ihåg att ett SCADA-system kan ha säkerhetsproblem och bör därför utvärderas i fall det finns risker, och om i sådant fall implementera lösningar som minskar dessa risker.

Komponenter

Ett SCADA-system består oftast av de fyra huvudkomponenterna: styrsystemskomponenter (RTU:er och PLC:er), kommunikationsinfrastruktur, övervaknings- eller huvuddatorer och människa-maskin-gränssnitt.

Övervaknings- och huvuddatorer
Övervakningsdatorer är kärnan i ett SCADA-system, där de samlar in data från en process och skickar styrkommandon till de anslutna enheterna (styrsystemen). Både övervakningsdatorerna och SCADA:s mjukvara ansvarar för kommunikationen med styrsystemen (RTU:er och PLC:er) ute i fält samt ansvarar för människa-maskin-gränssnittet, vilket används hos operatörernas arbetsplatser. I ett mindre SCADA-system kan övervakningsdatorn möjligtvis vara en enda sammansatt dator, där HMI:n är en del av den. I ett större SCADA-system finns det oftast huvuddatorer där flera HMI-enheter fungerar som värdar på klientdatorer samt flera servrar som samlar in data, distribuerar program och återställer inställningar vid katastrof. För att öka systemets stabilitet så är flera av servrarna ofta redundant konfigurerade (skuggserver), vilket ger kontinuerlig kontroll och övervakning i händelse av serverfel eller avbrott.

Remote terminal unit (RTU)

Remote terminal unit, oftast förkortad som RTU, är en digital styrsystemskomponent, vilket sensorer och ställdon är anslutna till ute i fält. Vidare är den nätverksansluten till ett övervakningsdatorsystem. Mer intelligenta RTU:er har så kallade "intelligenta" I/O (Input/output units) och har ofta inbyggda styrfunktioner såsom ladderdiagram för att uppnå booleska logikoperationer.

Programmerbart styrsystem (PLC)

Programmerbart styrsystem eller PLC (av engelska Programmable Logic Controller) är på samma sätt som en RTU, ansluten till sensorer och ställdon ute i fält, samt nätverksansluten till ett övervakningsdatorsystem. PLC:er har mer sofistikerade inbyggda styrfunktioner än RTU:er, och programmeras i något programspråk från IEC-61131-3-standarden.

Kommunikationsinfrastruktur
Mellan alla nivåer krävs kommunikation som sker på olika sätt beroende på tidskrav och informationsmängd. Mellan övervakningsdatorer, RTU:er och PLC:er används ofta någon industriell standard eller tillverkarens proprietära protokoll. Både RTU:er och PLC:er arbetar med ett autonomt realtidssystem. Fel på kommunikationsnätet behöver nödvändigtvis inte stoppa en process eller dess styrning och övervakning. Vissa kritiska system som kräver hög pålitlighet, behöver redundanta nätverksledningar som exempelvis går en annan väg och/eller använder någon annan kommunikationsmetod.

Människa-maskin-gränssnitt

Ett människa-maskin-gränssnitt (HMI) är ett gränssnitt som en operatör använder för att få tillsyn över ett processystem. Gränssnittet presenterar aktuell driftinformation i form av ett diagram över hela eller delar av processen för operatören. Uppstår det ett alarm så visar diagrammet vilken del, enhet eller komponent som problemet härrör ifrån. Vidare kan operatören också se historik, till exempel vilka värden en sensor har tidigare givit. HMI:n är kopplad till SCADA:s övervakningsdator, vilket tillhandahåller levande data som direkt och kontinuerligt uppdaterar diagrammet med mätvärden, alarm och historik. I många installationer är HMI:n det grafiska användargränssnittet, vilket tillgodoser operatören med insamlad data ifrån externa enheter/komponenter, alarmering, utskick av meddelanden, skapning av rapporter etc. 

Diagrammet består oftast av något slags linjeschema med symboler som representerar varje komponent, enhet eller processelement. Ibland kan även symbolerna bestå av digitala fotografier som ska föreställa en komponent, enhet eller processelement. 

Övervakning av en anläggning sker med hjälp av HMI, där operatören utnyttjar muspekare, tangentbord och bildskärm för att utfärda kommandon (styrning). Till exempel kan en symbol som föreställer en pump visa om den verkliga pumpen är igång. Ett annat exempel kan vara en flödesmätarsymbol som visar pumpens flöde genom ett rör. Sedan kan operatören välja att stänga av pumpen från bildskärmen genom ett eller flera klick över tangentbordet och/eller musen. I detta fall kommer HMI:n att vissa flödesmätarens mätvärde minska, då HMI:n kontinuerligt visar allt i realtid. 

Presentation av ett diagram/användargränssnitt i en HMI kan vara alltifrån enkel, såsom vad ett trafikljus visar över en väg, till ett komplexare system som visar alla tåg över ett järnvägsnät. 

Historik är en programvara eller funktion inom en HMI. Denna funktion ackumulerar tidsmärkta data i form av mätvärden, händelser och larm i en databas, vilket kan senare visas upp och användas i en utvärdering eller felsökning då ett problem har uppstått. Historiken fungerar då som en klient när den begär data från en databas eller lagringsserver.

PLC- och RTU-programmering
Många "smarta" RTU:er och vanliga PLC:er kan utföra enkla logiska processer utan att involvera en övervakningsdator. De använder standardiserade programspråk som exempelvis kan vara ifrån IEC-61131-3, vilket innehåller de fem programspråken: instruktionslista (IL), ladderdiagram (LD), funktionsblocksdiagram (FBD), strukturerad text (ST) och Sequential Function Charts (SFC). Till skillnad från ett procedurellt programspråk såsom C eller Fortran så har IEC-61131-3 ett mindre förståelsekrav (upplärning) då den fysiskt liknar ett styrsystem. Detta gör det möjligt för SCADA-ingenjörer att både designa och implementera ett program som ska köras på en RTU eller PLC. 

En PAC (programmable automation controller) är en kompakt styrenhet som kombinerar funktionerna och egenskaperna hos ett PC-baserat styrsystem med en typisk PLC. PAC:er används i ett SCADA-system för att tillhandahålla funktioner hos en RTU eller PLC. I många ställverk med SCADA-tillämpning används "distribuerade RTU:er" för informationsbehandling och/eller datorer för kommunikation med digitala reläskydd, PAC:er och andra I/O-enheter.

RTU:ens och PLC:ens kommersiella integration
Sedan cirka 1998 har nästan alla större PLC-tillverkare erbjudit integrerade HMI/SCADA-system, där många av dem använder både öppna och icke-proprietära kommunikationsprotokoll. Många specialiserade HMI/SCADA-paket från tredje part erbjuder också inbyggd kompatibilitet, vilket gör det möjligt för en tekniker att själv konfigurera HMI:n utan att behöva få den skräddarsydd av en programmerare. 

En RTU ansluts till en fysisk utrustning. Typiskt omvandlar RTU:n de elektriska signalerna från utrustningen till digitala värden, vilket indikerar om till exempel en brytare eller ventil är öppen eller stängd, eller mätningar såsom tryck, flöde, spänning och ström. Genom att konvertera och därmed skicka elektriska signaler till utrustningen kan RTU:n styra utrustningen, till exempel genom att öppna eller stänga en brytare/ventil, eller ändra en pumps hastighet.

Infrastruktur och metoder inom kommunikation
Inom SCADA-system används det traditionellt sätt en kombination av radio- och ledningsbundna anslutningar. Till exempel används SONET/SDH mycket inom stora system såsom järnväg och kraftverk. Fjärrstyrning och övervakning hos ett SCADA-system kallas ofta telemetri. Vissa företag vill att SCADA-datan ska överföras inom deras förinställda och enskilda nätverk, medan vissa andra tillåter att nätverket delas med andra funktioner/applikationer. 

SCADA-protokoll är utformade till att vara mycket kompakta. Många är utformade för att skicka information endast när en huvuddator anropar en RTU. Typiska ärftliga SCADA-protokoll är Modbus RTU, RP-570, Profibus och Conitel. Dessa kommunikationsprotokoll (med undantag för Modbus som gjordes öppet av Schneider Electric) är alla leverantörsspecifika (proprietära), men har blivit allmänt antagna och använda. Standardiserade protokoll är IEC 60870-5, IEC 61850 och DNP3. Dessa kommunikationsprotokoll är erkända av alla större SCADA-leverantörer. Många av dessa protokoll innehåller även nya tillägg för att fungera över TCP/IP, vilket har suddat ut gränsen mellan industrinätverk (DCS:s nätverk) och företagsnätverk ("enterprise network"). Trots det uppfyller de var och en grundläggande krav. Nätverkssimulering kan användas i samband med SCADA-simulatorer för att utföra olika "tänk om"-analyser.

Med ett allt ökande säkerhetskrav har användningen av satellitbaserad kommunikation ökad. Fördelarna är att infrastrukturen kan vara fristående (man slipper använda ledningar från det publika telefonnätet), den kan ha inbyggd kryptering och att den kan konstrueras till den tillgänglighet och tillförlitlighet som krävs. Tidigare erfarenheter inom den privatkonsumerande VSAT (very small aperture terminal) har visat vara dålig. Moderna system med bärarklass (engelska: carrier-class) ger den kvalitet som krävs för SCADA.

RTU:er och andra automatiska styrenheter utvecklades innan införandet av branschövergripande standarder, vilket resulterade i att utvecklare skapade en mängd protokoll inom styrning. Bland de större leverantörerna fanns det också ett incitament av att skapa sitt eget protokoll för att "låsa in" sin kundbas.

Med OPC kan man ansluta olika hårdvaror och programvaror, vilket möjliggör kommunikation mellan enheter som ursprungligen inte var avsedda att ingå i ett industriellt nätverk (SCADA).

SCADA-arkitekturens utveckling
SCADA har genomgått fyra generationer enligt följande:

Första generationen: "monolitisk"
Den tidiga SCADA-systemberäkningen hanterades av stora minidatorer. Gemensamma nätverkstjänster fanns inte vid den tidpunkt då SCADA utvecklades. Alltså var ett SCADA-system ett oberoende system utan någon anslutning till andra system. De kommunikationsprotokoll som användes var strängt proprietära vid den tiden. Redundansen som användes var då med hjälp av reservstordatorer, vilka var anslutna till alla enheter (RTU:er) och användes då fel uppstod från det primära systemet.

Andra generationen: "distribuerad"
Information och kommandoutförande inom SCADA distribuerades mellan flera stationer som var anslutna i ett lokalt datornät (LAN). Informationen fördelades nästan i realtid. Varje station var ansvarig för en viss uppgift, vilket minskade kostnaden jämfört med den första generationen. De nätverksprotokoll som användes var fortfarande inte standardiserade. Eftersom dessa protokoll var proprietära, visste mycket få människor (bortom utvecklarna) hur säker en SCADA-installation var. Å andra sidan kunde det ses som om säkerheten var hög, då få kunde komma åt systemen. Säkerheten för en SCADA-installation brukade annars förbises.

Tredje generationen: "nätverk"
Liksom en distribuerad arkitektur kan vilken komplex SCADA-system som helst förminskas ner till färre komponenter och anslutas till kommunikationsprotokoll. Systemet i en nätverksdesign kan vara spridd över flera LAN-nätverk, så kallad Process Control Network (PCN) och geografiskt sätt vara avlägsna ifrån varandra. Flera distribuerade SCADA-strukturer eller -system som körs parallellt med en enda övervakare kan betraktas som en nätverksstruktur.

Fjärde generationen: "sakernas internet"
Den alltmer kommersiella datormolnstillgängligheten har gjort att SCADA alltmer tagit till sig av "sakernas internet", vilket har minskat infrastrukturkostnaderna samt lättat på underhåll och systemintegration. Detta har resulterat att ett SCADA-system kan nu rapportera tillstånd ännu närmare en realtid och att med hjälp av molntjänstens skalbarhet genomföra mer komplexa styralgoritmer än vad som är praktiskt möjligt jämfört med de traditionella PLC:erna. Vidare ger användning av öppna nätverksprotokoll, såsom TLS, vilket är inbakat i "sakernas internet", en mer lättförståelig och hanterbar säkerhetsgräns än den heterogena blandningen av proprietära nätverksprotokoll som är typiskt många i decentraliserade SCADA-installationer.

Referenser

Styrsystem
Datorprogram