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