8 OPC UA ObjectTypes

8.1 AdditiveManufacturingType Definition

The AdditiveManufacturingType represents the entire additive manufacturing interface of this information model. It is the entry point to the OPC UA interface of an AM machine and provides a basic structure. An instance of this type aggregates all information related to one AM machine.

All instances of the AdditiveManufacturingType have to be referenced from the 3:Machines node defined in OPC 40001-1. At least one AdditiveManufacturingType instance shall be present to qualify for any profile of OPC UA for Additive Manufacturing.

The AdditiveManufacturingType is a subtype of the 5:MachineToolType as defined by OPC 40501-1. It contains the MachineIdentificationAMType, a subtype of 5:MachineToolIdentificationType, for further identification of the AM machine but inherits all other type definitions.

The AdditiveManufacturingType is formally defined in Table 13.

Table 13 – AdditiveManufacturingType Definition
Attribute Value
BrowseNameAdditiveManufacturingType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 5:MachineToolType defined in OPC 40501-1 i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObject5:EquipmentEquipmentAMTypeM
0:HasAddInObject2:IdentificationMachineIdentificationAMTypeM
Conformance Units
AdditiveManufacturing AdditiveManufacturingType Mandatory Nodes
AdditiveManufacturing Monitoring - Process
AdditiveManufacturing Monitoring - Health

The components of the AdditiveManufacturingType have additional subcomponents which are defined in Table 14.

Table 14 – AdditiveManufacturingType Additional Subcomponents
Source Path Reference NodeClass BrowseName DataType TypeDefinition Others
5:Monitoring0:HasComponentObject3:Process0:FolderTypeO
5:Monitoring0:HasComponentObject3:Health0:FolderTypeO
3:MachineryBuildingBlocks0:HasAddInObject10:JobManagement10:JobManagementTypeO

2:Identification is an instance of the MachineIdentificationAMType (see 8.2). Together with the other inherited instance declarations it is used to structure the information in the AdditiveManufacturingType topically.

5:Equipment is an instance of the EquipmentAMType (see 8.3). Together with the other inherited instance declarations it is used to structure the information in the AdditiveManufacturingType topically.

The 3:MachineryBuildingBlocks and 10:JobManagement shall be used as defined by OPC 40001-1 and OPC 40001-3.

5:Monitoring is an instance of the 5:MonitoringType and adds a 3:Process folder as an entry point to process information and 3:Health as and entry point for machine health information of the AM machine using the ProcessValueAMType.

8.2 MachineIdentificationAMType Definition

The MachineIdentificationAMType of the Additive Manufacturing information model holds static data which shall uniquely identify an AM machine among a pool of the AM machine operating entity. It is a subtype of the 5:MachineToolIdentificationType defined in OPC 40501-1, thus inheriting all InstanceDeclarations specified and is formally defined in Table 15.

Table 15 – MachineIdentificationAMType Definition
Attribute Value
BrowseNameMachineIdentificationAMType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 5:MachineToolIdentificationType defined in OPC 40501-1 i.e. inheriting the InstanceDeclarations of that Node.
0:HasPropertyVariableAMTechnologyIdentifier0:String0:PropertyTypeM
Conformance Units
AdditiveManufacturing Technology Identification

For the 1:DeviceClass inherited from the 5:MachineToolIdentificationType, the values “Additive Manufacturing machine” or “Additive Manufacturing hybrid machine” shall be used as applicable.

For the AMTechnologyIdentifier the values in Table 16 should be used but might be extended by specifications using OPC 40540. The most appropriate value to identify the machine’s main additive manufacturing technology category according to ISO/ASTM 52900 shall be used.

Table 16 – AMTechnologyIdentifier Values
Name Value Description
Binder JettingBJTLiquid binding agent is selectively deposited onto powdered material
Directed Energy DepositionDEDFocused thermal energy is used to melt and fuse the material during deposition
Material ExtrusionMEXMaterial is selectively applied through a nozzle
Material JettingMJTMolten material droplets are selectively jetted onto a build platform
Powder Bed FusionPBFFocused thermal energy is used to melt and fuse parts of a powder bed
Sheet LaminationSHLSheets of material are bonded together layer-by-layer to form a single piece
Vat PhotopolymerizationVPPLiquid photopolymer resin, cured by UV-light polymerization

8.3 EquipmentAMType Definition

The EquipmentAMType is a subtype of the 5:EquipmentType as defined by OPC 40501-1. It provides lists for installed feedstock on the AM machine but inherits all other type definitions and is formally described in Table 15.

Table 17 – EquipmentAMType Definition
Attribute Value
BrowseNameEquipmentAMType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 5:EquipmentType defined in OPC 40501-1 i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObjectFeedstockFeedstockListTypeO
Conformance Units
AdditiveManufacturing Identify & Monitor Feedstock

Feedstock contains a list of raw materials currently installed on the AM machine.

8.4 ProcessValueAMType Definition

The ProcessValueAMType of the Additive Manufacturing information model provides sensor monitoring information of an AM machine that are a direct and active part of the machining process. It is a subtype of the 8:ProcessValueType defined in OPC 40001-2, thus inheriting all InstanceDeclarations specified and is formally defined in Table 18.

Table 18 – ProcessValueAMType Definition
Attribute Value
BrowseNameProcessValueAMType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 8:ProcessValueType defined in OPC 40001-2 i.e. inheriting the InstanceDeclarations of that Node.
0:HasPropertyVariableSeveritySensorSeverity0:PropertyTypeO
0:HasPropertyVariableCategorySensorCategory0:PropertyTypeM
Conformance Units
AdditiveManufacturing Monitoring - Process
AdditiveManufacturing Monitoring - Health

Severity indicates the criticality of the respective sensor data.

Category indicates the area of application of the respective sensor.

Warnings and errors created by these process values shall be indicated by 0:Events sent via the 5:Notification node of the AdditiveManufacturingType.

The 0:EngineeringUnits of the 0:AnalogSignal inherited from 8:ProcessValueType uses the 0:EUInformation to indicate the engineering unit of the process value represented. For the 0:EngineeringUnits only the recommendations according to 6.4 should be used.

8.5 FeedstockListType Definition

The FeedstockListType represents a list of feedstocks available on the AM machine.

The FeedstockListType is formally defined in Table 20.

Table 19 – FeedstockListType Definition
Attribute Value
BrowseNameFeedstockListType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node
0:HasComponentObject<Feedstock>FeedstockTypeMP
0:HasPropertyVariable0:NodeVersion0:String0:PropertyTypeO
Conformance Units
AdditiveManufacturing Identify & Monitor Feedstock

<Feedstock> is an 0:MandatoryPlaceholder for nodes of FeedstockType. The feedstock list can thus contain any number of feedstock equal or greater than one. For the DisplayName of the <Feedstock>, it is recommended to use the value of the Name property of the respective FeedstockType instance.

The contents of the FeedstockListType instance can change during the server runtime (e.g., if feedstock is installed on the machine or removed from it). A change in the list can be indicated using the 0:GeneralModelChangeEventType and change of the 0:NodeVersion. The 0:GeneralModelChangeEventType is intended to be used in the way defined in OPC 10000-3.

8.6 FeedstockType Definition

The FeedstockType represents a feedstock installed on the AM Machine. A feedstock is used to produce an AM part. It may or may not be part of the finished part.

The FeedstockType is formally defined in Table 20.

Table 20 – FeedstockType Definition
Attribute Value
BrowseNameFeedstockType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node
0:HasPropertyVariableIdentifier0:String0:PropertyTypeM
0:HasPropertyVariableExternalIdentifier0:String0:PropertyTypeO
0:HasPropertyVariableName0:String0:PropertyTypeO
0:HasComponentVariableFunctionFeedstockFunction0:BaseDataVariableTypeO
0:HasPropertyVariable2:Manufacturer0:String0:PropertyTypeO
0:HasComponentVariableRemainingQuantity0:Number0:AnalogUnitTypeO
0:HasComponentVariableReadyForProduction0:Boolean0:BaseDataVariableTypeO
0:HasComponentVariableCycle0:UInt320:BaseDataVariableTypeO
Conformance Units
AdditiveManufacturing Identify & Monitor Feedstock

The Identifier is the Identifier of the feedstock. This Identifier is used to determine the type of feedstock. For this reason, the Identifier shall be unique.

The Name is used as a human readable name of the feedstock used (e.g., “PLA_Black”).

The ExternalIdentifier shall be used to identify the feedstock instance used (e.g., lot ID/batch ID). For this reason, the ExternalIdentifier shall be unique per feedstock identifier.

The Function indicates the usage purpose of a feedstock using the FeedstockFunction defined in 10.1.

The 2:Manufacturer is the original manufacturer of the feedstock.

The RemainingQuantity indicates the remaining amount of this feedstock instance installed on the AM machine. For the 0:EngineeringUnits only the recommendations according to 6.4 should be used.

ReadyForProduction indicates if the feedstock meets all AM machine specific preconditions to be used in a job (e.g. temperature).

The Cycle count may be used for technologies where the remaining feedstock is recycled in the following job. After a feedstock change, the Cycle count shall start at 0.