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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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?
Perhaps there is a firewall blocking the reply, or another application using the port that is consuming the reply.
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
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
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
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.
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
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
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,
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).
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?