Know the BACnet protocol

1. What is BACnet?

BACnet, Building Automation and Control netThe 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

share picture

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

share picture

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
  • 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:

    • Define building automation equipment Information model-BACnet object model
    • Define application-oriented communication services

    BACnet application process model:

    share picture

    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:

    td>

    < td style="text-align: center ;">18

    td>

    < /tr>

    Serial number Object name Application examples
    01 Accumulator accumulator
    02 Analog Input Analog input object
    03 Analog Output Analog output object
    04 Analog Value

    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:

    • Create object service
    • Delete object service
    • Read attribute service
    • Conditional read attribute service
    • Read multiple attribute service
    • Write attribute service
    • Write multiple attribute services

    Remote device management services include:

    • 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

    V. BACnet network layer< /h2>

    The role of the BACnet network layer is to check the network topology and determine the best route.

    • 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.

    BACnet interconnection network topology:

    share picture

    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.

    share picture

    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:

    • 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.

    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:

    • 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.

    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.

Leave a Comment

Your email address will not be published.