METHOD FOR PROVIDING AND VALIDATING ALTERNATIVE OBJECT IDENTIFIERS AND FOR DETERMINING REFERENCES OF ALTERNATIVE OBJECT IDENTIFIERS WITHIN AN OPC-UA-BASED COMMUNICATION ENVIRONMENT
20220345444 · 2022-10-27
Inventors
Cpc classification
H04L61/457
ELECTRICITY
H04L61/4553
ELECTRICITY
H04W4/70
ELECTRICITY
International classification
Abstract
A method for providing alternative object identifiers for objects of an address space of a server within an OPC UA based communication environment, wherein each object of the address space of the server is uniquely identified by a conventional object identifier, wherein at least one additional identifier is defined and is stored in a directory of additional identifiers defined for this address space of the server, and wherein an alternative object identifier also uniquely identifying the object is formed for each object of the address space of the server, whereby the additional identifier is combined with the conventional object identifier of the respective object according to a determined pattern. Another method for validating alternative object identifiers and a method for determining references of object identifiers, as well as a server, a system, and a computer program product designed to carry out at least one of the methods.
Claims
1. A method for providing alternative object identifiers for objects of an address space of a server within an OPC UA based communication environment, wherein each object of the address space of the server is uniquely identified by a conventional object identifier, wherein at least one additional identifier is defined and stored in a directory of the additional identifiers defined for this address space of the server, and wherein for each object of the address space of the server, an alternative object identifier is formed which also uniquely identifies the object by combining the additional identifier with the conventional object identifier of the respective object according to a determined pattern.
2. The method of claim 1, wherein the pattern provides that if the conventional object identifier is of the STRING identifier type, the additional identifier is also of the STRING identifier type and comprises two additional identifier parts, and wherein the first additional identifier part is a freely definable string and the second additional identifier part is a freely definable separator character.
3. The method of claim 2, wherein the pattern provides that the alternative object identifier is also of the STRING identifier type and is formed of the three parts: first additional identifier part, second additional identifier part, and conventional object identifier of the respective object in this or reverse combination order.
4. The method of claim 1, wherein the pattern provides that if the conventional object identifier is of the NUMERIC identifier type, the additional identifier is also of the NUMERIC identifier type and is a multiple of a base value, and wherein the base value is greater than the largest numerical value, increased by 1, of all the conventional object identifiers of the objects of the address space of the server.
5. The method of claim 4, wherein the pattern provides that the alternative object identifier is also of the NUMERIC identifier type and is formed by adding the additional identifier and the conventional object identifier of the respective object.
6. A method for validating an alternative object identifier within an OPC UA based communication environment, wherein each object of an address space of a server is uniquely identified by a conventional object identifier and is additionally uniquely identified by at least one alternative object identifier, comprising: extracting an alternative object identifier from a request from a client; dividing the alternative object identifier according to a certain pattern using a division criterion, such that a conventional object identifier and an additional object identifier are subsequently present; judging that the conventional object identifier is valid, if it can be identified in a directory of conventional object identifiers existing in this address space of the server; judging that the additional identifier is valid, if it can be identified in a directory of the additional identifiers defined for this address space of the server; judging that the alternative object identifier is valid, if both the conventional object identifier and the additional identifier were previously judged to be valid; and judging that the alternative object identifier is not valid if the conventional object identifier and/or the additional identifier were previously judged to not be valid.
7. The method of claim 6, wherein the pattern provides that if the alternative object identifier is of the STRING identifier type, a separator character is used as the division criterion and the separator character is identified within the entire string of the alternative object identifier as the second additional identifier part, and wherein the part of the character string before the separator character is identified as the first additional identifier part and the part of the character string after the separator character is identified as the conventional object identifier and processed further, or the part of the character string before the separator character is identified as the conventional object identifier and the part of the character string after the separator character is identified as the first additional identifier part and processed further.
8. The method according to claim 6, wherein the pattern provides that if the alternative object identifier is of the NUMERIC identifier type, a base value is used as a division criterion and the alternative object identifier is divided by the base value, wherein the integer quotient of this division, in particular after renewed multiplication by the base value base, is identified as an additional identifier and the remainder of this division being identified and processed further as a conventional object identifier.
9. A method for determining references of an alternative object identifier within an OPC UA based communication environment, wherein each object of an address space of a server is uniquely identified by a conventional object identifier and is additionally uniquely identified by at least one alternative object identifier, comprising: extracting an alternative object identifier from a request from a client; dividing the alternative object identifier according to a certain pattern using a division criterion, such that a conventional object identifier and an additional object identifier are subsequently present; determining the references associated with the conventional object identifier in a directory of the references present in this address space of the server, wherein each reference comprises a conventional object identifier of an associated other object; and for each determined reference, forming of an alternative object identifier by combining the additional identifier with the conventional object identifier of the associated other object comprised by the reference according to a certain pattern.
10. The method of claim 9, wherein the pattern provides that if the alternative object identifier whose references are to be determined is of the STRING identifier type, a separator character is used as the division criterion and the separator character within the string of the alternative object identifier is identified as the second additional identifier part, and wherein the part of the character string before the separator character is identified as the first additional identifier part and the part of the character string after the separator character is identified as the conventional object identifier and processed further, or the part of the character string before the separator character is identified as the conventional object identifier and the part of the character string after the separator character is identified as the first additional identifier part and processed further.
11. The method of claim 10, wherein the pattern provides that for each determined reference, the alternative object identifier is also of the STRING identifier type and is formed of three parts, namely, in the order: first additional identifier part, second additional identifier part, and conventional object identifier of the respective associated other object, or in the order: conventional object identifier of the respective associated other object, second additional identifier part, and first additional identifier part.
12. The method according to claim 9, wherein the pattern provides that if the alternative object identifier whose references are to be determined is of the NUMERIC identifier type, a base value is used as division criterion and the alternative object identifier is divided by the base value; and wherein the integer quotient of this division, in particular after renewed multiplication by the base value base, is processed further as an additional identifier and the remainder of this division as a conventional object identifier.
13. The method of claim 12, wherein the pattern provides that for each determined reference, the alternative object identifier is also of the NUMERIC identifier type and is formed by adding the additional identifier and the conventional object identifier of the respective associated other object.
14. A server configured to perform the method according to claim 1.
15. System comprising an OPC UA based communication environment with at least one server according to claim 14 and at least one client which are interconnected via a network.
16. A computer program product comprising instructions which, when executed by a computer, cause the computer to perform the method of claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0059] These and further features and advantages of embodiments of the present invention also result from the examples, which are explained in more detail below with reference to the accompanying drawings. The figures are schematic representation wherein:
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
DETAILED DESCRIPTION
[0071]
[0072]
[0073] The OPC UA standard does not specify how a server is required to manage the nodes. It is assumed that the address space is divided into namespaces N[x], wherein the conventional NodeID node identifiers are in a namespace N[x] of the identifierType=STRING identifier type or of the identifierType=NUMERIC identifier type. It is further assumed that the server uses an array-like structure called NodeIDArray to store valid NodeID node identifiers and uses a map-like structure called Forward-/BackwardReferenceMap to store references, which is to say arrays of NodeID node identifiers of the references to each NodeID node identifier. However, these assumptions have been made exclusively to simplify the description of the embodiments of the present invention and are not meant to limit the invention.
[0074] Embodiments of the present invention aims at extending an existing address space, in particular within a namespace N[x], by a dimension y having y=1 . . . Y, and this at low costs or minimal effort, which is to say without replication of node instances in a memory, in particular without adding new elements to the NodeIDArray or the Forward/BackwardReferenceMap. In this way, embodiments of the present invention enable the implementation of Y additional information models or contexts for a dataset.
[0075] For this purpose, embodiments of the present invention propose a new addressing pattern that has already been mentioned here above.
[0076] In the case of a conventional NodeID node identifier of the identifierType=STRING identifier type in a namespace N[x], a new or alternative PrefixedNodeID node identifier of the same identifier type is defined, which is formed, as shown in
[0077] In the case of a conventional NodeID node identifier of the identifierType=NUMERIC identifier type in a namespace N[x], a new or alternative BiasedNodeID node identifier of the same identifier type is defined, which is formed as shown in
[0078] If, for example, the namespace N[x] contains 10 nodes with NodeID node identifiers=1 . . . 9, then the base value base can be=100, since 100>max (0 . . . 9) is valid, such that for Y=3, it results in alternative biased NodeID node identifiers=(100 . . . 109, 200 . . . 209, 300 . . . 309).
[0079] In general terms, in this way, a method is provided for the provision of alternative object identifiers for objects of an address space, in particular of a name space, of a server S1, S2 within an OPC UA based communication environment K, wherein each object of the address space of the server S1, S2 is uniquely identified by a conventional object identifier, wherein at least one additional identifier is defined and stored in a directory of the additional identifiers defined for this address space of the server S1, S2, and wherein for each object of the address space of the server S1, S2, an alternative object identifier is formed according to a determined pattern, which identifier also uniquely identifies the object by combining the additional identifier with the conventional object identifier of the respective object.
[0080] In an embodiment of the method, the pattern provides that if the conventional object identifier is of the STRING identifier type, the additional identifier is also of the STRING identifier type and comprises two additional identifier parts, the first additional identifier part being a freely definable character string and the second additional identifier part being a freely definable separator character. Furthermore, the pattern provides that the alternative object identifier is also of the STRING identifier type and is formed of three parts: first additional identifier part, second additional identifier part and conventional object identifier of the respective object, in this combination order (cf.
[0081] Exemplary results of this method are shown in
[0082]
[0083]
[0084] In the examples according to
[0085] In an alternative embodiment of the method, the pattern provides that if the conventional object identifier is of the NUMERIC identifier type, the additional identifier is also of the NUMERIC identifier type and is a multiple of a base value, wherein the base value is greater than the largest numerical value, increased by 1, of all the conventional object identifiers of the objects of the address space of the server S1, S2. Furthermore, the pattern provides that the alternative object identifier is also of the NUMERIC identifier type and is formed by adding the additional identifier and the conventional object identifier of the respective object (cf.
[0086]
[0093] According to an embodiment of the method (cf.
[0094] In a case not shown in the figures, it could instead be provided that the part of the character string before the separator character is identified and processed further as a conventional object identifier and the part of the character string after the separator character is identified and processed further as a first additional identifier part.
[0095] According to another embodiment of the method (cf.
[0096] The integer quotient itself, corresponds to the index y of the dimension or the information model.
[0097] Due to this step-by-step validation according to embodiments of the present invention, the validation of alternative object identifiers can be carried out very efficiently. And since in the provision of alternative object identifiers for an additional information model according to embodiments of the present invention, only a new additional identifier is entered into the directory of additional identifiers, but no node instances are replicated, the validation of alternative object identifiers requires virtually no additional storage space and computing power or time. In this way, the embodiments of the present invention enable implementation of Y additional information models or contexts for a dataset without increasing memory and computing power or time requirements by a factor of Y+1.
[0098]
[0103] According to an embodiment of the method (cf.
[0104] In a case not shown in the figures, it could instead be provided that the part of the character string before the separator character is identified and processed further as a conventional object identifier and the part of the character string after the separator character is identified and processed further as a first additional identifier part.
[0105] Furthermore, the pattern provides that for each determined ForwardReferences reference the alternative PrefixedForwardReferences object identifier is also of the STRING identifier type and is formed of three parts in the order: first additional prefix identifier part, second additional identifier part separator literal and conventional object identifier of the respective assigned other object or in the order: conventional object identifier of the respective assigned other object, second additional identifier part and first additional identifier part.
[0106] In the example according to
[0107] According to another embodiment of the method (cf.
[0108] Furthermore, the pattern provides that for each determined ForwardReferences reference, the alternative BiasedForwardReferences object identifier is also of the NUMERIC identifier type and is formed by adding the additional bias identifier and the conventional object identifier of the respective assigned other object.
[0109] Even though the method according to