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