教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

智能建筑中BACnet MSTP控制模块研究与实现 - 图文(15)

来源:网络收集 时间:2026-07-16
导读: 哈尔滨工业大学工学硕士学位论文 4.1.6 负载电流检测电路 负载电流检测电路如图4-7所示,电流变比为10A-10mA的电流互感器从负载干线上采样电流信号,R29为电流采样电阻,用于把电流信号变为电压信号。OPA348是一种

哈尔滨工业大学工学硕士学位论文 4.1.6 负载电流检测电路

负载电流检测电路如图4-7所示,电流变比为10A-10mA的电流互感器从负载干线上采样电流信号,R29为电流采样电阻,用于把电流信号变为电压信号。OPA348是一种低电压低功耗轨至轨输入和输出运算放大器。

图4-7 负载电流检测电路

U5A电路和U5B电路分别为同相放大器和反相放大器,它们的放大倍数相同。由于OPA349单电源供电,两个放大器都相当于半波整流。再经后面的电阻电容滤波电路组合后,可以获得比较平稳的电压信号。

4.1.7 实物展示

根据MS/TP硬件框图和各模块的电路图,开发出硬件实物如图4-8所示。

图4-8 硬件实物图

- 39 -

哈尔滨工业大学工学硕士学位论文 该MS/TP控制模块采用双层PCB板以减少成本,元器件的摆放配合结构,以便于楼宇设备中标准的导轨式安装,其能够监控4路开关负载。

最右边的是采用拨码开关手动设置MAC地址的控制模块,左边的是采用上一章自动寻址算法动态MAC分配的控制模块,由图中可知,后者减少了拨码开关。

4.2软件设计

4.2.1 控制模块的BACnet协议栈

本文的BACnet MS/TP控制模块的BACnet协议栈和固件如图4-9所示。 协议栈的实现分为六个部分:物理层(UART)、数据链路层(DL)、网络层(NL)、应用层服务实体(ASE)、用户单元和应用程序。

物理层部分使用通用异步收发器,用于发送和接收MS/TP帧。当一个主节点持有令牌时,MS/TP主节点状态机发送传送器队列(TxQ)中的MS/TP帧,最多传送帧的个数有网络配置参数“Nmax_info_frames”决定。MS/TP接收状态机接收从UART中的字节流,并使用帧校验序列检验接收帧是否正确。当接收完一个完整的MS/TP帧,MS/TP主节点状态机就会把该接收帧存储到接收器队列(RxQ)中。

数据链路层维持MS/TP主节点状态机和BACnet MS/TP数据链路层功能。数据链路层使用DL_UNITDATA.request和DL_UNITDATA.indication原语,同网络层交换MPCI(MAC层协议控制信息)和NPDU(网络层协议数据单元)。“NL”使用NL_UNITDATA.request和NL_UNITDATA.indication原语,同应用层层交换NPCI(网络层协议控制信息)和APDU(应用层协议数据单元)。

BACnet应用层由两部分组成,分别是用户单元(User Element)和BACnet应用层服务元素ASE(Application Service Element)。

在用户单元中实现设备对象和应用对象。这些BACnet应用对象通过API和应用程序交换应用层相关信息。BACnet是基于客户/服务器通信模型的,在交互过程中,担当客户的BACnet用户称为请求方BACnet用户,担当服务器的BACnet用户称为响应方BACnet用户。MS/TP控制模块在它产生一个BACnet应用层服务请求时充当请求方BACnet用户(客户),在它接收BACnet应用层服务请求时充当响应方BACnet用户(服务器)。TSM(事务处理状态机)由应用层协议状态机中的请求方BACnet用户(客户)状态机和响应方BACnet用户(服务器)状态机来维持。

- 40 -

哈尔滨工业大学工学硕士学位论文 应用程序系统运行软/硬件输入API用户单元设备对象BO-01BO-04AI-01BACnet应用对象BO-02AI-02BO-03● ● ●软/硬件输出ASC应用ASEBACnet 应用服务APCI,服务相关参数BACnet解码器APCI,APDUAPCI,服务相关参数BACnet编码器APCI,APDU应用层协议状态机请求状态机响应状态机N_UNITDATA.reqN_UNITDATA.ind(NPCI,APDU)(NPCI,APDU)NL(网络层)DL_UNITDATA.reqDL_UNITDATA.ind(MPCI,NPDU)(MPCI,NPDU)DL(数据链路层)TxQMS/TP主节点状态机UART(物理层)RxQ发送帧MS/TP接收帧状态机PCI:协议控制信息PDU:协议数据单元

图4-9 控制模块的BACnet协议栈

在BACnet应用层服务元素ASE中执行“Who-Is”、“I-Am”、“ReadProperty”和“Write-Property”服务,以及BACnet APDU编码和解码。BACnet编码器使用本地BACnet用户产生的应用层服务原语中APCI和服务相关参数组成一个BACnet APDU。BACnet解码器在收到来自对等BACnet用户的应用层服务原语时,接收响应方状态机中的APCI和APDU。BACnet解码器从接收到的APDU中提取服务相关参数,给响应方应用层服务单元发送APCI和服务相关参数。

应用程序执行系统操作任务、硬件输入输出任务和ASC应用层任务。系

- 41 -

哈尔滨工业大学工学硕士学位论文 统操作任务维护内部应用层参数和本地操作(如按键、状态指示灯)控制。硬件输入输出任务采集6个模拟输入和驱动4路继电器输出。

4.2.2 MS/TP协议软件

MS/TP软件部分主要包括三个模块:接收帧状态机、发送帧过程和主节点状态机。程序流程图如图4-10所示。

开始系统初始化使能串口中断使能主节点状态机主节点空闲5ms计时器使能接收帧状态机否接收缓冲有数据是发送缓冲有数据接收数据并CRC校验接收前导字节正确错误持有令牌发送帧否接收完成是设置标志位否发送是否完成是设置两状态机为空闲主节点状态机

图4-10 MS/TP程序流程图

接收帧状态机接收物理层的完整数据帧,进行帧和数据CRC校验。发送帧过程根据MS/TP协议把数据帧发送给物理层。主节点状态机除了提供网络级连接外,主要负责令牌维护和管理。MS/TP协议要求很高的实时性,需要一个精确的时钟。时间精度太高可能加大系统负荷,太小又不能满足系统要求。该文选择5ms精度的计时器,协议中时间参数相应的为5ms的倍数。

接收帧状态机从物理层正确地接收帧,它的运作独立于主节点状态机。在接收过程中,通过标志位来进行通信。当串口有需要接收的数据,串口中断,然后使能接收帧状态机。在接收并CRC校验数据帧后,如果接收正确,则设置收到正确帧为TRUE。如果在接收的过程中发生错误,则设置收到正

- 42 -

哈尔滨工业大学工学硕士学位论文 确帧为FALSE,相应地根据MS/TP协议进行错误处理过程。

发送帧过程根据MS/TP协议把网络层传下来的消息变成帧,它以字节为单位填充串口传输寄存器,直至完成整个发送过程。

主节点状态机负责令牌维护和管理,其运作主要与令牌有关,数据信号帧发送只是其中一个或两个状态的行为或活动。根据MS/TP协议和接收帧状态机中的数据进行状态的转换。

4.3 本章小结

本章对智能建筑中用于控制开关设备的MS/TP控制模块,从双路电源、通信接口、继电器驱动和负载检测等电路进行了设计,给出了详细的原理图并制作出实物。由于采用上一章的自动寻址算法,硬件上减少了拨码开关。另外对本模块使用的BACnet协议栈和MS/TP协议软件实现流程进行了阐述。

- 43 -

…… 此处隐藏:1404字,全部文档内容请下载后查看。喜欢就下载吧 ……
智能建筑中BACnet MSTP控制模块研究与实现 - 图文(15).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/564459.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)