Hoe een OPC UA verbinding op te zetten

Wat moet je doen om een werkende OPC UA verbinding op te zetten met Kepware

Inleiding

In dit document wordt uitgelegd hoe je een OPC UA verbinding op kunt zetten tussen 2 KEPServerEX machines. Maar omdat de OPC UA standaarden vastliggen, gelden de getoonde stappen ook bij gebruik van andere OPC UA clients en servers.

Instellen van de OPC UA server

Server Endpoint

Het server endpoint is de server interface waarop OPC UA clients kunnen connecteren, en definieert het adres en de security instellingen. 

  1. Start de OPC UA Configuration Manager via rechtsklik op de Administration icoon van Kepware in de Windows system tray en selecteer dan OPC UA Configuration.
  2. Selecteer de Server Endpoints tab
  3. Selecteer "Add..."
  4. Selecteer de netwerkkaart via welke de OPC UA Server Endpoint bereikbaar zal zijn. Het Server Endpoint adres wordt onder het poort nummer getoond.

    Wanneer men expliciet een netwerkkaart specifieert, bevat het adres het IP adres. Wanneer men kiest voor de 'Default' netwerkkaart, bevat het adres de Windows hostnaam. 
  5. Kies de poort nummer via welke de endpoint bereikbaar is. Deze poort dient in eventuele firewalls opengezet te worden richting de OPC UA server.
  6. Kies de security policies die beschikbaar moeten zijn. Ze staan in aflopende sterkte van encryptie en sterkte van certificaat. De bovenste heeft dus de voorkeur. De dropdown menu geeft de keuze tussen 'Sign' (certificaat gebruiken, maar geen encryptie), en 'Sign and Encrypt' (certificaat en ecryptie)
  7. Sluit het scherm met 'OK' om de instellingen te bewaren
  8. Verifieer dat het vinkje 'Enabled' bij de net aangemaakte server endpoint aan staat, en sluit het scherm door op 'Close' te klikken.
  9. Om deze wijzigingen door te voeren in de KEPServer Runtime dient u via rechtsklik op het Administration icoon, en dan 'Reinitialize' te kiezen.

User Manager

OPC UA laat toe om connecties te beveiligen met een gebruiker en wachtwoord. Deze worden bepaald aan de server zijde.

In KEPServer worden die ingesteld in de User Manager. 

Indien u geen gebruik wil maken van gebruikers, ga dan verder met het hoofdstuk 'Server interface'

  1. Start de User Manger via rechtsklik op de Administration icoon in de Windows system tray, selecteer dan Settings, en vervolgens de User Manager tab.
  2. Rechten worden enkel toegekend aan groepen. Omdat onze gebruiker enkel data moet kunnen lezen, en geen adminstratieve rechten nodig heeft, maken we een specifieke groep aan met die instellingen.
    Klik op de 'New Group' knop
  3. Geef een naam in en eventueel description
  4. Rechtsklik op 'Project Modification', en kies 'Deny All'
  5. Rechtsklik op 'Server Permissions', en kies 'Deny All'
  6. Rechtsklik op 'I/O Tag Access', en kies 'Allow All'
  7. Herhaal voor 'System Tag Access', 'Internal Tag Access', en 'Browse Project Namespace', en kies telkens 'Allow All'
  8. Kies 'OK' wanneer je klaar bent
  9. Rechtsklik op de nieuwe groep, en kies 'Add User'
  10. Geef een naam, omschrijving en paswoord in, en kies 'OK'

  11. Kies 'Ok' om de Settings te sluiten

Security Policies

In KEPServerEx kunt u datatoegang specifiëren op channel, device, tag group en tag niveau. U kan dus bepalen dat een OPC UA gebruikersgroep maar op een bepaald deel van uw project rechten heeft en een andere OPC UA gebruikersgroep op een ander deel.

Dit wordt ingesteld in de Security Policies plugin. Deze is gratis maar moet bij installatie wel extra aangevinkt worden.

  1. Na installatie is hij te vinden via rechtsklik op de Administration icoon in de Windows system tray, selecteer dan Settings, en vervolgens de Security Policies tab.
  2. Klik op 'I/O tags', vervolgens op het pijltje dat verschijnt, en dan op 'Custom Permissions'
  3. Vervolgens kan men door een channel, device, tag group of tag te selecteren, via het pijltje dat dan verschijnt de rechten instellen voor dat item, en alles wat er eventueel onder valt.
  4. Kies 'Close' wanneer u klaar bent.
  5. Kies 'Ok' om de Settings te sluiten

Server interface

De project properties van het geladen KEPServerEX project bevat nog enkele belangrijke instellingen.

  1. Start de KEPServerEX Configuration, rechtsklik 'Project' in de boomstructuur, en kies 'Properties...'
  2. Ga naar de 'OPC UA' tab.
  3. Zet 'Enable' op 'Yes'
  4. Wanneer 'Allow anonymous login' op 'Yes' staat, kan er zonder gebruiker en wachtwoord geconnecteerd worden. Het veiligste is dus 'No'.
  5. Selecteer 'Ok' om het scherm te sluiten.
  6. Om deze wijzigingen door te voeren in de KEPServer Runtime dient u via rechtsklik op het Administration icoon, en dan 'Reinitialize' te kiezen.

Instellen van de OPC UA client

We gebruiken hier de KEPServer OPC UA client driver.

Opzetten van de OPC UA sessie

In KEPServerEX wordt een channel gebruikt om de OPC UA server te identificeren, session timeouts in te stellen, en gebruikerscredentials te definiëren, waarmee de OPC UA sessie opgezet zal worden.

  1. In de KEPServer COnfiguration tool, rechstklik op 'Connectivity' in de project tree en kies 'New Channel'
  2. Kies 'OPC UA Client', en klik 'Next'
  3. Geef een channel Name in, en klik 'Next'
  4. Laat de settings standaard, en klik 'Next'
  5. Vul de 'Server endpoint' in die u eerder hebt aangemaakt, de gewenste Security Policy en Message mode, en klik 'Next'
  6. Laat de Timeout settings default, en klik 'Next'
  7. Vul de gebruiker en wachtwoord in die u eerder aanmaakte. Laat leeg om anoniem te connecteren indien de server dat toelaat. Klik 'Next'
  8. Klik 'Finish' in het overview scherm.
  9. Afhankelijk van de gebruikte versies van KEPServerEX, veschijnt mogelijk nu de volgende popup. Selecteer 'Yes' om het servercerticaat toe te voegen aan de 'Trusted Server Certificates': 

Toevoegen van een Subscription

In KEPServerEX wordt een device gebruikt om een OPC UA subscription in te stellen. Hij wordt gebruikt om de OPC UA server te browsen en tags te importeren, en aan te geven hoe de data wordt afgevraagd.

  1. Rechtsklik op de channel, en kies 'New Device'
  2. Kies een naam, en klik 'Next'
  3. Laat de settings standaard, en klik 'Next'
  4. Zet de 'Publishing Interval' op de snelheid waarmee de client updates wenst te onvangen. Met de update mode bepaalt u of enkel gewijzigde data ontvangen moet worden (Exception), of alle tags (Poll).
  5. Laat de settings standaard, en klik 'Next'
  6. Laat de settings nogmaals standaard, en klik 'Next'
  7. Zet de 'Sample Interval' bij voorkeur op  de helft van 'Publishing Interval' (zie punt 4) om zeker geen updates te missen. De Sample Interval bepaalt hoe snel de OPC UA server zijn databronnen afvraagt.
  8. Laat de settings standaard, en klik 'Next'
  9. Klik op 'Select import items.' Wanneer op dit moment een fout komt, is dat normaal. De het clientcertificaat is nog niet geaccepteerd. DIt wordt later gedaan.
  10. Klik 'OK'
  11. Klik 'Next'
  12. Klik 'Finish' in het overview scherm.

Certificate trust

Om de client en de server met elkaar te laten communiceren, moeten ze elkaars certicaten vertrouwen.

Accepteren van het server certificaat

Bij het aanmaken van de channel, verschijnt er meestal een popup om het server certicaat te accepteren. Dit kan ook achteraf.

  1. Op de client, start de OPC UA Configuration Manager via rechtsklik op de Administration icoon in de Windows system tray, en selecteer dan OPC UA Configuration.
  2. Ga naar de 'Trusted Servers' tab
  3. Als het certificaat een rood kruis heeft, wil dat zeggen dat het nog niet geaccepteerd is. Rechtsklik erop, en kies 'Trust'

Accepteren van het client certificaat

Voor het accepteren van het client certificaat komt er nooit een popup. De server ontvang dat certificaat past wanneer de client de eerste keer probeert te connecteren, meestal bij het browsen om tags.

Om het client certificaat te accepteren:

  1. Op de server, start de OPC UA Configuration Manager via rechtsklik op de Administration icoon in de Windows system tray, en selecteer dan OPC UA Configuration.
  2. Ga naar de 'Trusted Clients' tab
  3. Rechtsklik op het client certificate, en kies 'Trust'

Manuele certicatenuitwisseling en eigen certificaten

In bovenstaande uitleg werd er vanuit gegaan dat de certicaten tussen de client en server automatisch werden uitgewisseld. Soms wordt dat echter verhinderd door firewall- of Windowsinstellingen, of ondersteunt de 3th party client of server dat niet.

Ook kunnen eigen certicaten toegevoegd worden om geen gebruik te hoeven maken van de standaard self-signed certificaten. Eigen certificaten zijn in regel veiliger.

  1. Start de OPC UA Configuration Manager via rechtsklik op de Administration icoon in de Windows system tray, en selecteer dan OPC UA Configuration.
  2. Ga naar de 'Instance Certifcates' tab
  3. Hier kunnen server en client certicaten geëxporteerd worden. Deze kunnen op de andere machine in de 'Trusted Clients' tab of de 'trusted Servers' tab geïmporteerd kunnen worden.

OPC UA data tags importeren

  1. In de Configuration tool op de client machine, rechtsklik op de device en kies 'Properties'
  2. Ga naar de Tag Generation group en klik 'Select import items….'
  3. Selecteer individuele items, of hele branches, en voeg ze toe aan de rechterkolom.
  4. Kies 'OK' om de tags toe te voegen aan het project.