邢本福,夏國(guó)強(qiáng),李 萌,張重越
(1.北京中水科水電科技開發(fā)有限公司,北京 100038;2.三峽水力發(fā)電廠,湖北 宜昌 443000)
隨著PLC產(chǎn)品的飛速發(fā)展、編程語(yǔ)言的多樣化,在程序設(shè)計(jì)和應(yīng)用方面對(duì)編程語(yǔ)言選擇有了更高的要求。目前,PLC編程語(yǔ)言大致分為順序功能圖(SFC)、梯形圖(LD)、功能模塊圖(FBD)三種圖形化語(yǔ)言和語(yǔ)句表(IL)、結(jié)構(gòu)文本(ST)兩種文本語(yǔ)言;其中順序功能圖(SFC)編程語(yǔ)言具有流程可視化、程序易讀、故障易查、編程簡(jiǎn)單、易維護(hù)等優(yōu)點(diǎn),在水電站開停機(jī)流程中得到了廣泛應(yīng)用。某巨型水電站改造前的開停機(jī)流程采用的是SFC編程方式,改造后的PLC采用的是傲拓科技自主可控高性能NJ600系列PLC,該P(yáng)LC支持順序控制圖(SCC)而不支持SFC編程語(yǔ)言,以下主要對(duì)通過使用順序控制圖(SCC)圖形化語(yǔ)言實(shí)現(xiàn)順控流程的可視化編程進(jìn)行闡述。
順序控制圖(SCC)屬于圖形化編程語(yǔ)言,且執(zhí)行邏輯是順序執(zhí)行,編程方式如圖1所示。該流程圖由開始框、執(zhí)行框、條件框、結(jié)束框、連線組成。
開始框:開始框在每個(gè)順序控制圖中都必須有并且是唯一的,它是順序控制圖的開始,開始框無(wú)需設(shè)置參數(shù)。
執(zhí)行框:也稱為步屬性框,當(dāng)使用某種操作時(shí),需要選用執(zhí)行框,執(zhí)行框中有13種基本操作,可根據(jù)需要進(jìn)行選擇。
條件框:用來(lái)判斷一個(gè)條件是否成立,如果條件成立,就走“是”分支,如不成立就走“否”分支。
結(jié)束框:一般的順序控制圖都要有結(jié)束。結(jié)束框也無(wú)需設(shè)置參數(shù)。也有個(gè)別需始終循環(huán)執(zhí)行的順序控制圖可以沒有結(jié)束框。
結(jié)合順序控制圖(SCC)編程語(yǔ)言特點(diǎn),最終確定了在執(zhí)行框?qū)傩灾羞x擇調(diào)用程序,在調(diào)用程序段中寫入執(zhí)行框步號(hào)、步運(yùn)行時(shí)間、步超時(shí)時(shí)間及啟動(dòng)下一步條件程序,通過執(zhí)行框中的“啟動(dòng)下一步條件程序”來(lái)判斷是否滿足下一步執(zhí)行條件,從而實(shí)現(xiàn)順控流程中的設(shè)備順序控制。
以圖1為例:在PLC編程軟件變量表中建立順控流程所需要的數(shù)據(jù)點(diǎn),包括但不限于運(yùn)行步號(hào)、步運(yùn)行時(shí)間、步運(yùn)行狀態(tài)、步超時(shí)時(shí)間、下一步就緒、啟動(dòng)下一步條件滿足。
運(yùn)行步號(hào):整型變量,用于上送,便于運(yùn)行人員實(shí)時(shí)監(jiān)視流程運(yùn)行到哪一步。
步運(yùn)行時(shí)間:整型變量,用于上送,以便運(yùn)行人員實(shí)時(shí)監(jiān)視流程本步運(yùn)行了多長(zhǎng)時(shí)間。
圖1 順序控制圖(SCC)示意圖
步超時(shí)時(shí)間:整型變量,步運(yùn)行最長(zhǎng)時(shí)間,如果步運(yùn)行時(shí)間超過步超時(shí)時(shí)間,則發(fā)出步超時(shí)報(bào)警信號(hào),并根據(jù)需要來(lái)執(zhí)行中斷流程或者跳轉(zhuǎn)其他執(zhí)行框。
(1)步運(yùn)行:BOOL型變量,作為中間變量,執(zhí)行順控流程中對(duì)設(shè)備的操作。
(2)啟動(dòng)下一步條件滿足:BOOL型變量,當(dāng)此條件滿足時(shí),直接執(zhí)行下一個(gè)執(zhí)行框。
表1 設(shè)備執(zhí)行邏輯名稱
(1)根據(jù)順控流程建立SCC順控圖程序,如圖1所示。
(2)建立執(zhí)行框讀寫程序,前面提到執(zhí)行框支持13種基本操作,由于水電站順控流程復(fù)雜且單個(gè)設(shè)備具有多種操作方式,因此執(zhí)行框應(yīng)選擇“調(diào)用程序”基本操作屬性,調(diào)用程序段內(nèi)容應(yīng)包含以下幾個(gè)方面:對(duì)運(yùn)行步號(hào)的讀寫功能;對(duì)運(yùn)行超時(shí)時(shí)間的讀寫功能;對(duì)步運(yùn)行屬性的讀寫功能;對(duì)啟動(dòng)下一步條件的讀寫功能。通過對(duì)“程序段”編程,可以實(shí)現(xiàn)順控流程中步運(yùn)行時(shí)間監(jiān)視、步運(yùn)行超時(shí)報(bào)警、下一步啟動(dòng)條件讀寫、步與步之間轉(zhuǎn)換等功能,邏輯如圖2所示。
圖2 執(zhí)行框邏輯
(3)建立設(shè)備執(zhí)行程序,水電站設(shè)備執(zhí)行一般分為自動(dòng)執(zhí)行和手動(dòng)執(zhí)行2種操作方式,其中自動(dòng)執(zhí)行是根據(jù)順控流程步運(yùn)行狀態(tài)直接觸發(fā),手動(dòng)執(zhí)行是運(yùn)行人員在上位機(jī)進(jìn)行下令觸發(fā),具體邏輯如圖3所示。
圖3 設(shè)備執(zhí)行邏輯
(4)建立啟動(dòng)、中止SCC觸發(fā)程序, SCC順控圖程序啟動(dòng)需要用EXEC功能塊觸發(fā),流程執(zhí)行異常中止需要用KILL功能塊觸發(fā)。如圖4所示,“SEQ_S101_DI62”為S101流程啟動(dòng)信號(hào), “RESET_SYN_ALL”為S101流程中止信號(hào),通過二者信號(hào)的上升沿觸發(fā)SCC流程啟動(dòng)、中止功能。
圖4 SCC啟動(dòng)、中止調(diào)用程序
SCC流程執(zhí)行過程中,已運(yùn)行或正在運(yùn)行的程序段顏色顯示為紅色,未執(zhí)行的程序段顯示為藍(lán)色,方便技術(shù)人員實(shí)時(shí)觀察程序運(yùn)行到了哪一步,如圖5所示。
圖5 SCC運(yùn)行監(jiān)視
順控流程在水電站機(jī)組運(yùn)行過程中起著至關(guān)重要的作用,因此順控流程設(shè)計(jì)的可視化、邏輯實(shí)現(xiàn)的清晰化、編程的簡(jiǎn)單化、維護(hù)便捷化在PLC編程中顯得尤為重要,通過SCC順序控制圖對(duì)順控流程的設(shè)計(jì),使得順控流程執(zhí)行可視化、程序維護(hù)更加清晰易懂,減少了用戶維護(hù)難度,相比其他編程方式,SCC順序控制圖在順控流程方面節(jié)約了近30%的維護(hù)工作量。