建筑自动化控制系统系列:Siemens Desigo_(4).Desigo网络通信协议.docx

建筑自动化控制系统系列:Siemens Desigo_(4).Desigo网络通信协议.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

Desigo网络通信协议

网络架构概述

SiemensDesigo系统的网络架构是其高效运行和管理的核心。Desigo系统采用分层网络结构,主要分为三个层次:管理层、控制层和设备层。每一层都有其特定的功能和通信协议,确保系统各个部分之间的高效协同工作。

管理层

管理层主要负责系统的整体管理和监控。这一层的设备通常包括中央服务器、监控工作站和管理软件。管理层通过标准的以太网(Ethernet)进行通信,支持多种网络协议,如TCP/IP、HTTP、SNMP等。管理层的设备可以远程访问和控制控制层和设备层的设备,实现集中管理和数据采集。

控制层

控制层是Desigo系统的核心部分,主要负责具体的控制逻辑和数据处理。这一层的设备包括控制器(如DesigoCC)和现场总线接口模块。控制层采用现场总线(Fieldbus)进行通信,常见的现场总线协议有BACnet、Modbus和KNX等。这些协议确保了不同设备之间的高效数据传输和互操作性。

设备层

设备层直接与建筑内的各种设备和传感器进行交互,如HVAC系统、照明系统、安全系统等。这一层的设备通常包括传感器、执行器和末端设备。设备层通过本地总线(Localbus)进行通信,常见的本地总线协议有LonWorks和Profibus等。这些协议确保了设备之间的低延迟通信和高可靠性。

BACnet协议

BACnet协议简介

BACnet(BuildingAutomationandControlNetwork)是一种专门为建筑自动化控制系统设计的通信协议。它由ASHRAE(美国供暖、制冷和空调工程师学会)制定,并被广泛应用于HVAC系统、照明系统、安全系统等建筑自动化领域。BACnet协议支持多种网络类型,包括Ethernet、MSTP(Master-Slave/Token-Passing)、P1(Point-to-Point)等。

BACnet协议的主要特点

开放性:BACnet是一个开放标准,任何制造商都可以根据该标准生产兼容的设备。

互操作性:BACnet设备可以无缝集成到现有的建筑自动化系统中,无需额外的转换设备。

灵活性:BACnet支持多种网络类型,可以根据具体需求选择合适的网络。

安全性:BACnet提供了多种安全机制,确保数据传输的可靠性和安全性。

BACnet协议的通信模型

BACnet协议采用基于对象的通信模型,每个设备都包含多个对象,每个对象又包含多个属性。设备之间的通信通过读取和写入这些对象的属性来实现。常见的对象类型包括设备对象、模拟输入对象、模拟输出对象、数字输入对象、数字输出对象等。

BACnet协议的数据交换

BACnet协议支持多种数据交换方式,包括:

读写属性:设备可以通过读写其他设备的对象属性来获取或改变设备状态。

报警和事件报告:设备可以发送报警和事件报告,通知管理系统或其他设备当前的状态变化。

COV(ChangeofValue)通知:当某个对象的属性值发生变化时,可以自动发送通知。

命令:管理系统可以向设备发送命令,控制设备的行为。

BACnet协议的实现示例

读取设备属性

以下是一个使用Python和BACnet/IP协议读取设备属性的示例代码。我们使用pymodbus库来实现BACnet通信。

#导入所需的库

frombacpypes.coreimportrun,stop

frombacpypes.taskimportTaskManager

frommimportbind

frombacpypes.pduimportAddress,GlobalBroadcast

frombacpypes.objectimportget_object_class,get_datatype

frombacpypes.apduimportReadPropertyRequest

frombacpypes.primitivedataimportObjectIdentifier,PropertyIdentifier

frombacpypes.iocbimportIOCB

frombacpypes.appimportBIPSimpleApplication

frombacpypes.deviceimportLocalDeviceObject

#定义本地设备对象

this_device=LocalDeviceObject(

objectName=Reader,

objectIdentifier=599,

maxApduLengt

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档