UaModeler
1.6.5.472
|
Each project has to contain at least one custom model. It is added or created when running the “New Project…” wizard. More models can be added later (see Projects).
The Model Settings dialog allows changing the names specified in the New Project wizard or when adding a new model via the context menu of the Models Folder. Just like the Add New Model dialog, this dialog is divided into two parts. Model specific settings and template specific settings. See Add Model for a description of the settings.
If the file name is changed, a copy of the model will be saved and used from then on when confirming with “OK”. If the namespace URI is changed, the model will be saved.
For various reasons, there may be “gaps” between the numeric NodeIds used in a model. First of all, UaModeler automatically assigns a not yet used numeric NodeId to a new node if none is specified by the user (see Set Default Starting NodeIds). A defined NodeId range is used for each node class. Thus, there are gaps between identifiers of different node classes. When a node is deleted, the identifier is not reused for another node, leaving a gap.
These gaps can be eliminated using Compress Numeric NodeIds… from the context menu of a model. The dialog contains a box for entering the starting identifier. When confirming with OK, all nodes having identifiers greater or equal than the specified number will receive new identifiers.
The result depends on the settings you choose. The simplest case is using “1” as starting identifier. The resulting identifiers will be consecutively numbered, starting with 1.
If you choose a higher number as starting identifier, and leave the box “Start at 1” unchecked, all identifiers lower than the specified one are not changed. The other ones will be consecutively numbered, starting with the specified number. If you do check “Start at 1”, UaModeler will reassign identifiers starting at 1, leaving identifiers lower than the specified one untouched but fill gaps in between. The following table shows examples for the different cases.
Node Name | Original NodeId | Identifier: 1 Start at 1 | Identifier: 3 Don’t Start at 1 | Identifier: 7 Start at 1 | Identifier: 7 Don’t start at 1 |
---|---|---|---|---|---|
Node1 | 3 | 1 | 3 | 3 | 3 |
Node2 | 6 | 2 | 4 | 6 | 6 |
Node3 | 7 | 3 | 5 | 1 | 7 |
Node4 | 9 | 4 | 6 | 2 | 8 |
Node5 | 101 | 5 | 7 | 4 | 9 |
Node6 | 102 | 6 | 8 | 5 | 10 |
Node7 | 103 | 7 | 9 | 7 | 11 |
Node8 | 104 | 8 | 10 | 8 | 12 |
Node9 | 105 | 9 | 11 | 9 | 13 |
This dialog allows you to set information that is used when instantiating the NamespaceMetadataType defined in Part 5 of the OPC UA Specification.
The field Browse Name is filled in beforehand with the namespace URI. When changing this information, keep in mind that, according to the OPC UA Specification, this name shall be derived from the represented namespace.
The namespace Version provides version information for the namespace. It is intended for display purposes and shall not be used to programmatically identify the latest version.
The namespace Publication Date provides the publication date of the namespace version. It can be used by clients to determine the latest version if different versions are provided by different servers. Uncheck the box “Use Current Time” to enter the date manually.
Static Nodes are identical for all attributes in all servers, including the value attribute. For type definition nodes, also the instance declarations shall be identical. That means that for static nodes the semantic is always the same. Namespaces with static nodes are for example namespaces defined by standard bodies like the OPC Foundation. This is important information for aggregating servers. If the namespace is dynamic and used in several servers, the aggregating server needs to distinguish the namespace for each aggregated server. The static nodes of a namespace only need to be handled once, even if it they are used by several aggregated servers.
The check boxes at Static NodeId Types can be used to specify which nodes in the namespace are static. All nodes having an identifier type that is checked shall be static nodes.
At Static Numeric NodeId Range, a list of numeric ranges used for numeric NodeIds of static nodes can be specified. Numeric ranges have to be specified in the format <LowerBound>:<UpperBound>. When entering more than one, numeric ranges have to be separated with a semicolon. A numeric range may consist of a single number. The screenshot below shows an example. If “Numeric” is checked at Static Node Id Types, the values entered here are ignored.
At Static String Node Id Pattern, a regular expression (as defined for the Like Operator defined in Part 4 of the OPC Specification) to filter for string NodeIds of static nodes can be specified. If “String” is checked at Static Node Id Types, the values entered here are ignored.
The information entered at Namespace Version and Namespace Publication Date are also used for the Models element in the UANodeSet XML file defined in Part 6 of the OPC UA Specification.
This dialog allows you to add or remove DataType dictionary nodes and JSON encoding nodes. Please see Add JSON encoding nodes for new nodes and DataType dictionary nodes - General description for more detail.