魏國富,黃忠勝,丁建輝
(中國石油天然氣股份有限公司 西部管道分公司 生產技術服務中心,烏魯木齊 830000)
站控系統(SCS)是輸油氣管道SCADA 系統的遠方控制單元,是保證SCADA 系統正常運行的基礎。典型站控系統主要由操作員工作站、工藝PLC 系統、ESD PLC 系統、網絡通信設備等組成。站控系統PLC 是控制系統的核心,PLC 采集現場遠傳信號后,經過邏輯運算,并向現場執行機構發出控制命令,實現自動控制功能[1]。實際工程中,站控系統程序的編制沒有明確統一的標準,往往依據最后程序執行的結果來判定控制質量。由于PLC 編程人員的個人習慣和素質差異,會造成程序風格迥異,程序的質量層次不齊,互通性差,甚至同一個人在不同時期、不同項目中編寫的程序也會存在不統一或隨意性[2]。對PLC 編程的各個環節進行統一,規范控制程序結構和邏輯,使程序結構清晰、簡明易懂,實現站控系統控制程序標準化,可提高控制程序的可靠性、可維護性和可移植性。
隨著計算機軟件技術的不斷發展,出現了多種程序設計思想,如結構化程序設計思想、面向對象的程序設計思想以及事件驅動的程序設計思想等。其中,結構化程序設計是一種應用廣泛、易于理解和實現,且比較契合工業控制程序開發要求的設計方法[2]。站控系統結構化程序設計以模塊化設計為中心,將站控系統中工藝PLC、ESD PLC、水擊保護系統PLC、閥室RTU 等從程序的功能上劃分為多個相互獨立的模塊,各模塊相互獨立、功能單一,使得程序結構簡單清晰、接口簡單。采用“自頂而下、逐步細化”的結構化站控系統程序設計方法和“單入口單出口”的控制結構,主要在以下多個方面實現程序的標準化:①程序結構設計標準化,即根據輸油氣管道站場工藝流程和設備功能,將站控系統要完成的功能分解為多個小模塊,再將各個小模塊進行逐步細化;②功能模塊標準化并形成庫,即某一段程序可以被多次、重復調用,也就是設計通用化的功能模塊[3];③變量定義標準化,即將輸油氣管道站控系統程序中常用的通信變量、設備變量、聯鎖程序變量等命名格式的標準化;④程序注釋標準化。
輸油管道或輸氣管道的各類型站場工藝流程可能不盡相同,但對于PLC 程序而言仍具有很多共性,如信號處理、通信處理、系統診斷和單體設備控制等,因此可根據輸油氣管道站場工藝流程和設備功能的特點,將站控系統程序按功能分解為以下幾部分:
1)數據映射處理程序:完成PLC 硬件地址與程序變量的映射、模擬量輸入和輸出數據的量程轉換、輸入信號的濾波處理、回路斷線檢測、冗余輸入通信的數據選擇等程序。
2)人機交互程序:完成上位機下發的復位命令、投用屏蔽命令、手自動切換命令、單體設備開關(啟停)控制命令、中控站控權限切換命令、設備預選命令、旁路命令等程序。
3)聯鎖控制程序:完成工藝PLC 中啟站邏輯、停站邏輯、空冷器聯鎖啟停邏輯、風機聯鎖啟停邏輯、泵的聯鎖控制邏輯、爆管檢測邏輯等程序;在ESD PLC 程序中完成全站工藝邏輯、壓縮機廠房工藝邏輯、超壓保護聯鎖邏輯等程序。
4)單體設備控制程序:完成泵、閥、壓縮機組、空壓機、加熱器、發電機、加熱爐等單體設備的啟停(開關)控制等程序。
5)數據通信程序:完成PLC 與PLC、PLC 與其他第三方設備的通信控制指令、通信數據位映射等程序。
6)系統診斷程序:完成PLC 系統內部硬件狀態、程序狀態等診斷數據的采集功能,并完成與外部遠程維護診斷系統的通信地址或標簽的接口等程序。
7)其他類型程序:完成能耗計算、設備運行時長計算、設備誤動作判斷、程序修改記錄、時鐘同步等程序。

圖1 標準化功能塊管腳排列示例Fig.1 Example of pin arrangement of standardized function blocks
8)自定義邏輯功能塊:將控制系統程序中常用的、重復性、通用性的控制邏輯封裝為用戶自定義功能塊,如閥門的單體控制程序、壓縮機的啟停機控制程序等。
按照以上程序結構設計方法,可對站控系統工藝PLC、ESD PLC、水擊保護PLC、閥室RTU 等控制程序的結構進一步進行細化,并規范程序的命名和執行順序。
功能塊已成為各個PLC 產品的標準模式,并且被廣泛應用在實際的工業控制中,縮短了程序的編制時間,程序的結構也變得更加清晰,提高了效率,降低了維護成本[4]。輸油氣管道站控系統程序許多單體設備或功能塊相同的邏輯可使用功能塊實現,但由于項目實施方和編程人員的不同,造成相同設備的相同控制邏輯形成功能塊后差異性較大。通用控制功能塊的標準化開展有以下兩方面內容:
1)制定標準化功能塊編寫標準。結合輸油氣管道站控系統程序中功能塊的特點,制定標準化功能塊編寫標準,規范功能塊輸入輸出管腳的排列、管腳變量命名、功能塊內部變量命名、功能塊注釋等要求,圖1 為輸油主泵單體控制功能塊管腳排列要求。
2)建立通用控制功能塊庫。對輸油氣管道站控系統程序中常用的功能塊進行梳理和統計分析,對現有功能塊控制邏輯進行優化,對尚未實現功能塊的邏輯完成功能塊編程,并將梳理出的功能塊按照功能進行分類,選擇輸油氣管道站控系統主流PLC 產品編程軟件,建立輸油氣管道常用通用控制邏輯功能塊庫。功能塊庫中通過兩種不同編程語言和軟件編寫的ESD 閥門主體控制功能塊如圖2 所示。
良好的變量定義方法不僅有利于提高程序的可讀性,同時也有利于程序的排錯和調試[2]。輸油管道站控系統程序中常用各類型變量的規劃和定義應從以下方面實現標準化:

圖2 基于RSLogix5000和Concept軟件的標準化ESD閥門主體控制邏輯功能塊Fig.2 Standard ESD valve body control logic function block based on RSLogix5000 and Concept software
1)與上位機系統通信變量的標準化。站控系統程序與上位機系統通信的變量通過別名的方式將通信地址標簽關聯起來,不再單獨進行程序變量到上位機通信地址標簽的映射編程。通信地址區分數字量和模擬量,且應根據不同的設備類型,對通信地址進行分段。
2)設備變量的標準化。輸油氣管道站控系統中常用設備如電動閥、調節閥、加熱器、壓縮機組、空冷器等相關變量的名稱宜由設備類型字母代號、設備工藝編號、設備的狀態或控制命令屬性等三部分組成。例如,設備變量“ESDV1101_ZSH”“ESDV”表示設備的類型字母代號為ESD 閥門;“1101”表示設備的工藝編號;“ZSH”表示設備的開到位狀態屬性。常用設備的命名和屬性字母代號應形成標準。
3)模擬量變量的標準化。輸油氣管道站控系統常用的模擬量信號如壓力、溫度、液位、振動、轉速、流量等變量的名稱宜由變送器類型字母代號、變送器工藝編號等兩部分組成。例如,模擬量變量“PT1101”,其中“PT”表示壓力變送器字母代號,“1101”表示變送器的工藝編號。常用模擬量的信號類型母代號應形成標準。
4)其他常用變量的標準化。輸油氣管道站控系統程序中常用的邏輯聯鎖中間變量、計時器變量、常數變量等應形成標準。
程序的注釋對解讀控制程序、掌握程序變更記錄等具有重要意義,應從程序整體信息注釋、程序段注釋、變量注釋、功能塊整體介紹注釋、程序變更記錄等多方形成注釋標準。如圖3 所示,功能塊應有介紹性注釋,注釋內容應包括功能塊的名稱、版本、創建時間、創建者和修改記錄,介紹性注釋應放置于功能塊程序首頁的頂部中間位置。

圖3 功能塊介紹性注釋Fig.3 Introductory notes on function blocks
對輸油氣管道站控系統程序中其他細節部分應進行標準化統一規定,如工程命名、硬件模塊命名、程序的執行順序、編程語言的選擇、程序代碼的布局及分頁、常用邏輯的編寫等方面內容。
技術標準化、管理規范化是保證自動化系統工程能夠實現完善、先進、實用化功能的必要舉措[5]。輸油氣管道運行單位宜從用戶角度出發,結合行業特點和工藝控制需求,制定相應輸油氣管道站控系統程序的架構設計、編寫、測試、投用、維護、變更等全生命周期的標準,指導輸油氣管道站控系統新建或改造項目中站控系統程序編寫,規范日常維護中程序標準化方面的要求和內容,從技術和管理兩方面實現輸油氣管道站控系統程序標準化。
隨著輸油氣管網向智能化、信息化發展,實現站控系統控制程序設計的標準化和規范化,對提升站控系統可靠性、易維護性等均有重要意義。本文結合當前輸油氣管道站控系統程序標準化現狀,以結構化程序設計方法,探討了有關程序結構設計標準化、通用控制功能模塊標準化、變量定義標準化、程序注釋標準化和其他編程要求標準化等幾方面,以實現輸油氣管道站控系統程序標準化的方法,對實現輸油氣管道站控系統程序標準化具有一定參考意義。