目錄
一、實驗原理
使用SineWave
組件對數據源進行仿真,利用alarm組件庫的OutOfRangeAlarmExt
擴展插件,對仿真得到的溫度數據進行監控。對超過溫度上下限的數據,輸出報警信息。
1.1實驗目標
對多個數據量進行監控,實現對數據的報警。
1.2實驗要求
觀看視頻,學習報警生成的實現方式,完成報警生成的實驗。
二、實驗過程
2.1 啓動站點
首先雙擊platform開啓平臺。
輸入用戶名密碼
在Application Director
中啓動station。
雙擊站點名,啓動站點。
2.2 創建文件夾
右鍵點擊config文件夾,選擇New
-> Floder
新建文件夾
文件夾命名爲Temperature_Alarm
2.3 添加信號仿真組件
首先點擊左側欄下拉菜單中的Platte選項,呼出Platte菜單。
右鍵單擊Temperature_Alarm文件夾,選擇Views
-> Wire Sheet
,進入Wire Sheet界面。
在Platte菜單中,選擇kitControl
組件庫,找到Util
–> SineWave
組件,拖動該組件至Wire Sheet界面。
SineWave
組件用來產生正弦信號,在Wire Sheet界面雙擊該組件,設置其屬性。
設置其Amplitude
(振幅)屬性對應值爲25;Offset
(偏移量)屬性對應值爲25。
經過設置後,會產生一個大致如下圖所示的正弦信號。它的週期是30秒,振幅25,向上偏移25個單位。其信號的效果就是會在0到50之間來回震盪。
點擊save保存屬性。
回到Wire Sheet界面,SineWave組件就已經可以正常波動了。
2.4 添加數字組件
在Wire Sheet界面,右鍵點擊,選擇New
-> NumericWritable
,新建組件。
將其命名爲RoomTemperature
雙擊設置一下RoomTemperature
組件的屬性,將其數據的單位設置爲攝氏度。點擊設置units屬性
。
在彈出來的界面中,選擇temperature
-> celsius
,將數據單位改爲攝氏度。
將設置的屬性保存。
回到Wire Sheet界面,將SineWave組件的輸出,連接到RoomTemperature組件的輸入In10端口。這樣,由信號仿真器SineWave產生的正弦信號,就能作爲溫度數據,輸入到RoomTemperature組件中了。
2.5 添加擴展組件
在Wire Sheet界面,雙擊RoomTemperature設置其屬性。在左側的Platte菜單中,找到alarm
庫中的Extensions
-> OutOfRangeAlarmExt
擴展模塊,拖動至RoomTemperature的屬性設置頁面。
擴展模塊的名字直接默認即可。
這樣,在RoomTemperature屬性頁面的最下面,就有了一個OutOfRangeAlarmExt
選項。
展開該選項,找到其中的Offnormal Algorithm
選項並展開。
該選項可以設置溫度警報的上下限制。因爲我們設置的溫度範圍是從0到50之間震盪,所以可以設置溫度上限爲45度,下限爲5度。這樣,在溫度高於45度以及溫度低於5度時,都會觸發報警。
如圖2.21所示,需要設置溫度上下限的數值、提示信息,然後勾選Limit Enable
的兩個複選框,啓用上下限警報。最後點擊保存按鈕,保存設置的屬性。
現在,數據就已經可以被正常監控了。
當溫度小於5度或者大於45度時,就會出現紅色的警報提示。
2.6 設置警報監控
可以在station的config
-> Service
-> AlarmService
選項中,找到之前設置的警報內容。
可以添加一個控制檯組件,用來收集警報信息。
在Platte菜單中,找到alarm組件庫下的Recipients
-> ConsoleRecipient
組件,拖動至Wire Sheet界面。
連接數據線,將alarm類組件的警報信息,輸出到控制檯組件。
雙擊ConsoleRecipient
控制檯組件,可以看到溫度警報信息。
當溫度大於45度或者小於5度時,都會顯示相應的警報信息。
雙擊控制檯信息,可以看到所有提示信息。
雙擊station下的Alarm選項,也可以看到所有警報提示信息。
2.7 設置多個警報類
雙擊station下的config
-> Service
-> AlarmService
選項,進入到Wire Sheet界面。可以複製Default Alarm Class
組件,粘貼爲新的警報類。新的警報類命名爲“1號實驗室溫度監控”。
另外,可以把原來的Default Alarm Class組件,重命名爲“2號實驗室溫度監控”。右鍵點擊Default Alarm Class組件,選擇Set Display Name
選項,更改顯示名稱。
將新的監控類連接到控制檯。
現在,雖然已經將新建的“1號實驗室溫度監控”連接到了控制檯。但由於沒有設置監控方式,所以“1號實驗室溫度監控”還不能被正常監控。需要設置其控制方式。
回到Temperature_Alarm文件夾,進入Wire Sheet界面。
我們知道,RoomTemperature組件其實是表示的“2號實驗室溫度監控”的具體警報數據信息。要想讓“1號實驗室溫度監控”生效,需要再創建一個新的Numeric Writable
組件來表示其具體的溫度信息。
可以直接複製現有的RoomTemperature,將新的組件命名爲RoomTemperature_1
。
爲了讓數據不同,可以爲RoomTemperature_1設置一個新的SineWave信號。可以直接複製SineWave組件,並將新的組件命名爲SineWave_1
。
將數據流進行連接。
可以看到,因爲數據源不是相同的,所以兩個警報組件不會同步警報。
最後,把RoomTemperature_1的Alarm_Class
屬性設置爲“1號實驗室溫度監控”。
在擴展組件OutOfRangeAlarmExt
選項下,找到Alarm Class
選項。點擊下拉菜單,選擇“1號實驗室溫度監控”。這就相當於爲“1號實驗室溫度監控”設置了具體的監控方式。
設置完成過後,點擊保存。
現在,兩個監控都已經被設置了監控警報方式。
三、實驗結果
回到config
-> Service
-> AlarmService
選項的Wire Sheet界面,查看控制檯的信息。
可以分別看到“1號實驗室溫度監控”和“2號實驗室溫度監控”的警報信息。
同樣,也可以在station
-> Alarm
界面中,看到所有的警報信息。
當然,在瀏覽器中也可以進行數據監控。
至此,溫度監控報警的實驗進行完畢。
四、實驗過程中存在的問題及解決方案
整個實驗過程比較順利,實驗過程中需要注意以下問題。如果將某個SineWave組件的輸出流,連接到兩個不同的Numeric Writeable
組件上,那麼這兩個Numeric Writeable
組件獲得的數據就會使相同的,如下圖4.1所示。
如果需要使兩個Numeric Writeable組件擁有不同的仿真數據,需要連接不同的數據源。如下圖4.2所示。
五、實驗總結
本次實驗使用SineWave組件
對數據源的進行仿真,利用alarm組件庫的OutOfRangeAlarmExt
擴展插件,對仿真得到的溫度數據進行監控。對超過溫度上下限的數據,輸出報警信息。實現了對數據的監控和警報。
通過本次實驗,使我更加清晰地瞭解了Niagara Vykon_N4軟件的使用、設計流程。