OPC i industrielle datasystemer

Robert Roppestad

Det har i de senere år foregått store teknologiske endringer innen bruk av datasystemer til måling, overvåking og styring, et område også definert som industriell IT. PC'en som komponent , Internett og krav om åpne standarder har gjort programvare til en svært viktig faktor i produkter, systemer og fabrikkanlegg. Dette har igjen hatt stor innvirkning på IT-industriens valg av løsninger. Denne artikkelen vil ta for seg noen utviklingstrekk ved klient/server teknologien i industrielle IT systemer.

Innledning

I et industrielt datasystem må vi kunne koble oss opp mot et fysiske system/prosess utenfor datamaskinen for å utføre måling, overvåking eller styring som vist på figur 1.

Figur 1: PC oppkoblet mot prosess.

For å få kontakt med en gitt prosess trenger vi en I/O enhet og programvare/driver som gir oss tilgang til de fysiske inn og utganger i prosessen. Dette medførte at hardwareprodusentene måtte lage et sett med drivere for hver ny I/O enhet, og i tillegg varianter i forhold til de ulike operativsystem, slik at både produsenter og brukere har måtte forholde seg til en rekke varianter og versjonsendringer. Den store utbredelsen av Windows plattformen førte til behov for kommunikasjon mellom programmoduler via standardiserte grensesnitt. En milepæl i dette arbeidet var introduksjonen av DDE (Dynamic Data Exhange) og Net DDE som et prinsipp for utveksling av data mellom programmoduler. DDE har sin basis i tradisjonell objektorientert programmering, og benytter meldingsbasert kommunikasjon mellom modulene.

De første kommersielle PC baserte HMI (Human Machine Interface) systemer og distribuerte styresystemer hvor DDE ble benyttet som et grensesnitt mot prosessens I/O ble tilgjengelig i 1990. Et typisk distribuert styringssystem består av en eller flere klienter som har som oppgave å visualisere og formidle prosessdata til brukerne, et nettverk for overføring av data og en server som har som oppgave å ta imot prosessdata og sende styresignaler til prosessen som vist på figur 2. DDE ble utover nittitallet benyttet av svært mange I/O leverandører som hovedprisnipp for utveksling av data i et klient/server miljø. En DDE klient som mange har benyttet er Excel regneark som henter data dynamisk fra en DDE serverapplikasjon.

Figur 2. Typisk distribuert system med klient /server.

OPC (OLE for Process Control)

Utvikling av komponent teknologien COM ( Component Object Model) og DCOM (Distributed Component Object Model), og svakheter i DDE prinsippet førte til at en rekke større bedrifter dannet en gruppe i 1995 for å legge rammene for en forbedret klient/server teknologi i industrielle datassystemer. OPC Foundation ble etablert, og i 1997 ble den første spesifikasjonen ferdig. Det er for tiden 6 OPC spesifikasjoner som dekker områder som; aksess til prosessdata, alarm og hendelser, sikkerhet, historiske data og trending.

Alle spesifikasjonene har sitt fundament i bruk av COM/DCOM. Det gir fordeler ved at det blir en standardisert måte å benytte tjenester på uavhengig av om klienten er lokal eller ekstern i forhold til serveren. DCOM kan programmeres med de fleste programmeringsspråk og kjøres på mange forskjellige operativsystem.

Som vist på figur 2 vil det alltid være minst en OPC server og en OPC klient i et system. OPC serveren vil ha som oppgave å distribuere prosessdata fra de ulike prosessenhetene til OPC klienter. En server vil kunne ha mange klienter koblet mot seg samtidig. Klienter er typisk applikasjoner som presenterer data for brukeren, og som henter og legger ned data til serveren. En OPC server består av 3 objekter som vist på figur 3. Toppnivået er selve OPC server objektet som under seg kan ha en eller flere gruppeobjekter. Hvert gruppeobjekt består av en eller flere itemobjekter. Et itemobjekt er igjen en referanse til en spesifikk prosessverdi. Et OPC Item er definert med en gitt identitet, verdi, kvalitet på verdi, tids stempel og aksessrettigheter.

Figur 3 : Server komponentens objekter.

Når en klient kobler seg til en OPC server opprettes selve OPC server objektet. Det vil si at det alltid er klienten som initierer en forbindelse. Klienten for nå lov til å ”lese” navnrommet i serveren som inneholder alle items som er tilgjengelig, og plassere dem under ønskede gruppeobjekter. Dermed er strukturen for kommunikasjon mellom klient og server opprettet. En server har et serverobjekt per klient. Når klienten kobler seg fra serveren vil serverobjektet og dets innehold slettes.

OPC og XML.

OPC basert på COM/DCOM er i dag et standard grensesnitt som benyttes av de fleste leverandører av industrielle datasystemer. Tester av ytelse og robusthet lokalt og i nettverk dokumenterer teknologiens egnethet. Ønsket om å forenkle bruk av OPC over Internett, og mellom ulike maskinvare plattformer har resultert i at det nå arbeides aktivt med en OPC XML spesifikasjon for å befeste OPC som en industristandard. OPC XML vil basere all kommunikasjon mellom klient og server på XML dokumenter. XML (eXtensible Markup Language) er regler for strukturering av informasjon. Selve informasjonen i et XML dokument tolkes av mottageren med et XML skjema. Som vist på figur 4 starter kommunikasjonen ved at klienten lager et XML dokument på vegne av brukeren. Serveren mottar dokumentet og identifiserer informasjonen. Metoder relatert til denne informasjon blir utført, og respons i form av et XML dokument blir sendt tilbake til klienten. Klienten avleder informasjon og presenterer for brukeren.

Figur 4. OPC basert på XML dokumenter

Oppsummering

OPC er akseptert som en av de mest populære industrielle standarder blant brukere og utviklere av industrielle datasystemer. I dataingeniørstudiet har vi for tiden tre OPC servere mot fysiske systemer. Hensikten er at studenter skal lære om tidsaktuell teknologi ved konfigurering av systemer og programmering av egne klienter. Som tidligere nevnt leveres svært mange I/O systemer i dag med en OPC server. En typisk oppgave vil være å konfigurere en OPC server mot en gitt prosess, og deretter sette opp en OPC klient for prosessvisualisering. Det enkleste vil være å benytte et kommersielt HMI system, men utvikling av egne klienter i for eksempel C++ kan være en langt mer lærerik oppgave. Det er i dag tilgjengelig flere ”toolkits” for de som vil forenkle jobben med å lage sine egne servere og klienter basert på OPC. En masse informasjon og programvare kan hentes fra OPC Foundation sine Web sider. Det er nå cirka 300 medlemsbedrifter i organisasjonen , og som en kuriositet kan det nevnes at Prediktor AS i Fredrikstad var Norges første medlemsbedrift i 1997. OPC basert på COM teknologien er gjennom mange praktiske installasjoner godt dokumentert og testet. Forventningene til OPC XML er store, og vil kunne gi mange interessante problemstillinger rundt sikkerhet , ytelse og forutsigbarhet med hensyn på responstider.

Referanser

Iwanitz Frank, Lange Jurgen , OLE for Process Control , ISBN 3-7785-2850-5

Fullstendig OPC, Seminar Prediktor , 17 – 18. sept 2001
http://www.opcfoundation.org/