Integratie · Time series

OPC UA koppelen aan Telegraf / InfluxDB

ProductTelegraf / InfluxDB
CategorieTime series
OPC UA-rolClient

Telegraf is een praktische OPC UA-collector: de opcua input plugin pollt nodes op een interval en de opcua_listener input plugin abonneert op datawijzigingen, en beide schrijven naar InfluxDB of een andere output. Het is puur configuratie, wat de kracht ervan is, en de certificaatuitwisseling met elke server is het werk dat werkelijk tijd kost.

Voordat u begint

  • Een Telegraf-installatie op een host met een netwerkpad naar elke OPC UA-server, en een beslissing of één agent veel machines bedient of één agent per machine. Eén per machine faalt onafhankelijk en is de extra instanties meestal waard.
  • Een output die eerst geconfigureerd en getest is, zodat u zodra de OPC UA-kant werkt direct data ziet in plaats van twee lagen tegelijk te debuggen.
  • Een beoordeelde nodelijst, met namespace-URI's en identifiers, in plaats van een voornemen om at runtime te browsen. Telegraf verzamelt wat u configureert; het ontdekt niets.
  • Een plek om het clientcertificaat en de sleutel van de agent te bewaren, en de mogelijkheid dat certificaat in de trusted store van elke server te krijgen.

Het opzetten

  1. Begin met een onbeveiligde read om het pad te bewijzenConfigureer een inputs.opcua-sectie met het endpoint en zonder security, één node group en één node, en draai de agent in testmodus zodat hij de metric naar stdout schrijft in plaats van hem weg te schrijven. Dit bevestigt endpoint, namespace en identifier in één stap.
  2. Configureer node groups per namespace en frequentieGroepeer nodes per namespace en per interval dat ze nodig hebben. Elke groep draagt de namespace, het identifier-type en de nodelijst, dus een groep per machinesubsysteem houdt de configuratie leesbaar en laat u één frequentie wijzigen zonder de rest aan te raken.
  3. Schakel over op de listener-plugin voor alles wat op een event lijktGebruik inputs.opcua_listener met een subscription-interval waar u verandergestuurde data nodig hebt, met name toestandsvariabelen en tellers. Een toestand op een vast interval pollen verliest overgangen tussen de polls, en een verloren overgang is een verloren stilstandsevent.
  4. Schakel security in en voltooi de trust-uitwisselingZet de security policy en mode op wat de server aanbiedt, wijs de plug-in naar het certificaat en de private sleutel van de agent, en configureer het identity token. Verbind dan één keer, laat het mislukken, en verplaats het certificaat van de agent van de rejected store van de server naar de trusted store. Vertrouw het certificaat van de server aan de agentkant zoals uw gekozen policy voorschrijft.
  5. Leg de naamgeving van metrics en tags vast voordat u historie wegschrijftStel de measurement-naam in en voeg tags toe die machine, lijn en locatie identificeren, plus de namespace-URI en identifier als metadata. Een serie hernoemen na zes maanden historie is veel duurder dan er nu één keer over nadenken.
  6. Bepaal welke timestamp de metric meedraagtStandaard zet een collector een timestamp op het moment van verzamelen. Controleer of uw Telegraf-versie de OPC UA source timestamp in de metric-tijd kan meedragen, en gebruik dat als het kan, en bevestig de optienaam in de actuele eigen documentatie van de plugin. Kan het niet, leg dat feit dan vast waar het analyseteam het zal lezen.
  7. Houd de eigen metrics van de agent in de gatenSchakel de interne input in en alarmeer op gather errors en schrijffouten. Een Telegraf-agent die stilletjes een PLC niet kan bereiken, produceert een gat dat eruitziet als een gestopte machine, en dat is de schadelijkste faalwijze in machinedataverzameling.

Hoe de adresruimte eruitziet

Telegraf platwalst de adresruimte tot metrics. Elke verzamelde node wordt een field op een measurement, met tags voor de dimensies die u hebt geconfigureerd, en al het overige dat de server wist (typedefinities, technische eenheden, browse-hiërarchie) blijft achter, tenzij u het in namen en tags hebt gecodeerd. Aan de InfluxDB-kant is er evenmin een model: een series is een naam en een set tags. Het gevolg is dat de OPC UA namespace-URI en identifier als tags of als aparte mappingtabel onder versiebeheer meegedragen moeten worden, zodat een getal in een dashboard altijd terug te herleiden is naar de node waar het vandaan komt. Zonder dat bestaat de mapping alleen in een configuratiebestand op één host.

De valkuilen

  • Het certificaat van de agent in de trusted store van elke server krijgen is op vlootschaal de grootste deploymenthobbel, en het gaat per machine. Beslis over een procedure of een PKI vóór de eerste uitrol, en verwacht dat de eerste poging tegen elke server met een trust-fout mislukt: dat is bij ontwerp zo.
  • Namespace-indexen in de configuratie breken na een PLC-programmadownload. Configureer op namespace-URI waar de plugin dat ondersteunt, en behandel elke letterlijke index als een bekend risico met een gedocumenteerde eigenaar.
  • Een toestandsvariabele pollen is niet hetzelfde als u erop abonneren. Als beschikbaarheid ertoe doet, gebruik dan de listener-plugin, want een stop die korter is dan uw pollinterval is onzichtbaar en onherstelbaar.
  • De eigen timestamp van de collector is niet die van de machine. Is de metric-tijd de verzameltijd, dan erft elke stilstandduur uw pollingjitter, en niemand verderop kan dat zien.
  • Ruw weggeschreven tellers hebben bij het bevragen een difference- of non-negative-difference-functie nodig. Een teller middelen levert een overtuigende en betekenisloze reeks op, en resets of overlopen vragen om expliciete afhandeling.
  • Er is geen store-and-forward voor de OPC UA-kant. Ligt de agent-host eruit, dan is die periode een gat, en een gat is niet te onderscheiden van een gestopte machine tenzij u ook een heartbeat of een verbindingsgezondheidsmetric verzamelt.
  • Eén agent die veel machines verzamelt concentreert risico: een configuratiefout of een herstart onderbreekt elke lijn tegelijk.
  • Sampling- en publishing-intervallen die u aanvraagt kunnen door de server worden herzien. Bevestig wat de server werkelijk levert in plaats van te vertrouwen op het geconfigureerde getal.

OEE-data eruit halen

Telegraf kan de drie inputs leveren die OEE nodig heeft, met een duidelijke grens. Toestand: abonneer u met de listener-plugin op een toestands- of modusvariabele en sla elke overgang op, zodat beschikbaarheid uit tijdsduren wordt berekend en niet uit samples. Aantallen: lees PLC-tellers als waarden en bereken delta's bij het opvragen, waarbij u resets expliciet afhandelt; vraag de collector niet om flanken te tellen. Redenen: OPC UA alarms and conditions zijn niet waar deze collector voor bedoeld is, dus een redencodevariabele is de realistische weg, en event-gebaseerde redenen vragen om een ander hulpmiddel. Wees daarnaast expliciet dat de timestamp-discipline van de collector het nauwkeurigheidsplafond bepaalt van elke duur die u rapporteert, en dat geplande productietijd, ploegenkalenders en standaardcyclustijden niet in de machine zitten en als aparte referentiedata met een eigenaar moeten binnenkomen.

Verifieer voordat u hierop vertrouwt:Namen van plugin-opties, welke security policies ondersteund worden, of de source timestamp in de metric-tijd meegedragen kan worden en het gedrag van automatische certificaatgeneratie verschillen allemaal tussen Telegraf-versies, en beide input plugins zijn in actieve ontwikkeling. Raadpleeg de plugindocumentatie en configuratiereferentie die meegeleverd worden met de versie die u installeert in plaats van op deze pagina te vertrouwen, en bevestig de InfluxDB-versie en de bijbehorende queryfuncties apart, aangezien tellerafhandeling verschilt tussen querytalen.

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