Menu

Use BBMD adress

2010-06-14
2021-05-21
  • Mikael Dallaire

    Mikael Dallaire - 2010-06-14

    Hi all,

    I have Bacnet Controlers on my network and I would like to poll values from
    them. I started from the barcp.exe example.

    It works when the controlers are on the same ethernet network, but it doesn't
    when they are on an other network. Actually, controllers of differents network
    can communicate by bbmd list.

    I read in the documentation that it is possible to fix bbmd address.

    Thanks a lot !

    Mik

    Could you indicate me how to modify barcp.exe so I can fix the bbmd address
    and port ?

    BACDL_BIP: (BACnet/IP)

    BACNET_IP_PORT

    with BBMD_ENABLED also:

    BACNET_BBMD_PORT

    BACNET_BBMD_TIMETOLIVE

    BACNET_BBMD_ADDRESS

    Thanks you,

    Mikael

     
    • Luiz Robertto Mello

      When I run bacrbdt I don't get any results in the command prompt, but Wireshark shows the command being sent and the response I need. What am I doing wrong?

       
      • Steve Karg

        Steve Karg - 2016-04-20

        Perhaps there is a firewall blocking the reply, or another application using the port that is consuming the reply.

         
  • Steve Karg

    Steve Karg - 2010-06-15

    Hello Mikael,

    There is no need to modify the bacrp.exe to utilize a BBMD in another network.
    The demo applications utilize Environment Variables to pass in alternate
    information.

    Set the BACNET_BBMD_ADDRESS environment variable to the IP address of a BBMD
    on the network you want to reach. For example, if you want to use bacrp.exe
    from a PC that is at 192.168.0.42 (subnet mask 255.255.255.0) to communicate
    to network 10.0.0.0, and the BBMD (with Foreign Device Registration support)
    is at 10.0.0.1:

    c:> set BACNET_BBMD_ADDRESS=10.0.0.1

    c:> bacrp.exe x x x x

    Best Regards,

    Steve

     
  • Mikael Dallaire

    Mikael Dallaire - 2010-06-15

    Thanks you Steve,

    I have a job where there is 4 bbmd (4 buildings). This is Delta controller
    products.

    My first idea was to have 4 command line dos running bacrp.exe, and each of
    them pooling values of one building (Pooling from 4 application might be
    faster than from only one application ?)

    Can I set many values for BACNET_BBMD_ADDRESS, or I have to change it each
    time i pooled building values ?

    Is BBMD_ENABLED an Environment variable too or I have to change it in the code
    ?

    Thanks you,

    Mike

     
  • Steve Karg

    Steve Karg - 2010-06-15

    Hello Mike,

    The BBMD tables should be the same in every building (not always the case).
    If that is true, you should only need to use the BBMD address of one of the
    BBMD devices. The bacrp (ReadProperty) application is using Foreign Device
    Registration, so it is not using a static BBMD table. For a static BBMD table
    with the 4 other BBMDs IP addresses, a little work in the source code would
    need to be done to read the table from a file at initialization and configure
    the bvlc.c module BBMD table.

    If you want four DOS command lines running, you would also need to change the
    BACNET_BIP_PORT environment variable for each command line so they would not
    interfere with each other. Only one BACnet/IP port can work on a PC at a time.

    An alternate solution would be to use a static address cache. The BBMD is only
    providing the ability for a broadcast to get through, which bacrp uses for
    device discovery (WhoIs->I-Am). The I-Am info can be stored in a static file,
    which bacrp utilizes to lookup Device IDs.

    c:> set BACNET_BBMD_ADDRESS=10.0.0.1

    c:> bacwi -1 > address_cache

    c:> set BACNET_BBMD_ADDRESS=172.16.0.1

    c:> bacwi -1 >> address_cache

    Best Regards,

    Steve

     
    • Justin Callihan

      Justin Callihan - 2013-03-25

      Hi steve,
      I'm new to the development side of the house. Is there a way to perform a BBMD read from within excel. I work on a site that has hundreds of buildings spread across roughly 90 subnets. Trying to come up with a way to read each BDT when a list of device IP addresses is known. If I can get to excel, sql, or similar I can analyze for conflicts or problems. I'd actually like to make a little troubleshooting tool, but trying to start small. Maybe you can just point me in the right direction for information.

       
      • Steve Karg

        Steve Karg - 2013-04-12

        Hi Justin,

        I suppose there is a way to do BACnet interfaces to Excel spreadsheets, but I don't have any knowledge of how to do that. Perhaps OPC?
        http://automatedbuildings.com/news/jul03/articles/scada/toolkit.htm

        Best Regards,

        Steve

         
  • Mikael Dallaire

    Mikael Dallaire - 2010-06-20

    Hi steve,

    It works perfecly. In fact, i can set a different BACNET_BBMD_ADDRESS for each
    DOS command line so I dont have to redefine it each time.

    I will do more test and keep you informed.

    Mikael

     
  • Mikael Dallaire

    Mikael Dallaire - 2021-05-19

    Hi Steeve,

    I have a site where the controllers are on ethernet only, they dont have ip address at all. Is there a way to configure bvlc.bat in order for bacrp and bacwi to see the devices without specify UDP address ?

    Thank you,

     
  • Steve Karg

    Steve Karg - 2021-05-19

    BACnet Ethernet doesn't use BVLC or UDP, so you would need a BACnet/IP to BACnet Ethernet router, or configure your device for BACnet Ethernet operation (BACDL_ETHERNET).

     
  • Mikael Dallaire

    Mikael Dallaire - 2021-05-21

    Hi Steve,
    When you say configure my device for bacnet ethernet, you mean configure my computer (from where i execute bacrp or the remote controller ? How do i set the bacdl_ethernet? I have to set a specific environment variable?

     

Log in to post a comment.