一.?基礎知識
巨控模塊配置軟件?GRMDEV,內置事件控制和定時器編程,可以完成各種定時,條件,順序控制,數據處理和轉發,實際上巨控模塊可以做為一個PLC?或者數據協議網關使用。
該說明書適合巨控GRM?模塊的全部型號(GRM 500?,GRM200,GRM230?GRM530 GRM110?等)。
表達式
表達式是一個?C?語言的數值表達式,語法符合標準?C?語言規范,是?C?表達式的子集。表達式可以是單個變量名,也可以是常量,還可以是變量和操作符的運算式。
u?條件表達式:用于報警觸發條件、定時執行條件和事件觸發條件中,表達式計算結果非?0?表示條件成立。
例如:(溫度>20&&濕度>50)||開關?1
u?參數表達式:用于短信報警和短信查詢回送信息模板中,計算結果與類型有關。
u?賦值表達式:用于短信寫變量、短信控制命令、定時器和事件控制中。
?操作符
本系統支持以下幾種常用的操作符,手冊中未提到的操作符(如++,--)不被支持。
%注意:操作符雙等號“==”和單個等號“=”兩者區別。
變量=5,是賦值表達式,執行后變量的值改變為?5.
變量==5,是比較操作,判斷變量是否等于?5,若等于?5,條件為真(1).
操作符的優先級別如下
注意:建議使用括號來明確優先級如:
(風機?1?故障||風機?2?故障)&&(溫度>50)
表達式舉例
1)?多個條件同時成立,符號&&表示?2?個條件需要同時成立。
? ? ?? ? ?風機?1?故障&&風機?2?故障
2)?任何一個條件成立,,符號||表示?2?個條件只需要滿足一個。
?風機?1?故障||風機?2?故障
3)?組合條件判斷
(風機?1?故障||風機?2?故障)&&(溫度>50)
以上表達式表示任何一個風機故障而且溫度>50?時成立
定時器
GRM?模塊支持間隔定時器、每日定時器和星期定時器三種定時器。定時器可以實現定時發送查詢短信,也可以實現定時給變量賦值。
u?定時器類型
間隔定時器:始終按指定間隔周期執行定義的動作。
如:上圖表示,在壓縮機==1?成立后,過一分鐘后,開始第一次執行下面寫變量的操作,然后每過一分鐘重復一次。
每日定時器:每日指定的時間段內(開始時間至結束時間)按指定間隔周期執行定義的動作。
?
星期定時器:每周若干天內的指定時間點(開始時間)執行一次定義的動作。
u?執行條件
是一個條件表達式,當表達式計算結果非?0?時才執行定時器定義的動作。
u?定時間隔
連續執行動作之間的時間間隔。
u?觸發短信查詢
在完成賦值操作后,發出一條已定義的查詢短信,短信發送給該查詢授權的所有用戶。
u?定時執行內容
定時器執行的動作可以是向用戶發送一個查詢信息,也可以是給變量賦值。
如下圖:
表示每天上午?9:00?觸發一次查詢,然后?10:00?觸發一次查詢,一直到下午?17:00?觸發最后一次查詢。
也就是每隔?1?小時發出一條短信,如果模塊上電時間是?9:30,那么第一條短信會?10:00?發出。
事件控制
u?觸發表達式
觸發表達式是一個條件表達式。計算結果非?0?表示觸發條件成立。只填入數字“1”,表示為真執行。
u?觸發模式
表達式為真,觸發?1?次:觸發條件成立時僅執行一次事件動作。
表達式變化觸發:變量值變化時執行事件動作。該類型事件會在系統啟動時先執行一次。表達式為真,周期性觸發:觸發條件成立時先執行一次,然后按周期性執行事件動作。
u?觸發延時
僅對“表達式為真,觸發?1?次”事件有效。在設定時間內,如果觸發條件一直成立,GRM?模塊執行事件動作?1
次。
u?觸發周期
僅對“表達式為真,周期性觸發”事件有效。觸發條件成立時,系統每隔設定時間執行一次事件動作。第一次事件動作是在觸發條件成立時立即執行。
u?觸發查詢
在完成賦值操作后,發出一條已定義的查詢短信,短信發送給該查詢授權的所有用戶。
u?事件執行內容
變量賦值操作。可以寫入多行,注意是事件觸發的時候,將右邊的變量值或者計算表達式,復制給左邊的變量。
高級事件控制
高級事件控制實質上是多個事件控制的組合,和前面的使用方法并無區別。使用高級事件控制可以減少模塊程序里面事件控制的數量,增強可讀性:?如下二個單獨的事件控制:
要求錯缺相或者壓機過載任何一個條件成立時,關閉風機,壓機,輸出故障。沒有任何報警輸入時,取消報警輸出
可以使用一個高級事件控制完成:
二.?簡單例子
簡例?1:根據輸入開關,啟動電機
要求開關?1?閉合,電機輸出,開關斷開,電機斷開
%注意:左邊的事件控制只會在開關閉合時,執行一次,讓電機啟動,并不會在開關斷開為?0?時,關閉電機,?需要右邊的事件控制實現關電機。
也就是說執行方式和PLC?編程的置位復位指令類似,而不是線圈和觸點。
簡例?2:溫度顯示修正
PLC?里面獲取的測量溫度和實際有偏差,要求?APP?上顯示的溫度加以修正,可以在模塊數據詞典里面把測量溫度的網絡讀寫屬性取消,APP?只顯示修正后的值,不顯示原始值。
簡例?3:根據溫度啟動停止風機?
啟動風機邏輯如下:
要求溫度>設定溫度,啟動風機。用事件控制實現如下圖:
?如前所述,如下配置會在溫度>溫度設定時,打開風機,溫度<=溫度設定時不會關閉風機。
如果希望設定溫度作為參數,掉電后模塊依然保存上次設定值,數據詞典里面勾選上保存值即可
關閉風機的邏輯如下:
溫度<設定溫度-5?度?30?秒,關閉風機。用事件控制實現如下圖:?
注意,需要在?30?秒內持續滿足條件溫度<設定溫度-5?度才會執行,
計算風機運行時間:
要求在風機運行時,計算風機運行時間,單位是秒?。
用事件控制實現如下圖,風機運行時,每秒鐘執行一次運行時間的計數
簡例?4:每周定時開關機
周?1?到周?5?每天早上?8:30?打開空調,每天下午?17:30?關閉空調。
注意:周一到周五的開機和關機邏輯是由上圖?2?個獨立的定時器分別執行的。周末整天都需要關閉空調,配置方法如下:
注意:因為模塊通電運行時刻是不一定的,所以使用上圖的每日定時器,在時間段內每秒鐘檢查一次當前時間是需要開空調還是關空調,可以確保正確的邏輯。
?如果使用下圖的星期定時,因為是每天僅在?8:30?檢查一次是否需要開啟空調,如果模塊是?8:30?之后通電運行,當天的空調啟動不會執行。
三.?完整控制邏輯案例(W-X? 188-264-37-096)
案例?1:冷庫控制邏輯
?運行邏輯:
1.?當冷庫溫度>=設定溫度+溫度偏差且持續?200?秒時,壓機開啟,制冷。
2、?當壓機開啟后,經過風機延遲時間,開啟風機。
3、當冷庫溫度<=設定溫度,壓機將關閉。風機關閉。
停機邏輯:
按下停機,關閉風機和壓機
?故障邏輯:當壓機故障輸入或者錯缺相閉合時,關閉風機,壓機。報警輸出閉合。
案例使用巨控GRM232Q-4D4N4Q,輸入輸出全部使用模塊本機?IO?資源,將模塊當PLC?使用。
具體實現請參考Sample?目錄下:冷庫控制邏輯.grmprj?全部使用事件控制和高級事件控制實現。
Sample?目錄下還提供了一個稍微復雜的冷庫控制案例供參考?:復雜案例.grmprj。
案例?2:液位控制水泵
?自動運行邏輯:
1.?當液位<=設定液位底限,啟動水泵,有?2?個水泵,要求輪換啟動
2.?當液位>=設定液位高限,停止水泵
手動運行邏輯:
可遠程在APP?上手工啟停任何一個水泵,不受液位控制。
故障邏輯:
當電源輸入錯缺相閉合時,關閉水泵。
具體實現請參考?Sample?目錄下:液位控制水泵.grmprj?全部使用事件控制和高級事件控制實現。lw
?
評論
查看更多