UaModeler  1.4.2.342
 All Pages
Template Set
Note
The following text describes the template sets which are designed to work with the currently supported versions of our SDKs. Please note that a template set should only be used with SDKs for which no newer template set exists. For instance, the ANSI C Template Set 1.4 is known to work with the ANSI C SDK 1.4.2, but should not be used with the ANSI C SDK 1.5.1 (because there’s a newer Template Set 1.5.1). Do not use a newer template for an older SDK, e.g. the ANSI C Template Set 1.5.1 should not be used with ANSI C SDK 1.4.2.

Template Set Cpp 1.4

With the Template Set for the C++ SDK 1.4, a whole NodeManager is created. See the Unified Automation C++ Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation C++ Server SDK 1.4.

The NodeManager includes

  • a base class derived from NodeManagerBase, that creates the type nodes in the address space as well as the instances;
  • a NodeManager class implementation derived from the base class, that can be used for custom implementations;
  • a header file with definitions for the type nodes ([NamespacePrefix]_identifiers.h);
  • a header file with definitions for the enumerations and structured data types ([NamespacePrefix]_datatypes.h);
  • wrapper classes for each structured data type;
  • a base class for each ObjectType containing
    • static methods for creating the type nodes,
    • a call method, which selects the UA Method for method call,
    • getters and setters for variables,
    • getters for Objects,
    • methods for accessing child nodes,
    • and member variables;
    (If the ObjectType is a subtype of BaseEventType, an event data class is created. See Lesson 5: Adding support for Events for a detailed description. If the ObjectType is a subtype of ConditionType, an event data class is created and the base class additionally contains methods for handling the event. See Lesson 6: Adding support for Alarms & Conditions for a detailed description.)
  • an Implemention class derived from its base class for each ObjectType containing the method bodies for implementing the UaMethods;
  • a class for each VariableType containing
    • static methods for creating the type nodes,
    • getters and setters for variables,
    • methods for accessing child nodes,
    • and member variables;
  • an InstanceFactory that can be used for mapping nodes imported by the XML parser to the generated ObjectType and VariableType classes.

Template Set Cpp 1.5

With the Template Set for the C++ SDK 1.5, a whole NodeManager is created. See the Unified Automation C++ Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation C++ Server SDK 1.5.

The NodeManager includes

  • a base class derived from NodeManagerBase, that creates the type nodes in the address space as well as the instances;
  • a NodeManager class implementation derived from the base class, that can be used for custom implementations;
  • a header file with definitions for the type nodes ([NamespacePrefix]_identifiers.h);
  • a header file with definitions for the enumerations and structured data types ([NamespacePrefix]_datatypes.h);
  • wrapper classes for each structured data type including
    • normal structured DataTypes (without optional fields)
    • structured DataTypes with optional fields
    • Unions
    • wrapper classes for OptionSet DataTypes
  • a base class for each ObjectType containing
    • static methods for creating the type nodes,
    • a call method, which selects the UA Method for method call,
    • getters and setters for variables,
    • getters for Objects,
    • methods for accessing child nodes,
    • and member variables;
    (If the ObjectType is a subtype of BaseEventType, an event data class is created. See Lesson 5: Adding support for Events for a detailed description. If the ObjectType is a subtype of ConditionType, an event data class is created and the base class additionally contains methods for handling the event. See Lesson 6: Adding support for Alarms & Conditions for a detailed description.)
  • an Implemention class derived from its base class for each ObjectType containing the method bodies for implementing the UaMethods;
  • a class for each VariableType containing
    • static methods for creating the type nodes,
    • getters and setters for variables,
    • methods for accessing child nodes,
    • and member variables;
  • an InstanceFactory that can be used for mapping nodes imported by the XML parser to the generated ObjectType and VariableType classes.

Template Set ANSI C 1.4

With the Template Set for the ANSI C SDK a whole data provider is created. See the Unified Automation ANSI C Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation ANSI C based OPC UA Server SDK 1.4.0 and newer.

The provider contains files for

  • initializing and cleaning the provider,
  • creating the address space,
  • the browse service,
  • the read service,
  • the write service,
  • the subscribe service,
  • method handling functions,
  • defining the type identifiers,
  • helper functions,
  • registering the event types and access to event fields,
  • structured data support: type tables to register structures to the stack,
  • string tables,
  • and for defining the browse names.

Template Set ANSI C 1.5.1

With the Template Set for the ANSI C SDK a whole data provider is created. See the Unified Automation ANSI C Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation ANSI C based OPC UA Server SDK 1.5.1 and newer.

The provider contains files for

  • initializing and cleaning the provider,
  • creating the address space,
  • the browse service,
  • the read service,
  • the write service,
  • the subscribe service,
  • method handling functions,
  • defining the type identifiers,
  • helper functions,
  • registering the event types and access to event fields,
  • structured data support: type tables to register structures to the stack, including
    • normal structured DataTypes (without optional fields)
    • structured DataTypes with optional fields
    • Unions
    • helper methods and enumerations for OptionSet DataTypes
  • string tables,
  • and for defining the browse names.

Template Set .NET 2.3

With the Template Set for the .NET Client SDK some information is generated that a client may need to know:

  • Identifiers and BrowseNames of the Types and InstanceDeclarations;
  • Structured data support: Classes for the DataTypes including methods for encoding and decoding.

The Template Set for the .NET Server SDK creates

  • identifiers for static nodes,
  • classes for structured data types including encode and decode methods,
  • enumerations for enumerated data types,
  • a default NodeManager class,
  • classes to be used for LinkModelToNode,
  • methods for method dispatching and method implementation,
  • event handling utilities,
  • a default OPC UA server application project.

Template Set .NET 2.4

With the Template Set for the .NET Client SDK some information is generated that a client may need to know:

  • Identifiers and BrowseNames of the Types and InstanceDeclarations;
  • Structured data support: Classes for the DataTypes including methods for encoding and decoding.

The Template Set for the .NET Server SDK creates

  • identifiers for static nodes,
  • classes for structured DataTypes, including encode and decode methods:
    • normal structured DataTypes (without optional fields)
    • structured DataTypes with optional fields
    • Unions
    • helper classes and enumerations with the [flags] attribute for OptionSet DataTypes
  • enumerations for enumerated DataTypes,
  • a default NodeManager class,
  • classes to be used for LinkModelToNode,
  • methods for method dispatching and method implementation,
  • event handling utilities,
  • a default OPC UA server application project.

Modeling Only

This template set is included for users who only want to create a model but not generate code for a specific SDK. All other features of UaModeler are available (e.g. XML export).