文章目錄
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組件,使得數據可以在設定範圍內自動變化,能夠更方便地觀察系統的運行效果。