This OPC UA ObjectType represents a BACnet Internetwork. A BACnet Internetwork consists of one or more BACnet Devices and may be setup using different BACnet Data-Link-Layers connected through BACnet router devices.
The BACnetInternetworkType is formally defined in Table 7.
Table 7 – BACnetInternetworkType Definition
Attribute |
Value |
|||||
BrowseName |
BACnetInternetwork Type |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of the BaseObjectType defined in OPC 10000-5 |
||||||
|
|
|
|
|
|
|
0:HasComponent |
Object |
<BACnetDeviceName> |
|
BACnetDeviceType |
OP |
|
0:HasComponent |
Method |
TranslateBACnetIds |
|
|
M |
|
0:HasComponent |
Method |
NetworkScan |
|
|
O |
|
0:HasComponent |
Method |
AddDeviceByAddress |
|
|
O |
|
0:HasComponent |
Method |
AddDeviceById |
|
|
O |
|
0:HasComponent |
Method |
GetDeviceIdList |
|
|
M |
|
0:HasComponent |
Method |
TimeSynchronization |
|
|
O |
The BACnetObjectType is an abstract type and cannot be used directly.
List of BACnet devices contained in the internetwork. The BACnetUaMapper may limit the list to the devices configured in the BACnetUaMapper or configured through the Methods NetworkScan, AddDevice and RemoveDevice.
TranslateBACnetIds allows an OPC UA Client to request the NodeIds of OPC UA Objects representing BACnet objects by passing in the BACnet object identifier for the device and the object. This enables a Client to translate the BACnet address into an OPC UA NodeId.
Signature
TranslateBACnetIds(
[in] BACnetDeviceObjectPropertyReference[]BACnetIds
[out]NodeId[] OpcUaIds
);
Argument |
Description |
BACnetIds |
List of BACnet references to BACnet devices, objects and properties. The BACnetDeviceObjectPropertyReference DataType is defined in 10.5.9. |
OpcUaIds |
List of NodeIds of the OPC UA Objects representing the requested BACnet object in the BACnet device. |
Method Result Codes
ResultCode |
Description |
|
Common StatusCodes defined in OPC 10000-4 |
NetworkScan allows an OPC UA Client to update the BACnet device list by using the BACnet Who-Is and I-Am services.
Signature
NetworkScan (
[in]0:UInt32 WaitTimeInSeconds
[in]0:Boolean ApplyRange
[in]0:UInt32 DeviceRangeLow
[in]0:UInt32 DeviceRangeHigh
[out]BaseDataType [] DeviceAddressBindings
[out]0:UInt32 [] MaxAPDULengthAccepted
[out]BACnetSegmentation [] SegmentationSupported
[out]0:UInt16 [] VendorIdentifier
);
Argument |
Description |
WaitTimeInSeconds |
Wait time between sending Who-Is and returning the received I-Am results. |
ApplyRange |
Flag indicating if the DeviceRangeLow and DeviceRangeHigh parameters are applied. |
DeviceRangeLow |
This parameter is an unsigned integer in the range 0 - 4194303. In conjunction with the 'Device Instance Range High Limit' parameter, it defines the devices that are qualified to respond with an I-Am service request. If the 'Device Instance Range Low Limit' parameter is present, then the 'Device Instance Range High Limit' parameter shall also be present, and only those devices whose Device Object_Identifier instance number falls within the range 'Device Instance Range Low Limit' ≤ Device Object_Identifier Instance Number ≤ 'Device Instance Range High Limit' shall be qualified to respond. The value of the 'Device Instance Range Low Limit' shall be less than or equal to the value of the 'Device Instance Range High Limit'. If the 'Device Instance Range Low Limit' and 'Device Instance Range High Limit' parameters are omitted, then all devices that receive this message are qualified to respond with an I-Am service request. |
DeviceRangeHigh |
This parameter is an unsigned integer in the range 0 - 4194303. In conjunction with the 'Device Instance Range Low Limit' parameter, it defines the devices that are qualified to respond with an I-Am service request. If the 'Device Instance Range High Limit' parameter is present, then the 'Device Instance Range Low Limit' parameter shall also be present, and only those devices whose Device Object_Identifier instance number falls within the range 'Device Instance Range Low Limit' ≤ Device Object_Identifier Instance Number ≤ 'Device Instance Range High Limit' shall be qualified to respond. The value of the 'Device Instance Range High Limit' shall be greater than or equal to the value of the 'Device Instance Range Low Limit'. If the 'Device Instance Range Low Limit' and 'Device Instance Range High Limit' parameters are omitted, then all devices that receive this message are qualified to respond with an I-Am service request. |
DeviceAddressBindings |
The format is server-specific. In each value of the array should be the device identifier and the BACnet MAC address provided by the I-Am service. |
MaxAPDULengthAccepted |
This element, of type Unsigned, is the maximum number of octets that may be contained in a single, indivisible application layer protocol data unit. The value of this property shall be greater than or equal to 50. The value of this property is also constrained by the underlying data link technology. See Clauses 6 through 11. If the value of this property is not encodable in the 'Max APDU Length Accepted' parameter of a ConfirmedRequest-PDU, then the value encoded shall be the highest encodable value less than the value of this property. In such cases, a responding device may ignore the encoded value in favor of the value of this property, if it is known. |
SegmentationSupported |
This element, of type BACnetSegmentation, indicates whether the BACnet Device supports segmentation of messages and, if so, whether it supports segmented transmission, reception, or both: {SEGMENTED_BOTH, SEGMENTED_TRANSMIT, SEGMENTED_RECEIVE, NO_SEGMENTATION} |
VendorIdentifier |
This element, of type Unsigned16, is a unique vendor identification code, assigned by ASHRAE, which is used to distinguish proprietary extensions to the protocol. |
Method Result Codes
ResultCode |
Description |
|
Common StatusCodes defined in OPC 10000-4 |
AddDeviceByAddress allows adding a BACnet device with a known address to BACnetInternetworkType Object. The necessary information can be retrieved from the Method NetworkScan. The BACnetUaMapper may limit access to this method to administrative users.
Signature
AddDeviceByAddress (
[in]BaseDataTypeAddress
);
Argument |
Description |
Address |
BACnet device identifier and mac address as returned by the NetworkScan. |
Method Result Codes
ResultCode |
Description |
|
Common StatusCodes defined in OPC 10000-4 |
GetDeviceIdList provides a list of known devices. The necessary information can be updated using the Method NetworkScan. The BACnetUaMapper may limit access to this method to administrative users.
Signature
GetDeviceIdList (
[out]BACnetObjectIdentifier[]BACnetDeviceIds,
[out]NodeId[] OpcUaObjectIds
);
Argument |
Description |
BACnetDeviceIds |
An array of BACnetObjectIdentifiers known to the BACnetUaMapper |
OpcUaObjectIds |
An array of NodeIds containing the internal identification of the corresponding BACnetObjectIdentifier. Array shall have the same size as BACnetDeviceIds |
Method Result Codes
ResultCode |
Description |
|
Common StatusCodes defined in OPC 10000-4 |
AddDeviceById allows adding a BACnet device with a known internal Id to BACnetInternetworkType Object. The necessary information can be retrieved from the Method GetDeviceIdList. The BACnetUaMapper may limit access to this method to administrative users.
Signature
AddDeviceById (
[in]NodeIdDeviceObject
);
Argument |
Description |
DeviceObject |
The internal Id of the BACnet device to be added. Can be retrieved by calling GetDeviceIdList. |
Method Result Codes
ResultCode |
Description |
|
Common StatusCodes defined in OPC 10000-4 |
This Method is used to update the time of the BACnet devices in the network. See B.3 for more details. This method is only provided if the BACnetUaMapper is a BACnet time master.
Signature
TimeSynchronization (
[in]UtcTimeTime
);
Argument |
Description |
Time |
The UTC time used to update the time of the BACnet devices. |
Method Result Codes
ResultCode |
Description |
|
Common StatusCodes defined in OPC 10000-4 |