Files
UA-.NETStandard/samples/WotCon/AggregationClient/Documents/SamplePump.td.json
romanett 2ba58a8cbf WoT: move GeneratesEvent off Object instances (OPC 10000-3 §7.15) (#4706)
Fixes #4669.

OPC 10000-3 §7.15 says the SourceNode of `GeneratesEvent` "shall be an
ObjectType, a VariableType or a Method". CTT `Base Info Core Structure 2
001.js` flags every Object that is the source of one. #4667 fixed this
in the source generator. This PR fixes the three remaining WoT places.

### 1. WotCon asset registry
- `AssetRegistry.BuildEventNode` / `RemoveEventTypes` no longer add or
remove `GeneratesEvent` from the asset Object. Event delivery already
relies on `EventNotifier = SubscribeToEvents` and root-notifier
registration.
- Tests now assert the reference is **absent** and the notifier bit is
set. The re-apply test asserts that the old EventType node is gone.

### 2. WoT NodeSet converter (`src/Opc.Ua.Types/Wot`)
- **TD → NodeSet:** a last pass (`RelocateInstanceGeneratesEvent`) moves
forward `GeneratesEvent` references off an Object/Variable root:
- An event the bound type already declares needs nothing more. Matching
is by qualified BrowseName against the local context's declarations, the
same rule as the declaration merge.
- Any other event is declared by a synthesized non-abstract
`<rootLocal>Type`. It derives from the bound type (or from
`BaseObjectType` / `BaseDataVariableType` when the TD binds none) and
becomes the instance's `HasTypeDefinition`. A Variable root gets a
`UAVariableType` with the instance's DataType and ValueRank.
- Thing Models are unchanged: the projected type keeps its
`GeneratesEvent`.
- **NodeSet → TD:**
- An instance's event affordances are now collected from its type
definition and that type's supertypes. Instance-level `GeneratesEvent`
is still read for third-party NodeSets.
- In a single readable document, a type that only carries one instance's
events (only `HasSubtype` + `GeneratesEvent`, typing exactly one
instance) is not chosen as root. It is folded back: its supertype
becomes the type binding, and no link is written when that supertype is
the default base type. The TD → NodeSet → TD round trip stays readable,
with no `uav:nodes` fallback.
- A document set gives the carrier its own Thing Model, and the instance
TD binds to it.
- **Archive check:** an event affordance is accepted when the root's
type definition, or one of its supertypes, generates it.
- `docs/WoTNodeSetConversion.md` documents the behaviour in a new "Event
source" row.

### 3. Aggregation sample
- `SamplePump.NodeSet2.xml`: each pump is typed by its own `PumpType`
subtype, `ns=1;s=Pump1.Type` (`Pump_1Type`) and `Pump2.Type`, which
declares its alarm EventTypes.
- It is per pump because each pump owns its alarm EventTypes.
`Pump2.Type` is cloned with the rest of Pump2.
- The pumps keep `EventNotifier="1"` and no longer carry
`GeneratesEvent`.
- The checked-in documents are regenerated, adding
`sample-pump-pump-1type.json` / `-2type.json`. The pump TDs still list
the alarm event affordances.
- The sample binding lookup ignores Thing Models, because the type's TM
declares the same EventType as the pump TD. A declaration missing from
the instance still fails as before.
- Docs: `WoTConnectivity.md` (asset event affordances, §12.4.2) and
`WotBindings.md`. The `GeneratesEvent` clause in the sample-limitation
note was already stale, so I removed it.

### Runtime check
`WotNativeOwnershipIndex` only uses `GeneratesEvent` in its alias table.
Projected event routing takes the owner from `uav:componentOf` /
`uav:id` and the notifier from Parent/`HasNotifier`. Nothing in
`Opc.Ua.WotCon.Server` reads an instance-level `GeneratesEvent`.

### Tests (net10.0)
- `Opc.Ua.Types.Tests`: 11446 passed, 1 skipped. New
`WotInstanceEventSourceTests` covers object and variable roots, TMs, the
TD with no events, the folded round trip, the legacy instance reference
and the document set. Two bound-type cases were added to
`WotDeclarationMergeBoundaryTests`.
- `Opc.Ua.WotCon.Bindings.Tests`: 714 passed.
- `Opc.Ua.WotCon.Tests`: 1496 passed, including the byte-exact sample
regeneration tests.
- net48 build of both test projects is clean, and `dotnet format
whitespace` is clean.

Not run: CTT `Base Info Core Structure 2 001.js` (p02-base-info) against
a WotCon server.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Marc Schier <marcschier@users.noreply.github.com>
2026-10-08 20:57:20 +00:00

3649 lines
126 KiB
JSON

{
"@context": [
"https://www.w3.org/2022/wot/td/v1.1",
{
"ns1": "urn:opcfoundation.org:UA:WotAggregation:PumpInstance",
"ns2": "http://opcfoundation.org/UA/Pumps/",
"ns3": "http://opcfoundation.org/UA/Machinery/",
"ns4": "http://opcfoundation.org/UA/DI/",
"ua": "http://opcfoundation.org/UA/",
"uav": "http://opcfoundation.org/UA/WoT-Binding/"
},
"http://opcfoundation.org/UA/WoT-Binding/v1.1/opc-ua-wot-binding.context.jsonld"
],
"@type": "uav:object",
"actions": {
"CavitationAcknowledge": {
"@type": "uav:method",
"input": {
"properties": {
"Comment": {
"description": "Optional operator comment.",
"uav:mapToType": "i=21",
"uav:valueRank": -1
},
"EventId": {
"contentEncoding": "base64",
"description": "The occurrence EventId returned by this source's alarm.",
"type": "string",
"uav:mapToType": "i=15",
"uav:valueRank": -1
}
},
"required": [
"EventId",
"Comment"
],
"type": "object",
"uav:fieldOrder": [
"EventId",
"Comment"
]
},
"title": "CavitationAcknowledge",
"uav:browseName": "ns1:CavitationAcknowledge",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.CavitationAcknowledge"
},
"CavitationConfirm": {
"@type": "uav:method",
"input": {
"properties": {
"Comment": {
"description": "Optional operator comment.",
"uav:mapToType": "i=21",
"uav:valueRank": -1
},
"EventId": {
"contentEncoding": "base64",
"description": "The occurrence EventId returned by this source's alarm.",
"type": "string",
"uav:mapToType": "i=15",
"uav:valueRank": -1
}
},
"required": [
"EventId",
"Comment"
],
"type": "object",
"uav:fieldOrder": [
"EventId",
"Comment"
]
},
"title": "CavitationConfirm",
"uav:browseName": "ns1:CavitationConfirm",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.CavitationConfirm"
},
"MotorOverheatAcknowledge": {
"@type": "uav:method",
"input": {
"properties": {
"Comment": {
"description": "Optional operator comment.",
"uav:mapToType": "i=21",
"uav:valueRank": -1
},
"EventId": {
"contentEncoding": "base64",
"description": "The occurrence EventId returned by this source's alarm.",
"type": "string",
"uav:mapToType": "i=15",
"uav:valueRank": -1
}
},
"required": [
"EventId",
"Comment"
],
"type": "object",
"uav:fieldOrder": [
"EventId",
"Comment"
]
},
"title": "MotorOverheatAcknowledge",
"uav:browseName": "ns1:MotorOverheatAcknowledge",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.MotorOverheatAcknowledge"
},
"MotorOverheatConfirm": {
"@type": "uav:method",
"input": {
"properties": {
"Comment": {
"description": "Optional operator comment.",
"uav:mapToType": "i=21",
"uav:valueRank": -1
},
"EventId": {
"contentEncoding": "base64",
"description": "The occurrence EventId returned by this source's alarm.",
"type": "string",
"uav:mapToType": "i=15",
"uav:valueRank": -1
}
},
"required": [
"EventId",
"Comment"
],
"type": "object",
"uav:fieldOrder": [
"EventId",
"Comment"
]
},
"title": "MotorOverheatConfirm",
"uav:browseName": "ns1:MotorOverheatConfirm",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.MotorOverheatConfirm"
},
"SourceAReset": {
"@type": "uav:method",
"title": "SourceAReset",
"uav:browseName": "ns1:SourceAReset",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceAReset"
},
"SourceAStart": {
"@type": "uav:method",
"title": "SourceAStart",
"uav:browseName": "ns1:SourceAStart",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceAStart"
},
"SourceAStop": {
"@type": "uav:method",
"title": "SourceAStop",
"uav:browseName": "ns1:SourceAStop",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceAStop"
},
"SourceBReset": {
"@type": "uav:method",
"title": "SourceBReset",
"uav:browseName": "ns1:SourceBReset",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceBReset"
},
"SourceBStart": {
"@type": "uav:method",
"title": "SourceBStart",
"uav:browseName": "ns1:SourceBStart",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceBStart"
},
"SourceBStop": {
"@type": "uav:method",
"title": "SourceBStop",
"uav:browseName": "ns1:SourceBStop",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceBStop"
}
},
"description": "Sample-owned aggregate pump projected from two upstream OPC UA servers.",
"events": {
"CavitationAlarm": {
"@type": "uav:eventType",
"data": {
"properties": {
"AckedState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"ActiveState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"BranchId": {
"type": "string"
},
"ClientUserId": {
"type": "string"
},
"Comment": {
"type": "string"
},
"ConditionClassId": {
"type": "string"
},
"ConditionClassName": {
"type": "string"
},
"ConditionId": {
"type": "string"
},
"ConditionName": {
"type": "string"
},
"ConfirmedState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"EnabledState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"EventId": {
"contentEncoding": "base64",
"type": "string"
},
"EventType": {
"type": "string"
},
"InputNode": {
"type": "string"
},
"LastSeverity": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"Message": {
"type": "string"
},
"Quality": {
"type": "string"
},
"ReceiveTime": {
"format": "date-time",
"type": "string"
},
"Retain": {
"type": "boolean"
},
"Severity": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"SourceName": {
"type": "string"
},
"SourceNode": {
"type": "string"
},
"SuppressedOrShelved": {
"type": "boolean"
},
"Time": {
"format": "date-time",
"type": "string"
}
},
"required": [
"EventId",
"EventType",
"SourceNode",
"SourceName",
"Time",
"ReceiveTime",
"Message",
"Severity",
"ConditionId",
"ConditionName",
"BranchId",
"Retain",
"ConditionClassId",
"ConditionClassName",
"Quality",
"LastSeverity",
"Comment",
"ClientUserId",
"EnabledState"
],
"type": "object",
"uav:fieldOrder": [
"EventId",
"EventType",
"SourceNode",
"SourceName",
"Time",
"ReceiveTime",
"Message",
"Severity",
"ConditionId",
"ConditionName",
"BranchId",
"Retain",
"ConditionClassId",
"ConditionClassName",
"Quality",
"LastSeverity",
"Comment",
"ClientUserId",
"EnabledState",
"AckedState",
"ConfirmedState",
"ActiveState",
"InputNode",
"SuppressedOrShelved"
]
},
"description": "SourceA-owned Cavitation notifications for Pump1.",
"title": "CavitationAlarm",
"uav:browseName": "ns1:CavitationAlarm",
"uav:conditionType": "ua:AlarmConditionType",
"uav:conditionTypeId": "i=2915",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.CavitationAlarm"
},
"MotorOverheatAlarm": {
"@type": "uav:eventType",
"data": {
"properties": {
"AckedState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"ActiveState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"BranchId": {
"type": "string"
},
"ClientUserId": {
"type": "string"
},
"Comment": {
"type": "string"
},
"ConditionClassId": {
"type": "string"
},
"ConditionClassName": {
"type": "string"
},
"ConditionId": {
"type": "string"
},
"ConditionName": {
"type": "string"
},
"ConfirmedState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"EnabledState": {
"properties": {
"Id": {
"type": "boolean"
},
"Name": {
"type": "string"
}
},
"type": "object",
"uav:fieldOrder": [
"Id",
"Name"
]
},
"EventId": {
"contentEncoding": "base64",
"type": "string"
},
"EventType": {
"type": "string"
},
"InputNode": {
"type": "string"
},
"LastSeverity": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"Message": {
"type": "string"
},
"Quality": {
"type": "string"
},
"ReceiveTime": {
"format": "date-time",
"type": "string"
},
"Retain": {
"type": "boolean"
},
"Severity": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"SourceName": {
"type": "string"
},
"SourceNode": {
"type": "string"
},
"SuppressedOrShelved": {
"type": "boolean"
},
"Time": {
"format": "date-time",
"type": "string"
}
},
"required": [
"EventId",
"EventType",
"SourceNode",
"SourceName",
"Time",
"ReceiveTime",
"Message",
"Severity",
"ConditionId",
"ConditionName",
"BranchId",
"Retain",
"ConditionClassId",
"ConditionClassName",
"Quality",
"LastSeverity",
"Comment",
"ClientUserId",
"EnabledState"
],
"type": "object",
"uav:fieldOrder": [
"EventId",
"EventType",
"SourceNode",
"SourceName",
"Time",
"ReceiveTime",
"Message",
"Severity",
"ConditionId",
"ConditionName",
"BranchId",
"Retain",
"ConditionClassId",
"ConditionClassName",
"Quality",
"LastSeverity",
"Comment",
"ClientUserId",
"EnabledState",
"AckedState",
"ConfirmedState",
"ActiveState",
"InputNode",
"SuppressedOrShelved"
]
},
"description": "SourceB-owned MotorOverheat notifications for Pump1.",
"title": "MotorOverheatAlarm",
"uav:browseName": "ns1:MotorOverheatAlarm",
"uav:conditionType": "ua:AlarmConditionType",
"uav:conditionTypeId": "i=2915",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.MotorOverheatAlarm"
}
},
"links": [
{
"href": "nsu=http://opcfoundation.org/UA/Pumps/;i=1052",
"rel": "ua:HasTypeDefinition"
},
{
"href": "i=85",
"rel": "ua:OrganizedBy",
"uav:refId": "i=35"
}
],
"properties": {
"SourceARunning": {
"@type": "uav:variable",
"links": [
{
"href": "i=63",
"rel": "ua:HasTypeDefinition"
}
],
"observable": true,
"readOnly": true,
"title": "SourceARunning",
"type": "boolean",
"uav:browseName": "ns1:SourceARunning",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceARunning",
"uav:mapToType": "i=1"
},
"SourceBRunning": {
"@type": "uav:variable",
"links": [
{
"href": "i=63",
"rel": "ua:HasTypeDefinition"
}
],
"observable": true,
"readOnly": true,
"title": "SourceBRunning",
"type": "boolean",
"uav:browseName": "ns1:SourceBRunning",
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.SourceBRunning",
"uav:mapToType": "i=1"
}
},
"title": "Sample Pump Aggregate",
"uav:bindingVersion": "1.1",
"uav:browseName": "ns1:Pump_1",
"uav:hasComponent": [
"nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.Identification",
"nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.Operational",
"nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.Events",
"nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1.Maintenance"
],
"uav:id": "nsu=urn:opcfoundation.org:UA:WotAggregation:PumpInstance;s=Pump1",
"uav:nodes": {
"@type": "uav:NodeModel",
"aliases": [
{
"alias": "Boolean",
"value": "i=1"
},
{
"alias": "UInt32",
"value": "i=7"
},
{
"alias": "Double",
"value": "i=11"
},
{
"alias": "String",
"value": "i=12"
},
{
"alias": "LocalizedText",
"value": "i=21"
},
{
"alias": "HasTypeDefinition",
"value": "i=40"
},
{
"alias": "HasProperty",
"value": "i=46"
},
{
"alias": "HasComponent",
"value": "i=47"
},
{
"alias": "Range",
"value": "i=884"
},
{
"alias": "EUInformation",
"value": "i=887"
},
{
"alias": "HasSubtype",
"value": "i=45"
},
{
"alias": "GeneratesEvent",
"value": "i=41"
},
{
"alias": "Argument",
"value": "i=296"
}
],
"models": [
{
"modelUri": "urn:opcfoundation.org:UA:WotAggregation:PumpInstance",
"publicationDate": "2026-07-24T00:00:00Z",
"requiredModels": [
{
"modelUri": "http://opcfoundation.org/UA/",
"publicationDate": "2022-02-24T00:00:00Z",
"version": "1.05.01"
},
{
"modelUri": "http://opcfoundation.org/UA/DI/",
"publicationDate": "2022-11-03T00:00:00Z",
"version": "1.04.0"
},
{
"modelUri": "http://opcfoundation.org/UA/Machinery/",
"publicationDate": "2021-02-25T00:00:00Z",
"version": "1.01.0"
},
{
"modelUri": "http://opcfoundation.org/UA/Pumps/",
"publicationDate": "2021-04-19T00:00:00Z",
"version": "1.0.0"
}
],
"version": "1.0.0"
}
],
"namespaceUris": [
"urn:opcfoundation.org:UA:WotAggregation:PumpInstance",
"http://opcfoundation.org/UA/Pumps/",
"http://opcfoundation.org/UA/Machinery/",
"http://opcfoundation.org/UA/DI/"
],
"nodes": [
{
"browseName": "1:Pump_1",
"description": [
{
"value": "Sample-owned aggregate pump projected from two upstream OPC UA servers."
}
],
"displayName": [
{
"value": "Pump #1"
}
],
"eventNotifier": 1,
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1",
"references": [
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Identification"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Maintenance"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=1;s=Pump1.Type"
},
{
"isForward": false,
"referenceType": "i=35",
"target": "i=85"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceARunning"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceAStart"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceAStop"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceAReset"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceBRunning"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceBStart"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceBStop"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.SourceBReset"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.CavitationAcknowledge"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.CavitationConfirm"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.MotorOverheatAcknowledge"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.MotorOverheatConfirm"
}
],
"typeDefinition": "ns=1;s=Pump1.Type"
},
{
"browseName": "4:Identification",
"displayName": [
{
"value": "Identification"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Identification",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Identification.Manufacturer"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Identification.SerialNumber"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Identification.ProductInstanceUri"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1005"
}
],
"typeDefinition": "ns=2;i=1005"
},
{
"browseName": "4:Manufacturer",
"dataType": "LocalizedText",
"displayName": [
{
"value": "Manufacturer"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Identification.Manufacturer",
"parentNodeId": "ns=1;s=Pump1.Identification",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Identification"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:LocalizedText xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:Text>SimPump Corp</uax:Text>\n </uax:LocalizedText>"
},
{
"browseName": "4:SerialNumber",
"dataType": "String",
"displayName": [
{
"value": "SerialNumber"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Identification.SerialNumber",
"parentNodeId": "ns=1;s=Pump1.Identification",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Identification"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SN-001</uax:String>"
},
{
"browseName": "4:ProductInstanceUri",
"dataType": "String",
"displayName": [
{
"value": "ProductInstanceUri"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Identification.ProductInstanceUri",
"parentNodeId": "ns=1;s=Pump1.Identification",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Identification"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">urn:simdevice:SimPump:PumpX-2000:SN-001</uax:String>"
},
{
"browseName": "4:Operational",
"displayName": [
{
"value": "Operational"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Operational",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1053"
}
],
"typeDefinition": "ns=2;i=1053"
},
{
"browseName": "2:Measurements",
"displayName": [
{
"value": "Measurements"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Operational.Measurements",
"parentNodeId": "ns=1;s=Pump1.Operational",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.MassFlow"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.Level"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements.NumberOfStarts"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1054"
}
],
"typeDefinition": "ns=2;i=1054"
},
{
"browseName": "2:DifferentialPressure",
"dataType": "Double",
"displayName": [
{
"value": "DifferentialPressure"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>5259596</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>Pa</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Pascal</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.DifferentialPressure"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>1000000</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:FluidTemperature",
"dataType": "Double",
"displayName": [
{
"value": "FluidTemperature"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>4932940</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>K</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Kelvin</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.FluidTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>233.15</uax:Low>\n <uax:High>473.15</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:BearingTemperature",
"dataType": "Double",
"displayName": [
{
"value": "BearingTemperature"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>4932940</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>K</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Kelvin</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.BearingTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>233.15</uax:Low>\n <uax:High>473.15</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:PumpPowerInput",
"dataType": "Double",
"displayName": [
{
"value": "PumpPowerInput"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>5723220</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>W</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Watt</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpPowerInput"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>50000</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:MassFlow",
"dataType": "Double",
"displayName": [
{
"value": "MassFlow"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.MassFlow",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.MassFlow.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.MassFlow.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.MassFlow.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.MassFlow",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.MassFlow"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>4933459</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>kg/s</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Kilograms per Second</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.MassFlow.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.MassFlow",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.MassFlow"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>1</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:PumpEfficiency",
"dataType": "Double",
"displayName": [
{
"value": "PumpEfficiency"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>20529</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>%</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Percent</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.PumpEfficiency"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>100</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:Level",
"dataType": "Double",
"displayName": [
{
"value": "Level"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.Level",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.Level.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.Level.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.Level.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.Level",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.Level"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>5067858</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>m</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Metre</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.Level.EURange",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements.Level",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.Operational.Measurements.Level"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>10</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:NumberOfStarts",
"dataType": "UInt32",
"displayName": [
{
"value": "NumberOfStarts"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Operational.Measurements.NumberOfStarts",
"parentNodeId": "ns=1;s=Pump1.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Operational.Measurements"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "2:Events",
"displayName": [
{
"value": "Events"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Events",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events.SupervisionProcessFluid"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events.SupervisionPumpOperation"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1019"
}
],
"typeDefinition": "ns=2;i=1019"
},
{
"browseName": "2:SupervisionProcessFluid",
"displayName": [
{
"value": "SupervisionProcessFluid"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Events.SupervisionProcessFluid",
"parentNodeId": "ns=1;s=Pump1.Events",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events.SupervisionProcessFluid.Cavitation"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1015"
}
],
"typeDefinition": "ns=2;i=1015"
},
{
"browseName": "2:Cavitation",
"dataType": "Boolean",
"displayName": [
{
"value": "Cavitation"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Events.SupervisionProcessFluid.Cavitation",
"parentNodeId": "ns=1;s=Pump1.Events.SupervisionProcessFluid",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events.SupervisionProcessFluid"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=2373"
}
],
"typeDefinition": "i=2373"
},
{
"browseName": "2:SupervisionPumpOperation",
"displayName": [
{
"value": "SupervisionPumpOperation"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Events.SupervisionPumpOperation",
"parentNodeId": "ns=1;s=Pump1.Events",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events.SupervisionPumpOperation.MotorOverheat"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1016"
}
],
"typeDefinition": "ns=2;i=1016"
},
{
"browseName": "2:MotorOverheat",
"dataType": "Boolean",
"displayName": [
{
"value": "MotorOverheat"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.Events.SupervisionPumpOperation.MotorOverheat",
"parentNodeId": "ns=1;s=Pump1.Events.SupervisionPumpOperation",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1.Events.SupervisionPumpOperation"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=2373"
}
],
"typeDefinition": "i=2373"
},
{
"browseName": "4:Maintenance",
"displayName": [
{
"value": "Maintenance"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump1.Maintenance",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1011"
}
],
"typeDefinition": "ns=2;i=1011"
},
{
"browseName": "1:SourceARunning",
"dataType": "Boolean",
"displayName": [
{
"value": "SourceARunning"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.SourceARunning",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=63"
}
],
"typeDefinition": "i=63"
},
{
"browseName": "1:SourceAStart",
"displayName": [
{
"value": "SourceAStart"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.SourceAStart",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
}
]
},
{
"browseName": "1:SourceAStop",
"displayName": [
{
"value": "SourceAStop"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.SourceAStop",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
}
]
},
{
"browseName": "1:SourceAReset",
"displayName": [
{
"value": "SourceAReset"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.SourceAReset",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
}
]
},
{
"browseName": "1:SourceBRunning",
"dataType": "Boolean",
"displayName": [
{
"value": "SourceBRunning"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.SourceBRunning",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=63"
}
],
"typeDefinition": "i=63"
},
{
"browseName": "1:SourceBStart",
"displayName": [
{
"value": "SourceBStart"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.SourceBStart",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
}
]
},
{
"browseName": "1:SourceBStop",
"displayName": [
{
"value": "SourceBStop"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.SourceBStop",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
}
]
},
{
"browseName": "1:SourceBReset",
"displayName": [
{
"value": "SourceBReset"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.SourceBReset",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
}
]
},
{
"browseName": "1:CavitationAlarm",
"description": [
{
"value": "SourceA-owned Cavitation notifications for Pump1."
}
],
"displayName": [
{
"value": "CavitationAlarm"
}
],
"nodeClass": "ObjectType",
"nodeId": "ns=1;s=Pump1.CavitationAlarm",
"references": [
{
"isForward": false,
"referenceType": "HasSubtype",
"target": "i=2915"
}
],
"superType": "i=2915"
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.CavitationAcknowledge.InputArguments",
"parentNodeId": "ns=1;s=Pump1.CavitationAcknowledge",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.CavitationAcknowledge"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:CavitationAcknowledge",
"displayName": [
{
"value": "CavitationAcknowledge"
}
],
"methodDeclarationId": "i=9111",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.CavitationAcknowledge",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.CavitationAcknowledge.InputArguments"
}
]
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.CavitationConfirm.InputArguments",
"parentNodeId": "ns=1;s=Pump1.CavitationConfirm",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.CavitationConfirm"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:CavitationConfirm",
"displayName": [
{
"value": "CavitationConfirm"
}
],
"methodDeclarationId": "i=9113",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.CavitationConfirm",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.CavitationConfirm.InputArguments"
}
]
},
{
"browseName": "1:MotorOverheatAlarm",
"description": [
{
"value": "SourceB-owned MotorOverheat notifications for Pump1."
}
],
"displayName": [
{
"value": "MotorOverheatAlarm"
}
],
"nodeClass": "ObjectType",
"nodeId": "ns=1;s=Pump1.MotorOverheatAlarm",
"references": [
{
"isForward": false,
"referenceType": "HasSubtype",
"target": "i=2915"
}
],
"superType": "i=2915"
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.MotorOverheatAcknowledge.InputArguments",
"parentNodeId": "ns=1;s=Pump1.MotorOverheatAcknowledge",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.MotorOverheatAcknowledge"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:MotorOverheatAcknowledge",
"displayName": [
{
"value": "MotorOverheatAcknowledge"
}
],
"methodDeclarationId": "i=9111",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.MotorOverheatAcknowledge",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.MotorOverheatAcknowledge.InputArguments"
}
]
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump1.MotorOverheatConfirm.InputArguments",
"parentNodeId": "ns=1;s=Pump1.MotorOverheatConfirm",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.MotorOverheatConfirm"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:MotorOverheatConfirm",
"displayName": [
{
"value": "MotorOverheatConfirm"
}
],
"methodDeclarationId": "i=9113",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump1.MotorOverheatConfirm",
"parentNodeId": "ns=1;s=Pump1",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump1"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump1.MotorOverheatConfirm.InputArguments"
}
]
},
{
"browseName": "1:Pump_1Type",
"description": [
{
"value": "Sample-owned PumpType subtype declaring the alarms Pump1 raises."
}
],
"displayName": [
{
"value": "Pump_1Type"
}
],
"nodeClass": "ObjectType",
"nodeId": "ns=1;s=Pump1.Type",
"references": [
{
"isForward": false,
"referenceType": "HasSubtype",
"target": "ns=2;i=1052"
},
{
"referenceType": "GeneratesEvent",
"target": "ns=1;s=Pump1.CavitationAlarm"
},
{
"referenceType": "GeneratesEvent",
"target": "ns=1;s=Pump1.MotorOverheatAlarm"
}
],
"superType": "ns=2;i=1052"
},
{
"browseName": "1:Pump_2",
"description": [
{
"value": "Sample-owned aggregate pump projected from two upstream OPC UA servers."
}
],
"displayName": [
{
"value": "Pump #2"
}
],
"eventNotifier": 1,
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2",
"references": [
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Identification"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Maintenance"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=1;s=Pump2.Type"
},
{
"isForward": false,
"referenceType": "i=35",
"target": "i=85"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceARunning"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceAStart"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceAStop"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceAReset"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceBRunning"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceBStart"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceBStop"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.SourceBReset"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.CavitationAcknowledge"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.CavitationConfirm"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.MotorOverheatAcknowledge"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.MotorOverheatConfirm"
}
],
"typeDefinition": "ns=1;s=Pump2.Type"
},
{
"browseName": "4:Identification",
"displayName": [
{
"value": "Identification"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Identification",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Identification.Manufacturer"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Identification.SerialNumber"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Identification.ProductInstanceUri"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1005"
}
],
"typeDefinition": "ns=2;i=1005"
},
{
"browseName": "4:Manufacturer",
"dataType": "LocalizedText",
"displayName": [
{
"value": "Manufacturer"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Identification.Manufacturer",
"parentNodeId": "ns=1;s=Pump2.Identification",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Identification"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:LocalizedText xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:Text>SimPump Corp</uax:Text>\n </uax:LocalizedText>"
},
{
"browseName": "4:SerialNumber",
"dataType": "String",
"displayName": [
{
"value": "SerialNumber"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Identification.SerialNumber",
"parentNodeId": "ns=1;s=Pump2.Identification",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Identification"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">SN-002</uax:String>"
},
{
"browseName": "4:ProductInstanceUri",
"dataType": "String",
"displayName": [
{
"value": "ProductInstanceUri"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Identification.ProductInstanceUri",
"parentNodeId": "ns=1;s=Pump2.Identification",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Identification"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:String xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">urn:simdevice:SimPump:PumpX-2000:SN-002</uax:String>"
},
{
"browseName": "4:Operational",
"displayName": [
{
"value": "Operational"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Operational",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1053"
}
],
"typeDefinition": "ns=2;i=1053"
},
{
"browseName": "2:Measurements",
"displayName": [
{
"value": "Measurements"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Operational.Measurements",
"parentNodeId": "ns=1;s=Pump2.Operational",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.MassFlow"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.Level"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements.NumberOfStarts"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1054"
}
],
"typeDefinition": "ns=2;i=1054"
},
{
"browseName": "2:DifferentialPressure",
"dataType": "Double",
"displayName": [
{
"value": "DifferentialPressure"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>5259596</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>Pa</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Pascal</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.DifferentialPressure"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>1000000</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:FluidTemperature",
"dataType": "Double",
"displayName": [
{
"value": "FluidTemperature"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>4932940</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>K</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Kelvin</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.FluidTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>233.15</uax:Low>\n <uax:High>473.15</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:BearingTemperature",
"dataType": "Double",
"displayName": [
{
"value": "BearingTemperature"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>4932940</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>K</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Kelvin</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.BearingTemperature"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>233.15</uax:Low>\n <uax:High>473.15</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:PumpPowerInput",
"dataType": "Double",
"displayName": [
{
"value": "PumpPowerInput"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>5723220</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>W</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Watt</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpPowerInput"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>50000</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:MassFlow",
"dataType": "Double",
"displayName": [
{
"value": "MassFlow"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.MassFlow",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.MassFlow.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.MassFlow.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.MassFlow.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.MassFlow",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.MassFlow"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>4933459</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>kg/s</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Kilograms per Second</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.MassFlow.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.MassFlow",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.MassFlow"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>1</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:PumpEfficiency",
"dataType": "Double",
"displayName": [
{
"value": "PumpEfficiency"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>20529</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>%</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Percent</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.PumpEfficiency"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>100</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:Level",
"dataType": "Double",
"displayName": [
{
"value": "Level"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.Level",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.Level.EngineeringUnits"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.Level.EURange"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "EngineeringUnits",
"dataType": "EUInformation",
"displayName": [
{
"value": "EngineeringUnits"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.Level.EngineeringUnits",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.Level",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.Level"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=888</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:EUInformation>\n <uax:NamespaceUri>http://www.opcfoundation.org/UA/units/un/cefact</uax:NamespaceUri>\n <uax:UnitId>5067858</uax:UnitId>\n <uax:DisplayName>\n <uax:Text>m</uax:Text>\n </uax:DisplayName>\n <uax:Description>\n <uax:Text>Metre</uax:Text>\n </uax:Description>\n </uax:EUInformation>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "EURange",
"dataType": "Range",
"displayName": [
{
"value": "EURange"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.Level.EURange",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements.Level",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.Operational.Measurements.Level"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueXml": "<uax:ExtensionObject xmlns:uax=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <uax:TypeId>\n <uax:Identifier>i=885</uax:Identifier>\n </uax:TypeId>\n <uax:Body>\n <uax:Range>\n <uax:Low>0</uax:Low>\n <uax:High>10</uax:High>\n </uax:Range>\n </uax:Body>\n </uax:ExtensionObject>"
},
{
"browseName": "2:NumberOfStarts",
"dataType": "UInt32",
"displayName": [
{
"value": "NumberOfStarts"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Operational.Measurements.NumberOfStarts",
"parentNodeId": "ns=1;s=Pump2.Operational.Measurements",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Operational.Measurements"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=15318"
}
],
"typeDefinition": "i=15318"
},
{
"browseName": "2:Events",
"displayName": [
{
"value": "Events"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Events",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events.SupervisionProcessFluid"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events.SupervisionPumpOperation"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1019"
}
],
"typeDefinition": "ns=2;i=1019"
},
{
"browseName": "2:SupervisionProcessFluid",
"displayName": [
{
"value": "SupervisionProcessFluid"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Events.SupervisionProcessFluid",
"parentNodeId": "ns=1;s=Pump2.Events",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events.SupervisionProcessFluid.Cavitation"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1015"
}
],
"typeDefinition": "ns=2;i=1015"
},
{
"browseName": "2:Cavitation",
"dataType": "Boolean",
"displayName": [
{
"value": "Cavitation"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Events.SupervisionProcessFluid.Cavitation",
"parentNodeId": "ns=1;s=Pump2.Events.SupervisionProcessFluid",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events.SupervisionProcessFluid"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=2373"
}
],
"typeDefinition": "i=2373"
},
{
"browseName": "2:SupervisionPumpOperation",
"displayName": [
{
"value": "SupervisionPumpOperation"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Events.SupervisionPumpOperation",
"parentNodeId": "ns=1;s=Pump2.Events",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events"
},
{
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events.SupervisionPumpOperation.MotorOverheat"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1016"
}
],
"typeDefinition": "ns=2;i=1016"
},
{
"browseName": "2:MotorOverheat",
"dataType": "Boolean",
"displayName": [
{
"value": "MotorOverheat"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.Events.SupervisionPumpOperation.MotorOverheat",
"parentNodeId": "ns=1;s=Pump2.Events.SupervisionPumpOperation",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2.Events.SupervisionPumpOperation"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=2373"
}
],
"typeDefinition": "i=2373"
},
{
"browseName": "4:Maintenance",
"displayName": [
{
"value": "Maintenance"
}
],
"nodeClass": "Object",
"nodeId": "ns=1;s=Pump2.Maintenance",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasTypeDefinition",
"target": "ns=2;i=1011"
}
],
"typeDefinition": "ns=2;i=1011"
},
{
"browseName": "1:SourceARunning",
"dataType": "Boolean",
"displayName": [
{
"value": "SourceARunning"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.SourceARunning",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=63"
}
],
"typeDefinition": "i=63"
},
{
"browseName": "1:SourceAStart",
"displayName": [
{
"value": "SourceAStart"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.SourceAStart",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
}
]
},
{
"browseName": "1:SourceAStop",
"displayName": [
{
"value": "SourceAStop"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.SourceAStop",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
}
]
},
{
"browseName": "1:SourceAReset",
"displayName": [
{
"value": "SourceAReset"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.SourceAReset",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
}
]
},
{
"browseName": "1:SourceBRunning",
"dataType": "Boolean",
"displayName": [
{
"value": "SourceBRunning"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.SourceBRunning",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=63"
}
],
"typeDefinition": "i=63"
},
{
"browseName": "1:SourceBStart",
"displayName": [
{
"value": "SourceBStart"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.SourceBStart",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
}
]
},
{
"browseName": "1:SourceBStop",
"displayName": [
{
"value": "SourceBStop"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.SourceBStop",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
}
]
},
{
"browseName": "1:SourceBReset",
"displayName": [
{
"value": "SourceBReset"
}
],
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.SourceBReset",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
}
]
},
{
"browseName": "1:CavitationAlarm",
"description": [
{
"value": "SourceA-owned Cavitation notifications for Pump2."
}
],
"displayName": [
{
"value": "CavitationAlarm"
}
],
"nodeClass": "ObjectType",
"nodeId": "ns=1;s=Pump2.CavitationAlarm",
"references": [
{
"isForward": false,
"referenceType": "HasSubtype",
"target": "i=2915"
}
],
"superType": "i=2915"
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.CavitationAcknowledge.InputArguments",
"parentNodeId": "ns=1;s=Pump2.CavitationAcknowledge",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.CavitationAcknowledge"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:CavitationAcknowledge",
"displayName": [
{
"value": "CavitationAcknowledge"
}
],
"methodDeclarationId": "i=9111",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.CavitationAcknowledge",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.CavitationAcknowledge.InputArguments"
}
]
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.CavitationConfirm.InputArguments",
"parentNodeId": "ns=1;s=Pump2.CavitationConfirm",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.CavitationConfirm"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:CavitationConfirm",
"displayName": [
{
"value": "CavitationConfirm"
}
],
"methodDeclarationId": "i=9113",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.CavitationConfirm",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.CavitationConfirm.InputArguments"
}
]
},
{
"browseName": "1:MotorOverheatAlarm",
"description": [
{
"value": "SourceB-owned MotorOverheat notifications for Pump2."
}
],
"displayName": [
{
"value": "MotorOverheatAlarm"
}
],
"nodeClass": "ObjectType",
"nodeId": "ns=1;s=Pump2.MotorOverheatAlarm",
"references": [
{
"isForward": false,
"referenceType": "HasSubtype",
"target": "i=2915"
}
],
"superType": "i=2915"
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.MotorOverheatAcknowledge.InputArguments",
"parentNodeId": "ns=1;s=Pump2.MotorOverheatAcknowledge",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.MotorOverheatAcknowledge"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:MotorOverheatAcknowledge",
"displayName": [
{
"value": "MotorOverheatAcknowledge"
}
],
"methodDeclarationId": "i=9111",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.MotorOverheatAcknowledge",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.MotorOverheatAcknowledge.InputArguments"
}
]
},
{
"arrayDimensions": "2",
"browseName": "InputArguments",
"dataType": "Argument",
"displayName": [
{
"value": "InputArguments"
}
],
"nodeClass": "Variable",
"nodeId": "ns=1;s=Pump2.MotorOverheatConfirm.InputArguments",
"parentNodeId": "ns=1;s=Pump2.MotorOverheatConfirm",
"references": [
{
"isForward": false,
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.MotorOverheatConfirm"
},
{
"referenceType": "HasTypeDefinition",
"target": "i=68"
}
],
"typeDefinition": "i=68",
"valueRank": 1,
"valueXml": "<ListOfExtensionObject xmlns=\"http://opcfoundation.org/UA/2008/02/Types.xsd\">\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>EventId</Name>\n <DataType>\n <Identifier>i=15</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>The occurrence EventId returned by this source's alarm.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n <ExtensionObject>\n <TypeId>\n <Identifier>i=297</Identifier>\n </TypeId>\n <Body>\n <Argument>\n <Name>Comment</Name>\n <DataType>\n <Identifier>i=21</Identifier>\n </DataType>\n <ValueRank>-1</ValueRank>\n <ArrayDimensions />\n <Description>\n <Text>Optional operator comment.</Text>\n </Description>\n </Argument>\n </Body>\n </ExtensionObject>\n </ListOfExtensionObject>"
},
{
"browseName": "1:MotorOverheatConfirm",
"displayName": [
{
"value": "MotorOverheatConfirm"
}
],
"methodDeclarationId": "i=9113",
"nodeClass": "Method",
"nodeId": "ns=1;s=Pump2.MotorOverheatConfirm",
"parentNodeId": "ns=1;s=Pump2",
"references": [
{
"isForward": false,
"referenceType": "HasComponent",
"target": "ns=1;s=Pump2"
},
{
"referenceType": "HasProperty",
"target": "ns=1;s=Pump2.MotorOverheatConfirm.InputArguments"
}
]
},
{
"browseName": "1:Pump_2Type",
"description": [
{
"value": "Sample-owned PumpType subtype declaring the alarms Pump2 raises."
}
],
"displayName": [
{
"value": "Pump_2Type"
}
],
"nodeClass": "ObjectType",
"nodeId": "ns=1;s=Pump2.Type",
"references": [
{
"isForward": false,
"referenceType": "HasSubtype",
"target": "ns=2;i=1052"
},
{
"referenceType": "GeneratesEvent",
"target": "ns=1;s=Pump2.CavitationAlarm"
},
{
"referenceType": "GeneratesEvent",
"target": "ns=1;s=Pump2.MotorOverheatAlarm"
}
],
"superType": "ns=2;i=1052"
}
],
"profileVersion": "1.0"
}
}