OPC 30030: BACnet


Released 2.00.1

2023-06-02

This document is subject to the license terms described here.

The general OPC Foundation specification license agreement also applies and can be found here.

This document is a copy of the original which can be found here.


1 Scope 2 Normative References 3 Terms, definitions, and conventions 3.1 Use of terms 3.2 Terms used from BACnet standard 3.2.1 Command Prioritization 3.2.2 Change of Value (COV) 3.3 OPC UA for BACnet Information Model terms 3.3.1 BACnetUaMapper 3.4 Abbreviations and symbols 3.5 Conventions used in this document 3.5.1 Conventions for Node descriptions 3.5.2 NodeIds and BrowseNames 3.5.2.1 NodeIds 3.5.2.2 BrowseNames 3.5.3 Common Attributes 3.5.3.1 General 3.5.3.2 Objects 3.5.3.3 Variables 3.5.3.4 VariableTypes 4 General information to BACnet and OPC UA 4.1.1 Introduction to BACnet 4.1.1.1 General 4.1.1.2 BACnet Data-Link-Layers 4.1.1.3 BACnet Objects 4.1.1.4 BACnet Application Services 4.1.1.5 BACnet Device Profiles 4.1.2 Introduction to OPC Unified Architecture 4.1.2.1 General 4.1.2.2 Graphical Notation 4.1.3 Use Cases 5 BACnet OPC UA Model Overview 5.1 Modelling concepts 5.2 Model Overview 5.3 Event and alarm handling 5.4 Character Set handling 6 OPC UA ObjectTypes used for structuring the address space 6.1 BACnetInternetworkType 6.1.1 General 6.1.2 ObjectType definition 6.1.3 ObjectType Description 6.1.3.1 Objects <BACnetDeviceName> 6.1.3.2 Method TranslateBACnetIds 6.1.3.3 Method NetworkScan 6.1.3.4 Method AddDeviceByAddress 6.1.3.5 Method GetDeviceIdList 6.1.3.6 Method AddDeviceById 6.1.3.7 Method TimeSynchronization 7 OPC UA ObjectTypes representing BACnet object types 7.1 BACnetObjectType 7.1.1 General 7.1.2 ObjectType definition 7.1.3 ObjectType Description 7.1.3.1 Standard OPC UA Object Attributes 7.1.3.2 Variable Object_Identifier 7.1.3.3 Variable Profile_Name 7.2 BACnetObjectTypeUnknown 7.2.1 General 7.2.2 ObjectType definition 7.2.3 ObjectType Description 7.2.3.1 Variable Object_Type 7.3 BACnetDeviceType 7.3.1 General 7.3.2 ObjectType definition 7.3.3 ObjectType Description 7.3.3.1 EventNotifier Attribute 7.3.3.2 Object Object_List 7.3.3.3 Object Structured_Object_List 7.3.3.4 Object TimeManagement 7.3.3.5 Object BackupRestore 7.3.3.6 Object MstpMaster 7.3.3.7 Object DeviceRestart 7.3.3.8 Notifier Objects 7.3.3.9 Variable System_Status 7.3.3.10 Variable Vendor_Name 7.3.3.11 Variable Vendor_Identifier 7.3.3.12 Variable Model_Name 7.3.3.13 Variable Serial_Number 7.3.3.14 Variable Firmware_Revision 7.3.3.15 Variable Application_Software_Version 7.3.3.16 Variable Location 7.3.3.17 Variable Protocol_Version 7.3.3.18 Variable Protocol_Revision 7.3.3.19 Variable Protocol_Services_Supported 7.3.3.20 Variable Protocol_Object_Types_Supported 7.3.3.21 Variable Max_APDU_Length_Accepted 7.3.3.22 Variable Segmentation_Supported 7.3.3.23 Variable Max_Segments_Accepted 7.3.3.24 Variable APDU_Segment_Timeout 7.3.3.25 Variable APDU_Timeout 7.3.3.26 Variable Number_Of_APDU_Retries 7.3.3.27 Variable Device_Address_Binding 7.3.3.28 Variable Database_Revision 7.3.3.29 Variable Active_COV_Subscriptions 7.3.3.30 Method CreateObject 7.3.3.31 Method DeleteObject 7.3.3.32 Method ReinitializeDevice 7.3.3.33 Method DeviceCommunicationControl 7.3.3.34 Method TextMessage 7.3.3.35 Method AddDeviceAddressBindings 7.3.3.36 Method RemoveDeviceAddressBindings 7.4 BACnetAnalogType 7.4.1 General 7.4.2 ObjectType definition 7.4.3 ObjectType Description 7.4.3.1 Variable Present_Value 7.4.3.2 Variable Out_Of_Service 7.4.3.3 Variable Status_Flags 7.4.3.4 Variable COV_Increment 7.4.3.5 Variable Resolution 7.4.3.6 Object EventReporting 7.4.3.7 Object FaultEvaluation 7.5 BACnetAnalogInputType 7.5.1 General 7.5.2 ObjectType definition 7.5.3 ObjectType Description 7.5.3.1 Variable Device_Type 7.6 BACnetAnalogOutputType 7.6.1 General 7.6.2 ObjectType definition 7.6.3 ObjectType Description 7.6.3.1 Variable Device_Type 7.6.3.2 Variable Priority_Array 7.6.3.3 Variable Relinquish_Default 7.7 BACnetAnalogValueType 7.7.1 General 7.7.2 ObjectType definition 7.7.3 ObjectType Description 7.7.3.1 Variable Priority_Array 7.7.3.2 Variable Relinquish_Default 7.8 BACnetBinaryType 7.8.1 General 7.8.2 ObjectType definition 7.8.3 ObjectType Description 7.8.3.1 Variable Present_Value 7.8.3.2 Variable Out_Of_Service 7.8.3.3 Variable Status_Flags 7.8.3.4 Object ChangeOfState 7.8.3.5 Object ElapsedActiveTime 7.8.3.6 Object EventReporting 7.8.3.7 Object FaultEvaluation 7.9 BACnetBinaryInputType 7.9.1 General 7.9.2 ObjectType definition 7.9.3 ObjectType Description 7.9.3.1 EventReporting Object override 7.9.3.2 Variable Device_Type 7.9.3.3 Variable Polarity 7.10 BACnetBinaryOutputType 7.10.1 General 7.10.2 ObjectType definition 7.10.3 ObjectType Description 7.10.3.1 EventReporting Object override 7.10.3.2 Variable Device_Type 7.10.3.3 Variable Polarity 7.10.3.4 Variable Priority_Array 7.10.3.5 Variable Relinquish_Default 7.10.3.6 Variable Minimum_Off_Time 7.10.3.7 Variable Minimum_On_Time 7.10.3.8 Variable Feedback_Value 7.11 BACnetBinaryValueType 7.11.1 General 7.11.2 ObjectType definition 7.11.3 ObjectType Description 7.11.3.1 EventReporting Object override 7.11.3.2 Variable Priority_Array 7.11.3.3 Variable Relinquish_Default 7.11.3.4 Variable Minimum_Off_Time 7.11.3.5 Variable Minimum_On_Time 7.12 BACnetMultiStateType 7.12.1 General 7.12.2 ObjectType definition 7.12.3 ObjectType Description 7.12.3.1 Variable Present_Value 7.12.3.2 Variable Out_Of_Service 7.12.3.3 Variable Status_Flags 7.12.3.4 Object EventReporting 7.12.3.5 Object FaultEvaluation 7.13 BACnetMultiStateInputType 7.13.1 General 7.13.2 ObjectType definition 7.13.3 ObjectType Description 7.13.3.1 EventReporting Object override 7.13.3.2 FaultEvaluation Object override 7.13.3.3 Variable Device_Type 7.14 BACnetMultiStateOutputType 7.14.1 General 7.14.2 ObjectType definition 7.14.3 ObjectType Description 7.14.3.1 EventReporting Object override 7.14.3.2 Variable Device_Type 7.14.3.3 Variable Priority_Array 7.14.3.4 Variable Relinquish_Default 7.14.3.5 Variable Feedback_Value 7.15 BACnetMultiStateValueType 7.15.1 General 7.15.2 ObjectType definition 7.15.3 ObjectType Description 7.15.3.1 EventReporting Object override 7.15.3.2 FaultEvaluation Object override 7.15.3.3 Variable Priority_Array 7.15.3.4 Variable Relinquish_Default 7.15.3.5 Variable Fault_Values 7.16 BACnetCalendarType 7.16.1 General 7.16.2 ObjectType definition 7.16.3 ObjectType Description 7.16.3.1 Variable Present_Value 7.16.3.2 Variable Date_List 7.16.3.3 Method AddDateListElements 7.16.3.4 Method RemoveDateListElements 7.17 BACnetScheduleType 7.17.1 General 7.17.2 ObjectType definition 7.17.3 ObjectType Description 7.17.3.1 Variable Present_Value 7.17.3.2 Variable Schedule_Default 7.17.3.3 Variable Exception_Schedule 7.17.3.4 Variable Weekly_Schedule 7.17.3.5 Variable List_Of_Object_Property_References 7.17.3.6 Method AddObjectPropertyReferences 7.17.3.7 Method RemoveObjectPropertyReferences 7.17.3.8 Variable Priority_For_Writing 7.17.3.9 Object FaultEvaluation 7.17.3.10 Variable Out_Of_Service 7.17.3.11 Variable Status_Flags 7.17.3.12 Variable Effective_Period 7.17.3.13 Object EventReporting 7.18 BACnetLoopType 7.18.1 General 7.18.2 ObjectType definition 7.18.3 ObjectType Description 7.18.3.1 Variable Present_Value 7.18.3.2 Variable Status_Flags 7.18.3.3 Object FaultEvaluation 7.18.3.4 Variable Out_Of_Service 7.18.3.5 Variable Manipulated_Variable_Reference 7.18.3.6 Variable Controlled_Variable_Reference 7.18.3.7 Variable Controlled_Variable_Value 7.18.3.8 Variable Setpoint_Reference 7.18.3.9 Variable Setpoint 7.18.3.10 Variable Action 7.18.3.11 Variable Proportional_Constant 7.18.3.12 Variable Integral_Constant 7.18.3.13 Variable Derivative_Constant 7.18.3.14 Variable Bias 7.18.3.15 Variable Priority_For_Writing 7.18.3.16 Variable COV_Increment 7.18.3.17 Object EventReporting 7.19 BACnetEventEnrollmentType 7.19.1 General 7.19.2 ObjectType definition 7.19.3 ObjectType Description 7.19.3.1 Variable Status_Flags 7.19.3.2 Variable Event_Type 7.19.3.3 Method SetEventAlgorithm 7.19.3.4 Variable Object_Property_Reference 7.19.3.5 Variable Fault_Type 7.19.3.6 Method SetFaultAlgorithm 7.19.3.7 Object FaultEvaluation 7.19.3.8 Object EventReporting 7.20 BACnetLogType 7.20.1 General 7.20.2 ObjectType definition 7.20.3 ObjectType Description 7.20.3.1 Variable Status_Flags 7.20.3.2 Variable Enable 7.20.3.3 Variable Start_Time 7.20.3.4 Variable Stop_Time 7.20.3.5 Variable Stop_When_Full 7.20.3.6 Variable Buffer_Size 7.20.3.7 Variable Record_Count 7.20.3.8 Variable Total_Record_Count 7.20.3.9 Variable Records_Since_Notification 7.20.3.10 Object FaultEvaluation 7.20.3.11 Object EventReporting 7.21 BACnetTrendLogBaseType 7.21.1 General 7.21.2 ObjectType definition 7.21.3 ObjectType Description 7.21.3.1 Variable Logging_Type 7.21.3.2 Variable Log_Interval 7.21.3.3 Variable Align_Intervals 7.21.3.4 Variable Interval_Offset 7.21.3.5 Variable Trigger 7.22 BACnetTrendLogType 7.22.1 General 7.22.2 ObjectType definition 7.22.3 ObjectType Description 7.22.3.1 Variable COV_Resubscription_Interval 7.22.3.2 Variable Client_COV_Increment 7.22.3.3 Variable Log_DeviceObjectProperty 7.22.3.4 Variable Log_Buffer 7.23 BACnetTrendLogMultipleType 7.23.1 General 7.23.2 ObjectType definition 7.23.3 ObjectType Description 7.23.3.1 Variable Log_DeviceObjectProperty 7.23.3.2 Variable Log_Buffer 7.24 BACnetEventLogType 7.24.1 General 7.24.2 ObjectType definition 7.25 BACnetStructuredViewType 7.25.1 General 7.25.2 ObjectType definition 7.25.3 ObjectType Description 7.25.3.1 <BACnetStructuredViewName> 7.25.3.2 <BACnetObjectType> 7.25.3.3 Node_Type 7.25.3.4 Variable Node_Subtype 7.25.3.5 Variable Subordinate_List 7.25.3.6 Variable Subordinate_Annotations 7.26 BACnetNotifierType 7.26.1 ObjectType definition 7.26.2 ObjectType Description 7.26.2.1 Variable Recipient_List 7.27 BACnetNotificationClassType 7.27.1 ObjectType definition 7.27.2 ObjectType Description 7.27.2.1 Variable NotificationClass 7.27.2.2 Priority 7.27.2.3 Ack_Required 8 ObjectTypes used for grouping of object properties 8.1 BACnetTimeManagementType 8.1.1 ObjectType definition 8.1.2 ObjectType Description 8.1.2.1 Variable Local_Date 8.1.2.2 Variable Local_Time 8.1.2.3 Variable UTC_Offset 8.1.2.4 Variable Daylight_Savings_Status 8.1.2.5 Method TimeSynchronization 8.2 BACnetAutomaticTimeSynchronizationMasterType 8.2.1 ObjectType definition 8.2.2 ObjectType Description 8.2.2.1 Variable Time_Synchronization_Recipients 8.2.2.2 Variable UTC_Time_Synchronization_Recipients 8.2.2.3 Variable Time_Synchronization_Interval 8.2.2.4 Variable Align_Intervals 8.2.2.5 Variable Interval_Offset 8.2.2.6 Method AddTimeSynchronizationRecipients 8.2.2.7 Method RemoveTimeSynchronizationRecipients 8.3 BACnetBackupRestoreType 8.3.1 ObjectType definition 8.3.2 ObjectType Description 8.3.2.1 Variable Configuration_Files 8.3.2.2 Variable Last_Restore_Time 8.3.2.3 Variable Backup_Failure_Timeout 8.3.2.4 Variable Backup_Preparation_Time 8.3.2.5 Variable Restore_Preparation_Time 8.3.2.6 Variable Restore_Completion_Time 8.3.2.7 Variable Backup_And_Restore_State 8.3.2.8 Method BACnetBackup 8.3.2.9 Method BACnetRestore 8.4 BACnetMstpMasterType 8.4.1 ObjectType definition 8.4.2 ObjectType Description 8.4.2.1 Variable Max_Master 8.4.2.2 Variable Max_Info_Frames 8.4.2.3 Variable Slave_Proxy_Enable 8.4.2.4 Variable Manual_Slave_Address_Binding 8.4.2.5 Variable Auto_Slave_Discovery 8.4.2.6 Variable Slave_Address_Binding 8.5 BACnetDeviceRestartType 8.5.1 ObjectType definition 8.5.2 ObjectType Description 8.5.2.1 Variable Last_Restart_Reason 8.5.2.2 Variable Time_Of_Device_Restart 8.5.2.3 Variable Restart_Notification_Recipients 8.5.2.4 Method AddRestartRecipients 8.5.2.5 Method RemoveRestartRecipients 8.6 BACnetChangeOfStateCountType 8.6.1 General 8.6.2 ObjectType definition 8.6.3 ObjectType Description 8.6.3.1 Variable Change_Of_State_Time 8.6.3.2 Variable Change_Of_State_Count 8.6.3.3 Variable Time_Of_State_Count_Reset 8.6.3.4 Method Reset 8.7 BACnetElapsedActiveTimeType 8.7.1 General 8.7.2 ObjectType definition 8.7.3 ObjectType Description 8.7.3.1 Variable Elapsed_Active_Time 8.7.3.2 Variable Time_Of_Active_Time_Reset 8.7.3.3 Method Reset 8.8 BACnetEventReportingType 8.8.1 General 8.8.2 ObjectType definition 8.8.3 ObjectType Description 8.8.3.1 Variable Event_State 8.8.3.2 Variable Notification_Class 8.8.3.3 Variable Event_Enable 8.8.3.4 Variable Acked_Transitions 8.8.3.5 Variable Notify_Type 8.8.3.6 Variable Event_Time_Stamps 8.8.3.7 Variable Event_Message_Texts 8.8.3.8 Variable Event_Detection_Enable 8.8.3.9 Variable Event_Algorithm_Inhibit_Ref 8.8.3.10 Variable Event_Algorithm_Inhibit 8.8.3.11 Object EventAlgorithm 8.9 BACnetEventAlgorithmType 8.9.1 General 8.9.2 ObjectType definition 8.9.3 ObjectType Description 8.9.3.1 Variable TimeDelay 8.9.3.2 Variable TimeDelayNormal 8.10 BACnetChangeOfStateAlgorithmType 8.10.1 ObjectType definition 8.10.2 ObjectType Description 8.10.2.1 Variable AlarmValues 8.11 BACnetCommandFailureAlgorithmType 8.11.1 ObjectType definition 8.11.2 ObjectType Description 8.11.2.1 Variable FeedbackValueRef 8.12 BACnetFloatingLimitAlgorithmType 8.12.1 ObjectType definition 8.12.2 ObjectType Description 8.12.2.1 Variable SetpointReference 8.12.2.2 Variable LowDiffLimit 8.12.2.3 Variable HighDiffLimit 8.12.2.4 Variable Deadband 8.13 BACnetOutOfRangeAlgorithmType 8.13.1 ObjectType definition 8.13.2 ObjectType Description 8.13.2.1 Variable HighLimit 8.13.2.2 Variable LowLimit 8.13.2.3 Variable Deadband 8.13.2.4 Variable LimitEnable 8.14 BACnetBufferReadyAlgorithmType 8.14.1 ObjectType definition 8.14.2 ObjectType Description 8.14.2.1 Variable Threshold 8.14.2.2 Variable PreviousCount 8.15 BACnetChangeOfBitStringAlgorithmType 8.15.1 ObjectType definition 8.15.2 ObjectType Description 8.15.2.1 Variable AlarmValues 8.16 BACnetChangeOfValueAlgorithmType 8.16.1 ObjectType definition 8.16.2 ObjectType Description 8.16.2.1 Variable Increment 8.16.2.2 Variable Bitmask 8.17 BACnetUnsignedRangeAlgorithmType 8.17.1 ObjectType definition 8.17.2 ObjectType Description 8.17.2.1 Variable LowLimit 8.17.2.2 Variable HighLimit 8.18 BACnetChangeOfStatusFlagsAlgorithmType 8.18.1 ObjectType definition 8.18.2 ObjectType Description 8.18.2.1 Variable SelectedFlags 8.19 BACnetDoubleOutOfRangeAlgorithmType 8.19.1 ObjectType definition 8.19.2 ObjectType Description 8.19.2.1 Variable HighLimit 8.19.2.2 Variable LowLimit 8.19.2.3 Variable Deadband 8.19.2.4 Variable LimitEnable 8.20 BACnetSignedOutOfRangeAlgorithmType 8.20.1 ObjectType definition 8.20.2 ObjectType Description 8.20.2.1 Variable HighLimit 8.20.2.2 Variable LowLimit 8.20.2.3 Variable Deadband 8.20.2.4 Variable LimitEnable 8.21 BACnetUnsignedOutOfRangeAlgorithmType 8.21.1 ObjectType definition 8.21.2 ObjectType Description 8.21.2.1 Variable HighLimit 8.21.2.2 Variable LowLimit 8.21.2.3 Variable Deadband 8.21.2.4 Variable LimitEnable 8.22 BACnetChangeOfCharacterStringAlgorithmType 8.22.1 ObjectType definition 8.22.2 ObjectType Description 8.22.2.1 Variable AlarmValues 8.23 BACnetFaultEvaluationType 8.23.1 General 8.23.2 ObjectType definition 8.23.3 ObjectType Description 8.23.3.1 Variable Reliability 8.23.3.2 Variable Reliability_Evaluation_Inhibit 8.23.3.3 Object FaultAlgorithm 8.24 BACnetFaultAlgorithmType 8.24.1 General 8.24.2 ObjectType definition 8.25 BACnetFaultStateAlgorithmType 8.25.1 ObjectType definition 8.25.2 ObjectType Description 8.25.2.1 Variable FaultValues 8.26 BACnetFaultCharacterStringAlgorithmType 8.26.1 ObjectType definition 8.26.2 ObjectType Description 8.26.2.1 Variable FaultValues 8.27 BACnetFaultStatusFlagsAlgorithmType 8.27.1 ObjectType definition 9 ConditionTypes 9.1 General 9.2 Mapping of BACnet Event Notification to OPC UA Event Fields 9.3 BACnetNotificationType 9.3.1 ObjectType definition 9.3.2 ObjectType Description 9.3.2.1 Variable Notification_Class 9.3.2.2 Variable Notifiy_Type 9.4 BACnetFaultNotificationType 9.4.1 ObjectType definition 9.4.2 ObjectType Description 9.4.2.1 Variable Reliability 9.4.2.2 Variable Status_Flags 9.5 BACnetChangeOfReliabilityNotificationType 9.5.1 ObjectType definition 9.5.2 ObjectType Description 9.5.2.1 Variable PropertyValues 9.6 BACnetEventNotificationType 9.6.1 ObjectType definition 9.7 BACnetChangeOfBitStringNotificationType 9.7.1 ObjectType definition 9.7.2 ObjectType Description 9.7.2.1 Variable ReferencedBitString 9.7.2.2 Variable StatusFlags 9.8 BACnetChangeOfStateNotificationType 9.8.1 ObjectType definition 9.8.2 ObjectType Description 9.8.2.1 Variable NewState 9.8.2.2 Variable StatusFlags 9.9 BACnetChangeOfValueNotificationType 9.9.1 ObjectType definition 9.9.2 ObjectType Description 9.9.2.1 Variable NewValue 9.9.2.2 Variable StatusFlags 9.10 BACnetChangeOfRealValueNotificationType 9.10.1 ObjectType definition 9.10.2 ObjectType Description 9.10.2.1 Variable NewValue 9.10.2.2 Variable StatusFlags 9.11 BACnetCommandFailureNotificationType 9.11.1 ObjectType definition 9.11.2 ObjectType Description 9.11.2.1 Variable CommandValue 9.11.2.2 Variable FeedbackValue 9.11.2.3 Variable StatusFlags 9.12 BACnetFloatingLimitNotificationType 9.12.1 ObjectType definition 9.12.2 ObjectType Description 9.12.2.1 Variable ReferenceValue 9.12.2.2 Variable SetpointValue 9.12.2.3 Variable ErrorLimit 9.12.2.4 Variable StatusFlags 9.13 BACnetOutOfRangeNotificationType 9.13.1 ObjectType definition 9.13.2 ObjectType Description 9.13.2.1 Variable ExceedingValue 9.13.2.2 Variable Deadband 9.13.2.3 Variable ExceedingLimit 9.13.2.4 Variable StatusFlags 9.14 BACnetBufferReadyNotificationType 9.14.1 ObjectType definition 9.14.2 ObjectType Description 9.14.2.1 Variable BufferProperty 9.14.2.2 Variable PreviousNotification 9.14.2.3 Variable CurrentNotification 9.15 BACnetUnsignedRangeNotificationType 9.15.1 ObjectType definition 9.15.2 ObjectType Description 9.15.2.1 Variable ExceedingValue 9.15.2.2 Variable ExceedingLimit 9.15.2.3 Variable StatusFlags 9.16 BACnetDoubleOutOfRangeNotificationType 9.16.1 ObjectType definition 9.16.2 ObjectType Description 9.16.2.1 Variable ExceedingValue 9.16.2.2 Variable Deadband 9.16.2.3 Variable ExceedingLimit 9.16.2.4 Variable StatusFlags 9.17 BACnetSignedOutOfRangeNotificationType 9.17.1 ObjectType definition 9.17.2 ObjectType Description 9.17.2.1 Variable ExceedingValue 9.17.2.2 Variable Deadband 9.17.2.3 Variable ExceedingLimit 9.17.2.4 Variable StatusFlags 9.18 BACnetUnsignedOutOfRangeNotificationType 9.18.1 ObjectType definition 9.18.2 ObjectType Description 9.18.2.1 Variable ExceedingValue 9.18.2.2 Variable Deadband 9.18.2.3 Variable ExceedingLimit 9.18.2.4 Variable StatusFlags 9.19 BACnetChangeOfCharacterStringNotificationType 9.19.1 ObjectType definition 9.19.2 ObjectType Description 9.19.2.1 Variable ChangedValue 9.19.2.2 Variable AlarmValue 9.19.2.3 Variable StatusFlags 10 Mapping of DataTypes 10.1 Primitive data types 10.1.1 SEQUENCE with optional fields 10.1.2 SEQUENCE OF 10.1.3 SEQUENCE with CHOICE 10.1.4 BACnetARRAY[7] of TYPE 10.1.5 BACnetARRAY[N] of TYPE 10.1.6 List Of of TYPE 10.1.7 Any 10.2 DataTypes derived from OPC UA Built-In types 10.2.1 BACnetObjectIdentifier 10.2.2 BACnetYear 10.3 OptionSet DataTypes used for BACnet bit strings 10.3.1 General 10.3.2 BACnetDaysOfWeek 10.3.3 BACnetEventTransitionBits 10.3.4 BACnetLimitEnable 10.3.5 BACnetObjectTypeSupportedBits 10.3.6 BACnetServicesSupportedBits 10.3.7 BACnetStatusFlags 10.4 Enumeration DataTypes 10.4.1 General 10.4.2 BACnetAction 10.4.3 BACnetBackupState 10.4.4 BACnenBinaryPV 10.4.5 BACnetDay 10.4.6 BACnetDayOfMonth 10.4.7 BACnetDayOfWeek 10.4.8 BACnetDeviceCommunicationEnabled 10.4.9 BACnetDeviceStatus 10.4.10 BACnetEventState 10.4.11 BACnetEventEnumType 10.4.12 BACnetEventType 10.4.13 BACnetFaultType 10.4.14 BACnetLifeSafetyMode 10.4.15 BACnetLifeSafetyOperation 10.4.16 BACnetLoggingType 10.4.17 BACnetMessagePriority 10.4.18 BACnetMonth 10.4.19 BACnetNodeType 10.4.20 BACnetNotifyType 10.4.21 BACnetObjectTypeEnum 10.4.22 BACnetPolarity 10.4.23 BACnetProgramError 10.4.24 BACnetProgramRequest 10.4.25 BACnetProgramStates 10.4.26 BACnetPropertyIdentifier 10.4.27 BACnetReinitializedStateofDevice 10.4.28 BACnetReliability 10.4.29 BACnetRestartReason 10.4.30 BACnetSegmentation 10.5 OPC UA Structure DataTypes 10.5.1 General 10.5.2 BACnetAddress 10.5.3 BACnetAddressBinding 10.5.4 BACnetCOVSubscription 10.5.5 BACnetDailySchedule 10.5.6 BACnetDate 10.5.7 BACnetDateRange 10.5.8 BACnetDateTime 10.5.9 BACnetDestination 10.5.10 BACnetDeviceObjectPropertyReference 10.5.11 BACnetEventParameterBufferReady 10.5.12 BACnetEventParameterChangeOfBitstring 10.5.13 BACnetEventParameterChangeOfCharacterString 10.5.14 BACnetEventParameterChangeOfLifeSafety 10.5.15 BACnetEventParameterChangeOfState 10.5.16 BACnetEventParameterChangeOfValue 10.5.17 BACnetEventParameterCommandFailure 10.5.18 BACnetEventParameteDoubleOutOfRange 10.5.19 BACnetEventParameterFloatingLimit 10.5.20 BACnetEventParameterOutOfRange 10.5.21 BACnetEventParameterSignedOutOfRange 10.5.22 BACnetEventParameterUnsignedOutOfRange 10.5.23 BACnetEventFaultParameterExtended 10.5.24 BACnetEventParameterUnsignedRange 10.5.25 BACnetFaultParameterFaultCharacterstring 10.5.26 BACnetFaultParameterFaultLifeSafety 10.5.27 BACnetFaultParameterFaultState 10.5.28 BACnetFaultParameterFaultStatusFlags 10.5.29 BACnetPropertyStates 10.5.30 BACnetRecipientProcess 10.5.31 BACnetSpecialEvent 10.5.32 BACnetTime 10.5.33 BACnetTimeValue 10.5.34 BACnetTimeValueValue 10.5.35 BACnetWeekNDay 10.6 OPC UA Union DataTypes 10.6.1 General 10.6.2 BACnetCalendarEntry 10.6.3 BACnetClientCOV 10.6.4 BACnetEventParameter 10.6.5 BACnetEventParameterExtendedParameters 10.6.6 BACnetFaultParameter 10.6.7 BACnetMessageClass 10.6.8 BACnetPriorityValue 10.6.9 BACnetRecipient 10.6.10 BACnetSpecialEventPeriod 10.6.11 BACnetTimeStamp 11 Mapping of Engineering Units 12 BACnet Profiles 13 Profiles and Conformance Units 13.1 Conformance Units 13.2 Profiles 13.2.1 Profile list 13.2.2 Server Facets 13.2.2.1 BACnet Mapping Server Facet 13.2.3 Client Facets 14 Namespaces 14.1 Namespace Metadata 14.2 Handling of OPC UA Namespaces Annex A (normative): BACnet Namespace and Mappings A.1 NodeSet and identifiers for BACnet Information Model Annex B (informative): BACnet Client Implementation B.1 General B.2 BACnet revisions B.3 Timestamps and time synchronization B.4 List handling B.5 Write with priority B.6 Confirmation of confirmed event notifications