Menu

#68 Simple BACnet implementation for PIC Microcontroller.

master
open
nobody
1
2022-12-22
2022-11-21
israr sayed
No

I am designing a Fire Alarm System. Main Panel will act as Master. Manual Call Point Units will act as Slaves.Hence there will be
only one Master. I want to use RS485. I am not using TCP/IP Data link. My few doubts/questions are as follows:
1) For such a small setup can I use BACnet as my communication Protocol?
2) If yes, I am wondering to use which data link i should be using, because every subsystem seems to be Multi Master e.g. MS/TP.
3) In case if it is decided to use the BACnet for my project. Which files from sources I should use. Considering minimum services
required. Initially it should be a bare minimum for the sake of understanding, later i can upgrade the system.
I have gone through the demo examples for PIC microcontrollers. But unable to understand it .
Please help.
Israr Sayed

Related

Support Requests: #68

Discussion

  • Steve Karg

    Steve Karg - 2022-11-21

    BACnet devices are described in terms of 'client' and 'server' and all devices are required to support 'server' role. A server role is to respond when a client asks for information (like a web server), such as a client sending a ReadProperty service request and receiving from the server a ReadPropertyAck with the data, or is discoverable such as a client sending a Who-Is and the server replying with I-Am service. Any of the datalinks (BACnet/IP, MS/TP, ARCNET, Secure Connect, etc) support this architecture.

    MS/TP is its own datalink, using RS485, that also has a manager peer to peer (managed with Token passing), or manager to subordinate (like MODBUS) architecture or both, and this datalink can be used to support the BACnet client/server services.

    Note: Recently the node names master/slave were replaced with manager/subordinate to retain the “MS/TP” moniker. See:
    https://bacnet.org/wp-content/uploads/sites/4/2022/08/Add-135-2020ce.pdf
    Replace “master-slave/token-passing” with “multidrop serial bus/token passing”.
    Replace “master/slave” with “manager/subordinate”.

    Your fire alarm system main panel can use MS/TP (RS485) protocol, and the call point units can be either MS/TP manager or subordinates while retaining the panel (client) and callbox (server) architecture. The advanantage of the MS/TP manager nodes is that they are discoverable since they can answer an unconfirmed request (such as Who-Is), whereas MS/TP subordinate nodes cannot.

     
    • israr sayed

      israr sayed - 2022-11-22

      Thank you Steve for your quick reply.
      The more I am digging in the source of the BACNet stack, the more confused
      I get. What i require right now is to configure:
      1) Main Panel as Client.
      2) Call Points as Servers.
      Can you please specify which files I have to use from source code , and
      which code I have to write from myself.

      On Mon, Nov 21, 2022 at 8:57 PM Steve Karg skarg@users.sourceforge.net
      wrote:

      BACnet devices are described in terms of 'client' and 'server' and all
      devices are required to support 'server' role. A server role is to respond
      when a client asks for information (like a web server), such as a client
      sending a ReadProperty service request and receiving from the server a
      ReadPropertyAck with the data, or is discoverable such as a client sending
      a Who-Is and the server replying with I-Am service. Any of the datalinks
      (BACnet/IP, MS/TP, ARCNET, Secure Connect, etc) support this architecture.

      MS/TP is its own datalink, using RS485, that also has a manager peer to
      peer (managed with Token passing), or manager to subordinate (like MODBUS)
      architecture or both, and this datalink can be used to support the BACnet
      client/server services.

      Note: Recently the node names master/slave were replaced with
      manager/subordinate to retain the “MS/TP” moniker. See:
      https://bacnet.org/wp-content/uploads/sites/4/2022/08/Add-135-2020ce.pdf
      Replace “master-slave/token-passing” with “multidrop serial bus/token
      passing”.
      Replace “master/slave” with “manager/subordinate”.

      Your fire alarm system main panel can use MS/TP (RS485) protocol, and the
      call point units can be either MS/TP manager or subordinates while
      retaining the panel (client) and callbox (server) architecture. The
      advanantage of the MS/TP manager nodes is that they are discoverable since
      they can answer an unconfirmed request (such as Who-Is), whereas MS/TP
      subordinate nodes cannot.


      Status: open
      Group: master
      Labels: Bacnet MSTP pic Single Master
      Created: Mon Nov 21, 2022 04:09 AM UTC by israr sayed
      Last Updated: Mon Nov 21, 2022 04:09 AM UTC
      Owner: nobody

      I am designing a Fire Alarm System. Main Panel will act as Master. Manual
      Call Point Units will act as Slaves.Hence there will be
      only one Master. I want to use RS485. I am not using TCP/IP Data link. My
      few doubts/questions are as follows:
      1) For such a small setup can I use BACnet as my communication Protocol?
      2) If yes, I am wondering to use which data link i should be using,
      because every subsystem seems to be Multi Master e.g. MS/TP.
      3) In case if it is decided to use the BACnet for my project. Which files
      from sources I should use. Considering minimum services
      required. Initially it should be a bare minimum for the sake of
      understanding, later i can upgrade the system.
      I have gone through the demo examples for PIC microcontrollers. But unable
      to understand it .
      Please help.
      Israr Sayed


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/bacnet/support-requests/68/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Support Requests: #68

  • israr sayed

    israr sayed - 2022-11-22

    Thank you Steve for your quick reply.
    The more I am digging in the source of the BACNet stack, the more confused I get. What i require right now is to configure:
    1) Main Panel as Client.
    2) Call Points as Servers.
    Can you please specify which files I have to use from source code , and which code I have to write from myself.

     
  • israr sayed

    israr sayed - 2022-12-08

    Through which mechanism Manager knows the Object List of a Particular Subordinate.

     
    • Anonymous

      Anonymous - 2022-12-19

      The BACnet client uses ReadProperty or ReadPropertyMultiple to read the Device object Object_List of the server.

      The client and server (all devices) can be BACnet MSTP manager nodes, as the BACnet MSTP is the datalink layer used for transport.

      There are examples of BACnet server and server-client that run on an OS such as Linux / Windows / MacOS / BSD in bacnet-stack/apps/server-client and bacnet-stack/apps/server. These can be built from makefiles and be used to simulate the concepts.

      BACnet MSTP examples exist in bacnet-stack/ports/ folders for various microcontrollers, or can be built for OS using makefile defines.

      The list of files can be found in any of the ports MSTP examples that have Makefile in them. Note that your device will likely have objects modeled for your use case.

       
      • Anonymous

        Anonymous - 2022-12-22

        Thank you.

         

Anonymous
Anonymous

Add attachments
Cancel