...
说明
本驱动是根据基础的BACNet协议开发的一个驱动。BACNet协议(A Data Communication Protocol for Building Automation and Control Networks),是由美国采暖、制冷和空调工程师协会(ASHRAE)制定的一个楼宇自动控制技术标准文件,BACNet协议最根本的目的是提供一种楼宇自动控制系统实现互操作的方法。它包含四个层次的简化分层体系结构,这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层。
本文档提供:
- eview驱动配置说明
- bacnet模拟器配置说明
- bacnet扫描程序配置说明
BACNet 协议通过定义工作站级通讯网络的标准通信协议,以取消不同厂商工作站之间的专有网关,将不同厂商、不同功能的产品集成在一个系统中,并实现各厂商设备的互操作,从而实现整个楼宇控制系统的标准化和开放化。它是为计算机控制采暖、制冷、空调HVAC系统和其他建筑物设备系统定义服务和协议,从而使BACNet协议的应用以及建筑物自动控制技术的使用更为简单。
...
- 模拟器和驱动不能同时运行在本机上,否则端口47808冲突!
...
BACNet驱动配置
《BACNet驱动配置》目的是通过BACNet驱动读取BACNet设备或模拟器的值。
...
BACnetScan
BACnetScan是BACNet的客户端工具,他可以扫描相应的BACNet上的设备,以及实例属性等信息。BACnetScan运行时截图如下:
...
驱动配置
系统驱动中在t_device_driver中配置好驱动,注意id为主键,不可重复
...
设备配置
添加设备
- driver_id: t_device_driver中配置的BACNet驱动的id
- Name:根据需要输入,参照设备ID所对应的设备名称输入
- 连接方式:other
- 连接参数:ip=xx.xx.xx.xx;port=47808。如果未输入,则默认为127.0.0.1;port=47808
- port如未配置则默认为: 47808。
- ip=xxx.xxx.xxx.xxx,ip必须输入
- 示例:ip=192.168.10.123
- 参数1:bacnet设备实例编号,数值类型。获取方法:
- BacNetScan工具扫描(推荐)
- 可以通过工具BacnetScan,搜到局域网中所有的设备以及它们的Device值,即为设备号。 如下图中设备号:0
- bacwi.exe从exe工具查看
- 从ftp://ftp.peakinfo.cn/software/BACnet/BACnetScan/目录下载到本地电脑任意目录
- 该工具可以搜索到同一网段的所有bacnet设备,包括其他电脑的BacnetSimulator.exe。能看到IP、端口、网络号、设备号
- BacNetScan工具扫描(推荐)
- 参数2:bacnet设备网络编号
- BacnetScan扫到设备的属性中的SNET(见下图),即为网络编号。如这里是:20
- 参数3:bacnet设备apdu最大值
- BacnetScan扫到设备的属性中max-apdu-length-accepted,如下图中的值为:1024。
- 如果未设置,则默认取1024。
设备的三个参数的查看方式如下图所示:
设备的配置如下图所示:
...
变量配置
在表t_device_tag或者t_class_prop中配置变量名称和变量地址。
...
- 变量地址格式为:{对象类型}:{对象实例号}:{对象属性}:{数组内的索引号}。
- 如果对象属性为空字符串,则缺省为对象当前值(PV),数组内的索引号为空,则说明不是数组。
- 注意:BacnetScan扫描到的(Anolog Input 1),其中:
- Analog Input对应AI,1对应对象实例号1(不是0)
- Analog Output对应AO
- 如:
- AI:1,读取Analog Input 1的PV
- AO:1读取AnalogOutput类型对象的第一个实例的当前值
- AO:2:PV读取AnalogOutput类型对象的第2个实例的当前值
- AO:2:PV:2 读取AnalogOutput类型对象的第3个实例的当前值数组的第3个元素的值
...
三、 模拟器与测试
模拟器和驱动不能同时运行在本机上,否则端口47808冲突!
...
测试步骤
- 按照设备配置、变量配置里的说明完成相应的参数输入
- 依次运行eview/bin目录下的bat,pknodeserver.exe文件,然后运行pkTagMonitor.exe文件观察所建立的BacNet变量
- 运行exe驱动,观察测试得到的值,如下图所示:
扫描程序
注意点
- 模拟器和驱动、扫描程序不能同时运行在本机上,否则端口47808冲突!
下载与安装
- 下载: ftp://ftp.peakinfo.cn/software/BACnet/BACnetScan目录
- 绿色版,无需注册和安装。双击BACnetScan.exe即可运行
使用
- 双击左侧BACNet IP,如果同一网段有BACNet设备或者模拟器,应该可以直接扫描出来,如图:
- 双击某个具体设备如Device1,会展开设备下所有对象
- 双击具有数值的对象,如这里Analog Value,右侧会显示其值和属性
模拟器与测试
注意点
- 模拟器和驱动、扫描程序不能同时运行在本机上,否则端口47808冲突!
- 公司服务器192.168.10.3已经安装了一个,在:C:\Program Files\CBMS\BACnet Simulator\,可以在桌面快捷方式方式直接运行
下载
- 下载: ftp://ftp.peakinfo.cn/software/BACnet/BACnetDeviceSimulatorbacnetsimulator_35.0.3220_1.exe
- 安装BACnetDeviceSimulator安装bacnetsimulator_35.0.32.exe,并通过邮箱取得临时验证码20_1.exe,安装完成后可以使用一个月
模拟器的使用
- 安装完成后,缺省目录:C:\Program Files\CBMS\BACnet Simulator
- 运行:
- 进入目录,C:\Program Files (x86)\SCADA Engine\BACnet Device Simulator\,执行:simulator.exe
- 开始里面找:安装后的程序
- BACnet Device Simulator
- 打开已有的配置文件,点击菜单打开,缺省应进入目录:C:\Users\Administrator\Documents\CBMS Projects\Simulator
- 选择一个all_object_types.dat
- 会打开一个设备,包含所有的数据类型
- 自己新增设备
- 在BACnetNetwork下右键,选择:Add Bacnet Device增加一个设备,名称为MyDevice1,结果如下,显示名称为Device 0/Device/Instance 0:
- 在Device0下右键,选择:Add BACNet Object,名称输入 MyObject1:
...
- 复制Device0为Device 1
- 修改Device0/AnalogInput Instance0的presentValue为399
测试步骤:
- 按照设备配置、变量配置里的说明完成相应的参数输入
- 依次运行eview/bin目录下的bat,pknodeserver.exe文件,然后运行pkTagMonitor.exe文件观察所建立的BacNet变量
- 运行exe驱动,观察测试得到的值,如下图所示: