袁平路,張 捷,李天毅,楊 晉
(中國水利水電科學研究院,北京 100038)
隨著硬件技術的不斷提升,PLC的功能也越來越強大,編程手段也越來越向高級語言發展,基本上已經脫離了原始的梯形圖程序。當編程語言和編程手段不再局限于傳統的與、或、非之后,人們越來越多的將精力放在程序的智能化上。所謂“智能化”就是將原本需要通過人力計算或過程復雜的功能通過程序自動計算的方式解決。本文介紹了水電廠PLC智能化設計的原則、順控流程的設計思想和功率調節的設計方法。
(1)命令防誤動作:從PLC上電到穩定運行期間,程序應將命令區以及命令位清零,以防止上次停電前殘留命令及其它誤操作動作設備。
(2)命令時間比較功能:在廠站層下發命令到現地層后,程序會對廠站層所發命令時間與本套CPU接收命令時間進行比較,如果兩個時間的差值在一定范圍之內,則允許執行命令,否則將認為該命令為無效命令,予以丟棄。
(3)命令定時清除功能:為避免由于命令沒有及時被清除,而造成對設備的重復操作及誤操作,程序應在一定時間內對命令區所有命令進行清除操作。
(4)命令執行反饋功能:在廠站層下發命令之后,程序如果執行命令,則反饋命令執行代碼給廠站層,如果未執行命令,則反饋相應的錯誤代碼給廠站層,以便查找問題,同時也可防止命令意外丟失。
(5)數據長度監測功能:為防止因數據溢出而造成CPU負擔過重,程序中對每一種數據的處理加入對數據長度及類型的判斷,如果數據長度或類型錯誤,程序就會產生報警并上送廠站層。
(6)有功功率、無功功率調整限值處理功能:為了防止有功功率、無功功率調整限值超越限定值,程序設定了調整安全區域,有功功率、無功功率調整僅在該安全區域內進行調整,一旦發現數據超出了限定值,則按照規定的最大或最小限值進行調整。
(1)數據自動上送功能:程序可以根據上送數據的類型、長度,自動計算各數據的首地址。通過首地址及數據長度,自動上送各種類型數據,提高了數據上送的效率。
(2)CPU自動切換功能:當前大中型水電廠一般采用雙機冗余熱備結構,對設備實施控制。為了使冗余CPU 可以在特定情況下完成切換,保證廠站層采集數據的完整性,程序會自動監測冗余CPU的狀態及其網絡狀態,并在適當的條件下自動對CPU進行切換。
(3)各種工況之間的自動轉換功能:廠站層下發命令至現地層后,程序可以根據機組當前狀態及下發命令完成不同工況之間的轉換。
(1)編寫程序應使用所有PLC均支持的語言,保證在任何CPU中均可良好移植。
(2)考慮變量定義區的位置和大小,以便在常用的PLC系列中均可使用。
(1)機組程序應具有手、自動控制功能:在對機組實施開、停機試驗的過程中,先用手動流程控制,進行程序驗證,當機組開、停機試驗完成且程序測試無誤后,方可容許操作人員進行自動流程試驗。
(2)數據通道質量判別功能:對于所有類型的數據,均進行通道質量判別處理,在通道質量正常時允許數據進入控制,在通道質量異常時不允許數據進入控制。
(3)模擬量數據I/O控制狀態判別功能:對于模擬量數據,增加對該類型數據的I/O控制狀態判別功能,在該狀態處于閉鎖時,數據不許進入控制;在該狀態處于閉鎖解除時,數據可以進入控制;廠站層可以控制對該點的閉鎖解除;例如:當在規定時間內溫度增量≥規定數值,則該溫度點應該視為不可信點并退出溫度停機控制,只有當運行人員手動解鎖之后,該溫度點才可以重新回歸控制點,作為事故停機的依據。
(4)數據量強制狀態判別功能:對于所有類型的數據,均進行強制狀態判別處理,數據可以通過廠站層進行強制,并返回強制狀態。
(5)通信接收區及發送區的劃分:通過對通信接收區及發送區的劃分,確定合理區間,將PLC與外部通信的數據放在確定區域,避免數據重疊產生不可預知的后果。
由于現場程序架構沒有統一標準,調試人員僅靠本身素質完成現場投運工作造成維護不便、風險加大等問題。為了規范現場控制流程,降低現場投運風險,對水電廠程序架構進行整體標準化。通過順控流程的設計,調試人員應可以方便的在各種工況下進行轉換,同時,通過對流程相關變量的控制和監視可以在相應的步數對外圍設備進行控制,也可以監視每一步的運行時間等參數。
(1)步:步為SFC流程控制的基本元素,是流程執行中的分界點。
(2)步的執行條件:在該條件滿足的時候,流程可以進入到下一步。
(3)選擇分支:步的末端運行到下一步的頂端的傳遞路徑鏈路,每一步至少對應一個選擇分支,也可對應多個選擇分支。
(4)鏈路:鏈路可以在步和轉換等之間建立連接。
(5)跳轉:跳轉用于表示未完全顯示的有向鏈路。
(1)手、自動順控切換功能。
(2)跳轉功能。
(3)單步計時功能。
(4)單步輸出功能。
(5)單步超時報警功能。
(6)流程整體計時功能。
(7)工況轉換功能。
(1)程序的最大步數:該變量定義了程序的最大運行步數。
(2)程序的最大運行時間:該變量定義了程序的最大運行時間,當程序到達最大時間尚未完成的時候,會自動報警。
(3)程序每步的最大運行時間:該變量定義了程序每步的最大運行時間,當每步的時間到達時,會自動報警。
(4)工況運行步數:該變量定義了程序中特定工況的步數,例如:空轉在第4步,則定義該步數為4,程序可以根據步數自動跳轉,完成工況的轉換。
(5)分支結構的信息:分支結構信息包括:程序第幾步有分支結構,本步分支結構的分支數,每個分支結構對應的跳轉步數。
(6)流程手、自動模式:通過該變量可以控制流程的手、自動模式切換。
(7)步執行條件:通過該變量流程可以按步順序執行。
(8)流程第X步啟動:當流程在第X步啟動時,該變量置1,工程人員可以通過該變量控制外部設備。
(9)流程第X步超時報警:當流程在第X步超時報警時,該變量置1,工程人員可以通過該變量控制流程報警或退出。
(10)流程總時間超時報警:當流程總時間超時報警時,該變量置1,工程人員可以通過該變量控制流程報警。
(11)流程第X步運行時間:記錄流程第X步的運行時間。
(12)流程當前運行步號:記錄流程當前運行步號。
功率調節是指對水電廠調速器和勵磁系統的自動調節,它是水電廠發電過程中的重要一環。目前水電廠功率調節模式一般分為現地手動調節和遠方自動調節兩種方式。
手動調節就是通過傳統把手由人工對功率進行調節;自動調節就是通過計算機下令的方式由PLC進行自動計算后對功率進行調節。現在大部分水電廠都會通過總線和變送器兩種方式對功率進行采集后調節。PLC程序智能化設計后會自動對采集方式進行無擾動切換,保證機組對功率的調節。
通過對水電廠PLC程序的智能化設計,調試人員通過簡便的方式就可以完成水電廠核心功能的控制,不僅可以降低調試人員的調試難度,同時也大大提高了調試的效率、減少了程序的問題。同時程序增加了對通道的判斷、溫度梯度閉鎖等功能,使整套程序的功能更加多樣,并提高了整套程序對外圍設備控制的安全性。