opcua:Variable
Mapped https://mapped.com/schema/mapped/1.0/opcua#Variable
An OPC UA DataVariable (OPC 10000-3 §5.6.2, §5.6.4): a node that contains a value, reached through HasComponent. Properties are Variables too (§5.6.3) but are stored as opcua:Property or as fields of their parent. Live values are timeseries on the mapped:Point that links to the Variable with mapped:hasExternalReference. A Variable with component Variables is usually a structure, which a Brick Thing may link to instead.
Hierarchy
Parent classes: opcua:Node
Subclasses: none, this is a leaf class.
Facts
| Fact | Value |
|---|---|
| URI | https://mapped.com/schema/mapped/1.0/opcua#Variable |
| Source | Mapped |
| Protobuf | OPCUA_VARIABLE |
| GraphQL | OPCUAVariable |
| Deprecated | No |
Properties
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
opcua:accessLevel | Array<string> | The Variable's AccessLevel attribute (OPC 10000-3 §5.6.2), decoded into the names of its set bits from AccessLevelType (OPC 10000-3 §8.57): CurrentRead, CurrentWrite, HistoryRead, HistoryWrite, SemanticChange, StatusWrite, TimestampWrite. CurrentWrite means the point can be commanded. UserAccessLevel is not stored because it describes the connector's session, not the point. | ||
opcua:arrayDimensions | string | The maximum length of each dimension of an array value, in the opcua.array_dimensions JSON shape: the ArrayDimensions attribute of a Variable or Property (OPC 10000-3 §5.6.2), or StructureField.ArrayDimensions of an opcua:Field (§8.51). One entry per dimension, in order; 0 means the maximum is unknown. Written only when the value is an array. | ||
opcua:engineeringUnits | string | The Variable's EngineeringUnits Property (OPC 10000-8 §5.3.2.2), an EUInformation (§5.6.4), in the opcua.eu_information JSON shape: namespaceUri, unitId, displayName and description, plus uneceCode, the UNECE common code decoded from unitId (§5.6.4.4). QUDT indexes units by that code, so it is the shortest path from an OPC UA unit to a Brick unit. | ||
opcua:euRange | string | The Variable's EURange Property (OPC 10000-8 §5.3.2.2): the value range likely in normal operation, in the opcua.range JSON shape {low, high}. | ||
opcua:falseState | string | Text of the FalseState Property of a TwoStateDiscreteType Variable (OPC 10000-8 §5.3.3.2): what a false value means, such as STOP, OPEN or DISABLE. | ||
opcua:trueState | string | Text of the TrueState Property of a TwoStateDiscreteType Variable (OPC 10000-8 §5.3.3.2): what a true value means, such as RUN, CLOSE or ENABLE. | ||
opcua:valueRank | integer | The ValueRank of a Variable or Property (OPC 10000-3 §5.6.2): n > 0 for an array of exactly n dimensions, 0 for one or more dimensions, -1 for a scalar, -2 for a scalar or an array of any rank, -3 for a scalar or one dimension. On an opcua:Field it is StructureField.ValueRank (§8.51), only -1 or n > 0. An array rarely maps to a single Point. |
exactType is always opcua:Variable.
Inherited properties (18)
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
connectedDataSourceId | string | The id of the origin data source of an entity. This id is already a part of mappingKey but important for faster query. | ||
connectorIds | Array<string> | The ids of the connectors associated with the entity. | ||
dateCreated | dateTime | Datetime when it is created. | ||
dateUpdated | dateTime | Datetime when it is updated last time. | ||
description | string | |||
enrichmentSourceConnectorId | string | The id of the source connector with which the vertex, whether it's a property bag or a derived entity, is associated. | ||
id | string | Yes | A globally unique ID in Mapped services. | |
isVirtual | boolean | false | If this is true, the corresponding entity is virtual, meaning it doesn't exist in the real world but fabricated in the Mapped's system. | |
mappingKey | string | The origin of the entity. More detailed definition is available at here. | ||
name | string | |||
opcua:browseName | string | The name part of the node's BrowseName (OPC 10000-3 §5.2.4), a QualifiedName; the namespace part is opcua:browseNameNamespaceUri. The DisplayName and Description attributes are stored as mapped:name and mapped:description. | ||
opcua:browseNameNamespaceUri | string | The namespace of the node's BrowseName (OPC 10000-3 §8.3) as a URI: its NamespaceIndex resolved through the server's NamespaceArray, http://opcfoundation.org/UA/ for namespace 0. Not the NodeId's namespace: a child that a type declares has its type's namespace. It tells a companion-spec name, such as the DI SerialNumber, from a vendor's. | ||
opcua:nodeId | string | Yes | The node's NodeId (OPC 10000-3 §5.2.2) in the string form of OPC 10000-6 §5.1.12: nsu=<namespace URI>;<identifier> for every namespace except 0, and the bare <identifier> (such as i=58) for namespace 0. GUID identifiers are uppercase. It is the deduplication key for OPC UA nodes, so a node must always produce the same string. | |
opcua:statusCode | string | The OPC UA StatusCode (OPC 10000-4 §7.38), as its symbolic name such as BadNotReadable, of the connector's read of this node's data, written only when it isn't Good. On an opcua:Property it explains the value: a failed read leaves opcua:value out, and a value that can't be decoded is kept undecoded. On a type vertex it says why the type couldn't be read, leaving a placeholder with only opcua:nodeId. | ||
organizationId | string | Yes | The id of the organization that owns the entity. | |
seeAlso | string | |||
systemType | Array<Object> | A system type of the system the entity is associated. | ||
type | Array<Object> | Yes | The entity's types or classes. The types are determined within the class hierarchy. This is an stringified alias for rdf:type. |
Relationships
| Relationship | Targets | Inverse | Cardinality | Notes |
|---|---|---|---|---|
opcua:componentOf | opcua:Object, opcua:Variable | opcua:hasComponent | 0..* | The node this node is a component of: the inverse of opcua:hasComponent, OPC UA's ComponentOf (OPC 10000-5 §11.7). |
opcua:hasComponent | opcua:Variable | opcua:componentOf | 0..* | transitive, canonical A HasComponent reference (OPC 10000-3 §7.7), or any other Aggregates subtype except HasProperty: the target is a part of the source. An Object may have Object and Variable components; a Variable may have only Variable components. These references never form loops. |
opcua:hasDataType | opcua:DataType | opcua:isDataTypeOf | 0..1 | transitive, canonical From a Variable, Property or opcua:Field to the opcua:DataType of what it holds: the DataType attribute (OPC 10000-3 §5.6.2) of a Variable or Property, or StructureField.DataType (§8.51) of a field. OPC UA has no such reference: each holds the DataType's NodeId, and the edge resolves it to the DataType's vertex. |
opcua:hasEnumValue | opcua:EnumValue | opcua:isEnumValueOf | 0..* | transitive, canonical From a MultiStateDiscreteType or MultiStateValueDiscreteType Variable to each entry of its EnumStrings or EnumValues Property (OPC 10000-8 §5.3.3), or from an enumeration or OptionSet opcua:DataType to each EnumField of its EnumDefinition (OPC 10000-3 §8.50). OPC UA has no such reference: these are array values, and each entry becomes an opcua:EnumValue vertex. |
opcua:hasProperty | opcua:Property | opcua:isPropertyOf | 0..* | transitive, canonical A HasProperty reference (OPC 10000-3 §7.8) from an Object or Variable to one of its Properties. A standard Data Access Property becomes part of its Variable instead: EngineeringUnits, EURange, TrueState and FalseState as fields, EnumStrings and EnumValues as opcua:EnumValue vertices. |
opcua:hasTypeDefinition | opcua:VariableType | opcua:isTypeDefinitionOf | 0..1 | transitive, canonical A HasTypeDefinition reference (OPC 10000-3 §7.13) from an Object to its opcua:ObjectType, or from a Variable to its opcua:VariableType. Every Object and Variable has exactly one. A Property has none, because its type is always PropertyType. |
Inherited relationships (11)
| Relationship | Targets | Inverse | Cardinality | Notes |
|---|---|---|---|---|
contributesProperty | Meta | hasPropertyContributedFrom | 0..* | transitive, canonical Mapped's internal relationship indicating that a vertex is contributing a property/value to another vertex. |
hasExtendedProperty | ExtendedProperty | 0..* | transitive, canonical The entity's customer-defined extended properties, one node per key-value pair. | |
hasGeneratedArtifact | OpenUSD_Layer | isGeneratedFrom | 0..* | The layers generated from this source. |
hasIdentity | Identity | 0..* | transitive, canonical | |
hasPrimBinding | OpenUSD_Prim_Binding | isPrimBindingOf | 0..* | transitive, canonical Attaches a prim address. Used directly on an entity for pure addressing that carries no physical claim, and on a Representation or level-of-detail heuristic to realise it in USD. |
hasPropertyBag | PropertyBag | 0..* | transitive, canonical | |
isConstraintTarget | Spatial_Constraint | constrainsAgainst | 0..* | The constraints evaluated against this representation or entity. |
isMigratedFrom | Entity | isMigratedTo | 0..* | The entity this entity has been migrated from. This entity supersedes the source. |
isMigratedTo | Entity | isMigratedFrom | 0..* | transitive, canonical The entity this entity has been migrated to. The target supersedes this entity. |
isSubjectOfConstraint | Spatial_Constraint | constrainsSubject | 0..* | The constraints this entity is the subject of. |
opcua:organizedBy | opcua:Object, opcua:Server | opcua:organizes | 0..* | The Object or server that groups this node: the inverse of opcua:organizes, OPC UA's OrganizedBy (OPC 10000-5 §11.6). |
Referenced by
Classes whose own relationships point at opcua:Variable.
- hasExternalReference (1): Point
- opcua:componentOf (1): opcua:Variable
- opcua:hasComponent (2): opcua:Object, opcua:Variable
- opcua:isDataTypeOf (1): opcua:DataType
- opcua:isEnumValueOf (1): opcua:EnumValue
- opcua:isPropertyOf (1): opcua:Property
- opcua:isTypeDefinitionOf (1): opcua:VariableType
- opcua:organizes (2): opcua:Object, opcua:Server
Something wrong or missing on this page? Propose a change to opcua:Variable.