OPC UA koppelen aan CODESYS
| Product | CODESYS |
|---|---|
| Categorie | PLC |
| OPC UA-rol | Server |
CODESYS levert een OPC UA-server als onderdeel van zijn runtime, en omdat CODESYS de motor is in veel kleine en middelgrote PLC-merken, komt u hem vaak tegen zonder dat het merk op de kast dat verraadt. Symbolen worden gepubliceerd via het Symbol Configuration-object, en de server vereist doorgaans een runtimelicentie.
Voordat u begint
- Een runtime die de OPC UA-servercomponent bevat, en de licentie die hem activeert. Licenties zijn per runtime en vallen normaal gesproken onder de verantwoordelijkheid van de apparaatleverancier en niet van CODESYS rechtstreeks, en juist daarom wordt het over het hoofd gezien.
- Het CODESYS Development System in een versie die compatibel is met de runtime op het apparaat.
- Een Symbol Configuration-object in de applicatie. Zonder dat valt er niets te publiceren, en er een toevoegen is een codewijziging die een download vereist.
- Toegang tot het bestandssysteem of de configuratie van de runtime voor certificaatafhandeling, en kennis van waar die specifieke apparaatleverancier de PKI-directory heeft geplaatst.
Het opzetten
- Stel vast wat u werkelijk draaitBepaal de leverancier van het device, de CODESYS-runtimeversie en of de OPC UA-servercomponent is geïnstalleerd en gelicentieerd. Op een controller met OEM-label kost dat een telefoontje, en dat telefoontje eerst plegen scheelt een dag. De eigen benaming van de leverancier voor de optie komt niet overeen met de CODESYS-documentatie.
- Voeg een Symbol Configuration toe en selecteer symbolenVoeg het Symbol Configuration-object toe aan de applicatie, bouw, vink daarna de variabelen, programma-instanties of globale variabelenlijsten aan die u wilt publiceren, en stel per vermelding lees- of lees-en-schrijftoegang in. Een hele GVL selecteren is de gebruikelijke pragmatische keuze; alles selecteren is hoe u op een kleine besturing met een onbrowsebare adresruimte eindigt.
- Bevestig dat de symboolconfiguratie is ingesteld voor OPC UA-publicatieDe Symbol Configuration heeft instellingen die bepalen hoe symbolen beschikbaar worden gesteld en of de OPC UA-server ze publiceert. Controleer die in plaats van aan te nemen dat een variabele aanvinken voldoende is, want hetzelfde object bedient ook andere clients.
- Bouw en download, herstart daarna zo nodig de runtimeSymboolwijzigingen worden van kracht met de applicatiedownload; sommige runtimes hebben een herstart nodig voordat de server zijn adresruimte opnieuw opbouwt. Verifieer door te browsen, niet door het project te inspecteren.
- Browse en noteer de namespace-URIVerbind een client, lees de NamespaceArray en noteer de URI voor de namespace van de applicatie. Bewaar URI plus identifier in uw configuratie; de index verschuift.
- Voltooi de trust-uitwisselingVerbind één keer op een beveiligd endpoint, laat het mislukken, verplaats daarna het certificaat van uw client naar de trusted store van de runtime en vertrouw het servercertificaat op de client. Waar de deviceleverancier certificaatbeheer via een webinterface of een devicetool aanbiedt in plaats van via een bestandssysteem, gebruikt u dat pad.
- Controleer de limieten van de runtime en stel de intervallen daarop afKleine CODESYS-targets zijn vaak de krapste servers die u zult tegenkomen wat betreft aantallen sessies, subscriptions en monitored items. Maak de subscription aan die u in productie wilt draaien, lees de gereviseerde sampling- en publishing intervallen terug, en ontwerp op die waarden.
Hoe de adresruimte eruitziet
De gepubliceerde adresruimte volgt de applicatiestructuur: een namespace voor de applicatie, dan nodes voor programma's en globale variabelenlijsten, dan de symbolen die u hebt geselecteerd, met structuur- en arrayleden daaronder genest. Identifiers zijn strings die zijn afgeleid van het symboolpad, dus ze lezen als de code en veranderen wanneer de code wordt hernoemd. Er is geen companion-specification-inhoud, tenzij de apparaatleverancier er een informatiemodel bovenop heeft gezet, wat sommigen doen en de meesten niet. Omdat dezelfde Symbol Configuration ook andere CODESYS-communicatiepaden bedient, is de OPC UA-weergave niet altijd het volledige beeld van wat de runtime blootstelt, en is de browse-boom de enige betrouwbare uitspraak over wat een client kan zien.
De valkuilen
- De licentie is per runtime en de deviceleverancier bepaalt die. Een controller die op de werkbank prima browst en in het veld weigert omdat zijn licentie nooit is toegepast, is een veelvoorkomend en volledig vermijdbaar verlies in de planning. Bevestig de licentiesituatie bij de deviceleverancier, niet aan de hand van algemeen CODESYS-materiaal.
- Omdat CODESYS een OEM-engine is, is documentatiedrift ernstig: de handleiding van de leverancier, de CODESYS-handleiding en het werkelijke gedrag van de runtime kunnen het oneens zijn over optienamen en waar certificaten staan. Vertrouw op het apparaat dat voor u staat.
- Een variabele hernoemen of de applicatie herstructureren verandert string-identifiers en breekt clients met BadNodeIdUnknown. Symboolselectie is een gepubliceerde interface; voorzie die van versiebeheer.
- Namespace-indexen verschuiven na applicatiedownloads. Resolve ze bij elke verbinding uit de NamespaceArray.
- Certificaatvertrouwen is de grootste deploymenthobbel, en op OEM-hardware is het mechanisme om een vertrouwd certificaat te plaatsen precies het deel dat niemand documenteert. Zoek op één unit uit hoe het werkt voordat u naar vijftig uitrolt.
- Symbolen die alleen-lezen zijn gepubliceerd accepteren een write en geven een Bad-status terug. Lees terug en controleer de StatusCode.
- Plafonds voor sessies en monitored items zijn laag op kleine doelsystemen. Een historian, een HMI en een engineer met een browser open tegelijk kunnen ze uitputten, en de storing komt binnen als een verbindingsprobleem in plaats van als een capaciteitsmelding.
OEE-data eruit halen
Wat u kunt krijgen hangt volledig af van wat de applicatie berekent, en op een CODESYS-machine betekent dat meestal dat u de machinebouwer vraagt om vier dingen te publiceren: een toestands- of modusvariabele met een gedocumenteerde enumeratie, een teller voor goede producten, een afkeurteller en een fout- of redencode. Tellers moeten in de applicatie worden bijgehouden; detecteer geen flanken van een running-bit via een subscription waarvan de runtime het sampling interval kan hebben verruimd. Omdat deze targets beperkt zijn in subscriptions, gebruikt u één sessie, één publishing interval, een deadband op analoge waarden en een heartbeat, zodat een stille verbinding te onderscheiden is van een stilstaande machine. Beschikbaarheid en aantallen zijn haalbaar, en redenen zijn haalbaar als de fouttabel gedocumenteerd is. Geplande productietijd, ploegenkalenders, ordercontext en standaardcyclustijden zitten niet in de besturing.
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.