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
Anonymous
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.
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:
Related
Support Requests: #68
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.
Through which mechanism Manager knows the Object List of a Particular Subordinate.
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.
Thank you.