1. What is BACnet?
BACnet, Building Automation and Control net strong>The abbreviation of works, namely Building Automation and Control Network. It is a communication protocol for intelligent buildings.
General building automation equipment is functionally divided into two parts: one is dedicated to handling the equipment’s control function; the other part is dedicated to handling equipment’s data communication function >. And BACnet is to establish a unified data communication standard so that devices can interoperate. The BACnet protocol only stipulates the rules of communication between devices, and does not involve implementation details.
The BACnet protocol model is:
(1) All network devices, except those based on the MS/TP protocol, are completely equivalent ( peer to peer);
(2) Each device is an entity of an “object”, and each object is described by its “attributes” and provides a method for identifying and accessing the device in the network; The communication between devices is accomplished by reading/writing the attributes of certain device objects and using the “services” provided by the protocol;
(3) Sophistication of the device, that is, its realization of service requests or understanding The capability of the type of object is reflected by the “Conformance Class” of the device.
Two, BACnet architecture
BACnet is built on a simplified hierarchical architecture consisting of four levels, which are equivalent to the physical in the OSI model Layer, data link layer, network layer and application layer.
The BACnet standard defines its own application layer and simple network layer. For its data link layer and physical layer, it provides the following five options:
(1) One option is the logical link control (LLC) protocol defined by ISO 8802-2 Type 1, plus the ISO 8802-3 media access control (MAC) protocol and physical layer protocol. ISO 8802-2 Type 1 provides connectionless (Unacknowledged) services, and ISO 8802-3 is a well-known international standard for Ethernet protocols.
(2) The second option is the logical link control (LLC) protocol defined by ISO 8802-2 Type 1, plus ARCNET (ATA/ANSI878.1).
(3) The third option is the master-slave/token pass (MS/TP) protocol plus the EIA-485 protocol. The MS/TP protocol is specifically designed for building automatic control equipment. Like ISO 8802-2 Type 1, it provides an interface to the network layer by controlling the physical layer of EIA-485.
(4) The fourth option is point-to-point (PTP) protocol plus EIA-232 protocol, which provides a communication mechanism for dial-up serial asynchronous communication.
(5) The fifth option is the LonTalk protocol.
3. Protocol stack and data flow of BACnet
application layer protocol data generated by application layer service primitives The unit (APDU) constitutes the data part of the network layer service primitive, and is downloaded to the network layer through the network layer service access point.
Similarly, this request will be further passed down to the following layers of the local device protocol stack.
Service primitives: Used to describe the interaction between service users and service providers, abstract, and unrelated to concrete expressions. There are only 4 types of service primitives:
- Request (Request) The user entity requests the service to do a certain job Source (N+1) entity—>Source (N) entity
- Indication The user entity is notified of the purpose of an event (N) entity—>the purpose (N+1) entity
- Response The user entity indicates the purpose of responding to an event (N+1) ) Entity—>Destination (N) Entity
- Confirm (Confirm) The user entity received the response to its request Source (N) Entity—>Source (N+1) Entity
- Define building automation equipment Information model-BACnet object model
- Define application-oriented communication services
- Create object service
- Delete object service
- Read attribute service
- Conditional read attribute service
- Read multiple attribute service
- Write attribute service
- Write multiple attribute services
- Devices Communication control service
- Proprietary transmission service with confirmation
- Proprietary transmission service without confirmation
- Reinitialize device service
- With confirmation text Message service
- Unverified text message service
- Time synchronization service
- The network layer provides the ability to transmit messages directly to a remote BACnet device, broadcast to a remote BACnet network, or broadcast to all BACnet devices in all BACnet networks.
- A BACnet device is uniquely determined by a network number and a MAC address.
- When the master node has the token, it can send data frames.
- Any master (slave) node that receives a request message from the master node can send a response message. After a master node sends the message, it passes the token to the next master node.
- If the master node has many messages to send, it can only send at most Nmax_info_iframes data frames during the time it masters the token. , The token must be passed to the next master node, and other data frames can only be sent when it masters the token again.
- Make two BACnet network layer entities established Point-to-point data link connection to reliably exchange BACnet PDUs.
- Use the established physical connection to perform orderly termination of BACnet point-to-point connections.
ul>
PDU: Protocol Data Unit, protocol data unit, refers to the data unit transferred between peer-to-peer layers.
APDU: Application Protocol Data Unit, application protocol data unit.
NPDU: Network Protocol Data Unit, network protocol data unit.
LPDU: Link Protocol Data Unit, link protocol data unit.
MPDU: MAC Protocol Data Unit, MAC protocol data unit.
PPDU: Presentation Protocol Data Unit, which means the protocol data unit.
Four. BACnet application layer
The BACnet application layer has two main functions:
BACnet application process model:
An application process includes: application and application entity. The application entity is located in the application layer. Belongs to the part of the communication protocol, the application does not belong to the part of the protocol. The application program and the application entity communicate through API.
The application layer has four primitives, namely: request (request), indication (indication), response (response) and confirmation (confirm).
BACnet object model:
BACnet network protocol uses advanced The object-oriented technology communicates through the object data encapsulated in the APDU. BACnet has 28 objects:
Serial number | Object name | Application examples |
01 | Accumulator | accumulator |
02 | Analog Input | Analog input object |
03 | Analog Output | Analog output object |
04 | Analog Value td> | Analog value object |
05 | Averaging | Averaging |
06 | Binary Input | Binary Input Object |
07 | Binary Output | Binary output object |
08 | Binary Value | Binary Value Object |
09 | Calendar | Date table object |
10 | Command | Command object |
11 | Device | Device Object |
12 | Event Enrollment | Event registration object |
13 | Event Log | Event log object |
14 | File | File object |
15 | Global Group | Global Group Object |
16 | Group | Group objects |
17 | Life Safety Point | Information detection of life safety monitoring points |
Life Safety Zone | Information detection of surface safety zone | |
19 | Loop | Control Ring Object |
20 | Multi-State Input | Multi-State Input Object |
21 | Multi-State Output | Multi-state output object |
22 | Multi-State Value | Polymorphic Value Object |
23 | Notification Class | Notification Class Object |
24 | Program | Program object |
25 | Pulse Converter | Pulse converter |
26 | Schedule | Time arrangement object |
27 | Trend Log< /td> | Trend record object |
28 | Trend Log Multiple | Multi Trend Log Object |
BACnet services:
BACnet has 35 services< /strong>, a service is a method of operating an object. These 35 services are divided into 6 categories, namely: alarm and event services, file access services, object access services strong>, Remote Device Management Service, Virtual Terminal Service and Network Security Service.
Among them, object service access includes:
Remote device management services include:
V. BACnet network layer< /h2>
The role of the BACnet network layer is to check the network topology and determine the best route.
BACnet interconnection network topology:
Physical Segment< /strong>: A piece of physical media directly connected to the following BACnet equipment.
Segment: A network segment formed by connecting multiple physical network segments at the physical layer through a “repeater”.
Network: Multiple BACnet network segments are interconnected by bridges, and every BACnet network forms a single MAC address domain. These devices connected to various network segments on the physical layer and the data link layer can use MAC addresses to filter packets.
Internetwork: Connect multiple network segments using different LAN technologies with BACnet routers to form a BACnet Internetwork. In a BACnet interconnection network, there is exactly one message path between any two nodes.
VI. BACnet data link/physical layer
The BACnet standard will five types of data link/physical layer The technology is standardized as the data link/physical layer technology supported by itself, forming its protocol.
ARCNET LAN:
ARCNET is a widely installed local area network (LAN) technology developed by Datapoint in 1977. It uses a token-bus scheme to manage shared lines between workstations and other devices on the LAN. Among them, LAN The server always sends an empty message frame continuously and cyclically on a bus.
When a device wants to send a message, it inserts a “token” and the corresponding message in the empty frame. When the target device or LAN server receives the message, it resets the “token” to 0 so that the frame can be reused by other devices. This kind of scheme is very effective, especially when the network load is heavy, it provides the opportunity for each device in the network to use network resources equally.
Master-Slave/Token Pass (MS/TP) Protocol< /strong>:
BACnet’s master-slave/token-passing LAN technology is based on EIA-485 standards.
Because the EIA-485 standard is only a physical layer standard and cannot solve the problem of equipment access to the transmission medium, BACnet defines the Master-Slave/Token (MS/TP) protocol to provide Data link layer function.
The MS/TP network uses a token to control the device’s access to the network bus:
Point-to-point (PTP) communication protocol:
In order to enable two BACnet devices to be able to Point-to-point communication mechanism for communication. BACnet defines a point-to-point data link layer communication protocol, a connection-oriented protocol. The function of this protocol is:
Once this connection is successfully established, the two devices can transparently exchange BACnet PDUs.
Either the calling device or the called device can start the connection release process, and the connection will only be terminated after each device has sent a termination request.
The corresponding physical connections are: EIA-232 connects to modems, line drivers, or other data communication devices.