-------------------------------------------------------------------------------
YABE - YET ANOTHER BACNET EXPLORER
-------------------------------------------------------------------------------
1. INTRO
1.1 ABOUT
Yabe is a graphical windows program for exploring and navigating BACnet
devices.
The project was created in order to test and evaluate the BACnet protocol.
In specific I needed a platform on which to test theoretical performance
throughput for huge amounts of data over MSTP/RS485 multidrop network.
There're other free/open programs that also implements BACnet "exploring".
So far I haven't found any to my satisfaction though. Some are worth
mentioning.
InneaBACnetExplorer:
http://www.inneasoft.com/index.php/en/products/products-bacnet/products-bacnet-explorer.html
A very nice explorer program. Same concept as Yabe. (Perhaps even better
than Yabe.) However if you want to do basic things like "write" or
"subscribe" to a node, you have to pay a cartful of money. Also it only
supports BACnet/IP and no segmentation.
BACnet Stack - By Steve Karg:
http://bacnet.sourceforge.net/
A very nice old open source ANSI C project with a lot of console based
sample programs. Implements both BACnet/IP and BACnet/MSTP. Steve is very
active and famous in the BACnet world. The code is "singleton" based
though. Meaning that the code is only able to function as either BACnet/IP
or BACnet/MSTP and only 1 connection is supported. This is fine for a MCU
device but not very useful on devices like PCs.
I would have liked to contribute and base my tests on Steves project, but
the shift to "session" based code (as agreed upon in the mail list) may
have been too big a mouthful. My patches were not approved.
CAS BACnet Explorer, by Chipkin Automation Systems:
http://www.chipkin.com/products/software/bacnet-software/cas-bacnet-explorer
Same concept as Yabe. Not as nicely finished as InneaBACnetExplorer and
not as comprehensive as BACnet Stack. To be honest, the program is
actually fairly horrible. It runs very poorly (at least on my machine) and
the interface is not much different from a console. The documentation are
very nice though. Also got a few articles about performance in MSTP.
This document is subject to change.
1.2 SEGMENTATION
I've implemented 'segmentation' as a part of my performance testing. To
see it in action, I've added a 'HugeBlob' octet value in the DemoServer,
ranging 2000 bytes. This is more than the max_adpu.
The file operations are also able to use 'segmentation' if the options are
set accordingly.
I'm not sure if my implementation or my usage is correct though. I've
followed the guidelines from the 'standard'. But my copy is rather old and
I haven't found any other BACnet programs that supports it.
I also support 'segmentation' with a window_size > 1 in MSTP. (This was my
original purpose.) According to my 'standard' this is illegal. I hope that
means that my copy is old. I was recommended to this solution by the
bacnet-l mailing list.
1.3 CREDITS
The projected is created by me, Morten Kvistgaard, anno 2014.
A few patches and input has been given by the community.
F. Chaxel has contributed a lot of the later additions (eg Foreign Device
Registration, BBMD services, TrendLog & Schedule display, Calendar editor,
Alarms summary, Bacnet on Ethernet, Bacnet IPv6).
Graphics are the usual FamFamFam: http://www.famfamfam.com/
Serializing (most/some) is ported from project by Steve Karg:
http://bacnet.sourceforge.net/
GUI and concept is inspired by UaExpert:
http://www.unified-automation.com/products/development-tools/uaexpert.html
Zedgraph come from http://sourceforge.net/projects/zedgraph/
Calendar control come from :
http://www.codeproject.com/Articles/38699/A-Professional-Calendar-Agenda-View-That-You-Will
Sharppcap come from : http://sourceforge.net/projects/sharppcap/
2. USAGE
2.1 BACNET/IP OVER UDP
- Start up the DemoServer program or another BACnet device.
- Start Yabe.
- Select "Add device" under "Functions".
- Press the "Add" button in the "BACnet/IP over Udp" field.
The program will now add a Udp connection to the "Devices" tree and send
out 3 "WhoIs" broadcasts. If there're any BACnet/IP devices in the
network they will show up in the tree. The DemoServer will show up as
something like "192.168.1.91:57049 - 389002". This is the IP, the Udp
port and the device_id.
- If you have more than 1 ethernet card, you can also select a local
endpoint ip. (Before you click the "Add"). Either select one from
the list or write one by hand, if the interface doesn't have a gateway.
- In order to explore the device address space, click on the device in
the "Devices" tree.
The program will fetch all "registers" or "nodes" from the device and
display them in the "Address Space" tree.
- In order to explore the properties for a given register, select the node
in the "Address Space" tree.
The program will fetch all properties and display them in the
"Properties" field.
- Write a given property by clicking the given field and insert a
new value. The value will be written and read back. Be aware that many
properties cannot be written. The device will decide that.
- Subscribe to a given register/node by draging the node from the
"Address Space" tree to the "Subscriptions" field.
- Download or upload a file to the device by right clicking a file node
in the "Address Space" tree and select "Upload File" or "Download File".
- To send out a new "WhoIs" right click the transport in the "Devices" tree
and select "WhoIs".
2.2 BACNET/IPv6 over UDP
- Experimental NOT TESTED with third party device or software, and
unfortunately Wireshark don't help also.
- Start Yabe.
- In the Options/settings menu set IPv6_support to true
- Do the same as explain in 2.1, but the Local endpoint combo box shows now
IpV4 & IPv6 available interfaces. Choose an IPv6 one (the [FE80::...] will
be generaly OK, or simply try [::] ). If the combo is empty it's equal to
the default IPv4 address !
- If the option YabeDeviceId is -1, a random VMac (with duplication test)
is used.
- Register as a foreign device & BBMD services also working on IPv6. In the
Foreign Device Registry form one can give an IPv6 remote address or also
the host name.
- Feedback is very welcome.
2.3 BACNET/MSTP OVER PIPE
- For general usage refer to section 2.1.
- In the "Search" dialog select "COM1003" in the port combo box and press
"Add". This will add a MSTP pipe created by the DemoServer.
Notice that the "Source Address" defaults to "-1". This is not a valid
address and you will not be able to communicate with the device through
this. The program will still be able to listen in on the network though.
The program will now list all the devices that communicates on the
network. And it will also display all "PollForMaster" destinations that
goes unanswered. This way you'll be able to determine what source_address
to give to the program.
- Click on the device node in the "Devices" tree. If the source_address is
configured to "-1" the program will ask if you will define a new one.
You must do so, in order to continue communication.
2.4 BACNET/PTP OVER PIPE
- For general usage refer to section 2.1.
- In the "Search" dialog select "COM1004" in the port combo box and press
"Add". This will add a PTP pipe created by the DemoServer.
The BACnet/PTP transport is meant for 1-to-1. Eg. RS232 or ... usb? So
far I haven't found any others easy accessible tools that also supports
it. So I haven't been able
没有合适的资源?快使用搜索试试~ 我知道了~
BacNet协议应用软件
共275个文件
cs:118个
png:41个
resx:21个
需积分: 10 17 下载量 115 浏览量
2018-03-20
20:21:15
上传
评论 1
收藏 2.01MB ZIP 举报
温馨提示
C#开发的BacNet应用程序,研究BacNet协议的开源工具,这是完整源码,自己编译使用
资源推荐
资源详情
资源评论
收起资源包目录
BacNet协议应用软件 (275个子文件)
Main.axml 318B
app.config 5KB
app.config 144B
app.config 144B
app.config 144B
BACnetBase.cs 355KB
BACnetClient.cs 139KB
MainDialog.cs 137KB
BacnetTransportSerial.cs 77KB
MainDialog.Designer.cs 67KB
TreeView.cs 52KB
DynamicPropertyGridContainer.cs 52KB
Program.cs 51KB
BACnetActivity.cs 43KB
BACnetTransport.cs 41KB
BACnetActivity.cs 40KB
ScheduleDisplay.cs 35KB
BACnetTransportIPv6.cs 34KB
SearchDialog.Designer.cs 30KB
NotificationEditor.cs 29KB
BacnetActivity.cs 27KB
CalendarEditor.cs 27KB
DeviceStorage.cs 27KB
AAUtil.cs 24KB
BacnetActivity.cs 23KB
Form1.Designer.cs 21KB
Schedule.cs 21KB
ScheduleDisplay.Designer.cs 17KB
Settings.Designer.cs 17KB
BaCSharpObject.cs 16KB
Program.cs 15KB
TrendLogDisplay.cs 15KB
Program.cs 15KB
Program.cs 14KB
DeviceCommunicationControlDialog.Designer.cs 14KB
DeviceObject.cs 14KB
Form1.cs 13KB
BacnetCapture.Designer.cs 13KB
Resources.Designer.cs 13KB
AlarmSummary.cs 13KB
CalendarEditor.Designer.cs 12KB
AnalogObjectEvent.cs 12KB
BBMDEditor.Designer.cs 11KB
Program.cs 11KB
BacnetCapture.cs 11KB
FileTransfers.cs 10KB
NotificationEditor.Designer.cs 10KB
SearchDialog.cs 9KB
BinaryOutput.cs 9KB
NotificationClass.cs 9KB
Program.cs 9KB
BacnetTransportEthernet.cs 9KB
Program.cs 8KB
MemGPIO.cs 8KB
Program.cs 8KB
AnalogOutput.cs 8KB
WiresharkSender.cs 8KB
Program.cs 7KB
Subscription.cs 7KB
TrendLog.cs 7KB
TrendLogDisplay.Designer.cs 7KB
BBMDEditor.cs 7KB
Main.Designer.cs 6KB
Calendar.cs 6KB
GenericInputBox.cs 6KB
Main.cs 6KB
ForeignRegistry.designer.cs 5KB
SourceAddressDialog.Designer.cs 5KB
FileGPIO.cs 5KB
AlarmSummary.Designer.cs 5KB
BinaryObject.cs 5KB
AnalogObject.cs 5KB
CreateObject.Designer.cs 4KB
MultiStateOutput.cs 4KB
ProgressDialog.Designer.cs 4KB
Resources.Designer.cs 4KB
BacnetFile.cs 4KB
Program.cs 4KB
TrendLogCustom.cs 4KB
SettingsDialog.Designer.cs 3KB
CharacterString.cs 3KB
DeviceCommunicationControlDialog.cs 3KB
ProgressDialog.cs 3KB
Resources.Designer.cs 3KB
Program.cs 3KB
MultiStateInput.cs 3KB
Resource.designer.cs 3KB
BacnetNode.cs 3KB
Resources.Designer.cs 3KB
RoomModel.cs 3KB
BacnetDateTime.cs 3KB
Program.cs 2KB
StructuredView.cs 2KB
CreateObject.cs 2KB
ForeignRegistry.cs 2KB
AnalogInput.cs 2KB
Program.cs 2KB
SourceAddressDialog.cs 2KB
MainActivity.cs 2KB
SettingsDialog.cs 2KB
共 275 条
- 1
- 2
- 3
资源评论
double_seven
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功