NodeOPCUA API Documentation
    Preparing search index...

    Interface InstantiateVariableOptions

    interface InstantiateVariableOptions {
        arrayDimensions?: number[] | null;
        browseName: QualifiedNameLike;
        componentOf?: NodeIdLike | BaseNode<BaseNodeEvents>;
        copyAlsoAllOptionals?: boolean;
        copyAlsoModellingRules?: boolean;
        dataType?: NodeIdLike;
        description?: LocalizedTextLike;
        displayName?: LocalizedTextLike | null;
        eventSourceOf?: NodeIdLike | BaseNode<BaseNodeEvents>;
        extensionObject?: ExtensionObject | ExtensionObject[];
        minimumSamplingInterval?: number;
        modellingRule?: ModellingRuleType;
        namespace?: INamespace;
        nodeId?: NodeIdLike;
        notifierOf?: NodeIdLike | BaseNode<BaseNodeEvents>;
        optionals?: string[];
        organizedBy?: NodeIdLike | BaseNode<BaseNodeEvents>;
        parentNodeId?: NodeIdLike | BaseNode<BaseNodeEvents>;
        propertyOf?:
            | NodeIdLike
            | UAObjectType
            | UAObject<UAObjectEvents>
            | UAMethod<UAMethodEvents>
            | UAVariable<UAVariableEvents>
            | UAVariableType;
        references?: AddReferenceOpts[];
        value?: BindVariableOptions;
        valueRank?: number;
    }

    Hierarchy

    • InstantiateOptions
      • InstantiateVariableOptions
    Index
    arrayDimensions?: number[] | null
    browseName: QualifiedNameLike

    the browse name of the new node to instantiate

    the parent Object holding this object note

    • when componentOf is specified, organizedBy nor addInOf must not be defined
    copyAlsoAllOptionals?: boolean
    copyAlsoModellingRules?: boolean

    shall we also replicate the HasModelling rule reference ?

    dataType?: NodeIdLike
    description?: LocalizedTextLike

    an optional description

    if not provided the default description of the corresponding Type will be used.

    displayName?: LocalizedTextLike | null

    an optional displayName

    if not provided the default description of the corresponding browseName will be used.

    extensionObject?: ExtensionObject | ExtensionObject[]
    minimumSamplingInterval?: number
    modellingRule?: ModellingRuleType

    modellingRule

    namespace?: INamespace

    the namespace in which the node shall be instantiated (if not specified, the default instance namespace (own namespace) of the addressSpace will be used)

    nodeId?: NodeIdLike

    a (optional) predefined nodeId to assigned to the instance If not specified, a default nodeid will be created.

    optionals?: string[]

    a list of components and properties names that have a HasModellingRule of Optional in the type definition that we want to instantiate. Note:

    • the name must follow the OPCUA naming convention and match the browse name of the property (same case)
    • the name can be composed to represent a path to a property or component
      optionals: ["MyOptionalVariable", "MyOptionalMethod", "MyOptionalComponent.MyProperty"];
    

    @default: []

    the parent Folder holding this object

    note

    • when organizedBy is specified, componentOf nor addInOf must not be defined

    the declared parent, as ParentNodeId in a NodeSet: the instance's parent and what its symbolic name is built from, even when the only reference between the two is Organizes (a folder a type organizes is <Type>_<Folder> in the ModelCompiler's NodeIds.csv). See AddBaseNodeOptions.parentNodeId.

    propertyOf?:
        | NodeIdLike
        | UAObjectType
        | UAObject<UAObjectEvents>
        | UAMethod<UAMethodEvents>
        | UAVariable<UAVariableEvents>
        | UAVariableType
    references?: AddReferenceOpts[]

    additional references to create on the new node at construction time.

    Use it to link the instance to a parent through an aggregate reference that has no dedicated option (HasOrderedComponent, HasPhysicalComponent, HasContainedComponent, HasAttachedComponent ...):

      references: [{ referenceType: "HasOrderedComponent", isForward: false, nodeId: listNode }]
    

    Because the reference exists when the node is created, the NodeIdManager derives the symbolic name from that parent (List_First), exactly as it does for componentOf; adding the reference afterwards would leave the node named without its parent. Such a parent also counts when deciding whether modelling rules are copied (an instance declared inside a type).

    valueRank?: number

    This attribute indicates whether the Value attribute of the Variableis an array and how many dimensions the array has. It may have the following values:

    • n > 1: the Value is an array with the specified number of dimensions.
    • OneDimension (1): The value is an array with one dimension.
    • OneOrMoreDimensions (0): The value is an array with one or more dimensions.
    • Scalar (−1): The value is not an array.
    • Any (−2): The value can be a scalar or an array with any number of dimensions.
    • ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.
    • All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.

    Note: the valueRank of the instantiated variable must be compatible with the valueRank of the VariableType.