自动化论坛

标题: BACnetIP服务器开发包说明书 [打印本页]

作者: sunfull2014    时间: 2014-3-31 09:16
标题: BACnetIP服务器开发包说明书
1. 简介
BACnet英文全称为:Buliding Automation Control networkBACnet是专门为建筑的自动控制网络制定的一种数据通信协议;最初于1995年由美国制冷采暖空调工程师协会(简称ASHRAE)制定。其最根本的目的:给建筑自动控制系统 实现互操作 提供一种方法。
所谓互操作是指一种能力,可以使 分布的控制系统设备通过相关信息的数字交换,能够协调地工作,从而完成一个共同的目标。
BACnet解决了建筑自控系统中存在的多厂商系统(如HoneywellAirtekSiemenJohnsonAlerton等品牌)和设备不兼容而难以集成的问题,提供了不同建筑自动控制系统实现互操作的方法,有望成为控制网络中的TCP/IP协议。
20031月,BACnet成为正式的国际标准(ISO 16484标准)。
BACnet有以下特点:
开放性:是美国现行的国家标准和ISO国际标准。
面向对象:BACnet协议采用面向对象的技术,因此具有可扩展性和可复用性。
互操作性:ASHRAEBACnet委员会提出了一种新的描述自动控制系统功能性的方法,称为“互操作域(Interoperability Areas)”,其中规定了5个互操作域,分别是:数据共享、报警和事件管理、时序安排、趋势记录、设备与网络管理。
目前市场上符合BACnet 的品牌有HoneywellAirtekSiemenJohnsonAlerton
BACnetIPSvr.dll是根据BACnet协议开发出来的快速开发工具,其具有以下特点:
1.       使用C++开发,执行效率高。
2.       可移植性好,可以被C++VBC#Delphi等开发语言调用。
3.       跨平台,源码可方便地移植到WinCE平台、Linux平台下。
4.       实现了BIBOBVAIAOAV对象的访问。
5.       可以被其它BACnetIP客户端发现,并实现自动搜索。
6.       通过多个厂家的测试、譬如霍尼韦尔的EBI、西门子的Insight、江森的Matasys等软件的测试。
7.       API函数个数少,简单易用。
2. API函数介绍
a. BOOL  WINAPI StartBacnetIPServer(DWORD dwInstanceNum, WORD wPort);
说明:用于初始化BACnetIP服务器,设置设备的Instance号,以及UDP端口号。默认端口号为47808
b. BOOL  WINAPI StopBacnetIPServer();
关闭BacnetIP服务器,释放系统资源。
c. BOOL WINAPI SetBacnetIPValue(WORD wObjType, DWORD dwInstanceNum, DWORD dwData);
BACnetIP服务器写值,第一个参数是对象类型的ID号。
#define OBJECT_ANALOG_INPUT        0
#define OBJECT_ANALOG_OUTPUT      1
#define OBJECT_ANALOG_VALUE       2
#define OBJECT_BINARY_INPUT         3
#define OBJECT_BINARY_OUTPUT       4
#define OBJECT_BINARY_VALUE        5
第二个参数是对象实例的ID号,相当于寄存器地址,最后一个为写入的数据。
d. DWORD WINAPI GetBacnetIPValue(WORD wObjType, DWORD dwInstanceNum);
说明:从BACnetIP服务器里取得数据,第一个参数是实例类型,第二个参数是对象实例的ID号。
e. BOOL WINAPI EnableBacnetIPWriteNofity(BACNETIPNOTIFYPROC fnCallback);
说明:开启写回调函数。当BACnetIP客户端对开发包写操作的时候,会调用该回调函数。
f. BOOL  WINAPI ResetBacnetIPValue();
说明:清空BACnetIP服务器里的所有数据,设置当前值为0
g. BOOL WINAPI SetTagHandle(WORD wObjType, DWORD dwInstanceNum, HANDLE hTag);
说明:辅助函数,方便定位。用于设置外部的HandleBACnetIP服务器内部。
h. HANDLE WINAPI GetTagHandle(WORD wObjType, DWORD dwInstanceNum);
说明:辅助函数,方便定位。从BACnetIP服务器内部取得外部的Handle





欢迎光临 自动化论坛 (https://bbs.ca168.com/) Powered by Discuz! X2.5