王曉云
(安微省化工設計院,安微合肥230009)
DCS是分散控制系統(tǒng) (Distributed Control System)的簡稱,國內(nèi)一般習慣稱為集散控制系統(tǒng)。它是一個由過程控制級和過程監(jiān)控級組成的以通信網(wǎng)絡為紐帶的多級計算機系統(tǒng),綜合了計算機 (Computer)、通訊 (Communication)、顯示(CRT)和控制(Control)等4C技術(shù),其基本思想是分散控制、集中操作、分級管理、配置靈活、組態(tài)方便。工業(yè)爐控制系統(tǒng)涉及溫度、轉(zhuǎn)速、壓力、流量等多點多類型物理量控制,因此非常適合DCS的應用。
RS485總線由于其組網(wǎng)方便、非常適用于工程集散控制系統(tǒng)的應用。RS-485采用平衡發(fā)送和差分接收方式實現(xiàn)通信:發(fā)送端將串行口的TTL電平信號轉(zhuǎn)換成差分信號 A、B兩路輸出,經(jīng)過線纜傳輸之后在接收端將差分信號還原成TTL電平信號。由于傳輸線通常使用雙絞線,又是差分傳輸,所以有極強的抗共模干擾的能力,總線收發(fā)器靈敏度很高,可以檢測到低至200 mV電壓。故傳輸信號在千米之外都是可以恢復。RS-485最大的通信距離約為1 219 m,最大傳輸速率為10 Mb/s,傳輸速率與傳輸距離成反比,在100 kb/s的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需加485中繼器。RS-485采用半雙工工作方式,支持多點數(shù)據(jù)通信。本系統(tǒng)就是基于RS485總線構(gòu)建的工業(yè)窯爐集散控制系統(tǒng)。
控制系統(tǒng)硬件部分主要由工控機、溫控儀、I/O模塊、485電纜、變頻器、電機、窯爐體等構(gòu)成。
工控機為普通工業(yè)控制計算機,適用于工業(yè)現(xiàn)場較惡劣場合。主要功能采集現(xiàn)場數(shù)據(jù)、數(shù)據(jù)庫記錄、監(jiān)控及參數(shù)設定功能。
導電SR94溫度控制器,帶RS485通訊功能,與上位工控機進行實時數(shù)據(jù)交互。
帶有RS485通訊功能I/O模塊用于采集和設定現(xiàn)場I/O數(shù)據(jù),包括數(shù)字量和模擬量信號。
變頻器通過RS485口發(fā)送和接受電機轉(zhuǎn)速信息。
ROSEMOUNT 3411P型溫度變送器,用于檢測爐膛實際溫度。
西門子SITRANSP系列壓力變送器,檢測爐膛壓力。
E+H TMASS 65系列熱式質(zhì)量流量計,用于測量氣體流量。
RS485/RS232轉(zhuǎn)換模塊,由于采用的工控機只有RS232接口,因此系統(tǒng)必須具有此轉(zhuǎn)換裝置。
圖1為常用工業(yè)窯爐DCS控制系統(tǒng)框圖。上位工控機通過485總線與下位控制儀表或模塊連接,工控機通過485總線讀取下位儀表參數(shù)狀態(tài)并在監(jiān)控軟件中實時顯示、分析和記錄。另外,工控機還發(fā)送相應控制信號,下位機接受到指令進行運算處理,然后發(fā)出相應的信號控制現(xiàn)場被控對象,使其處于期望的狀態(tài)。
圖1 工業(yè)爐DCS控制系統(tǒng)示意框圖
軟件是數(shù)字控制系統(tǒng)的靈魂,其設計的優(yōu)劣直接影響整個控制系統(tǒng)的性能。本系統(tǒng)采用VB.NET作為工具來開發(fā)監(jiān)控軟件。VB.NET是微軟新推出具有完全面向?qū)ο蠊δ艿腣B最新版本,用來開發(fā)運行于.NET框架環(huán)境下的應用程序,具有很好的移植性。.NET程序?qū)\行環(huán)境是沒有特別的要求的,只要安裝了.Net framework,它就能在上面運行(不管是Windows系統(tǒng),還是Linux系統(tǒng),甚至是Window CE嵌入式系統(tǒng))。微軟的.NET和Sun公司的JAVA基本上類似,都是需要平臺支持的,Java需要虛擬機,.NET程序需要.net framework。其編程思想實現(xiàn)了從過程式到面向?qū)ο蟮目缭?,支持多線程應用程序開發(fā)。
面向?qū)ο蟮某绦蛟O計是軟件系統(tǒng)設計和實現(xiàn)的重要方法,可以通過增加軟件的可擴展性和可重用性,來控制軟件開發(fā)和維護的復雜性與開銷。
為了體現(xiàn)面向?qū)ο笏枷耄浖垂δ芊庋b為如下幾大類和模塊,模塊功能框圖如圖2。
(1)主界面類模塊(ClassUI);
(2)溫度控制儀表類(ClassTC),其主要負責讀取下位儀表儀數(shù)據(jù)并送至UI模塊顯示;
(3)串口通訊類(ClassSerailPortComm),運用多態(tài)性實現(xiàn)不同類型通訊儀表的統(tǒng)一接口,該類應具有后期綁定動態(tài)聯(lián)接特性。負責串口通訊;
(4)按鈕類(ClassButton),可以繼承標準按鈕控件或自定義控件用來響應按鈕事件;
(5)報警燈類(ClassA larm Lamp)實時獲取和顯示報警狀態(tài);
(6)變頻器類(ClassFC),讀取和設定網(wǎng)帶速度;
(7)用戶信息類(ClassUserInfo),該類為可串行化類,用于保存用戶信息;
(8)數(shù)據(jù)記錄類模塊(ClassDataSetRecord),其主要負責記錄數(shù)據(jù)到數(shù)據(jù)庫;
(9)曲線記錄類模塊(ClassTermCurve),溫度曲線的顯示保存;
(10)應用程序配置類模塊(ClassMyAppConfigure),為可串行化類;
(11)參數(shù)設置類模塊(ClassTechnicsConfigure),負責工藝參數(shù)的設置與保存。
(12)網(wǎng)絡通訊模塊類(ClassNetComm),負責與外部網(wǎng)絡或設備進行網(wǎng)絡通訊。
(13)配置程序,用來修改配置文件。
圖3 軟件總體功能框圖
上述各類和模塊相互之間通過子類化、類的合成以及接口調(diào)用等方法進行通訊,將各個獨立模塊有機結(jié)合起來協(xié)調(diào)工作,實現(xiàn)系統(tǒng)所需功能。
多線程允許CPU同時獨立執(zhí)行多個任務,因而提高了資源的利用率以及應用程序的性能和靈敏度。自由線程提供非同步處理機制可以在不影響其他應用程序部分的前提下新建一個線程來進行一些長時間的任務、復雜的查詢請求或者多塊同步計算。
.NET框架中包含的System.Threading命名空間專門負責實現(xiàn)多線程功能,而且操作相當簡單,只需要利用該命名空間中的Thread類,就具有了實現(xiàn)自由線程的屬性和方法。按照本系統(tǒng)軟件的功能要求,將程序劃分為如下幾個線程:
(1)主線程,為UI線程,負責處理消息響應,界面刷新。操控其他后臺自由線程;
(2)通訊線程,主要負責工控機與下位智能儀表的數(shù)據(jù)通訊;
(3)數(shù)據(jù)記錄線程,主要負責數(shù)據(jù)庫連接和數(shù)據(jù)記錄;
(4)網(wǎng)絡通訊線程,與外部設備及網(wǎng)絡進行通訊。
由于軟件采用面向?qū)ο蠛投嗑€程思想實現(xiàn),因此程序運行效率較高、升級維護非常方便。例如:增加或減少溫區(qū)數(shù),只需增減溫控儀類實例數(shù)即可;如更換相關(guān)器件,將相應類模塊更改即可,由于面向?qū)ο蠓庋b的特性,不會影響到程序其他部分的正常功能;對于需要更改同類型的功能更多的儀表,只需通過繼承一個新類,加入少量針對新增功能的代碼就可以實現(xiàn),充分體現(xiàn)面向?qū)ο笏枷胫写a的重用性。
由于基于485串行總線,本系統(tǒng)硬件搭建便捷,通過很少的通訊線路即可組建DCS控制網(wǎng)絡。監(jiān)控軟件采用VB.NET實現(xiàn),運用面向?qū)ο笏枷胍约岸嗑€程技術(shù),系統(tǒng)響應快、效率高、后期維護升級非常方便。該系統(tǒng)已經(jīng)成功應用于多種控制系統(tǒng)設備,實際運行效果較好。
[1](美)Katsuhiko Ogata.現(xiàn)代控制工程[M].北京:電子工業(yè)出版社,2000.
[2]唐樹才等.VB.NET程序設計與應用[M].北京:電子工業(yè)出版社,2002
[3]張燕紅.計算機控制技術(shù)[M].南京:東南大學出版社.2008.