6 OPC UA ObjectTypes used for structuring the address space

6.1 BACnetInternetworkType

6.1.1 General

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.

6.1.2 ObjectType definition

The BACnetInternetworkType is formally defined in Table 7.

Table 7 – BACnetInternetworkType Definition
Attribute Value
BrowseNameBACnetInternetworkType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentObject<BACnetDeviceName>BACnetDeviceTypeOP
0:HasComponentMethodTranslateBACnetIdsM
0:HasComponentMethodNetworkScanO
0:HasComponentMethodAddDeviceByAddressO
0:HasComponentMethodAddDeviceByIdO
0:HasComponentMethodGetDeviceIdListM
0:HasComponentMethodTimeSynchronizationO

The BACnetObjectType is an abstract type and cannot be used directly.

6.1.3 ObjectType Description

6.1.3.1 Objects <BACnetDeviceName>

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.

6.1.3.2 Method TranslateBACnetIds

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.

OpcUaIdsList 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
6.1.3.3 Method NetworkScan

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
WaitTimeInSecondsWait time between sending Who-Is and returning the received I-Am results.
ApplyRangeFlag indicating if the DeviceRangeLow and DeviceRangeHigh parameters are applied.
DeviceRangeLowThis 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.
DeviceRangeHighThis 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.
DeviceAddressBindingsThe 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}

VendorIdentifierThis 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
6.1.3.4 Method AddDeviceByAddress

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]	BaseDataType	Address
		);
	
Argument Description
AddressBACnet device identifier and mac address as returned by the NetworkScan.

Method Result Codes

ResultCode Description
Common StatusCodes defined in OPC 10000-4
6.1.3.5 Method GetDeviceIdList

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
BACnetDeviceIdsAn array of BACnetObjectIdentifiers known to the BACnetUaMapper
OpcUaObjectIdsAn 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
6.1.3.6 Method AddDeviceById

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]	NodeId	DeviceObject
		);
	
Argument Description
DeviceObjectThe 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
6.1.3.7 Method TimeSynchronization

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]	UtcTime	Time
		);
	
Argument Description
TimeThe UTC time used to update the time of the BACnet devices.

Method Result Codes

ResultCode Description
Common StatusCodes defined in OPC 10000-4