西門子:PCS7自定義功能庫的開發及在承鋼2500m3高爐中的應用
1. 項目簡介
承鋼5號高爐煉鐵車間的規模為一座2500m3高爐及其所屬輔助設施。主要工藝包括:2500m3高爐主體工藝設施,其中爐頂采用無料鐘串罐方式,熱風爐系統采用3座頂燃式熱風爐和2座預熱爐的方式;高爐循環水泵站;高爐噴煤制粉站;高爐除塵設施;槽上供料設施,鼓風機站,空壓機站,鍋爐房等。本項目的控制范圍涉及上述工藝系統及其所屬輔助工藝設備。工藝總貌如圖1所示。
承鋼5號高爐的基礎自動化控制系統是典型的電儀合一的大型高爐控制系統,具有較高的控制水平,系統包括:礦槽控制系統、爐頂控制系統、高爐本體控制系統、熱風爐控制系統、出鐵場控制系統、布袋除塵控制系統、水沖渣控制系統、煤粉制備控制系統、煤粉噴吹控制系統、高爐水處理控制系統、鼓風機站及其水處理控制系統、煤氣柜控制系統、鍋爐控制系統等。
圖1:高爐工藝總貌
2. 控制系統構成
本工程的控制系統考慮了SIEMENS公司“全集成自動化”的理念,不僅選用了標準的PCS7控制控制站和操作站及相應軟件,還選用了SCALANCE系列的網絡產品,其中包括冗余AS控制器4套,標準AS控制器11套,具有熱插拔功能的ET200M單元62套,Y-Link耦合器1套,OS SERVER 硬件及軟件1對(套),OS CLIENT硬件及軟件10套,OS 單站硬件及軟件14套,ES 工程師站硬件及軟件9套,SCALANCE各系列交換機21臺以及網絡附件若干。控制系統配置圖如圖2所示:(公輔系統從略)
圖2:控制系統配置圖
各控制站、控制站與操作站之間采用工業以太網連接。其中,高爐主體部分為1000M光纖環網,操作站為SERVER/CLIENT結構,設有冗余SERVER對和工程師站,在PlantBus和TerminalBus環網中選用了SCALANCE X414-3系列的1000M冗余管理型交換機;其它公輔系統以100M光纖星型方式接入主環網,該部分選用了SCALANCE X200系列的交換機。
控制器部分,對于礦槽系統、爐頂系統、高爐本體系統、熱風爐系統等高爐主體部分選用AS417-4-2H組件包(雙電源模塊、雙CPU模塊,雙以太網通訊模塊、雙PROFIBUS通訊網絡),其它公輔系統選用AS414-3組件包。ET200M I/O部分選用帶有熱插拔功能的有源背板和具有高性能的接口模塊IM153-2HF,對于熱備系統則選用雙電源模塊、雙總線接口模塊。
工程師站、操作員站(包括SERVER、CLIENT、單站)均選用預裝有PCS7軟件的SIEMENS IL43系列工控機。
對于熱備系統的PROFIBUS網絡,選用Y-LINK將具有PROFIBUS接口的傳動裝置和編碼器接入并實現切換的功能。
本系統還留有于二級系統的網絡接口,通過SCALANCE X200系列交換機連接至主環網并通過SCALANCE S硬件防火墻隔離。
3. 控制系統完成的功能-用戶自定義功能庫
在PCS7所提供的功能庫的基礎上,我們對其進行了延伸和擴展,開發了適合冶金行業特別是高爐控制方面的自定義功能庫。通過使用該功能庫,工程師一次性的編程即可完成如下工作:
AS控制器中運行的過程控制回路控制算法;
針對控制回路在上位機中相關畫面下對應的監視回路圖標;
控制回路在上位機中對應的操作及參數設置子畫面;
控制回路對應的相關報警信息、趨勢歸檔及用戶操作記錄等。
如圖3所示的礦槽系統流程圖中包括了各種電機、電磁閥、電動閥等69個電氣回路,都是通過在CFC中調用自定義功能庫中相應類型的功能塊并編譯OS自動上傳至流程畫面的。下面結合不可逆電機塊MOTOR_NR介紹自定義功能庫實現的功能。
圖3:礦槽系統流程圖
3.1.AS中的功能塊類型(block types)
首先需要定義功能塊的特性、聲明功能塊參數和本地變量。在這部分中,我們注重考慮了功能塊頭和功能塊參數中報警和OCM(operator control and monitor)這兩個屬性,以便可以將需要的變量狀態和報警消息顯示在block icon或faceplate上。例如電機的運行狀態、連鎖狀態、處于何種被控方式、是否處在報警狀態等,都可以通過定義功能塊管腳的OCM屬性上傳。還定義了功能塊管腳的文本屬性,從而可以在功能塊實例對應管腳的屬性對話框中組態用于在OS上顯示的文本。如圖4中所示,由于在聲明參數屬性的代碼中定義了參數MONITOR、TIME_ON的文本屬性,因而可以在MONITOR管腳的的屬性對話框中定義當MONITOR=0時顯示“監視切除”,當MONITOR=1時顯示“監視投入”;在TIME_ON管腳的屬性對話框中定義其用于顯示的標簽名“監視時間”和單位“秒”。這樣使得大量用于顯示的信息都可以在AS中組態和修改,很好地保證AS/OS的一致性,并大量節省HMI的工作。
通過調用SFC6(RD_SINFO)讀取到相關的OB信息,實現了功能塊的初始化和異步啟動及容錯處理。例如,當讀取到CPU暖啟動時(OB100),我們編寫了某些重要參數的初始化程序,當讀取到中斷信息(OB80、OB86),則編寫了錯誤中斷或循環中斷處理程序。另外,通過定義SAMPLE_T管腳并配合激活編譯時的”Up date Sampling Time”功能,可以自動采集調用當前功能塊的循環OB的時基值,省去了改變功能塊調用OB后的手動改寫,既方便又減少了由于忘記改寫而帶來的錯誤。
通過調用Alarm_8p功能塊,組態了用戶定義功能塊中的報警消息,將該功能塊中需要顯示的報警消息上傳至OS,如電機故障、運行超時故障等。AS控制器從Stop狀態到Run狀態的過程中,CPU需要處理相關的初始化代碼,建立與上位機的通訊連接等。系統啟動后再開始執行循環程序,如果在啟動初期,系統各控制回路同時有很多的報警消息需要上傳到OS,勢必導致此時的CPU負荷偏大。因此,在功能塊的代碼中考慮了報警抑制部分。此代碼在系統啟動初期(或該功能塊被調用的前幾個循環中)抑制該回路的報警輸出。完成了Alarm_8p功能塊的組態和報警抑制代碼的編寫之后,還需要完成該功能塊的報警組態。在報警組態對話框中,定義了功能塊的報警類型、優先級、區域、來源等特性。特別是利用功能塊相關報警定義的報警屬性可以應用于該功能塊類型的所有實例。如圖5所示,定義了MOTOR_NR功能塊的3條報警消息的消息文本,通配符$$BlockComment$$代表功能塊實例中Comment字段中組態的內容,因而可以根據不同的塊實例自動生成對應的報警消息,而不用逐條組態,該功能對于組態具有大量相同回路流程的報警非常方便。
在一個項目中,同類型的功能塊實例在畫面中都會生成與之對應的Block Icon實例,但卻只擁有一套Faceplate模板。在監控畫面下,點擊某個功能塊實例對應的Block Icon時,系統會執行相應的腳本從對應的Block Icon實例中獲取該功能塊實例的相關屬性,并基于通用的Faceplate模板創建相應的Faceplate實例進行監控。由于同一個功能塊類型只對應一套Faceplate,在具有大量相同回路的流程中就省去了大量彈出子畫面的重復、單調的制作。如圖7所示MOTOR_NR塊主要有3個可以切換的面板:
操作面板-用于電機各狀態顯示、設備診斷和常規操作(帶有操作記錄功能);
設定面板-用于設置某些重要參數(通常帶有權限);
報警面板-用于顯示和處理于本電機回路有關的報警。
圖7:MOTOR_NR塊的Faceplate
3.3.其它功能
除上述功能外還開發了如下功能:功能塊的在線幫助功能:與系統提供的功能塊類似,用戶自定義功能庫同樣可以通過選擇對應功能塊并點擊F1鍵的方式自動聚焦到該功能塊的幫助主題上,使用起來方便靈活。所需要做的是為功能塊創建幫助文件(*.hlp)和目錄文件(*.cnt)并制作注冊表文件。
功能塊的發布:創建了用戶自定義功能庫后,需要將庫發布方可被其它工程師使用。發布后的功能庫可以打包成一個可執行文件安裝在其它機器中,同系統提供的功能庫一樣被其它工程師使用。所發布功能庫的安裝文件包含AS功能塊、Block Icon、Faceplate和在線幫助系統。
功能庫的更新:由于建立了基于多項目的主數據庫,所以主數據庫中的功能庫修改后可以通過清晰、明確的更新向導更新每個子項目中的功能塊實例,這樣便于統一維護程序庫,集中更新,保證了多項目數據的一致性。而Block Icon和Faceplate的更新則可通過將修改后的文件拷貝到相應目錄下并編譯OS來實現。
4. 項目運行
承鋼5號2500m3高爐項目于2006年12月5日出鐵投產成功。投產后,系統運行穩定可靠,特別是熱備控制器性能較好,象礦槽系統、爐頂系統等程序量較大的部分在熱備條件下,CPU的掃描周期仍在40毫秒左右。由于合理的規劃了工程結構,特別是開發了基于多項目的符合生產工藝的用戶自定義功能庫,該工程從編程、調試到投產只用了兩個來月的時間。對同等規模的高爐來說,可節省十幾個人月的人工時。這也正是PCS7系統標準化工作的成效在承鋼高爐工程中得到了初步的體現和驗證。
5. 應用體會
工程中借助PCS7平臺,有利于我們編制出更為標準化、集成化的用戶自定義功能庫。該軟件從形式上將編程軟件、監控軟件、網絡組態軟件集中在同一平臺,從功能上將控制器功能塊的各種信息通過編譯OS(compile OS)的方式上傳到OS的WinCC項目中 ,并自動生成變量標簽(Tags)、調用動態圖標(block icons)及其對應的彈出面板(faceplate)、生成報警消息(Message)、趨勢(Trend)等,甚至連靜態、動態的文本信息也可以直接由AS塊編譯后在OS中生成,這樣OS部分的工作非常簡便,大部分的工作都集中AS上,便于統一維護程序庫,集中更新,保證多項目數據的一致性,省去了原先AS、OS兩部分握手的大量工作。目前各大PLC系統生產商都相繼推出了類似功能,例如Schneider公司的UAG軟件,Rockwell公司的Logixview軟件等,但與PCS7平臺提供的有關軟件功能相比,上述軟件基本是在PLC編程軟件和HMI組態軟件之外添加了第三套軟件,用于完成PLC與HMI的握手。這樣就增加了在不同軟件界面間的導入、導出或是派生的過程,可操作性較為復雜,程序層次與畫面結構的聯系得不到較好的體現。
用戶自定義功能庫中的AS功能塊、OS中的block icon和faceplate是相互聯系緊密的整體,所以在編寫程序的前期,對功能庫中的各部分做一個全面的規劃和較為細致的設計是非常必要的。比如在設計AS側的Block Type時,我們較為充分的考慮了操作員需要監控的輸入、輸出及輸入輸出接口,以及所需的操作方式等,并結合系統屬性(OCM相關)來對各個端口進行定義,以便這些端口可以在OS上正常、靈活的顯示與操作。對于相關參數的選擇我們考慮了如下方面:
為了獲得設備清晰的狀態信息,操作員需要監控什么類型的數據;
用何種方式顯示這些變量;
哪些變量可以被操作員控制;
操作時需要哪級操作權限;
有沒有與過程變量相關的權限連鎖;
各個變量將在什么視圖窗口中顯示;
使用PCS7中的用戶自定義功能庫編程設備類型規整且同類設備眾多的項目確實非常方便,但對于一些規模較小、設備類型較雜、接口較多的項目也存在一些不靈活方便的地方。比如PCS7中不建議直接在流程畫面中使用WinCC提供的控件來對過程變量進行操作,象按鈕、I/O域等。使用此方法系統將不會進行授權確認,而且不會為這些操作產生操作員記錄(Operator List)。而在實際的工程項目中會經常出現增加一些位操作的情況,對于這些操作目前我們正在摸索如何能夠產生操作記錄的方法,同時也希望PCS7軟件能夠不斷完善,提供給我們更為靈活、簡便的工具來解決這些問題。
文章版權歸西部工控xbgk所有,未經許可不得轉載。