OPC UA, som står for "Open Platform Communications Unified Architecture", er en industristandard for datautveksling i sanntid gjennom TCP/IP-baserte nettverk.

Denne protokollen ble utviklet omkring 2010 av OPC Foundation og er mye brukt som en real-time kommunikasjonsplattform mellom automatiseringssystemer.


OPC UA tillater kommunikasjon av prosessdata gjennom en OPC UA-server.

Serveren gir informasjon til en OPC UA-klient som abonnerer på informasjonen gjennom en link med følgende format: opc.tcp://serverIP:port/ServerSti.

Denne URL-strukturen likner påen helt vanlig nettsidelink, noe som gjør OPC UA lett tilgjengelig for enhver klient med internettilgang, uavhengig av hvilket operativsystem den bruker.

Dette er særlig viktig i egenskap i  miljøer med mange ulike automasjonssystemer.


Protokollen inneholder sikkerhetstiltak som kryptering, autentisering og autorisasjon for å sikre kommunikasjonen mot uautorisert tilgang og datalekkasjer.


OPC UA er spesielt populær i subsea-industrien for kommunikasjon mellom undervannsapplikasjoner og plattformutstyr.

 Dens plattformuavhengighet tillater implementering i alt fra enkle sensorer til komplekse produksjonsnettverk.


I dette prosjektet er det WAGO PLC-en som er vert for OPC UA-serveren.

I denne situasjonen vil server IP-en være den samme som IP-en til PLC-en som blir brukt.

Det er i "symbol configuration" fila i CodeSys programmet man har valgt hvilke variabler en klient kan hente fra serveren, om om klienten har read/write permission til disse.

Porten som er brukt er 4080. Vanligvis, på industrielle enheter, er portene 4840 eller 4843 for OPC UA. 4840 er ment for ukryptert kommunikasjon.

PLC-en publiserer også vinkelposisjon data til denne.

Python-scriptet, som blir kjørt i RoboDK-programmet som det tilhører, henter disse variablene ved hjelp av den felles service endpoint URL-en og Node ID-en som er unik for hver variabel.



Kilder:

https://www.novotek.no/insight/hva-er-opc-og-opc-ua/

https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/2780872

  • No labels