Importing Information Models from OPC UA NodeSet files

Changelog

4.2.2022

  • Updated the test setup to use Prosys OPC UA SDK for Java 4.7.0-7
  • Added links to NodeSet files on the OPC Foundation’s GitHub
  • Added links to Code Generator configuration files that exclude Nodes with unsupported ValueRanks or that would cause name clashes
  • Added instructions on how to fix compatibility issues in the following NodeSet files: Opc.Ua.AutoID.NodeSet2.xml, Opc.Ua.IOLink.NodeSet2.xml, Opc.Ua.CSPPlusForMachine.NodeSet2.xml and Opc.Ua.CAS.NodeSet2.xml

20.12.2021

  • Updated the test setup to use Prosys OPC UA SDK for Java 4.6.2-1636 and Prosys OPC UA Simulation Server 5.1.4-361
  • Tested new information models: ISA-95 Job Control, PROFIenergy, DEXPI, OpenSCS, I4AAS, Pumps, CAS, Glass/Flat, Woodworking, Tightening and Weihenstephan
  • Sorted information models by their specification numbers, see OPC UA Online Reference
  • Icons are used to indicate success, success with warnings and failure
  • Added links to online specifications of information models

7.12.2020

  • Updated the test setup to use Prosys OPC UA SDK for Java 4.5.0-1291 and Prosys OPC UA Simulation Server 5.0.4-284
  • Variable Nodes with unsupported ValueRanks are excluded in the Code Generator’s configuration file to enable generating code for NodeSet files containing such variables
  • Tested new information models: Industrial Automation, Machinery and Machine Tool
  • Added publication dates of NodeSet files

Introduction to NodeSet files

OPC UA uses information models to provide semantics for the data exposed by an OPC UA Server. The standard OPC UA information model is defined in the fifth part of the specification and is used by all OPC UA Servers. This information model is used as a basis for defining new information models for various applications such as modeling devices and their components as Nodes.

OPC UA defines Information Model XML Schema, which specifies how to represent information models in XML format. XML-files representing information models are formally called OPC UA NodeSet files or simply NodeSet files. The OPC Foundation maintains a GitHub repository containing NodeSet files and other files.

Users can also generate NodeSet files for their own information models with OPC UA modeling tools such as OPC UA Modeler.

Prosys OPC Products and NodeSet Files

Prosys OPC UA SDK for Java supports NodeSet files by loading the information model directly from a NodeSet file with loadModel methods of UaAddressSpace interface and by generating Java classes based on a NodeSet file or a group of NodeSet files with the Code Generator. Generating Java classes with the Code Generator allows augmenting the generated code to implement Methods defined in the information model.

The generated code also makes it more convenient to add instances based on the TypeDefinitionNodes of the information model with Java classes representing them to the Server’s AddressSpace and handling those instances with clearly named methods. The code excerpt below demonstrates how instances of MotionDeviceSystemType and MotionDeviceType can be added easily to the Server’s AddressSpace with code generated from the Robotics information model.

				
					// Add MotionDeviceSystem

MotionDeviceSystemType MDS = myNodeManager.createInstance(MotionDeviceSystemType.class, "MDS1");
DeviceSetFolder.addReference(MDS, Identifiers.Organizes, false);

// Add MotionDevice to MotionDeviceSystem

TypeDefinitionBasedNodeBuilderConfiguration.Builder conf = TypeDefinitionBasedNodeBuilderConfiguration.builder();
conf.addOptional(UaQualifiedName.from("http://opcfoundation.org/UA/Robotics/", "OnPath"));
conf.addOptional(UaQualifiedName.from("http://opcfoundation.org/UA/Robotics/", "InControl"));
conf.addOptional(UaQualifiedName.from("http://opcfoundation.org/UA/Robotics/", "FlangeLoad"));
conf.addOptional(UaQualifiedName.from("http://opcfoundation.org/UA/Robotics/", "AdditionalComponents"));
conf.addOptional(UaQualifiedName.from("http://opcfoundation.org/UA/Robotics/", "Inertia"));
conf.addOptional(UaQualifiedName.from("http://opcfoundation.org/UA/Robotics/", "CenterOfMass"));
myNodeManager.setNodeBuilderConfiguration(conf.build());
MotionDeviceType MD = myNodeManager.createInstance(MotionDeviceType.class, "MD1");
FolderType MotionDevicesFolder = MDS.getMotionDevicesNode();
MotionDevicesFolder.addComponent(MD);
MD.setManufacturer(new LocalizedText("MD1 Manufacturer"));
MD.setModel(new LocalizedText("MD1 Model"));
MD.setMotionDeviceCategory(MotionDeviceCategoryEnumeration.ARTICULATED_ROBOT);
MD.setProductCode("MD1 Product Code");
MD.setSerialNumber("MD1 Serial Number");
				
			

The Professional Edition of Prosys OPC UA Simulation Server can import Namespaces from NodeSet files. This allows adding instances of the imported ObjectType and VariableType Nodes to the Simulation Server’s AddressSpace in the Objects tab. As Simulation Server uses Prosys OPC UA SDK for Java, importing Namespaces from NodeSet files to Simulation Server is similar to loading them to any Server application developed with the SDK. However, the version of the SDK used by the Simulation Server isn’t always the latest version of the SDK, which means that there can be some differences between Server applications developed with the latest version of the SDK and Simulation Server using an older version of the SDK.

Incompatibility Problems

Ideally, the NodeSet files available at the OPC Foundation’s GitHub repository could be used as they are by Prosys OPC UA SDK for Java and Prosys OPC UA Simulation Server. Unfortunately, not all of these NodeSet files can be used to import information models. While some NodeSet files require a newer version of the standard information model than the one supported by the SDK, some NodeSet files contain modeling errors that prevent using them without fixing them manually.

Name Clashes

The Code Generator also places some additional restrictions on the NodeSet files, and name clashes between the generated methods can happen in various situations. For example, let’s consider TemperatureControlType Node with two child Nodes: SetpointTemperature Variable of Double DataType and SetSetpointTemperature Method with a single InputArgument field with Double DataType. When processed with the Code Generator, the generated TemperatureControlType Java class will have two setSetpointTemperature methods with double parameter where one of the methods is for setting the Value of the SetpointTemperature Variable, and the other method is for calling the SetSetpointTemperature Method.

These methods are implemented by TemperatureControlTypeNodeBase class, and their implementation is shown in the code excerpt below, where the first method sets the Value and the second method calls the Method. Other generated methods called by these two methods have been excluded from this excerpt. As different methods in a Java class must have different method signatures, this piece of code causes Java compiler errors.

				
					@Mandatory
@Override
void setSetpointTemperature(Double value) {
	UaVariable node = getSetpointTemperatureNode();
	if (node == null) {
		throw new RuntimeException("Setting SetpointTemperature failed: does not exist (Optional Nodes must be configured in NodeBuilder)");
	}
	try {
		node.setValue(value);
	} catch(StatusException e) {
		throw new RuntimeException("Setting SetpointTemperature failed unexpectedly", e);
	}
}
  
@Override
public void setSetpointTemperature(Double setpoint) throws StatusException {
	doSetSetpointTemperature(ServiceContext.INTERNAL_OPERATION_CONTEXT, setpoint);
}
				
			

However, name clashes in the generated code can be fixed manually by renaming methods to give them unique method signatures. In the case of TemperatureControlType, renaming either of the two setSetpointTemperature methods in all classes it appears in would solve the name clash.

Name clashes in the generated code can also be prevented by excluding the Nodes that would generate them in the Code Generator’s configuration files. Such Nodes have been excluded in the Code Generator configuration files linked to this blog post. Note, that excluding Nodes only affects the API generated by the Code Generator and not the AddressSpace where the excluded Nodes will still be present.

Unsupported ValueRanks

At the moment, the Code Generator supports Variable Nodes with ValueRanks of -1 and greater than or equal to 1. Some NodeSet files contain Variable Nodes with other ValueRanks such as -2 (except for BaseDataType) or -3 and generating code for such Nodes is not supported. In order to generate code for such NodeSet files, Nodes with unsupported ValueRanks must be excluded by adding the BrowseName of the Node to the excludes elements of the Code Generator’s configuration file.

Nodes with unsupported ValueRanks have been excluded in the Code Generator configuration files linked to this blog post. Again, this only affects the API generated by the Code Generator and not the AddressSpace.

Test Setup

The purpose of this blog post is to provide information on the compatibility of the NodeSet files available at the OPC Foundation’s GitHub repository with Prosys OPC UA SDK for Java and Prosys OPC UA Simulation Server.

The information model importing tests were performed on a Windows 10 PC with Prosys OPC UA SDK for Java version 4.7.0-7 and Prosys OPC UA Simulation Server version 5.1.4-361 The SDK is tested with both code generation based on NodeSet files with the Code Generator and loading information models directly to a Server’s AddressSpace from NodeSet files with loadModel methods of UaAddressSpace interface. Simulation Server is tested with Import NodeSet File function of Namespaces tab.

The tested NodeSet files were downloaded from the OPC Foundation’s GitHub Repository’s v1.04 branch. No modifications were made to the NodeSet files. Most information models consist of a single NodeSet file, but some information models consist of multiple NodeSet files for modularity.

Note that the version information in a NodeSet file is not updated automatically every time the model is updated.

Prosys OPC Products and NodeSet Files

Prosys OPC UA SDK for Java supports NodeSet files by loading the information model directly from a NodeSet file with loadModel methods of UaAddressSpace interface and by generating Java classes based on a NodeSet file or a group of NodeSet files with the Code Generator. Generating Java classes with the Code Generator allows augmenting the generated code to implement Methods defined in the information model.

The generated code also makes it more convenient to add instances based on the TypeDefinitionNodes of the information model with Java classes representing them to the Server’s AddressSpace and handling those instances with clearly named methods. The code excerpt below demonstrates how instances of MotionDeviceSystemType and MotionDeviceType can be added easily to the Server’s AddressSpace with code generated from the Robotics information model.

				
					codegen\commandline\bin\codegen.bat -c CONF
				
			
or
				
					codegen/commandline/bin/codegen.sh -c CONF
				
			
where CONF is the path to the configuration file.

Test Results

The test results for the tested NodeSet files are summarized below. Success indicates success, Warning indicates success that requires modifications to the NodeSet or exclude-definitions in the configuration or success with warnings and Fail indicates failure. You can click on Open Code Generator configuration file icons in the table to download the Code Generator configuration files that should work fine.

NameNamespaceUriSDK: loadModelSDK: Code GeneratorSimulation Server
GDS (10000-12)http://opcfoundation.org/UA/GDS/SuccessSuccess Open Code Generator configuration fileSuccess
Safety (10000-15)http://opcfoundation.org/UA/SafetySuccessSuccess Open Code Generator configuration fileSuccess
DI (10000-100)http://opcfoundation.org/UA/DI/SuccessSuccess Open Code Generator configuration fileSuccess
IA (10000-200)http://opcfoundation.org/UA/IA/SuccessSuccess Open Code Generator configuration fileSuccess
ADI (10020)http://opcfoundation.org/UA/ADI/SuccessSuccess Open Code Generator configuration fileSuccess
ISA-95 (10030)http://www.OPCFoundation.org/UA/2013/01/ISA95SuccessFailSuccess
ISA95JOBCONTROL (10031-4)http://opcfoundation.org/UA/ISA95-JOBCONTROLSuccessSuccess Open Code Generator configuration fileSuccess
IEC61850 (10040)http://opcfoundation.org/UA/IEC61850-6SuccessFailFail
http://opcfoundation.org/UA/IEC61850-7-3SuccessFailSuccess
http://opcfoundation.org/UA/IEC61850-7-4SuccessFailSuccess
PLCopen (30000)http://PLCopen.org/OpcUa/IEC61131-3/SuccessSuccess Open Code Generator configuration fileSuccess
AutoID (30010)http://opcfoundation.org/UA/AutoID/SuccessWarning Open Code Generator configuration fileSuccess
MDIS (30020)http://opcfoundation.org/UA/MDISFailFailFail
AutomationML (30040)http://opcfoundation.org/UA/AML/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/AMLLibs/SuccessFailWarning
PackML (30050)http://opcfoundation.org/UA/PackML/SuccessSuccess Open Code Generator configuration fileWarning
TMC (30060)http://opcfoundation.org/UA/TMC/SuccessFailWarning
MTConnect (30070-1)http://opcfoundation.org/UA/MTConnect/v2/SuccessSuccess Open Code Generator configuration fileFail
FDI (30080-5 and 30080-7)http://fdi-cooperation.com/OPCUA/FDI5/SuccessSuccess Open Code Generator configuration fileSuccess
http://fdi-cooperation.com/OPCUA/FDI7/SuccessSuccess Open Code Generator configuration fileSuccess
PADIM (30081)http://opcfoundation.org/UA/Dictionary/IRDISuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PADIM/SuccessWarning Open Code Generator configuration fileSuccess
FDT (30090)http://opcfoundation.org/UA/schemas/FDT/1.0/SuccessWarning Open Code Generator configuration fileSuccess
Sercos (30100)http://sercos.org/UA/SuccessSuccess Open Code Generator configuration fileSuccess
POWERLINK (30110)http://opcfoundation.org/UA/POWERLINK/SuccessSuccess Open Code Generator configuration fileSuccess
IOLink (30120)http://opcfoundation.org/UA/IOLink/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/IOLink/IODD/SuccessSuccess Open Code Generator configuration fileSuccess
CSPPlus for Machine (30130)http://opcfoundation.org/UA/CSPPlusForMachine/WarningWarning Open Code Generator configuration fileWarning
PROFINET (30140)http://opcfoundation.org/UA/PROFINET/WarningWarning Open Code Generator configuration fileWarning
PROFIenergy (30141)http://opcfoundation.org/UA/PNEM/SuccessSuccess Open Code Generator configuration fileWarning
Commercial Kitchen Equipment (30200)http://opcfoundation.org/UA/CommercialKitchenEquipment/SuccessSuccess Open Code Generator configuration fileSuccess
DEXPI (30250)http://opcfoundation.org/UA/DEXPI/SuccessSuccess Open Code Generator configuration fileSuccess
OpenSCS (30260)http://opcfoundation.org/UA/OPENSCS-SER/SuccessSuccess Open Code Generator configuration fileSuccess
I4AAS (30270)http://opcfoundation.org/UA/I4AAS/SuccessSuccess Open Code Generator configuration fileWarning
Machinery (40001-1)http://opcfoundation.org/UA/Machinery/SuccessSuccess Open Code Generator configuration fileSuccess
Robotics (40010-1)http://opcfoundation.org/UA/Robotics/SuccessSuccess Open Code Generator configuration fileSuccess
PlasticsRubber (40077, 40082, 40083 and 40084)http://opcfoundation.org/UA/PlasticsRubber/IMM2MES/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/TCD/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/HotRunner/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/LDS/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/GeneralTypes/SuccessWarning Open Code Generator configuration fileWarning
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/GeneralTypes/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/ExtrusionLine/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Extruder/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/HaulOff/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/MeltPump/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Filter/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Die/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Pelletizer/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Cutter/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Calibrator/SuccessWarning Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Corrugator/SuccessSuccess Open Code Generator configuration fileSuccess
http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Calender/SuccessWarning Open Code Generator configuration fileSuccess
MachineVision (40100-1)http://opcfoundation.org/UA/MachineVisionSuccessFailWarning
Scales (40200)http://opcfoundation.org/UA/ScalesSuccessSuccess Open Code Generator configuration fileWarning
Pumps (40223)http://opcfoundation.org/UA/Pumps/SuccessSuccess Open Code Generator configuration fileWarning
CAS (40250-1)http://opcfoundation.org/UA/CAS/WarningWarning Open Code Generator configuration fileWarning
Glass/Flat (40301)http://opcfoundation.org/UA/Glass/Flat/SuccessWarning Open Code Generator configuration fileWarning
Woodworking (40550-1)http://opcfoundation.org/UA/Woodworking/SuccessFailSuccess
http://opcfoundation.org/UA/Eumabois/SuccessFailSuccess
Tightening (40451-1)http://opcfoundation.org/UA/IJT/WarningWarning Open Code Generator configuration fileWarning
Machine Tool (40501-1)http://opcfoundation.org/UA/MachineTool/SuccessWarning Open Code Generator configuration fileSuccess
CNC Systems (40502)http://opcfoundation.org/UA/CNCSuccessSuccess Open Code Generator configuration fileWarning
Weihenstephan (40600)http://opcfoundation.org/UA/Weihenstephan/SuccessWarning Open Code Generator configuration fileSuccess


The detailed test results for the tested NodeSet files are presented below.

Global Discovery Server

SpecificationOPC 10000-12 – Part 12: Discovery and Global Services
NamespaceUrihttp://opcfoundation.org/UA/GDS/
NodeSet fileOpc.Ua.Gds.NodeSet2.xml
Model version1.04.4
Publication date8.1.2020
Latest change18.11.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Safety

SpecificationOPC 10000-15 – Part 15: Safety
NamespaceUrihttp://opcfoundation.org/UA/Safety
NodeSet fileOpc.Ua.Safety.NodeSet2.xml
Model version1.0
Publication date31.10.2019
Latest change17.7.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Devices

SpecificationOPC 10000-100 – Part 100: Device Information Model
NamespaceUrihttp://opcfoundation.org/UA/DI/
NodeSet fileOpc.Ua.Di.NodeSet2.xml
Model version1.03.0
Publication date9.3.2021
Latest change11.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Industrial Automation

SpecificationOPC 10000-200 – Part 200: Industrial Automation
NamespaceUrihttp://opcfoundation.org/UA/IA/
NodeSet fileOpc.Ua.IA.NodeSet2.xml
Model version1.01.0
Publication date31.7.2021
Latest change5.8.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Analyzer Devices

SpecificationOPC 10020 – UA for Analyzer Devices
NamespaceUrihttp://opcfoundation.org/UA/ADI/
NodeSet fileOpc.Ua.Adi.NodeSet2.xml
Model version1.01
Publication date31.7.2013
Latest change28.8.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

ISA-95

SpecificationOPC 10030 – UA for ISA-S95
NamespaceUrihttp://www.OPCFoundation.org/UA/2013/01/ISA95
NodeSet fileOpc.ISA95.NodeSet2.xml
Model version1.00
Publication date6.11.2013
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Fail
Simulation ServerSuccess Success

Additional information
GeoSpatialLocationType is a subtype of PropertyType, which causes errors in the Java code generated by the Code Generator as the SDK doesn’t support adding subtypes to PropertyType.

ISA-95 Job Control

SpecificationOPC 10031-4 – UA Companion Specification for ISA-95 Job Control
NamespaceUrihttp://opcfoundation.org/UA/ISA95-JOBCONTROL
NodeSet fileopc.ua.isa95-jobcontrol.nodeset2.xml
Model version1.0.0
Publication date31.3.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

IEC61850

SpecificationOPC 10040 – IEC61850-6 Companion Specification
NamespaceUrihttp://opcfoundation.org/UA/IEC61850-6
NodeSet fileOpc.Ua.IEC61850-6.NodeSet2.xml
Model version2.0
Publication date5.2.2018
Latest change28.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Untested
Simulation ServerFail Fail

Additional information
This NodeSet file extends the information model defined in http://opcfoundation.org/UA/IEC61850-7-3. As the NodeSet file containing that information model is incompatible with the Code Generator, this NodeSet file could not be tested with the Code Generator.
This NodeSet file contains View Nodes, which are not supported by Simulation Server.

SpecificationOPC 10040 – IEC61850-7-3 Companion Specification
NamespaceUrihttp://opcfoundation.org/UA/IEC61850-7-3
NodeSet fileOpc.Ua.IEC61850-7-3.NodeSet2.xml
Model version2.0
Publication date5.2.2018
Latest change28.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Fail
Simulation ServerSuccess Success

Additional information
The NodeSet file contains enumeration values that are not supported by the Code Generator, including “1-of-n-control”, “°C” and empty value.

SpecificationOPC 10040 – IEC61850-7-4 Companion Specification
NamespaceUrihttp://opcfoundation.org/UA/IEC61850-7-4
NodeSet fileOpc.Ua.IEC61850-7-4.NodeSet2.xml
Model version2.0
Publication date5.2.2018
Latest change28.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Untested
Simulation ServerSuccess Success

Additional information
This NodeSet file extends the information model defined in http://opcfoundation.org/UA/IEC61850-7-3. As the NodeSet file containing that information model is incompatible with the Code Generator, this NodeSet file could not be tested with the Code Generator.

PLCopen

SpecificationOPC 30000 – UA for Programmable Logic Controllers based on IEC 61131-3
NamespaceUrihttp://PLCopen.org/OpcUa/IEC61131-3/
NodeSet fileOpc.Ua.PLCopen.NodeSet2_V1.02.xml
Model version1.02
Publication date25.11.2020
Latest change25.11.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

AutoID

SpecificationOPC 30010 – UA for AutoId Devices
NamespaceUrihttp://opcfoundation.org/UA/AutoID/
NodeSet fileOpc.Ua.AutoID.NodeSet2.xml
Model version1.01
Publication date18.6.2020
Latest change27.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if the NodeSet file is fixed manually Open Code Generator configuration file
Simulation ServerSuccess Success

Additional information
OpticalVerifierDeviceType has Scan Method with OutputArguments that have wrong WGS84Coordinate DataType instead of correct OpticalVerifierScanResult DataType, which causes the Code Generator to generate code with invalid casts. This can be fixed before generating code by opening Opc.Ua.AutoID.NodeSet2.xml and searching for UaVariable with NodeId “ns=1;i=6076” and changing the DataType of Results from “ns=1;i=3027” to “ns=1;i=3026”. For the current version of the NodeSet file, the NodeId that needs to be changed is on line 4252.

MDIS

SpecificationOPC 30020 – MDIS Companion Specification
NamespaceUrihttp://opcfoundation.org/UA/MDIS
NodeSet fileOpc.MDIS.NodeSet2.xml
Model version1.20
Publication date3.10.2018
Latest change28.6.2020
SDK: loadModelFail Fail
SDK: Code GeneratorFail Fail
Simulation ServerFail Fail

Additional information
This information model uses HasProperty References to reference Nodes that are not of PropertyType, which is against the specification.

AutomationML

SpecificationOPC 30040 – UA for AutomationML
NamespaceUrihttp://opcfoundation.org/UA/AML/
NodeSet fileOpc.Ua.AMLBaseTypes.NodeSet2.xml
Model version1.00
Publication date22.2.2016
Latest change28.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 30040 – UA for AutomationML
NamespaceUrihttp://opcfoundation.org/UA/AMLLibs/
NodeSet fileOpc.Ua.AMLLibraries.NodeSet2.xml
Model versionVersion number is missing in the NodeSet file
Publication datePublication date is missing in the NodeSet file
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Fail
Simulation ServerWarning Success with warnings

Additional information
The values of some Nodes could not be loaded when loading the information model from the NodeSet file with Simulation Server.
The NodeSet file contains two ObjectType Nodes with BrowseName Communication, which would result into two Java classes with the same name in the same package, which causes the Code Generator to abort processing the NodeSet file.

PackML

SpecificationOPC 30050 – UA for PackML (OMAC)
NamespaceUrihttp://opcfoundation.org/UA/PackML/
NodeSet fileOpc.Ua.PackML.NodeSet2.xml
Model version1.01
Publication date8.10.2020
Latest change9.12.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Tobacco Machines

SpecificationOPC 30060 – UA for Tobacco Machines
NamespaceUrihttp://opcfoundation.org/UA/TMC/
NodeSet fileOpc.Ua.TMC.NodeSet2.xml
Model version1.0
Publication date11.10.2017
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Fail
Simulation ServerWarning Success with warnings

Additional information
The NodeSet file contains DatasetChangeLogType and DataSetChangeLogType ObjectTypes, which the Code Generator is unable to generate into separate files on operating systems where filenames are not case sensitive and the generated code becomes unusable.
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

MTConnect

SpecificationOPC 30070-1 – UA for MTConnect, Part 1: Device Model
NamespaceUrihttp://opcfoundation.org/UA/MTConnect/v2/
NodeSet fileOpc.Ua.MTConnect.NodeSet2.xml
Model version2.00.01
Publication date5.6.2020
Latest change28.8.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerFail Fail

Additional information
Simulation Server fails to validate the NodeSet file and aborts loading it.

FDI

SpecificationOPC 30080-5 – UA for Field Device Integration (FDI) – Part 5: Host System Information Model
NamespaceUrihttp://fdi-cooperation.com/OPCUA/FDI5/
NodeSet fileOpc.Ua.Fdi5.NodeSet2.xml
Model version1.1
Publication date14.7.2017
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 30080-7 – UA for Field Device Integration (FDI) – Part 7: Communication Devices
NamespaceUrihttp://fdi-cooperation.com/OPCUA/FDI7/
NodeSet fileOpc.Ua.Fdi7.NodeSet2.xml
Model versionVersion number is missing in the NodeSet file
Publication date14.7.2017
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Process Automation Devices

SpecificationOPC 30081 – Process Automation Devices
NamespaceUrihttp://opcfoundation.org/UA/Dictionary/IRDI
NodeSet fileOpc.Ua.IRDI.NodeSet2.xml
Model version1.00
Publication date4.2.2020
Latest change15.9.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 30081 – Process Automation Devices
NamespaceUrihttp://opcfoundation.org/UA/PADIM/
NodeSet fileOpc.Ua.PADIM.NodeSet2.xml
Model version1.0.2
Publication date21.7.2021
Latest change15.9.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success

FDT

SpecificationOPC 30090 – OPC UA for Field Device Tool (FDT)
NamespaceUrihttp://opcfoundation.org/UA/FDT/
NodeSet fileOpc.Ua.FDT.NodeSet.xml
Model version1.01.00
Publication date6.8.2021
Latest change6.9.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success

Sercos Devices

SpecificationOPC 30100 – UA for SERCOS Devices
NamespaceUrihttp://sercos.org/UA/
NodeSet fileSercos.NodeSet2.xml
Model version1.00
Publication date13.3.2017
Latest change27.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 30110 – UA for POWERLINK
NamespaceUrihttp://opcfoundation.org/UA/POWERLINK/
NodeSet fileOpc.Ua.POWERLINK.NodeSet2.xml
Model version1.0.0
Publication date10.10.2017
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 30120 – OPC UA for IO-Link Devices and IO-Link Masters
NamespaceUrihttp://opcfoundation.org/UA/IOLink/
NodeSet fileOpc.Ua.IOLink.NodeSet2.xml
Model version1.0
Publication date1.12.2018
Latest change28.8.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if the NodeSet file is fixed manually Open Code Generator configuration file
Simulation ServerSuccess Success

Additional information
Method Nodes “ns=1;i=7029” and “ns=1;i=7026” have the same BrowsePath excluding angle brackets causing the Code Generator to generate unusable code. This can be fixed before generating code by opening the NodeSet file and changing the BrowseName of either of these two Method Nodes such that they have different BrowsePaths. For the current version of the Nodeset file, the BrowseNames are on lines 4683 and 4692. For example, changing the latter BrowseName from “2:MethodIdentifier” to “2:Method” will fix the issue.

SpecificationOPC 30120 – OPC UA for IO-Link Devices and IO-Link Masters
NamespaceUrihttp://opcfoundation.org/UA/IOLink/IODD/
NodeSet fileOpc.Ua.IOLinkIODD.NodeSet2.xml
Model version1.0
Publication date1.12.2018
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

CSPPlus for Machine

SpecificationOPC 30130 – UA for Control & Communication System Profile (for Machine) CSP+ (CCLink)
NamespaceUrihttp://opcfoundation.org/UA/CSPPlusForMachine/
NodeSet fileOpc.Ua.CSPPlusForMachine.NodeSet2.xml
Model version1.00
Publication date28.11.2017
Latest change27.6.2020
SDK: loadModelWarning Success if the NodeSet file is fixed manually
SDK: Code GeneratorWarning Success if the NodeSet file is fixed manually Open Code Generator configuration file
Simulation ServerWarning Success if the NodeSet file is fixed manually

Additional information
The NodeSet file is missing alias declarations for IdType and NumericRange. This can be fixed by adding the following Alias elements to the Aliases element beginning at line 42 of the current version of the file:

<Alias Alias="IdType">i=256</Alias>
<Alias Alias="NumericRange">i=291</Alias>

PROFINET

SpecificationOPC 30140 – OPC UA for PROFINET
NamespaceUrihttp://opcfoundation.org/UA/PROFINET/
NodeSet fileOpc.Ua.Pn.NodeSet2.xml
Model version1.0.1
Publication date13.4.2021
Latest change16.4.2021
SDK: loadModelWarning Success with warnings
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
The values of some Nodes could not be loaded when loading the model from the NodeSet file with the SDK and Simulation Server due to the use of & in ua:Text elements.

PROFIenergy

SpecificationOPC 30141 – UA CS for PROFIenergy
NamespaceUrihttp://opcfoundation.org/UA/PNEM/
NodeSet fileOpc.Ua.PnEm.NodeSet2.xml
Model version1.0.0
Publication date11.3.2021
Latest change20.3.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Commercial Kitchen Equipment

SpecificationOPC 30200 – OPC UA for Commercial Kitchen Equipment
NamespaceUrihttp://opcfoundation.org/UA/CommercialKitchenEquipment/
NodeSet fileOpc.Ua.CommercialKitchenEquipment.NodeSet2.xml
Model version1.0
Publication date12.7.2019
Latest change28.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

DEXPI

SpecificationOPC 30250 – UA Companion Specification for DEXPI
NamespaceUrihttp://opcfoundation.org/UA/DEXPI/
NodeSet fileOpc.Ua.DEXPI.NodeSet2.xml
Model version1.0.0
Publication date10.9.2021
Latest change15.9.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

OpenSCS

SpecificationOPC 30260 – UA CS for OpenSCS Serialization Model
NamespaceUrihttp://opcfoundation.org/UA/OPENSCS-SER/
NodeSet fileOpc.Ua.OPENSCS.NodeSet2.xml
Model version1.00
Publication date4.2.2019
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Industrie 4.0 Asset Administration Shell

SpecificationOPC 30270 – UA for Industrie 4.0 Asset Administration Shell
NamespaceUrihttp://opcfoundation.org/UA/I4AAS/
NodeSet fileOpc.Ua.I4AAS.NodeSet2.xml
Model version5.0.0
Publication date4.6.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Machinery

SpecificationOPC 40001-1 – UA CS for Machinery Part 1 – Basic Building Blocks
NamespaceUrihttp://opcfoundation.org/UA/Machinery/
NodeSet fileOpc.Ua.Machinery.NodeSet2.xml
Model version1.01.0
Publication date25.2.2021
Latest change17.2.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Additional information
The publication date marked in the NodeSet XML file is 25.2.2021, which is after the latest change made to the file in 17.2.2021.

Robotics

SpecificationOPC 40010-1 – UA for Robotics, Part 1: Vertical Integration
NamespaceUrihttp://opcfoundation.org/UA/Robotics/
NodeSet fileOpc.Ua.Robotics.NodeSet2.xml
Model version1.01.2
Publication date20.5.2021
Latest change20.5.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success

Plastics and Rubber Machinery

SpecificationOPC 40077 – UA CS for PlasticsRubber – Injection Moudling Machines to MES
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/IMM2MES/
NodeSet fileOpc.Ua.PlasticsRubber.IMM2MES.NodeSet2.xml
Model version1.01
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40082-1 – UA CS for PlasticsRubber – TCD
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/TCD/
NodeSet fileOpc.Ua.PlasticsRubber.TCD.NodeSet2.xml
Model version1.01
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40082-2 – UA CS for PlasticsRubber – HotRunner
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/HotRunner/
NodeSet fileOpc.Ua.PlasticsRubber.HotRunner.NodeSet2.xml
Model version1.00
Publication date10.5.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40082-3 – UA CS for PlasticsRubber – LDS
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/LDS/
NodeSet fileOpc.Ua.PlasticsRubber.LDS.NodeSet2.xml
Model version1.00.1
Publication date21.6.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40083 – UA CS for PlasticsRubber – General Types
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/GeneralTypes/
NodeSet fileOpc.Ua.PlasticsRubber.GeneralTypes.NodeSet2.xml
Model version1.03
Publication date10.5.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

SpecificationOPC 40084-1 – UA CS for PlasticsRubber – Extrusion – General Types
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/GeneralTypes/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.GeneralTypes.NodeSet2.xml
Model version1.01
Publication date1.4.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-2 – UA CS for PlasticsRubber – Extrusion – Extrusion Line
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/ExtrusionLine/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.ExtrusionLine.NodeSet2.xml
Model version1.00.01
Publication date9.11.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-3 – UA CS for PlasticsRubber – Extrusion – Extruder
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Extruder/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Extruder.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-4 – UA CS for PlasticsRubber – Extrusion – Haul-off
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/HaulOff/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.HaulOff.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-5 – UA CS for PlasticsRubber – Extrusion – Melt Pump
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/MeltPump/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.MeltPump.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-6 – UA CS for PlasticsRubber – Extrusion – Filter
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Filter/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Filter.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-7 – UA CS for PlasticsRubber – Extrusion – Die
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Die/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Die.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-8 – UA CS for PlasticsRubber – Extrusion – Pelletizer
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Pelletizer/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Pelletizer.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-9 – UA CS for PlasticsRubber – Extrusion – Cutter
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Cutter/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Cutter.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-10 – UA CS for PlasticsRubber – Extrusion – Calibrator
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Calibrator/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Calibrator.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-11 – UA CS for PlasticsRubber – Extrusion – Corrugator
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Corrugator/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Corrugator.NodeSet2.xml
Model version1.00
Publication date1.6.2020
Latest change8.4.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerSuccess Success
SpecificationOPC 40084-12 – UA CS for PlasticsRubber – Extrusion – Calender
NamespaceUrihttp://opcfoundation.org/UA/PlasticsRubber/Extrusion/Calender/
NodeSet fileOpc.Ua.PlasticsRubber.Extrusion.Calender.NodeSet2.xml
Model version1.00
Publication date1.4.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success

Machine Vision

SpecificationOPC 40100-1 – UA Companion Specification Part 1 for Machine Vision
NamespaceUrihttp://opcfoundation.org/UA/MachineVision
NodeSet fileOpc.Ua.MachineVision.NodeSet2.xml
Model version1.0.0
Publication date11.7.2019
Latest change28.8.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Fail
Simulation ServerWarning Success with warnings

Additional information
The Code Generator gets stuck in an endless loop when attempting to generate Java code from the NodeSet file.
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Weighing Technology

SpecificationOPC 40200 – UA CS for Weighing Technology
NamespaceUrihttp://opcfoundation.org/UA/Scales
NodeSet fileOpc.Ua.Scales.NodeSet2.xml
Model version1.0
Publication date1.6.2020
Latest change27.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Pumps

SpecificationOPC 40223 – UA Companion Specification for Pumps and Vacuum Pumps
NamespaceUrihttp://opcfoundation.org/UA/Pumps/
NodeSet fileOpc.Ua.Pumps.NodeSet2.xml
Model version1.0.0
Publication date19.4.2021
Latest change2.7.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Compressed Air Systems

SpecificationOPC 40250-1 – UA CS for CompressedAirSystems Part 1 – Main Control System
NamespaceUrihttp://opcfoundation.org/UA/CAS/
NodeSet fileOpc.Ua.CAS.NodeSet2.xml
Model version1.00.1
Publication date13.7.2021
Latest change17.7.2021
SDK: loadModelWarning Success with warnings
SDK: Code GeneratorWarning Success if the NodeSet file is fixed manually Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Variable Nodes “ns=1;i=6295” and “ns=1;i=7882” have same BrowsePath which will cause the Code Generator to generate unusable code. This can be fixed before generating code by opening Opc.Ua.CAS.NodeSet2.xml and changing the BrowseName of either of these two Variable Nodes such that they have different BrowsePaths. For the current version of the Nodeset file, the BrowseNames are on lines 4421 and 9054. For example, changing the latter BrowseName from “3:UIElement” to “3:UIElement2” will fix the issue.
Loading the NodeSet file with the SDK and Simulation Server generates warnings.

Flat Glass Processing

SpecificationOPC 40301 – UA for Flat Glass Processing
NamespaceUrihttp://opcfoundation.org/UA/Glass/Flat/
NodeSet fileOpc.Ua.Glass.NodeSet2.xml
Model version1.0.0
Publication date1.1.2022
Latest change19.10.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.
The publication date marked in the NodeSet XML file is 1.1.2022.

Woodworking

SpecificationOPC 40550-1 – UA for Woodworking Part 1 – Vertical Interface
NamespaceUrihttp://opcfoundation.org/UA/Woodworking/
NodeSet fileOpc.Ua.Woodworking.NodeSet2.xml
Model version1.00
Publication date3.10.2021
Latest change19.10.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Fail
Simulation ServerSuccess Success

Additional information
WwMessageArgumentValueDataType has a Field Named Boolean, which isn’t supported by the CodeGenerator as that would have the same name Boolean java class.

SpecificationOPC 40550-1 – UA for Woodworking Part 1 – Vertical Interface
NamespaceUrihttp://opcfoundation.org/UA/Eumabois/
NodeSet fileOpc.Ua.Eumabois.Nodeset2.xml
Model version0.14
Publication date27.1.2021
Latest change19.10.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorFail Untested
Simulation ServerSuccess Success

Additional information
This NodeSet file extends the information model defined in http://opcfoundation.org/UA/Woodworking/. As the NodeSet file containing that information model is incompatible with the Code Generator, this NodeSet file could not be tested.

Tightening

SpecificationOPC 40451-1 – UA CS for for Tightening Systems
NamespaceUrihttp://opcfoundation.org/UA/IJT/
NodeSet fileOpc.Ua.Ijt.Tightening.NodeSet2.xml
Model version1.00.0
Publication date29.9.2021
Latest change13.10.2021
SDK: loadModelWarning Success with warnings
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with the SDK and Simulation Server generates warnings.

Machine Tool

SpecificationOPC 40501-1 – UA CS for Machine Tools Part 1 – Monitoring and Job
NamespaceUrihttp://opcfoundation.org/UA/MachineTool/
NodeSet fileOpc.Ua.MachineTool.NodeSet2.xml
Model version1.00.0
Publication date25.9.2020
Latest change26.9.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success

CNC Systems

SpecificationOPC 40502 – UA for Computerized Numerical Control (CNC) Systems
NamespaceUrihttp://opcfoundation.org/UA/CNC
NodeSet fileOpc.Ua.CNC.NodeSet.xml
Model version1.0.0
Publication date19.6.2017
Latest change17.6.2020
SDK: loadModelSuccess Success
SDK: Code GeneratorSuccess Success Open Code Generator configuration file
Simulation ServerWarning Success with warnings

Additional information
Loading the NodeSet file with Simulation Server generates Bad_DecodingError warnings.

Weihenstephan Standards

SpecificationOPC 40600 – UA CS for Weihenstephan Standards
NamespaceUrihttp://opcfoundation.org/UA/Weihenstephan/
NodeSet fileOpc.Ua.Weihenstephan.NodeSet2.xml
Model version1.00.0
Publication date12.7.2021
Latest change7.8.2021
SDK: loadModelSuccess Success
SDK: Code GeneratorWarning Success if some Nodes are excluded Open Code Generator configuration file
Simulation ServerSuccess Success

Author Info

A generic vector graphic of an author avatar

Matti Siponen

Software Engineer

Email: matti.siponen@prosysopc.com

Related Posts

Interested in this topic?

Get updated about new posts through our newsletter!
Scroll to Top