【Tridium Niagara Vykon N4 物联网平台】 08_热水泵控制 (3/3)

1 实验原理

1.1 实验目标

在Workplace中利用时间表及模拟函数,实现对温度的比较控制。配合Lead Lag Runtime组件,通过比较两个水泵的运行时间,让热水泵轮流工作,避免热水泵因经常工作或不经常使用而出现故障。

1.2 实验要求

参照实验练习手册实验练习4的要求,对照完成利用时间表实现热水泵控制。使用Lead Lag Runtime组件来平衡每个设备的运行时间。

1.3 相关模块介绍

本次实验需要用到Lead Lag Runtime组件,该组件用来平衡每个设备的运行时间,根据累计运行时间,控制运行时间少的设备启动。它可以提供2到10个设备的控制,并使一次只有一个受控设备处于活动状态。Lead Lag Runtime属性如下表1-1所示。

表1-1 Lead Lag Runtime组件属性
属性 含义
In 是StatusBoolean类型的输入,用于控制否应该打开受控设备。如果此输入为True,根据运行时间的计算一个输出将处于活动状态。
Numeric Outputs 设置受控制设备(输出)的数量。
Max Runtime 最大运行时间
Feedback 是StatusBoolean类型的输入,用于提供受控设备启动的正反馈。如果反馈值在反馈延迟时间内未显示为True,则当前受控输出将显示反馈信号警报,并且LeadLagRuntime的输出将切换到下一个受控设备。此值设置为将禁用反馈警报功能。
Feedback Delay Time 用于评估所控对象的反馈延迟时间(如果存在反馈输入的情况)。
Out A~J StatusBoolean输出,该输出通常连接到带有DiscreteTotalizerExt 扩展功能的BooleanWritable点上。输出通常用于控制某种类型的负载。
Runtime A~J 这些是RelTime输入,用于受控对象运行时间的输入。这些输入通常链接到受控对象的DiscreteTotalizerExt扩展功能的ElapsedActiveTime属性,该属性会测量相应的运行时间。
DiscreteTotalizerExt 是控制点扩展,用于累记运行时间,即二进制或枚举值的状态变化次数。

2 实验过程

2.1 启动平台

首先在Niagara软件中启动平台。输入用户名和密码进入platform,并在Application Director界面,将站点启动。如下图2.1所示。
图2.1 启动站点
站点启动后,双击站点名并输入密码可以进入该站点。

2.2 添加组件

进入PumpControl文件夹的Wire Sheet界面,断开时间表与热水泵之间的连接。
图2.2 断开连接
在Palette界面的KitControl组件库中找到HVAC文件夹,如下图2.3所示。
图2.3 添加组件
将其中的LeadLagRutime添加到Wire Sheet界面,并命名为PumpLL
图2.4 PumpLL组件
双击PumpLL组件设置其属性,将Max Runtime属性数值改为5分钟。表示每个热水泵的最长运行时间为5分钟。
图2.5 属性设置
将时间表PumpSchedule组件的Out端口连接到PumpLL模块上的In,将PumpLL模块上的OutA连接到HotWaterPump_1的In16引脚,将OutB连接到HotWaterPump_2的In16引脚。
图2.6 引脚连接

2.3 设置组件属性

打开HotWaterPump_1的属性面板,将Palette界面KitControl组件库中的ControlPalette –> Extensions文件夹内的DiscreteTotalizerExt组件,拖拽到HotWaterPump_1组件的设置面板。打开DiscreteTotalizerExt属性,将Change of State Count Transition属性设置为To Action
图2.7 设置属性
对HotWaterPump_2也进行相同的扩展操作,添加扩展并将Change of State Count Transition属性设置为To Action。
回到Wire Sheet界面,右键单击HotWaterPump_1,选择Composite。在Composite Editor界面添加Elapsed Active Time,并将其命名为RunTime
图2.8 设置组件
添加Reset Elapsed Active Time组件,将其重命名为ResetRunTime
图2.9 设置属性
对HotWaterPump_2执行相同的操作,添加两个组件并重命名。
回到Wire Sheet界面,将HotWaterPump_1组件的RunTime输出引脚连接到PumpLL的RunTimeA输入引脚。同样,将HotWaterPump_2组件的RunTime输出引脚连接到PumpLL的RunTimeB输入引脚。如下图2.10所示。
图2.10 连接端口
从KitControl调色板的Logic文件夹中查找组件,将OR组件添加到Wire Sheet界面。
图2.11 OR组件
将该组件命名为PumpStatusOR
图2.12 添加组件
将OR的输出Out连接到PumpLL的Feedback输入。
图2.13 线路连接
打开PumpLL的属性页面,将Feedback设置成true
图2.14 设置属性
右键单击PumpLL,选择Actions -> Clear Alarm Status
图2.15 设置属性
右键单击OR组件,选择Views -> AX Slot Sheet。在该界面找到InA,将其重命名为Pump1StatusIn
图2.16 更改名称
将InB设置为Pump2StatusIn
图2.17 设置显示名称
最终的效果如下图所示。
图2.18 逻辑组件连接

3 实验结果

本次实验主要实现了两部分内容,一个是以Tstat组件为中心的温度阈值比较部分;另一个是以Lead Lag Runtime组件为中心的时间表自动控制部分。

3.1 温度比较控制

阈值比较部分由Ramp组件产生斜坡函数数据,用来模拟室外的温度数值。利用Tstat组件将模拟的温度数据与设定的温度阈值进行比较,将比较结果输入到热水泵的In5引脚。该部分主要组件如下图3.1红框中所示。
图3.1 温度比较部分
当室外温度高于设定的温度时,Tstat组件输出为Null,即输出为空,不去控制热水泵;当室外温度低于设定温度时,Tstat组件输出为True,控制热水泵为开启状态。

3.2 正反馈控制

自动控制部分是由PumpSchedule日程表作为输入,由日程表的设定控制热水泵的启动状态。PumpSchedule将输出连接至Lead Lag Runtime组件,Lead Lag Runtime组件可以用来收集组件的运行时间,并且可以通过设置正反馈、调节反馈时间等方式,控制两个热水泵交替运行。该部分的主要组件如下图3.2红框中所示。
由于该部分的控制输出是输入到了In16引脚,其优先级比In5引脚低,所以只有当室外温度高于设定的阈值时,自动控制部分才能起作用。
自动控制部分的核心组件是Lead Lag Runtime组件,其In引脚用于输入控制指令;Runtime用来收集不同组件的运行时间;Out用来输出自动控制的结果。Feedback用来设置组件的正反馈调节,Feedback Delay用来设置反馈时间。
图3.2 自动控制部分
正反馈的意思是,如果热水泵A或B中有任意一个处于开启状态,那么只要这个已开启的水泵不被意外停止,它就会一直保持开启状态。可以在Lead Lag Runtime组件中开启反馈功能,如下图3.3所示。
图3.3 开启反馈功能
当开启反馈功能后,可以用“逻辑或”组件收集当前的热水泵启动状态,并将逻辑运算结果输入到Lead Lag Runtime的Feedback引脚。只要有一个热水泵开启,逻辑运算结果就是true,此时Lead Lag Runtime会维持输出状态,也就是会让某个热水泵一直加热。只有当这个处于开启状态的热水泵被强制关闭,导致两个热水泵都处于关闭状态时,逻辑运算结果输出false,此时如果在反馈调节时间内没有任何热水泵开启,那么自动控制就会将启动指令输出到下一个热水泵,并显示警报。这是一种正反馈调节,一直让某个水泵工作,直到这个水泵被意外关闭。

3.3 水泵轮流工作

如果关闭反馈功能,只用反馈时间和警报功能,就可以实现让两个水泵在规定时间内轮流工作,平衡两水泵的运行时间。设置Lead Lag Runtime组件的属性,调节反馈时间和警告清除时间,如下图3.4所示,就可以让两个水泵在规定时间内轮流工作。
图3.4 组件设置
设置完成后,切断由“逻辑或”到Feedback的输出,Lead Lag Runtime会首先在某个输出端口发出警告,并在另一个输出端口输出启动信号。如下图3.5所示。
图3.5 B输出
经过反馈延时时间后,警告信号清除,输出信号转到下一个热水泵,并重新发出警告信号。如下图3.6所示。
图3.6 A输出
这样,两个热水泵就会以反馈时间为间隔,循环开启并轮流工作。

4 实验过程中存在的问题及解决方案

平台启动失败问题及解决方案
在打开软件启动平台时,有可能会因为Niagara服务尚未运行而导致平台启动失败。如下图4.1所示。
图4.1 启动失败
解决办法是在任务管理器中找到Niagara服务并启动,如下图4.2所示。
图4.2 启动服务

5 实验总结

本次实验在原有的热水泵控制实验基础上,实现了对热水泵的温度阈值控制和时间表自动控制两种控制方式。温度阈值控制是利用Tstat组件,比较室外温度和设定的阈值温度,实现水泵的开关控制。时间表自动控制是利用时间表组件设置的计划开关时间,自动控制水泵的开闭。时间表配合Lead Lag Runtime组件,收集热水泵的运行时间,并通过设置反馈调节时间实现两水泵的轮流工作。Feedback属性可以设置水泵运行的正反馈调节,使某个水泵一直工作。
关于反馈功能的应用,目前我还不太熟悉,课后需要继续练习。

原文链接:https://blog.csdn.net/ZHJ123CSDN/article/details/106444822

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章