NodeClass
In OPC UA, NodeClass is the mandatory attribute stating what kind of node you are looking at. There are exactly eight: Object, Variable, Method, ObjectType, VariableType, ReferenceType, DataType and View. The class determines which further attributes the node has and which services may be applied to it.
The eight classes
Objects structure the address space and hold Variables, Methods and events. Variables carry values. Methods are callable. ObjectType, VariableType, ReferenceType and DataType are the type-definition classes that populate the TypesFolder at i=86. View defines a restricted subset of the address space for browsing. Nothing else exists: if you think you need a ninth class, you actually need a type under one of these eight.
Attributes are class-dependent
Every node has NodeId, NodeClass, BrowseName and DisplayName, plus optional Description, WriteMask, UserWriteMask and RolePermissions. Beyond that the class decides: a Variable adds Value, DataType, ValueRank, ArrayDimensions, AccessLevel, UserAccessLevel, MinimumSamplingInterval and Historizing; a Method adds Executable and UserExecutable; the type classes add IsAbstract; ReferenceType adds Symmetric and InverseName. Reading an attribute a class does not have returns BadAttributeIdInvalid, not a null value.
NodeClassMask, the cheap optimisation nobody uses
The Browse service takes a NodeClassMask, a bitmask that makes the server return only the classes you asked for. Browsing a large PLC address space for Variables only, instead of filtering client-side, cuts response size substantially and avoids continuation-point churn. Combine it with a ReferenceTypeId filter and a ResultMask before you resort to BrowseNext tuning.
Example
The eight NodeClasses and the services that apply to each
Object instance container; event notifier Browse, Read attributes
Variable holds a Value Read, Write, HistoryRead, monitor
Method callable procedure Call
ObjectType type definition for Objects Browse, instantiate offline
VariableType type definition for Variables Browse
ReferenceType type definition for references Browse, used as filter
DataType type definition for values Browse, DataTypeDefinition
View a scoped subset of the address space Browse with ViewDescription
NodeClassMask bit values used by Browse:
Object 1, Variable 2, Method 4, ObjectType 8,
VariableType 16, ReferenceType 32, DataType 64, View 128
Objects + Variables = 3; 0 means all classes
Defined in: Part 3 - Address Space Model defines the NodeClasses and their attributes; the normative attribute identifier list ships as Schema/AttributeIds.csv in the UA-Nodeset repository.
Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.