node-opcua: Das Handbuch
- OPC UA mit TypeScript und Node.js meistern
Vorwort
- Für wen ist dieses Buch?
- Wie Sie dieses Buch lesen
- Konventionen
- Danksagung
- Teil I: OPC UA Spezifikation
Geschichte, Ziele und Architektur
- Die Story: Warum überhaupt ein neues Protokoll?
- Was ist OPC UA?
- Warum OPC UA?
- Client/Server und Pub/Sub
- Logische Architektur
- Transport
- Stacks und Zertifizierung
Das Informationsmodell
- Knotentypen (NodeClasses)
- NodeId
- BrowseName, DisplayName, Attributes
- Referenzen und Hierarchie
- DataValue, Variant, StatusCode
- Data Access (DA)
- Events, Alarms & Conditions
- Methoden
- Historizing
- NodeSets und Companion Specs
Services und Transport
- Discovery Service Set
- Secure Channel Service Set
- Session Service Set
- View Service Set
- Attribute Service Set
- Method Service Set
- MonitoredItem- und Subscription Service Set
- Nicht oder nur kommerziell
- Encoding und Chunking
Sicherheit in OPC UA
- Drei Ebenen
- Message Security Mode
- Security Policies (Auswahl)
- Zertifikate und Trust Lists
- Benutzeridentitäten
- Autorisierung und Rollen (Part 18)
- Praktische Checkliste
- Teil II: Das node-opcua-SDK
SDK-Überblick
- Warum ein SDK und nicht die Spec direkt implementieren?
- Was ist node-opcua?
- Installation
- Node.js-Version
- Typischer Import
- Architektur des Monorepos
- Stärken
- Grenzen (Open Source)
Client-Features
- OPCUAClient
- Session-Fähigkeiten
- Subscriptions und Monitored Items
- Benutzeridentität
- Discovery vom Client
- Weitere Client-Pakete
Server und Address Space
- OPCUAServer
- ServerEngine und Address Space
- Modellierungs-API
- Nodesets laden
- Diagnostik
- Lebenszyklus
Subscriptions, Events und Data Access
- DataChange-Subscriptions
- Event-Subscriptions
- Data Access im SDK
- Extension Objects und komplexe Typen
Sicherheit, Zertifikate und Konfiguration
- OPCUACertificateManager
- Security an Client und Server
- Server Configuration / Push Certificates
- UserManager
Historie, Alarme und Methoden
- Methoden
- Historizing
- Alarms & Conditions
- File Transfer
Discovery, File Transfer und Role-Based Security
- Discovery und LDS
- Role-Based Security (OPC 10000-18)
- Pseudo-Session
Pakete, Samples und Erweiterungen
- Wichtige Packages (Kurzliste)
- Samples im Repo
- Kommerzielle / Membership-Module
- Feature-Matrix
- Teil III: Lernpfad mit Node.js 24
Setup für Node.js 24
- Ziel dieses Teils
- Projekt anlegen
- Beispiele herunterladen
- Lernreihenfolge
Beispiel: Miniserver
- Lernziel
- Start
- Was passiert?
- Der vollständige Code
Beispiel: Client – Browse und Read
- Lernziel
- Start
- Ablauf
- Der vollständige Code
- Typische Stolperfallen
Beispiel: Subscription
- Lernziel
- Start
- Konzept
- Der vollständige Code
- Parameter zum Spielen
Beispiel: Methoden
- Lernziel
- Start
- Server-Seite
- Client-Seite
Beispiel: Data Access
- Lernziel
- Start
- SDK-Helfer
- Der vollständige Code
Beispiel: Alarme
- Lernziel
- Start
- Der vollständige Code
- Vertiefung
Beispiel: Historie
- Lernziel
- Start
- Client
Beispiel: Sicherer Zugriff (UserName)
- Lernziel
- Start
- Server
- Client
- Nächste Schritte in Richtung Produktion
- Teil IV: OPC UA NodeSets und Companion Specs
NodeSets und Companion Specs – Einführung
- Wozu dieser Teil?
- Was ist ein NodeSet?
- Was ist eine Companion Spec?
- Lehre vs. Lizenz – Klarstellung
- Katalog in node-opcua
- Lesereihenfolge
- Zitierstil in den Unterkapiteln
OPC UA Standard NodeSet (UA)
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- node-opcua
- Quellen
Device Integration (DI) – OPC 10000-100
- Die Story
- Wofür einsetzen?
- Kernkonzepte (Auswahl)
- Abhängigkeiten
- node-opcua nutzen
- Lehre: typischer Fehler
- Quellen
Analyzer Device Integration (ADI)
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Domänen-Spec ist kein Ersatz für DI
- Quellen
AutoID – OPC 30010
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Scan-Events statt Polling
- Quellen
Machine Vision – OPC 40100
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Recipe- vs. Result-Denken trennen
- Quellen
Commercial Kitchen Equipment – OPC 30200
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Energie- und Health-Felder aus DI weiterverwenden
- Quellen
Asset Management Basics (AMB) – OPC 10000-110
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: AMB selten isoliert laden
- Quellen
GDS-Informationsmodell – Part 12 / GDS NodeSet
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: NodeSet ≠ Betrieb
- Quellen
Industrial Automation (IA) – OPC 10000-200
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: IA ist unsichtbarer Klebstoff
- Quellen
Machinery – OPC 40001-1
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua – Praxis
- Lehre: AddIns
- Quellen
Machinery Jobs – OPC 40001-3
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Formale Dependency vs. sinnvolle Gesamtarchitektur
- Quellen
Machinery Result – OPC 40001-101
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Generisches Muster erkennen und wiederverwenden
- Quellen
Machinery Process Values – OPC 40001-2
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Semantik ist kein Nice-to-have
- Quellen
Machine Tool – OPC 40501
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten (Katalog)
- node-opcua
- Quellen
CNC – OPC 40502
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: CNC- und Machine-Tool-Sicht bewusst zusammenführen
- Quellen
Robotics – OPC 40010
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Quellen
Woodworking – OPC 40550
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Branchenmodell erbt von Machinery, nicht umgekehrt
- Quellen
Flat Glass – OPC 40301
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Linienintegration statt Einzelmaschine
- Quellen
PackML – OPC 30050
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Zustandsnamen sind bereits vereinbart – nutzen Sie sie
- Quellen
IO-Link und IO-Link IODD – OPC 30120
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Prozess- und Servicedaten sauber trennen
- Quellen
PADIM und IRDI – Semantik für Prozesswerte
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: IRDI ist Infrastruktur, kein Selbstzweck
- Quellen
ISA-95 Job Control – OPC 10031-4
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Basis-Vokabular, keine fertige MES-Integration
- Quellen
IJT Base und Tightening – OPC 40450 / 40451
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Die längste Dependency-Kette im Katalog lohnt das Nachvollziehen
- Quellen
LADS – OPC 30500
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Fertigungsmuster im Labor wiedererkennen
- Quellen
Metal Forming – OPC 40503
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Der Dependency-Graph ist die eigentliche Lehre
- Quellen
Scales / Weighing – OPC 40200
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Eichrechtliche Werte gesondert behandeln
- Quellen
I4AAS – OPC UA und Asset Administration Shell
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Zwei Communities, ein Modell
- Quellen
Weihenstephan – OPC 40600
- Die Story
- Wofür einsetzen?
- Kernkonzepte
- Abhängigkeiten
- node-opcua
- Lehre: Migration statt Neubau
- Quellen
NodeSets praktisch in node-opcua nutzen
- Lernziel
- Die nodesets-Map
- Lade-Rezept (Checkliste)
- Muster A – Typ suchen und Subtypen
- Muster B – Instanz in DeviceSet / Machines
- Muster C – TypeScript-Bindings
- Muster D – Client gegen Companion-Server
- Dependency-Graph (vereinfacht)
- Beispielskript im Buch
- Conformance und Realität
- Quellen
Anhang A: Leanpub- und Markua-Hinweise
- Ordnerstruktur dieses Manuskripts
- Markua-Konventionen in diesem Buch
- Leseprobe (Teaser)
- Veröffentlichung
- Freigabetexte für die Leanpub-Buchseite
Anhang B: Glossar
Anhang C: Ressourcen
- node-opcua
- OPC Foundation
- Leanpub / Markua
- Weiterführendes Buch
Anhang D: Quellenverzeichnis Companion Specs
- node-opcua-Primärquellen
- Rechtlicher Hinweis (Lehre)