BACnet

Things need to know

osi-tcpip-bacnet

BACnet 支持七种局域网类型,通过以下方式进行通信:

IP(IPv4 and IPv6);

[Ethernet](https://www.elecfans.com/tags/ethernet/)(ISO 8802-3);

Master Slave/Token Passing MS/TP([RS](https://www.elecfans.com/tags/rs/)485);

Point-to-Point (PTP) (RS 232);

[ZigBee](https://www.elecfans.com/tags/zigbee/);

LonTalk;

ARCNET;

BACnet Broadcast Management Device (BBMD),让两个不同[网段](https://so.csdn.net/so/search?q=网段&spm=1001.2101.3001.7020)的设备可以同时在一个系统中访问的操作

目前使用的两种最普遍的局域网类型是 BACnet/IP 和 BACnet MS/TP。BACnet/IP 允许跨多个子网、多区控制系统进行通信,利用光纤和千兆以太网的优点,并为设备分配 IP 地址。

但是,目前大多数 BACnet 网络都采用了使用RS-485双绞线的 MS/TP。在某些情况下,您可能混合使用 MS/TP 和 IP 网络,或者您可能希望在服务器上安装一个工作站,而不必将 RS-485接口集成到服务器中。

在这些情况下,我们将使用 BACnet 路由器将 BACnet MS/TP 和 BACnet/IP 网络连接在一起。在具有 IP 子网的多个建筑物或多个子网的情况下,您将使用具有称为“BBMD”的特殊功能的 BACnet 路由器。BBMD 代表"BACnet Broadcast Management Device"广播管理设备,是一种将 BACnet 广播消息以定向单播消息的形式从一个 IP 子网隧道到另一个 IP 子网的方法。因为 IP 路由器会阻塞广播消息,所以需要 BBMD,而在 BACnet 中,广播消息是设备之间发现和通信的必要条件

BACnet 规范包含单元、服务、网络连接;BACnet 现有 type 60 种,常用 25 种,包含物理输入、物理输出、软件程序。模拟信号包括物体识别码、物体名、物体类型、现有值、状态标识、不在服务状态、单位。

BACnet 服务包括实例权限服务、报警与变更服务、文件读取服务、远程文件管理服务、虚拟终端服务、确认服务、寻址服务、检索服务。

RS485 接口最高电流 32mA,标准模式支持 32 个设备,BACnet transceivers 最多可支持 256 个设备,两端短接 120 欧姆电阻以结束使用,所有设备须波段一致,标准接线模式 Daisy Chain 俗称手拉手,beldon9841,22/24 awg

BACNET - WHAT IS A BACNET PRIORITY ARRAY?

The BACnet Priority Array is a specific property type described by the standard as one of the command prioritization mechanisms.

The developer should be aware of the manner in which this property type functions concerning priorities within building control systems.

The Priority Array is further defined by the standard as a read-only property that consists of commands that categorized by priority levels of decreasing order. NULLs may also exist in this property type as well. The highest priority will reside with the lowest array index and a non-NULL value will represent the active command.

Prioritized commands are essentially those commands that are specific towards commandable properties. The following is a parameter example from the BACnet standard:

Property Identifier: Commandable_Property Property Value: Desired Value Priority: Priority The following table from the BACnet standard will examine the common command priorities of the priority array:

Priority LevelApplication
1Manual-Life Safety
2Automatic-Life Safety
3Available
4Available
5Critical Equipment Control
6Minimum On/Off
7Available
8Manual Operator
9Available
10Available
11Available
12Available
13Available
14Available
15Available
16Available

Object ID numbers and Parameter Numbers

If you’re using Wireshark or a low-level BACnet client, you’ll need a reference like this to associate parameter and object type names with their numerical values.

If you’re troubleshooting a BACnet problem with low-level tools like Wireshark or a command-line BACnet tool, you might have to know what the object IDs and parameter numbers are. I can never remember anything other than presentValue (85!), so here’s a reference.

Object IDs

ObjectNumber
Analog Input0
Analog Output1
Analog Value2
Binary Input3
Binary Output4
Binary Value5
Calendar6
Command7
Device8
Event Enrollment9
File10
Group11
Loop12
Multistate Input13
Multistate Output14
Notification Class15
Program16
Schedule17

Property IDs

PropertyNameNumber
ackedTransitions0
ackRequired1
action2
actionText3
activeText4
activeVtSessions5
alarmValue6
alarmValues7
all8
allWritesSuccessful9
apduSegmentTimeout10
apduTimeout11
applicationSoftwareVersion12
archive13
bias14
changeOfStateCount15
changeOfStateTime16
notificationClass17
none18
controlledVariableReference19
controlledVariableUnits20
controlledVariableValue21
covIncrement22
datelist23
daylightSavingsStatus24
deadband25
derivativeConstant26
derivativeConstantUnits27
description28
descriptionOfHalt29
deviceAddressBinding30
deviceType31
effectivePeriod32
elapsedActiveTime33
errorLimit34
eventEnable35
eventState36
eventType37
exceptionSchedule38
faultValues39
feedbackValue40
fileAccessMethod41
fileSize42
fileType43
firmwareRevision44
highLimit45
inactiveText46
inProcess47
instanceOf48
integralConstant49
integralConstantUnits50
issueConfirmedNotifications51
limitEnable52
listOfGroupMembers53
listOfObjectPropertyReferences54
listOfSessionKeys55
localDate56
localTime57
location58
lowLimit59
manipulatedVariableReference60
maximumOutput61
maxApduLengthAccepted62
maxInfoFrames63
maxMaster64
maxPresValue65
minimumOffTime66
minimumOnTime67
minimumOutput68
minPresValue69
modelName70
modificationDate71
notifyType72
numberOfAPDURetries73
numberOfStates74
objectIdentifier75
objectList76
objectName77
objectPropertyReference78
objectType79
optional80
outOfService81
outputUnits82
eventParameters83
polarity84
presentValue85
priority86
priorityArray87
priorityForWriting88
processIdentifier89
programChange90
programLocation91
programState92
proportionalConstant93
proportionalConstantUnits94
protocolConformanceClass95
protocolObjectTypesSupported96
protocolServicesSupported97
protocolVersion98
readOnly99
reasonForHalt100
recipient101
recipientList102
reliability103
relinquishDefault104
required105
resolution106
segmentationSupported107
setpoint108
setpointReference109
stateText110
statusFlags111
systemStatus112
timeDelay113
timeOfActiveTimeReset114
timeOfStateCountReset115
timeSynchronizationRecipients116
units117
updateInterval118
utcOffset119
vendorIdentifier120
vendorName121
vtClassesSupported122
weeklySchedule123

BACnet change of value

Write BACnet outputs from Node-RED

Read data from BACnet devices over BACnet

Previous
Next