技術分享

使用EMOS系統 – 動作條件

動作條件(action rule) 用來定義當某一個外在條件成立時,系統內的哪一個被控制標的(可能是繼電器,或是DIO針腳.. 等)必須執行哪一種動作。

 

例如若是您希望感測器所讀出的數值能夠用來當成控制繼電器開啟或關閉的動作條件,那您必須參考本章節所說明的各項參數來設定模組。

 

下圖的設定以下面這一段文字說明為例:

 

“農田裡有測量溫溼度的感測器(HTU21D)一支,農田主人想利用它來決定田裡灌溉馬達開啟灌溉的時機。目前灌溉馬達是接在模組第一顆繼電器(Relay:0)上面,農田主人初步構想的控制條件如下:

[若是HTU21D:T 溫度感測器的讀值高於40度的時候,將繼電器(編號0, 模組第一顆繼電器)打開。

若是HTU21D:T 溫度感測器的讀值低於或等於30.5度的時候,將繼電器(編號0, 模組第一顆繼電器)關閉]”

 

首先開啟模組網頁,點選”動作條件”選單內來啟用並配置動作條件相關參數。

Step 1: 選擇任何一個尚未使用的動作條件,將”啟用”一欄打勾代表我們要啟用此一動作條件,任何沒有打勾的動作條件皆沒有作用。另外由於此例中包含了2個獨立的關係條件,故我們同時使用兩個動作條件(P0和P1)。

 

Step 2: 適度修改”群組”欄內容,這個欄位可以輸入一個數值。依據3.6節對”群組”的說明,所有輸入相同群組號碼的動作條件會被視為同一群組,並且有AND 群組和OR群組的區別。由於我們這個例子裏面使用的兩個條件互相之間並沒有任何邏輯上的關聯,所以這裡我們維持預設的群編號不變。

 

Step 3: 選擇這個動作條件所要使用的”感測器來源”(此例中為在虛擬感測器插槽S0上面的HTU21D:T 溫度感測器)。

 

Step 4: 設定”關係”。”關係”是比較”感測器來源”與”門檻值”之間的關係條件,例如依此例前半段敘述:”溫度感測器的讀值高於40度的時候”,故可知P0的關係應為”>”,其餘條件也是依此類推。

 

Step 5: 設定”門檻值”,這邊輸入會觸發動作的數值。當選定的感測器來源所讀入的數值和這裡所輸入的門檻值符合”關係”所指名的條件時,後面的動作便會被觸發。此例中P0應填入門檻值40,其餘依此類推。

 

Step 6: 設定”動作”,分成”動作目標” 及”動作種類”兩個下拉選單可以選擇。

[動作目標]: 依據前面3.6節對”目標選項”的說明,這裡選擇RELAY:0為目標。

[動作種類]: 依據前面3.6節對”動作選項”的說明,這裡分別選擇打開”ON”和關閉”OFF”。

 

Step 7: 最後按下”Submit”(送出)按鈕,您剛剛所做的動作條件參數設定才會正式生效。

 

6.1          使用”群組”的AND和OR關係

在較為複雜的狀況條件下,有時必須利用到群組的AND或OR關係才能達成,例如我們以上一節的題目加以改寫,往更加符合現實的狀況擴充。

 

“農田裡有測量溫溼度的感測器(HTU21D)一支,農田主人想利用它來決定田裡灌溉馬達開啟灌溉的時機,並希望馬達開啟時,能送出一個控制訊號給監控系統。目前灌溉馬達是接在模組第一顆繼電器(Relay:0)上面,監控系統訊號線是接在模組數位IO腳位14(Digital:14)上面,農田主人初步構想的控制條件如下:

[若是HTU21D:T 溫度感測器的讀值高於40度且濕度低於30的時候,將繼電器(編號0, 模組第一顆繼電器)打開,並送出監控訊號。

若是HTU21D:T 溫度感測器的讀值低於或等於30.5度或濕度高於70的時候,將繼電器(編號0, 模組第一顆繼電器)關閉,並關閉監控訊號。]”

 

這個例子對應的設定如下:

P0和P1用來設定命題中”溫度感測器的讀值高於40度(且)濕度低於30的時候,將繼電器(編號0, 模組第一顆繼電器)打開”,由於命題中說明了溫度和濕度為”且”(AND)的關係,所以我們挑選了一個為正數的群組號碼。

P2和P3設定上如同P0和P1,但為了執行另一個動作(送出監控訊號),故使用了另一個為正數的群組編號。

P4和P5用來設定命題中”溫度感測器的讀值低於(或)等於30.5度或濕度高於70的時候,將繼電器(編號0, 模組第一顆繼電器)關閉”,由於命題中說明了溫度和濕度為”且”(OR)的關係,所以我們挑選了一個為負數的群組號碼。

其餘以此類推。

相關文章

Leave a Comment