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.

image015.jpg

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