版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

说明

本驱动是根据基础的BACNet协议开发的一个驱动。BACNet协议(A Data Communication Protocol for Building Automation and Control Networks),是由美国采暖、制冷和空调工程师协会(ASHRAE)制定的一个楼宇自动控制技术标准文件,BACNet协议最根本的目的是提供一种楼宇自动控制系统实现互操作的方法。它包含四个层次的简化分层体系结构,这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层。

本文档提供:

  • eview驱动配置说明
  • bacnet模拟器配置说明
  • bacnet扫描程序配置说明

BACNet 协议通过定义工作站级通讯网络的标准通信协议,以取消不同厂商工作站之间的专有网关,将不同厂商、不同功能的产品集成在一个系统中,并实现各厂商设备的互操作,从而实现整个楼宇控制系统的标准化和开放化。它是为计算机控制采暖、制冷、空调HVAC系统和其他建筑物设备系统定义服务和协议,从而使BACNet协议的应用以及建筑物自动控制技术的使用更为简单。

驱动支持:读取BACNet设备实例的属性值

  • 读取BACNet设备实例的属性值。读取BACNet对象实例的属性值,可读取的实例类型包括:

      读取BACNet对象实例的属性值,可读取的实例类型包括:

        • AnalogInput(AI),模拟量输入
        • AnalogOutput(AO),模拟量输出
        • AnalogValue(AV),模拟值
        • BinaryInput(BI),二进制输入,只存在AVTIVE和INACTIVE两种状态
        • BinaryOutput(BO),二进制输出,取值同BinaryInput
        • BinaryValue(BV),二进制值,取值同BinaryInput

      ...


      • 每个对象根据类型不同,可读取的属性包括(齐总PV是最常用的):
        • Present Value(PV),对象实例的当前值
        • Priority Array(PA),优先级数组
        • Object Identifier(ID),对象的标识符(ID)
        • Object Name(NAME),对象名称
        • Object Type(TYPE),对象类型


      • 写入BACNet对象实例的值,可写入的实例类型包括:
        • AnalogOutput(AO)
        • BinaryOutput(BO)
      • 可写入的属性包括:
        • Present Value(PV)。这是最常用的
        • Priority Array(PA)
        • Object Name(NAME)

      注意:

      • 模拟器和驱动不能同时运行在本机上,否则端口47808冲突!

      ...

      BACNet驱动配置

      《BACNet驱动配置》目的是通过BACNet驱动读取BACNet设备或模拟器的值。

      ...

      BACnetScan

      BACnetScan是BACNet的客户端工具,他可以扫描相应的BACNet上的设备,以及实例属性等信息。BACnetScan运行时截图如下:

      ...

      驱动配置

      系统驱动中在t_device_driver中配置好驱动,注意id为主键,不可重复

      Image Removed

      3. 设备配置

      添加设备

      Driver_id: t_device_driver中配置的BACNet驱动的id

      Name:根据需要输入,参照设备ID所对应的设备名称输入

      连接方式:other

      连接参数:ip=xx.xx.xx.xx;port=47808。如果未输入,则默认为127.0.0.1;port如未配置则为47默认为808。若填写192.168.10.114:47808则代表仅访问相应ip下的设备,未输入则代表访问局域网上所有设备。

      参数1:bacnet设备实例编号,数值类型,可以通过工具bacwi.exe,在命令行下运行bacwi,可以得到局域网中所有的设备以及它们的Device值,即为设备号。

      参数2:bacnet设备网络编号,数值类型,可以通过工具bacwi.exe,在命令行下运行bacwi,可以得到局域网中所有的设备以及它们的SNET值,即为网络编号。

      参数3:bacnet设备apdu最大值,可以通过工具bacwi.exe,在命令行下运行bacwi,查找设备的apdu最大值。

      驱动的三个参数的查看方式如下图所示:

      Image Removed

      设备的配置如下图所示:

      Image Removed

      4. 变量配置

      ...

      登录系统配置,查看驱动里面配置了bacnetIP协议。如果未配置可自行添加该驱动,在修改信息中配置如下参数见下图

      Image AddedImage Added

      设备配置

      在设备列表中增加一个设备,驱动选择:bacnetdrv

      Image Added

      • 驱动:必须为bacnetdrv
      • 名称:根据需要自定义该bacnetip设备的名称
      • 连接方式:必须选择自定义
      • 连接参数:ip=设备IP;port=47808。
        • 示例:ip=10.8.20.25或者ip=10.8.20.25;port=47808
        • port可不配置,如未配置则默认为 47808
      • 参数1:bacnet设备实例编号
        • 整数
        • 获取方法:
          • BacNetScan工具扫描(推荐
            • 可以通过工具BacnetScan,搜到局域网中所有的设备以及它们的Device值,即为设备号。 如下图中设备号:0
          • bacwi.exe工具查看
      • 参数2:bacnet设备网络编号
        • BacnetScan扫到设备的属性中的SNET(见下图),即为网络编号。如这里是:20
      • 参数3:bacnet设备apdu最大值
        •  BacnetScan扫到设备的属性中max-apdu-length-accepted,如下图中的值为:1024。如果未设置,则默认取1024。

      设备的三个参数的查看方式如下图所示:

      Image Added

      【数据库中设备配置信息如下】:

      Image Added

      变量配置

      在设备管理/设备变量管理中,新建一个变量,其中关键参数需要填写

      Image Added

      • 设备:选择前面的bacnet设备名称
      • 类型:设备变量,表示从设备读取值的变量类型
      • 名称:变量名称,根据需要自定义
      • 地址:参考下面BacnetScan工具扫描得到的变量信息,输入地址。
        • 变量地址格式为:{对象类型}:{对象实例号}:{对象属性}:{数组内的索引号}

      ...

        • 如果对象属性为空字符串,则缺省为对象当前值(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

      ...

      三、 模拟器与测试

      ...

      • 数据类型:根据BacnetScan扫描得到数据类型,常用的有int32、float等
      • 其他字段根据需要填写

      【提示:数据库中,在表t_device_tag或者t_class_prop中配置变量名称和变量地址。】

      • Image Added

      测试步骤

      • 按照设备配置、变量配置里的说明完成相应的参数输入
      • 依次运行eview/bin目录下的bat,pknodeserver.exe文件,然后运行pkTagMonitor.exe文件观察所建立的BacNet变量
      • 运行exe驱动,观察测试得到的值,如下图所示:
      • Image Added

      扫描程序

      注意点

      • 模拟器和驱动、扫描程序不能同时运行在本机上,否则端口47808冲突!

      下载与安装

      使用

      • 双击左侧BACNet IP,如果同一网段有BACNet设备或者模拟器,应该可以直接扫描出来,如图:
      • Image AddedImage Added
      • 双击某个具体设备如Device1,会展开设备下所有对象
      • 双击具有数值的对象,如这里Analog Value,右侧会显示其值和属性

      模拟器与测试

      注意点

      • 模拟器和驱动、扫描程序不能同时运行在本机上,否则端口47808冲突!
      • C:\Program Files\CBMS\BACnet Simulator\,可以在桌面快捷方式方式直接运行

      下载

      模拟器的使用

      • 安装完成后,缺省目录:C:\Program Files\CBMS\BACnet Simulator
      • 运行:
        • 进入目录,C:\Program Files (x86)\SCADA Engine\BACnet Device Simulator\,执行:simulator.exe 
        • 开始里面找:安装后的程序 BACnet Device SimulatorImage Added
      • 配置虚拟设备的网卡
        • 在虚拟设备上右键:Properties,确保Network Adapter选择能够和本机电脑ping的通的网卡。
        • 如果simulator安装在虚拟机上,关闭防火墙 
        • Image Added
      • 打开已有的配置文件,点击菜单打开,缺省应进入目录:C:\Users\Administrator\Documents\CBMS Projects\Simulator
        • 选择一个all_object_types.dat
        • 会打开一个设备,包含所有的数据类型
      • 自己新增设备运行安装后的程序
        • 在BACnetNetwork下右键,选择:Add Bacnet Device增加一个设备,名称为MyDevice1,结果如下,显示名称为Device 0/Device/Instance 0:

      Image Modified

      • 在Device0下右键,选择:Add BACNet Object,名称输入 MyObject1:

      ...

      • 复制Device0为Device 1
      • 修改Device0/AnalogInput Instance0的presentValue为399

      测试步骤:

      • 按照设备配置、变量配置里的说明完成相应的参数输入
      • 依次运行eview/bin目录下的bat,pknodeserver.exe文件,然后运行pkTagMonitor.exe文件观察所建立的BacNet变量
      • 运行exe驱动,观察测试得到的值,如下图所示:
      • Image Removed