Integratie · Cloud

Verbind OPC UA met Azure IoT Edge / OPC Publisher

ProductAzure IoT Edge / OPC Publisher
CategorieCloud
OPC UA-rolClient

OPC Publisher is een OPC UA-client die als IoT Edge-module draait, zich abonneert op nodes die u in een configuratiebestand opgeeft, en ze als JSON doorstuurt naar Azure IoT Hub. Het is het best gedocumenteerde pad van OPC UA naar de cloud, en het lastigste probleem zijn certificaten, niet code.

Voordat u begint

  • Een IoT Edge-runtime op een gateway die zowel de OPC UA-servers als de cloud kan bereiken.
  • Een published-nodes-configuratiebestand met de endpoints en node ids waarop geabonneerd moet worden.
  • Een plan voor hoe het certificaat van de publisher vertrouwd zal worden op elke server waarmee hij praat. Dit is het deel dat uitrol vertraagt, niet de container.
  • Uitgaand netwerkverkeer vanaf de gateway. De OPC UA-kant is vanuit het perspectief van de publisher alleen inkomend, en daarom past hij in een gelaagd netwerk.

Het opzetten

  1. Schrijf het published-nodes-bestandEén entry per endpoint, elk met een lijst node ids, hun publishing en sampling intervals en een optionele deadband. Sla de namespace-URI op in de node id waar de syntaxis dat toelaat in plaats van een ruwe index, zodat een PLC-download de verzameling niet stilletjes breekt.
  2. Rol de module uitRol uit als IoT Edge-module met het configuratiebestand en een persistent volume voor de PKI-map. Dat volume is niet optioneel - zie de valkuilen.
  3. Vertrouw de publisher op elke serverBij de eerste verbinding belandt het certificaat van de publisher in de rejected store van elke server. Een beheerder verplaatst het naar trusted, op elke server. Reken hier over een machinepark echt tijd voor, of rol eerst een aanpak voor certificaatbeheer uit.
  4. Kies de encoding bewustDe publisher kan reversible of non-reversible JSON uitsturen. Non-reversible is kleiner en beter leesbaar, maar gooit type-informatie weg en kan niet terug omgezet worden. Beslis dit voordat afnemers verderop ertegenaan geschreven worden.
  5. Verifieer wat er binnenkomtControleer berichten in IoT Hub en bevestig dat de statuscode en SourceTimestamp bewaard zijn gebleven. In de JSON-codering is een Good-status 0 en wordt die volledig weggelaten, dus een ontbrekend statusveld betekent Good en niet ontbrekend - downstream code moet met die kennis geschreven worden.
  6. Stem af voordat u opschaaltStel publishing intervallen in op wat de cloudconsument nodig heeft in plaats van op het snelste dat de PLC geeft, pas deadbands toe op analoge waarden, en houd het aantal verschillende intervallen klein. Elk verschillend interval wordt weer een subscription op de server.

Hoe de adresruimte eruitziet

De publisher modelleert niets - hij stuurt de nodes door die u opgeeft. Semantiek blijft waar u die neerlegt, wat in de praktijk betekent dat de node-ids per conventie betekenis dragen of dat iets stroomafwaarts de betekenis opnieuw aanhecht. Als de machine een companion specification implementeert, gaat die structuur verloren tenzij u hem in uw topic- of tagnaamgeving codeert.

De valkuilen

  • Een niet-persistent PKI-volume genereert het applicatiecertificaat bij elke containerherstart opnieuw, dus de trust list van elke server veroudert bij elke deploy. Dit is de meest voorkomende OPC Publisher-deploymentstoring.
  • De documentatie stelt ronduit dat apparatuur zover krijgen dat zij het certificaat van de publisher accepteert de grootste horde is waar de meeste OT-beheerders tegenaan lopen. Behandel het als een projecttaak met een eigenaar, niet als een configuratiedetail.
  • Niet-omkeerbare JSON verliest stilzwijgend type-informatie. Een stroomafwaartse consument kan een Int32 niet van een Double onderscheiden, wat telt zodra iemand ermee gaat rekenen.
  • Reverse connect wordt alleen voor opc.tcp ondersteund, en de publisher luistert daarvoor op een configureerbare poort. Nuttig door een netwerk met Purdue-lagen waar alleen uitgaand verkeer is toegestaan.
  • Hardgecodeerde namespace-indexen in een published-nodes-bestand breken na een PLC-programmadownload. Gebruik namespace-URI's waar de node-id-syntaxis dat ondersteunt.

OEE-data eruit halen

Beschikbaarheid, aantallen en redenen komen allemaal in de cloud terecht als de machine ze beschikbaar stelt, maar de publisher stuurt waarden door in plaats van ze te interpreteren. Overgangen van de state machine komen binnen als waardeveranderingen, dus duurberekening gebeurt verderop in de keten en hangt af van uw publishing interval - een interval van 10 seconden kan een microstop van 3 seconden niet oplossen. Abonneer op Part 9 condition events voor stilstandredenen in plaats van een redenregister te pollen. Geplande productietijd en ordercontext zitten niet in de machine en verschijnen hier niet.

Verifieer voordat u hierop vertrouwt:Moduleversies, het schema van configuratiebestanden en ondersteunde encodings veranderen per release. Bevestig het actuele configuratieformaat voor de versie die u uitrolt. Licentienamen, optiepakketten, firmwareniveaus en platformondersteuning veranderen op dit vlak per release en worden hier niet als feit gepresenteerd. Bevestig de actuele vereisten bij de leverancier voor uw exacte productversie voordat u zich aan een leverdatum vastlegt.

Laatst geverifieerd op 7 september 2026 tegen OPC UA 1.05.07. OPC UA Connect is een educatieve bron en is niet gelieerd aan de OPC Foundation.

Gratis download
OPC UA Machine Data → OEE Mapping Kit
Op welke nodes u zich abonneert, hoe die Beschikbaarheid, Prestatie en Kwaliteit worden, en welke companion specification u het antwoord al geeft, zodat u niet langer tags hoeft te verzinnen.
Download de gratis mappingkit →
Gratis, geen cursus, geen login