文章目录
1 实验原理
1.1实验目标
在Workplace中实现热水泵控制,搭建简易的热水泵控制系统。通过Tstat组件对室外温度和预设温度进行比较。当室外温度高于设定的温度时,热水泵关闭;当室外温度低于设定温度时,热水泵打开。
1.2实验要求
参照实验练习手册“物联网技术及应用实验6”的要求,对照完成热水泵控制的实验练习。
2 实验过程
2.1 启动站点
打开软件并双击platform,输入平台密码进入平台。
在Application Director
菜单中,点击Start
启动站点。
站点启动后,双击站点名,输入站点密码以进入该站点。
2.2 创建项目文件夹
在Niagara界面左侧的导航栏中,选择Station
-> Config
,右键单击Config文件夹,选择New
-> Folder
创建新文件夹。
将新建的文件夹命名为Control_Logic
。
选中刚刚创建的Control_Logic
文件夹,右键单击,选择New
- > Folder
创建文件夹。
将新文件夹命名为HeatingSystem
。
再选中刚刚创建的HeatingSystem文件夹,使用相同的步骤创建子文件夹PumpControl
。
文件夹创建完成后,现在的目录结构如下图所示。
2.3 添加组件
双击PumpControl
文件夹,进入其Wire Sheet界面。
在Niagara软件界面上方的菜单栏中,选择侧边栏选项,点击下拉菜单中的Palette
选项。
在Niagara软件界面的左侧的Palette菜单中,选择KitControl
组件库。找到ControlPalette
-> Points
-> BooleanWritable
组件,拖拽至PumpControl组件的Wire Sheet界面上。
将该组件命名为HotWaterPump_1
。
2.4 设置组件属性
在Wire Sheet界面双击HotWaterPump
组件,设置其属性。
在Property Sheet属性设置界面,修改Facets
属性的值。分别将trueText
和falseText
属性设置为Pump_ON
和Pump_OFF
。
修改完成后,点击Save保存修改。
回到PumpControl的Wire Sheet界面,右键点击HotWaterPump_1
组件。点击Pin Slots
属性。
在Pin Slots属性中,将In5
和Auto
勾选上即可。其余选项可以不用管。
设置完成后,可以在Wire Sheet界面看到HotWaterPump的引脚已经发生了变化。
接下来继续添加组件,将Palette界面的ControlPalette
-> Points
-> NumericWritable
拖动至Wire Sheet界面,如下图所示。
将该组件命名为Outside_Temp
。
在Wire Sheet界面双击Outside_Temp组件,设置其属性。在Property Sheet界面中,设置Facets
属性,将units
单位属性设置为temperature
-> celsius
摄氏度。
设置完成后,点击Save保存设置。
回到Wire Sheet界面,右键单击Outside_Temp
组件,选择Actions
-> Set
选项。如下图所示。
设置标准数值为5.0
℃,如下图所示。
设置完成后可以看到,Outside_Temp的输出数值已经变成了5.0℃。
接下来继续在Wire Sheet界面设置HotWaterPump_1
的属性,右键单击该组件,选择Actions
-> Set
设置其属性。
将组件初始属性设置为Pump_ON
。
接下来继续添加组件,在Palette菜单的KitControl
组件库中找到HVAC
-> Tstat
组件,将其拖拽至Wire Sheet
界面。
组件名保持默认的Tstat
即可,如下图所示。
双击Tstat
组件设置其属性,如下图2.30所示。将Facets的trueText
和falseText
属性分别改成ON
和OFF
;Null On Inactive
属性改为false
;Diff
属性改为4.00
;Action
属性改为Reverse
;Null On In Control
属性改为false
。
更改完成后点击Save保存修改。
回到Wire Sheet界面,右键单击Tstat组件,选择Pin Slots
设置组件的引脚。
在Pin Slots界面勾选Out
、Cv
、Sp
引脚,点击OK保存。
设置完成后,Tstat的引脚就会发生变化,如下图2.33所示。
右键点击Outside_Temp组件,选择Duplicate
选项,复制该组件。
将新组件命名为PumpEnableSetPoint
。
此时Wire Sheet界面的组件如下图2.36所示。
2.5 连接逻辑线路
接下来连接逻辑线路。分别将Outside_Temp
和PumpEnableSetPoint
组件的Out
端口连接到Tstat组件的Cv
和Sp
输入端口上。将Tstat组件的Out
输出连接到HotWaterPump_1
组件的In5
端口。如下图2.37所示。
右键点击HotWaterPump_1组件,选择Copy
进行组件复制。
在Wire Sheet界面的空白部分点击Paste Special
,选择“特殊粘贴”方式。
在弹出来的Paste Special界面中,设置Number of copies
属性为1
,勾选Keep all links
和Keep all relations
选项。
设置完成后点击OK,新组件就会直接连接到原有逻辑中了。如下图2.41所示。
现在组件的逻辑如下表所示。
组件名 | 含义 |
---|---|
Outside_Temp | 表示室外温度 |
PumpEnableSetPoint | 表示设定的温度阈值 |
Tstat | 温度比较器,用于比较室外温度与设定的温度值 |
HotWaterPump_1 | 1号热水泵 |
HotWaterPump_2 | 2号热水泵 |
当室外温度(Outside_Temp)高于设定温度(PumpEnableSetPoint)时,热水泵关闭;当外界温度低于设定温度时,热水泵开启。
2.6 关闭站点
实验完成后,需要及时关闭站点以免数据丢失。在站点界面中点击Ctrl + S保存站点信息,然后在platform的Application Director
界面中将站点停止。然后将platform关闭即可。
3 实验结果
在Wire Sheet界面添加组件并设置其属性,界面如下图3.1所示。
当外界温度低于设定温度时,热水泵开启。可以右键单击Outside_Temp组件,选择Actions
-> Set
设置其数值,如下图所示。
将室外温度设置为1.0
℃,如下图3.3所示。
设置温度数值完成后,可以看到两个热水泵都已经处于打开状态。
以同样的方式修改室外温度Outside_Temp,将数值修改为10
摄氏度。
可以看到,当室外温度大于设定温度5摄氏度时,两个热水泵就会关闭。
4 实验过程中存在的问题及解决方案
在实验过程中可以发现,手动更改Outside_Temp的数值确实可以实现控制热水泵开关,但是手动控制比较麻烦,我需要一个可以自动产生温度数据的组件来代替Outside_Temp原本的NumericWritable组件。
之前实验中使用过SineWave
组件,它是一种可以产生正弦信号的组件,下面就利用该组件为Outside_Temp产生数据。
在Palette面板的KitControl组件库中,找到Util
-> SineWave
组件,并将其拖拽至Wire Sheet界面。
双击SineWave组件设置其属性,将Amplitude
和Offset
属性都设置为5
,那么该组件就会产生一个在0到10之间的正弦信号,在信号会在0到10之间以正弦的形式来回波动。
设置属性完成后,点击保存。回到Wire Sheet界面,将SineWave的输出连到Outside_Temp的In10
端口,如下图4.3所示。
可以看到,组件连接完成后,Outside_Temp组件的数值就可以在0到10之间来回变化了。
当数值大于5时,相当于外界温度高于设定温度,此时HotWaterPump关闭,表示热水泵不加热,如下图4.4所示。
当数值小于5时,相当于外界温度低于设定温度,此时HotWaterPump开启,表示热水泵开始加热,如下图4.5所示。
通过SineWave组件,实现了温度数据的自动模拟,方便查看系统运行效果。
5 实验总结
本次实验制作了热水泵控制系统的第一部分,搭建了简易的热水泵控制系统。通过Tstat组件对室外温度和预设温度进行比较。当室外温度高于设定的温度时,热水泵关闭;当室外温度低于设定温度时,热水泵打开。通过添加SinWave组件,使得数据可以在设定范围内自动变化,能够更方便地观察系统的运行效果。