Machinery
Machinery — the cross-cutting "MachineryItem" base for every machine class. No enums, no DTOs at the package level, but loaded transitively by 14 other specs.
OPC UA companion specification for the cross-cutting "machinery"
abstraction — MachineryItemType is the base every domain-
specific machine class extends. Defines health rollups, identification
mapping, operational-mode patterns reusable across machine
categories.
What's in the package
| Artefact | Count |
|---|---|
| Enums | — |
| DTOs | — |
| Codecs | — |
| Registrars | 1 (MachineryRegistrar) |
No enums and no DTOs at this level — Machinery is structural. The vocabulary it contributes lives in NodeId constants. Domain specs (MachineTool, Pumps, Robotics, …) add the operational content.
Loading
use PhpOpcua\Client\ClientBuilder;
use PhpOpcua\Nodeset\Machinery\MachineryRegistrar;
$client = ClientBuilder::create()
->loadGeneratedTypes(new MachineryRegistrar()) // pulls DI, IA
->connect('opc.tcp://machine.local:4840');
Direct dependencies
MachineryRegistrar::dependencyRegistrars() returns two direct
entries. DI itself has no upstream dependencies, so it does not
pull anything else in.
Loaded by
14 specs depend on Machinery: CAS, CranesHoists, CuttingTool, LADS, LaserSystems, MachineTool, MetalForming, PAEFS, Powertrain, Pumps, Scales, Shotblasting, Weihenstephan, Woodworking. Loading any of those gives you Machinery for free.
What you typically use
The NodeIds — MachineryNodeIds::* — for navigating the cross-
cutting Identification, Health, Components, MachineryItemState
nodes the spec defines.