OPC (Open Platform Communications, tidigare uttolkat som OLE for process control) är en standard specificerad av OPC foundation för kommunikation mellan olika datorer (inkl. inbyggda system). OPC har antagits som internationell standard i IEC 62541 (svensk standard SS-EN 62541).

Tekniken består idag av OPC UA som är plattformsoberoende och OPC Classic som använder DCOM för kommunikationen, vilket binder det till Windows. .

I standarden finns flera olika specifikationer som löser olika problem, vilka nämns nedan.

OPC-DA - Data Access redigera

OPC-DA är en specifikation som har hand om att skicka data i form av till exempel mätdata eller text från en OPC-server till en OPC-klient. Information på servern kan grupperas av klienter och i grupperna finns dataobjekt. När en klient efterfrågar ett objekt första gången hämtas aktuell data från datakällan (en annan dator eller ett inbäddat system). Då datakällan ofta är långsam används en cache. Till data kopplas också kvalitet på datakällan och en tidsstämpel.

Klienten kan alltid fråga efter data direkt, men den kan även prenumerera på den. Vid prenumeration överför OPC-servern automatisk data med jämna mellanrum eller när den ändrats, utan att prenumeranten behöver hämta den själv. Dessutom kan data som skickas via nätverket antingen skrivas till eller läsas av OPC-servern.

OPC-AE - Alarm & Event redigera

I motsats till OPC-DA, som överför data, kan OPC-AE överföra händelser och larm. Detta innebär att OPC-servern kan göra klienten uppmärksam på om något händer som den måste presentera för användare eller som den måste hantera.

För att en klient ska kunna få meddelande om händelse måste den prenumerera på dessa. Klienten kan då ange filter på till exempel typ av händelse, händelsekategori, allvarlighet, processområde eller händelsekälla.

OPC-DX - Data eXchange redigera

OPC-DX överför data mellan servrar (jämför med OPC-DA där data skickas mellan klient och server). Den bygger upp ett träd med alla OPC-DX-servrar som finns på nätet med alla deras datagrupper och tillhörande data. Servrar kan därför hämta data från en annan server.

OPC-HDA - Historical Data redigera

OPC-HDA överför som namnet antyder historiska data till klienter som begär det. Detta kan ske genom att en klient anger ett visst tidsspann och vad för typ av data som den är intresserad av. Dessutom kan vissa implementationer av OPC-HDA göra aggregationer, det vill säga bearbeta data som ligger i givet tidsspann. Bl.a. finns möjligheter att summera alla värden eller räkna ut medelvärdet. Hämtning av data är inte beroende av någon övrig OPC-specifikation utan kan implementeras helt fristående.

OPC-UA - Unified Architecture redigera

OPC Unified Architecture (OPC UA) är ett industriellt M2M kommunikationsprotokoll för interoperabilitet utvecklat av OPC Foundation. Det är efterföljaren till det som idag kallas OPC Classic, vilket är det föregående definitionerna OPC DA, AE och HDA. OPC UA utvecklats av samma organisation, men skiljer avsevärt från sina föregångare . Stiftelsens mål för detta projekt var att ge en väg framåt från den ursprungliga OPC kommunikationsmodell (nämligen Microsoft Windows endast processutbyte COM / DCOM) till ett plattformsoberoende serviceorienterad arkitektur (SOA) för processtyrning och samtidigt stärka säkerheten och tillhandahålla en informationsmodell . Läs vidare på engelska versionen av Wikipedia: https://en.wikipedia.org/wiki/OPC_Unified_Architecture

Kortfattat innehåller OPC UA samtliga funktioner och datautbyten som tidigare erhålls OPC Classics separata delar.

Complex data redigera

OPC-DA kan i sitt grundutförande endast hantera ett dataobjekt åt gången. Ska flera olika associerade dataobjekt hämtas finns risken att ett visst objekts innehåll ändras under tiden ett annat relaterat objekt hämtas. Därför har specifikationen för Complex Data utvecklats, då denna möjliggör hämtning av hela datastrukturer på en och samma gång. Med denna teknik går det att bygga upp flerdimensionella strukturer med data som kan skickas i ett gemensamt paket.

Batch redigera

Batch möjliggör ett utbyte av information mellan olika delar i en hel organisation. Det går att lägga in en anläggnings alla delar i en hierarkisk struktur för att sedan få ut information i realtid om till exempel var en maskin står och vilken tillgänglighet den har haft.

Common redigera

Denna specifikation är egentligen ingen egen specifikation. Den innehåller de delar som är gemensamma för samtliga specifikationer.

Security redigera

Säkerheten i OPC är i äldre specifikationer direkt kopplade till DCOM. På senare tid, mycket på grund av införandet av XML, har säkerhetsaspekten lagts över till överföringen via nätverket genom att till exempel utnyttja tekniker som virtuellt privat nätverk eller HTTPS (krypterad HTTP).

Commands redigera

För OPC-DA går det endast köra read och write och inget annat. Om behov finns för att utöka funktionaliteten på servern erbjuder Commands möjlighet att ha funktioner på servern som klienter kan köra. Dessa går antingen köra synkrona (som vanliga metodanrop) eller asynkrona (svaret returneras när funktionen är färdig).

Externa länkar redigera