You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 KiB

Bacnet软网关文档


拓扑一览

Bacnet设备<------>Bacnet软网关<-------->第三方应用

1.网关配置

使用HttpServer模式时,需要注意如果非127.0.0.1这个回环地址,需要手动添加prefix权限或者以管理员身份运行该网关。

目前是以Json来进行网关的启动配置项,后续会新增相关GUI优化使用体验。

配置路径

配置网关的配置文件存放于 SaveData\Default.json这个文件内,找到如下片段

  "EGFramework.Examples.MqttGateway.DataBacnetGatewaySetting": {
    "MqttHost": "192.168.1.220",
    "HttpServerPrefix": "http://127.0.0.1:5000/",
    "RequestTheme": "/LocalBacnetRequest",
    "ResponseTheme": "/LocalBacnetResponse"
  }

配置说明(此处值均为String)

声明 键值 示例 备注
MQTT服务器地址(string) MqttHost 192.168.1.220 需要改成实际的服务器地址
HttpServer前缀地址 HttpServerPrefix http://127.0.0.1:5000/ 需要以/符号结尾
请求主题(string) RequestTheme /LocalBacnetRequest 发布请求的订阅地址,参考1.1
响应主题(string) ResponseTheme /LocalBacnetResponse 接受响应的的订阅地址,参考1.2

补充说明

1.1 请求主题

开发第三方应用时,您仅需要把请求的内容发布到该主题下即可,网关会自动订阅该主题并接受该主题发布的所有消息,并将处理结果发布在响应主题上。

1.2 响应主题

开发第三方应用时,您需要订阅该主题来接收处理结果的响应,根据您发布到请求的内容,网关请求物理设备的处理结果会发布到该主题下,您需要根据内容自行判断是哪条请求的响应。

1.3 关于HttpSever模式

如果您使用httpServer作为网关请求时,仅需请求对应的接口地址即可。

2.WhoIs 设备列表查询

http接口地址

/WhoIs

请求结构说明

Bacnet请求构成

声明 键值 示例 备注
功能码(string) FunctionCode OperateRequest 固定值
操作码(Enum-uint) OperateCode 0~1024 需要查询操作码对照表T-0

请求案例

注意:MQTT请求设备列表时,需要等待2秒的设备扫描时间,可能不会立刻返回设备列表的结果。HttpServer不会出现此情况,但Http请求时仅使用设备缓存。

示例:

{
  "FunctionCode":"OperateRequest",
  "OperateCode":2
}

响应案例

{
  "DevicesList": [
    1
  ],
  "FunctionCode": "WhoIsResponse"
}

3.Bacnet 单寄存器读写

http接口地址

【读单个寄存器】/ReadRegisterProperty

【写单个寄存器】/WriteRegisterProperty

请求结构说明

Bacnet请求构成

声明 键值 示例 备注
功能码(string) FunctionCode OperateRequest 固定值
操作码(Enum-uint) OperateCode 0~1024 需要查询操作码对照表T-0
设备ID(uint) DeviceId 0~4294967295
寄存器类型(Enum-uint) ObjectTypes 0~1024 需要查询寄存器类型对照表T-1
寄存器地址(uint) RegisterAddress 0~4294967295
寄存器Property类型(Enum) PropertyIds 0~4194303 需要查询寄存器Property类型对照表T-2
要写入寄存器的值(object) Value 任意数值或者字符
要写入寄存器的值类型(Enum) ValueType 1-5 需要查询Bacnet数据类型对照表T-3

响应结构说明

bacnet响应构成

声明 键值 示例 备注
功能码(string) FunctionCode OperateResponse 固定值
是否成功(bool) IsSuccess true&false
请求体(Request) Request 参考2 Bacnet请求-Json结构说明
数据体(IList) ValueQuery [ {  "Tag": 4,  "Value":12.0}]
BacnetValue-Tag(Enum) 4 需要查询Bacnet数据类型对照表T-3
BacnetValue-Value(object) 12.0
失败原因(string) FailedReason - 待开发

Bacnet 读寄存器请求

示例:

{
  "FunctionCode":"OperateRequest",
  "OperateCode":0,
  "DeviceId":1,
  "ObjectTypes":0,
  "RegisterAddress":3000164,
  "PropertyIds":85
}

Bacnet 写寄存器请求

示例:

{
  "FunctionCode":"OperateRequest",
  "OperateCode":1,
  "DeviceId":1,
  "ObjectTypes":2,
  "RegisterAddress":3000637,
  "PropertyIds":85,
  "Value":10.0,
  "ValueType":4
}

Bacnet响应案例

查询&写入响应

{
  "FunctionCode": "OperateResponse",
  "IsSuccess": true,
  "Request": {
    "FunctionCode": "OperateRequest",
    "OperateCode": 0,
    "DeviceId": 1,
    "ObjectTypes": 0,
    "RegisterAddress": 3000164,
    "PropertyIds": 85,
    "Value": null
  },
  "ValueQuery": [
    {
      "Tag": 4,
      "Value": 12.0
    }
  ],
  "FailedReason": null
}

4.Bacnet 读多个寄存器

http接口地址

/ReadMultiRegister

请求结构说明

Bacnet请求构成

声明 键值 示例 备注
功能码(string) FunctionCode ReadMultiRequest 固定值
操作码(Enum-uint) OperateCode 3 需要查询操作码对照表T-0,固定值3
设备ID(uint) DeviceId 0~4294967295
数组 RegisterInfos
数组对象结构 - - -
寄存器类型(Enum-uint) ObjectTypes 0~1024 需要查询寄存器类型对照表T-1
寄存器地址(uint) RegisterAddress 0~4294967295
寄存器Property类型(Enum) PropertyIds 0~4194303 需要查询寄存器Property类型对照表T-2

响应结构说明

bacnet响应构成

声明 键值 示例 备注
功能码(string) FunctionCode OperateResponse 固定值
是否成功(bool) IsSuccess true&false
查询数组 RegisterInfos
数组对象结构 - - -
寄存器类型(Enum-uint) ObjectTypes 0~1024 需要查询寄存器类型对照表T-1
寄存器地址(uint) RegisterAddress 0~4294967295
寄存器Property类型(Enum) PropertyIds 0~4194303
数据体 Value {  "Tag": 4,  "Value":12.0}
BacnetValue-Tag(Enum) 4 需要查询Bacnet数据类型对照表T-3
BacnetValue-Value(object) 12.0
失败原因(string) FailedReason - 待开发

Bacnet 读多个寄存器请求

示例:

{
  "FunctionCode":"ReadMultiRequest",
  "OperateCode":3,
  "DeviceId":1,
  "RegisterInfos":[
    {
        "ObjectTypes":0,
        "RegisterAddress":0,
        "PropertyIds":85
    },
    {
        "ObjectTypes":2,
        "RegisterAddress":1,
        "PropertyIds":85
    },
    {
        "ObjectTypes":0,
        "RegisterAddress":2,
        "PropertyIds":85
    }
  ]
}

Bacnet读多个寄存器响应

示例:

{
  "FunctionCode": "ReadMultiResponse",
  "IsSuccess": true,
  "RegisterInfos": [
    {
      "ObjectTypes": 0,
      "RegisterAddress": 0,
      "PropertyIds": 85,
      "IsSuccess": true,
      "Value": {
        "Tag": 4,
        "Value": 12.0
      }
    },
    {
      "ObjectTypes": 2,
      "RegisterAddress": 1,
      "PropertyIds": 85,
      "IsSuccess": true,
      "Value": {
        "Tag": 2,
        "Value": 21
      }
    },
    {
      "ObjectTypes": 0,
      "RegisterAddress": 2,
      "PropertyIds": 85,
      "IsSuccess": true,
      "Value": {
        "Tag": 4,
        "Value": 5.0
      }
    }
  ],
  "FailedReason": null
}

附表

T-0 操作码对照表

操作类型 对应编号 说明
ReadPropertyRequest 0 读单个寄存器请求
WritePropertyRequest 1 写单个寄存器请求
WhoIsRequest 2 Who is 设备列表请求
ReadMultiRequest 3 读多个寄存器请求

原始数据

    public enum EGBacnetOperateCode{
        ReadPropertyRequest = 0,
        WritePropertyRequest = 1,
        WhoIsRequest = 2
    }

T-1 寄存器类型对照表

因该对照表过于长,所以仅列出部分常用类型

寄存器类型 对应编号 说明
Analog Value 2 可读可写
Analog Input 0
Multi-state Value 19
Binary Input 3
Analog Output 1
Binary Value 5
Program 16
Trendlog Multiple 27

原始数据

public enum BacnetObjectTypes : uint
{
    OBJECT_ANALOG_INPUT = 0u,
    OBJECT_ANALOG_OUTPUT = 1u,
    OBJECT_ANALOG_VALUE = 2u,
    OBJECT_BINARY_INPUT = 3u,
    OBJECT_BINARY_OUTPUT = 4u,
    OBJECT_BINARY_VALUE = 5u,
    OBJECT_CALENDAR = 6u,
    OBJECT_COMMAND = 7u,
    OBJECT_DEVICE = 8u,
    OBJECT_EVENT_ENROLLMENT = 9u,
    OBJECT_FILE = 10u,
    OBJECT_GROUP = 11u,
    OBJECT_LOOP = 12u,
    OBJECT_MULTI_STATE_INPUT = 13u,
    OBJECT_MULTI_STATE_OUTPUT = 14u,
    OBJECT_NOTIFICATION_CLASS = 15u,
    OBJECT_PROGRAM = 16u,
    OBJECT_SCHEDULE = 17u,
    OBJECT_AVERAGING = 18u,
    OBJECT_MULTI_STATE_VALUE = 19u,
    OBJECT_TRENDLOG = 20u,
    OBJECT_LIFE_SAFETY_POINT = 21u,
    OBJECT_LIFE_SAFETY_ZONE = 22u,
    OBJECT_ACCUMULATOR = 23u,
    OBJECT_PULSE_CONVERTER = 24u,
    OBJECT_EVENT_LOG = 25u,
    OBJECT_GLOBAL_GROUP = 26u,
    OBJECT_TREND_LOG_MULTIPLE = 27u,
    OBJECT_LOAD_CONTROL = 28u,
    OBJECT_STRUCTURED_VIEW = 29u,
    OBJECT_ACCESS_DOOR = 30u,
    OBJECT_TIMER = 31u,
    OBJECT_ACCESS_CREDENTIAL = 32u,
    OBJECT_ACCESS_POINT = 33u,
    OBJECT_ACCESS_RIGHTS = 34u,
    OBJECT_ACCESS_USER = 35u,
    OBJECT_ACCESS_ZONE = 36u,
    OBJECT_CREDENTIAL_DATA_INPUT = 37u,
    OBJECT_NETWORK_SECURITY = 38u,
    OBJECT_BITSTRING_VALUE = 39u,
    OBJECT_CHARACTERSTRING_VALUE = 40u,
    OBJECT_DATE_PATTERN_VALUE = 41u,
    OBJECT_DATE_VALUE = 42u,
    OBJECT_DATETIME_PATTERN_VALUE = 43u,
    OBJECT_DATETIME_VALUE = 44u,
    OBJECT_INTEGER_VALUE = 45u,
    OBJECT_LARGE_ANALOG_VALUE = 46u,
    OBJECT_OCTETSTRING_VALUE = 47u,
    OBJECT_POSITIVE_INTEGER_VALUE = 48u,
    OBJECT_TIME_PATTERN_VALUE = 49u,
    OBJECT_TIME_VALUE = 50u,
    OBJECT_NOTIFICATION_FORWARDER = 51u,
    OBJECT_ALERT_ENROLLMENT = 52u,
    OBJECT_CHANNEL = 53u,
    OBJECT_LIGHTING_OUTPUT = 54u,
    OBJECT_BINARY_LIGHTING_OUTPUT = 55u,
    OBJECT_PROPRIETARY_MIN = 128u,
    OBJECT_PROPRIETARY_MAX = 1023u,
    MAX_BACNET_OBJECT_TYPE = 1024u,
    MAX_ASHRAE_OBJECT_TYPE = 56u
}

T-2 寄存器Property类型对照表

因该对照表过于长,所以仅列出部分常用类型

Property类型 对应编号 说明
description 28
object-identifier 75
object-type 79
object-name 77
event-state 36
status-flags 111
units 117
out-of-service 81
present-value 85
relinquish-default 104
priority-array 87
number-of-states 74
state-text 110
program-state 92
program-change 0
buffer-size 126
record-count 141
total-record-count 145
stop-when-full 144
logging-type 197
enable 133

原始数据

public enum BacnetPropertyIds
{
    PROP_ACKED_TRANSITIONS = 0,
    PROP_ACK_REQUIRED = 1,
    PROP_ACTION = 2,
    PROP_ACTION_TEXT = 3,
    PROP_ACTIVE_TEXT = 4,
    PROP_ACTIVE_VT_SESSIONS = 5,
    PROP_ALARM_VALUE = 6,
    PROP_ALARM_VALUES = 7,
    PROP_ALL = 8,
    PROP_ALL_WRITES_SUCCESSFUL = 9,
    PROP_APDU_SEGMENT_TIMEOUT = 10,
    PROP_APDU_TIMEOUT = 11,
    PROP_APPLICATION_SOFTWARE_VERSION = 12,
    PROP_ARCHIVE = 13,
    PROP_BIAS = 14,
    PROP_CHANGE_OF_STATE_COUNT = 15,
    PROP_CHANGE_OF_STATE_TIME = 16,
    PROP_NOTIFICATION_CLASS = 17,
    PROP_BLANK_1 = 18,
    PROP_CONTROLLED_VARIABLE_REFERENCE = 19,
    PROP_CONTROLLED_VARIABLE_UNITS = 20,
    PROP_CONTROLLED_VARIABLE_VALUE = 21,
    PROP_COV_INCREMENT = 22,
    PROP_DATE_LIST = 23,
    PROP_DAYLIGHT_SAVINGS_STATUS = 24,
    PROP_DEADBAND = 25,
    PROP_DERIVATIVE_CONSTANT = 26,
    PROP_DERIVATIVE_CONSTANT_UNITS = 27,
    PROP_DESCRIPTION = 28,
    PROP_DESCRIPTION_OF_HALT = 29,
    PROP_DEVICE_ADDRESS_BINDING = 30,
    PROP_DEVICE_TYPE = 31,
    PROP_EFFECTIVE_PERIOD = 32,
    PROP_ELAPSED_ACTIVE_TIME = 33,
    PROP_ERROR_LIMIT = 34,
    PROP_EVENT_ENABLE = 35,
    PROP_EVENT_STATE = 36,
    PROP_EVENT_TYPE = 37,
    PROP_EXCEPTION_SCHEDULE = 38,
    PROP_FAULT_VALUES = 39,
    PROP_FEEDBACK_VALUE = 40,
    PROP_FILE_ACCESS_METHOD = 41,
    PROP_FILE_SIZE = 42,
    PROP_FILE_TYPE = 43,
    PROP_FIRMWARE_REVISION = 44,
    PROP_HIGH_LIMIT = 45,
    PROP_INACTIVE_TEXT = 46,
    PROP_IN_PROCESS = 47,
    PROP_INSTANCE_OF = 48,
    PROP_INTEGRAL_CONSTANT = 49,
    PROP_INTEGRAL_CONSTANT_UNITS = 50,
    PROP_ISSUE_CONFIRMED_NOTIFICATIONS = 51,
    PROP_LIMIT_ENABLE = 52,
    PROP_LIST_OF_GROUP_MEMBERS = 53,
    PROP_LIST_OF_OBJECT_PROPERTY_REFERENCES = 54,
    PROP_LIST_OF_SESSION_KEYS = 55,
    PROP_LOCAL_DATE = 56,
    PROP_LOCAL_TIME = 57,
    PROP_LOCATION = 58,
    PROP_LOW_LIMIT = 59,
    PROP_MANIPULATED_VARIABLE_REFERENCE = 60,
    PROP_MAXIMUM_OUTPUT = 61,
    PROP_MAX_APDU_LENGTH_ACCEPTED = 62,
    PROP_MAX_INFO_FRAMES = 63,
    PROP_MAX_MASTER = 64,
    PROP_MAX_PRES_VALUE = 65,
    PROP_MINIMUM_OFF_TIME = 66,
    PROP_MINIMUM_ON_TIME = 67,
    PROP_MINIMUM_OUTPUT = 68,
    PROP_MIN_PRES_VALUE = 69,
    PROP_MODEL_NAME = 70,
    PROP_MODIFICATION_DATE = 71,
    PROP_NOTIFY_TYPE = 72,
    PROP_NUMBER_OF_APDU_RETRIES = 73,
    PROP_NUMBER_OF_STATES = 74,
    PROP_OBJECT_IDENTIFIER = 75,
    PROP_OBJECT_LIST = 76,
    PROP_OBJECT_NAME = 77,
    PROP_OBJECT_PROPERTY_REFERENCE = 78,
    PROP_OBJECT_TYPE = 79,
    PROP_OPTIONAL = 80,
    PROP_OUT_OF_SERVICE = 81,
    PROP_OUTPUT_UNITS = 82,
    PROP_EVENT_PARAMETERS = 83,
    PROP_POLARITY = 84,
    PROP_PRESENT_VALUE = 85,
    PROP_PRIORITY = 86,
    PROP_PRIORITY_ARRAY = 87,
    PROP_PRIORITY_FOR_WRITING = 88,
    PROP_PROCESS_IDENTIFIER = 89,
    PROP_PROGRAM_CHANGE = 90,
    PROP_PROGRAM_LOCATION = 91,
    PROP_PROGRAM_STATE = 92,
    PROP_PROPORTIONAL_CONSTANT = 93,
    PROP_PROPORTIONAL_CONSTANT_UNITS = 94,
    PROP_PROTOCOL_CONFORMANCE_CLASS = 95,
    PROP_PROTOCOL_OBJECT_TYPES_SUPPORTED = 96,
    PROP_PROTOCOL_SERVICES_SUPPORTED = 97,
    PROP_PROTOCOL_VERSION = 98,
    PROP_READ_ONLY = 99,
    PROP_REASON_FOR_HALT = 100,
    PROP_RECIPIENT = 101,
    PROP_RECIPIENT_LIST = 102,
    PROP_RELIABILITY = 103,
    PROP_RELINQUISH_DEFAULT = 104,
    PROP_REQUIRED = 105,
    PROP_RESOLUTION = 106,
    PROP_SEGMENTATION_SUPPORTED = 107,
    PROP_SETPOINT = 108,
    PROP_SETPOINT_REFERENCE = 109,
    PROP_STATE_TEXT = 110,
    PROP_STATUS_FLAGS = 111,
    PROP_SYSTEM_STATUS = 112,
    PROP_TIME_DELAY = 113,
    PROP_TIME_OF_ACTIVE_TIME_RESET = 114,
    PROP_TIME_OF_STATE_COUNT_RESET = 115,
    PROP_TIME_SYNCHRONIZATION_RECIPIENTS = 116,
    PROP_UNITS = 117,
    PROP_UPDATE_INTERVAL = 118,
    PROP_UTC_OFFSET = 119,
    PROP_VENDOR_IDENTIFIER = 120,
    PROP_VENDOR_NAME = 121,
    PROP_VT_CLASSES_SUPPORTED = 122,
    PROP_WEEKLY_SCHEDULE = 123,
    PROP_ATTEMPTED_SAMPLES = 124,
    PROP_AVERAGE_VALUE = 125,
    PROP_BUFFER_SIZE = 126,
    PROP_CLIENT_COV_INCREMENT = 127,
    PROP_COV_RESUBSCRIPTION_INTERVAL = 128,
    PROP_CURRENT_NOTIFY_TIME = 129,
    PROP_EVENT_TIME_STAMPS = 130,
    PROP_LOG_BUFFER = 131,
    PROP_LOG_DEVICE_OBJECT_PROPERTY = 132,
    PROP_ENABLE = 133,
    PROP_LOG_INTERVAL = 134,
    PROP_MAXIMUM_VALUE = 135,
    PROP_MINIMUM_VALUE = 136,
    PROP_NOTIFICATION_THRESHOLD = 137,
    PROP_PREVIOUS_NOTIFY_TIME = 138,
    PROP_PROTOCOL_REVISION = 139,
    PROP_RECORDS_SINCE_NOTIFICATION = 140,
    PROP_RECORD_COUNT = 141,
    PROP_START_TIME = 142,
    PROP_STOP_TIME = 143,
    PROP_STOP_WHEN_FULL = 144,
    PROP_TOTAL_RECORD_COUNT = 145,
    PROP_VALID_SAMPLES = 146,
    PROP_WINDOW_INTERVAL = 147,
    PROP_WINDOW_SAMPLES = 148,
    PROP_MAXIMUM_VALUE_TIMESTAMP = 149,
    PROP_MINIMUM_VALUE_TIMESTAMP = 150,
    PROP_VARIANCE_VALUE = 151,
    PROP_ACTIVE_COV_SUBSCRIPTIONS = 152,
    PROP_BACKUP_FAILURE_TIMEOUT = 153,
    PROP_CONFIGURATION_FILES = 154,
    PROP_DATABASE_REVISION = 155,
    PROP_DIRECT_READING = 156,
    PROP_LAST_RESTORE_TIME = 157,
    PROP_MAINTENANCE_REQUIRED = 158,
    PROP_MEMBER_OF = 159,
    PROP_MODE = 160,
    PROP_OPERATION_EXPECTED = 161,
    PROP_SETTING = 162,
    PROP_SILENCED = 163,
    PROP_TRACKING_VALUE = 164,
    PROP_ZONE_MEMBERS = 165,
    PROP_LIFE_SAFETY_ALARM_VALUES = 166,
    PROP_MAX_SEGMENTS_ACCEPTED = 167,
    PROP_PROFILE_NAME = 168,
    PROP_AUTO_SLAVE_DISCOVERY = 169,
    PROP_MANUAL_SLAVE_ADDRESS_BINDING = 170,
    PROP_SLAVE_ADDRESS_BINDING = 171,
    PROP_SLAVE_PROXY_ENABLE = 172,
    PROP_LAST_NOTIFY_RECORD = 173,
    PROP_SCHEDULE_DEFAULT = 174,
    PROP_ACCEPTED_MODES = 175,
    PROP_ADJUST_VALUE = 176,
    PROP_COUNT = 177,
    PROP_COUNT_BEFORE_CHANGE = 178,
    PROP_COUNT_CHANGE_TIME = 179,
    PROP_COV_PERIOD = 180,
    PROP_INPUT_REFERENCE = 181,
    PROP_LIMIT_MONITORING_INTERVAL = 182,
    PROP_LOGGING_OBJECT = 183,
    PROP_LOGGING_RECORD = 184,
    PROP_PRESCALE = 185,
    PROP_PULSE_RATE = 186,
    PROP_SCALE = 187,
    PROP_SCALE_FACTOR = 188,
    PROP_UPDATE_TIME = 189,
    PROP_VALUE_BEFORE_CHANGE = 190,
    PROP_VALUE_SET = 191,
    PROP_VALUE_CHANGE_TIME = 192,
    PROP_ALIGN_INTERVALS = 193,
    PROP_INTERVAL_OFFSET = 195,
    PROP_LAST_RESTART_REASON = 196,
    PROP_LOGGING_TYPE = 197,
    PROP_RESTART_NOTIFICATION_RECIPIENTS = 202,
    PROP_TIME_OF_DEVICE_RESTART = 203,
    PROP_TIME_SYNCHRONIZATION_INTERVAL = 204,
    PROP_TRIGGER = 205,
    PROP_UTC_TIME_SYNCHRONIZATION_RECIPIENTS = 206,
    PROP_NODE_SUBTYPE = 207,
    PROP_NODE_TYPE = 208,
    PROP_STRUCTURED_OBJECT_LIST = 209,
    PROP_SUBORDINATE_ANNOTATIONS = 210,
    PROP_SUBORDINATE_LIST = 211,
    PROP_ACTUAL_SHED_LEVEL = 212,
    PROP_DUTY_WINDOW = 213,
    PROP_EXPECTED_SHED_LEVEL = 214,
    PROP_FULL_DUTY_BASELINE = 215,
    PROP_REQUESTED_SHED_LEVEL = 218,
    PROP_SHED_DURATION = 219,
    PROP_SHED_LEVEL_DESCRIPTIONS = 220,
    PROP_SHED_LEVELS = 221,
    PROP_STATE_DESCRIPTION = 222,
    PROP_DOOR_ALARM_STATE = 226,
    PROP_DOOR_EXTENDED_PULSE_TIME = 227,
    PROP_DOOR_MEMBERS = 228,
    PROP_DOOR_OPEN_TOO_LONG_TIME = 229,
    PROP_DOOR_PULSE_TIME = 230,
    PROP_DOOR_STATUS = 231,
    PROP_DOOR_UNLOCK_DELAY_TIME = 232,
    PROP_LOCK_STATUS = 233,
    PROP_MASKED_ALARM_VALUES = 234,
    PROP_SECURED_STATUS = 235,
    PROP_ABSENTEE_LIMIT = 244,
    PROP_ACCESS_ALARM_EVENTS = 245,
    PROP_ACCESS_DOORS = 246,
    PROP_ACCESS_EVENT = 247,
    PROP_ACCESS_EVENT_AUTHENTICATION_FACTOR = 248,
    PROP_ACCESS_EVENT_CREDENTIAL = 249,
    PROP_ACCESS_EVENT_TIME = 250,
    PROP_ACCESS_TRANSACTION_EVENTS = 251,
    PROP_ACCOMPANIMENT = 252,
    PROP_ACCOMPANIMENT_TIME = 253,
    PROP_ACTIVATION_TIME = 254,
    PROP_ACTIVE_AUTHENTICATION_POLICY = 255,
    PROP_ASSIGNED_ACCESS_RIGHTS = 256,
    PROP_AUTHENTICATION_FACTORS = 257,
    PROP_AUTHENTICATION_POLICY_LIST = 258,
    PROP_AUTHENTICATION_POLICY_NAMES = 259,
    PROP_AUTHENTICATION_STATUS = 260,
    PROP_AUTHORIZATION_MODE = 261,
    PROP_BELONGS_TO = 262,
    PROP_CREDENTIAL_DISABLE = 263,
    PROP_CREDENTIAL_STATUS = 264,
    PROP_CREDENTIALS = 265,
    PROP_CREDENTIALS_IN_ZONE = 266,
    PROP_DAYS_REMAINING = 267,
    PROP_ENTRY_POINTS = 268,
    PROP_EXIT_POINTS = 269,
    PROP_EXPIRY_TIME = 270,
    PROP_EXTENDED_TIME_ENABLE = 271,
    PROP_FAILED_ATTEMPT_EVENTS = 272,
    PROP_FAILED_ATTEMPTS = 273,
    PROP_FAILED_ATTEMPTS_TIME = 274,
    PROP_LAST_ACCESS_EVENT = 275,
    PROP_LAST_ACCESS_POINT = 276,
    PROP_LAST_CREDENTIAL_ADDED = 277,
    PROP_LAST_CREDENTIAL_ADDED_TIME = 278,
    PROP_LAST_CREDENTIAL_REMOVED = 279,
    PROP_LAST_CREDENTIAL_REMOVED_TIME = 280,
    PROP_LAST_USE_TIME = 281,
    PROP_LOCKOUT = 282,
    PROP_LOCKOUT_RELINQUISH_TIME = 283,
    PROP_MASTER_EXEMPTION = 284,
    PROP_MAX_FAILED_ATTEMPTS = 285,
    PROP_MEMBERS = 286,
    PROP_MUSTER_POINT = 287,
    PROP_NEGATIVE_ACCESS_RULES = 288,
    PROP_NUMBER_OF_AUTHENTICATION_POLICIES = 289,
    PROP_OCCUPANCY_COUNT = 290,
    PROP_OCCUPANCY_COUNT_ADJUST = 291,
    PROP_OCCUPANCY_COUNT_ENABLE = 292,
    PROP_OCCUPANCY_EXEMPTION = 293,
    PROP_OCCUPANCY_LOWER_LIMIT = 294,
    PROP_OCCUPANCY_LOWER_LIMIT_ENFORCED = 295,
    PROP_OCCUPANCY_STATE = 296,
    PROP_OCCUPANCY_UPPER_LIMIT = 297,
    PROP_OCCUPANCY_UPPER_LIMIT_ENFORCED = 298,
    PROP_PASSBACK_EXEMPTION = 299,
    PROP_PASSBACK_MODE = 300,
    PROP_PASSBACK_TIMEOUT = 301,
    PROP_POSITIVE_ACCESS_RULES = 302,
    PROP_REASON_FOR_DISABLE = 303,
    PROP_SUPPORTED_FORMATS = 304,
    PROP_SUPPORTED_FORMAT_CLASSES = 305,
    PROP_THREAT_AUTHORITY = 306,
    PROP_THREAT_LEVEL = 307,
    PROP_TRACE_FLAG = 308,
    PROP_TRANSACTION_NOTIFICATION_CLASS = 309,
    PROP_USER_EXTERNAL_IDENTIFIER = 310,
    PROP_USER_INFORMATION_REFERENCE = 311,
    PROP_USER_NAME = 317,
    PROP_USER_TYPE = 318,
    PROP_USES_REMAINING = 319,
    PROP_ZONE_FROM = 320,
    PROP_ZONE_TO = 321,
    PROP_ACCESS_EVENT_TAG = 322,
    PROP_GLOBAL_IDENTIFIER = 323,
    PROP_VERIFICATION_TIME = 326,
    PROP_BASE_DEVICE_SECURITY_POLICY = 327,
    PROP_DISTRIBUTION_KEY_REVISION = 328,
    PROP_DO_NOT_HIDE = 329,
    PROP_KEY_SETS = 330,
    PROP_LAST_KEY_SERVER = 331,
    PROP_NETWORK_ACCESS_SECURITY_POLICIES = 332,
    PROP_PACKET_REORDER_TIME = 333,
    PROP_SECURITY_PDU_TIMEOUT = 334,
    PROP_SECURITY_TIME_WINDOW = 335,
    PROP_SUPPORTED_SECURITY_ALGORITHM = 336,
    PROP_UPDATE_KEY_SET_TIMEOUT = 337,
    PROP_BACKUP_AND_RESTORE_STATE = 338,
    PROP_BACKUP_PREPARATION_TIME = 339,
    PROP_RESTORE_COMPLETION_TIME = 340,
    PROP_RESTORE_PREPARATION_TIME = 341,
    PROP_BIT_MASK = 342,
    PROP_BIT_TEXT = 343,
    PROP_IS_UTC = 344,
    PROP_GROUP_MEMBERS = 345,
    PROP_GROUP_MEMBER_NAMES = 346,
    PROP_MEMBER_STATUS_FLAGS = 347,
    PROP_REQUESTED_UPDATE_INTERVAL = 348,
    PROP_COVU_PERIOD = 349,
    PROP_COVU_RECIPIENTS = 350,
    PROP_EVENT_MESSAGE_TEXTS = 351,
    PROP_EVENT_MESSAGE_TEXTS_CONFIG = 352,
    PROP_EVENT_DETECTION_ENABLE = 353,
    PROP_EVENT_ALGORITHM_INHIBIT = 354,
    PROP_EVENT_ALGORITHM_INHIBIT_REF = 355,
    PROP_TIME_DELAY_NORMAL = 356,
    PROP_RELIABILITY_EVALUATION_INHIBIT = 357,
    PROP_FAULT_PARAMETERS = 358,
    PROP_FAULT_TYPE = 359,
    PROP_LOCAL_FORWARDING_ONLY = 360,
    PROP_PROCESS_IDENTIFIER_FILTER = 361,
    PROP_SUBSCRIBED_RECIPIENTS = 362,
    PROP_PORT_FILTER = 363,
    PROP_AUTHORIZATION_EXEMPTIONS = 364,
    PROP_ALLOW_GROUP_DELAY_INHIBIT = 365,
    PROP_CHANNEL_NUMBER = 366,
    PROP_CONTROL_GROUPS = 367,
    PROP_EXECUTION_DELAY = 368,
    PROP_LAST_PRIORITY = 369,
    PROP_WRITE_STATUS = 370,
    PROP_PROPERTY_LIST = 371,
    PROP_SERIAL_NUMBER = 372,
    PROP_BLINK_WARN_ENABLE = 373,
    PROP_DEFAULT_FADE_TIME = 374,
    PROP_DEFAULT_RAMP_RATE = 375,
    PROP_DEFAULT_STEP_INCREMENT = 376,
    PROP_EGRESS_TIME = 377,
    PROP_IN_PROGRESS = 378,
    PROP_INSTANTANEOUS_POWER = 379,
    PROP_LIGHTING_COMMAND = 380,
    PROP_LIGHTING_COMMAND_DEFAULT_PRIORITY = 381,
    PROP_MAX_ACTUAL_VALUE = 382,
    PROP_MIN_ACTUAL_VALUE = 383,
    PROP_POWER = 384,
    PROP_TRANSITION = 385,
    PROP_EGRESS_ACTIVE = 386,
    PROP_INTERFACE_VALUE = 387,
    PROP_FAULT_HIGH_LIMIT = 388,
    PROP_FAULT_LOW_LIMIT = 389,
    PROP_LOW_DIFF_LIMIT = 390,
    PROP_STRIKE_COUNT = 391,
    PROP_TIME_OF_STRIKE_COUNT_RESET = 392,
    PROP_DEFAULT_TIMEOUT = 393,
    PROP_INITIAL_TIMEOUT = 394,
    PROP_LAST_STATE_CHANGE = 395,
    PROP_STATE_CHANGE_VALUES = 396,
    PROP_TIMER_RUNNING = 397,
    PROP_TIMER_STATE = 398,
    PROP_COMMAND_TIME_ARRAY = 430,
    PROP_CURRENT_COMMAND_PRIORITY = 431,
    PROP_LAST_COMMAND_TIME = 432,
    PROP_VALUE_SOURCE = 433,
    PROP_VALUE_SOURCE_ARRAY = 434,
    MAX_BACNET_PROPERTY_ID = 4194303
}

T-3 Bacnet数据类型对照表

因该对照表过于长,所以仅列出部分常用类型

Property类型 对应编号 说明
NULL 0
BOOLEAN 1 布尔值
UNSIGNED_INT 2 无符号整型
SIGNED_INT 3 整形
REAL 4 实数浮点
DOUBLE 5 双精度浮点
OCTET_STRING 6
CHARACTER_STRING 7
BIT_STRING 8
ENUMERATED 9
DATE 10 日期
TIME 11 时间

原始数据:

public enum BacnetApplicationTags
{
    BACNET_APPLICATION_TAG_NULL,
    BACNET_APPLICATION_TAG_BOOLEAN,
    BACNET_APPLICATION_TAG_UNSIGNED_INT,
    BACNET_APPLICATION_TAG_SIGNED_INT,
    BACNET_APPLICATION_TAG_REAL,
    BACNET_APPLICATION_TAG_DOUBLE,
    BACNET_APPLICATION_TAG_OCTET_STRING,
    BACNET_APPLICATION_TAG_CHARACTER_STRING,
    BACNET_APPLICATION_TAG_BIT_STRING,
    BACNET_APPLICATION_TAG_ENUMERATED,
    BACNET_APPLICATION_TAG_DATE,
    BACNET_APPLICATION_TAG_TIME,
    BACNET_APPLICATION_TAG_OBJECT_ID,
    BACNET_APPLICATION_TAG_RESERVE1,
    BACNET_APPLICATION_TAG_RESERVE2,
    BACNET_APPLICATION_TAG_RESERVE3,
    MAX_BACNET_APPLICATION_TAG,
    BACNET_APPLICATION_TAG_EMPTYLIST,
    BACNET_APPLICATION_TAG_WEEKNDAY,
    BACNET_APPLICATION_TAG_DATERANGE,
    BACNET_APPLICATION_TAG_DATETIME,
    BACNET_APPLICATION_TAG_TIMESTAMP,
    BACNET_APPLICATION_TAG_ERROR,
    BACNET_APPLICATION_TAG_DEVICE_OBJECT_PROPERTY_REFERENCE,
    BACNET_APPLICATION_TAG_DEVICE_OBJECT_REFERENCE,
    BACNET_APPLICATION_TAG_OBJECT_PROPERTY_REFERENCE,
    BACNET_APPLICATION_TAG_DESTINATION,
    BACNET_APPLICATION_TAG_RECIPIENT,
    BACNET_APPLICATION_TAG_COV_SUBSCRIPTION,
    BACNET_APPLICATION_TAG_CALENDAR_ENTRY,
    BACNET_APPLICATION_TAG_WEEKLY_SCHEDULE,
    BACNET_APPLICATION_TAG_SPECIAL_EVENT,
    BACNET_APPLICATION_TAG_READ_ACCESS_SPECIFICATION,
    BACNET_APPLICATION_TAG_READ_ACCESS_RESULT,
    BACNET_APPLICATION_TAG_LIGHTING_COMMAND,
    BACNET_APPLICATION_TAG_CONTEXT_SPECIFIC_DECODED,
    BACNET_APPLICATION_TAG_CONTEXT_SPECIFIC_ENCODED,
    BACNET_APPLICATION_TAG_LOG_RECORD
}