?? 赛尔号祖拉不能抓:基于QNX的DCS現場控制站軟件的設計與應用 - 祖拉的世界|上古卷轴阿祖拉被口爆

基于QNX的DCS現場控制站軟件的設計與應用

基于QNX的DCS現場控制站軟件的設計與應用

摘 要:本文介紹了DCS現場控制站的功能,探討了現場控制站中操作系統的選取原則,分析了實時操作系統QNX的特點,設計了基于QNX的現場控制站軟件,并應用于分散控制系統魯能2000中。

關鍵詞:DCS 現場控制站 QNX 實時性

引言

分散控制系統(Distributed Control System,簡稱DCS)是過程控制技術發展歷史上的一個重要里程碑,是控制技術、計算機技術、網絡通信技術和CRT顯示技術共同發展的產物。今天,分散控制系統技術已經比較成熟,并且廣泛的應用于各種生產過程中,同時還在不斷推陳出新,迅速發展。

現場控制站作為分散控制系統中的重要組成部分,其軟件的設計和開發在整個DCS開發中處于核心地位,它的可靠性和高效性對整個分散控制系統的可靠性和性能有著至關重要的影響。

1 DCS現場控制站的作用

分散控制系統一般由工程師站、操作員站、歷史站、現場控制站,以及連接這些站點的通信網絡組成。工程師站主要完成對DCS進行離線的配置、組態工作和在線的系統監督、控制以及維護的任務。操作員站是DCS中處理一切有關人機界面(HMI,Human Machine Interface)功能的網絡節點,主要功能是為系統的運行操作人員提供人機界面,使操作員可以通過操作員站及時了解現場運行狀態、各種運行參數的當前值、是否有異常情況發生等,并可通過輸入設備對工藝過程進行控制和調節,保證生產過程的安全、可靠、高效、高質。歷史站主要負責采集和儲存生產過程控制的歷史數據,以供形成運行報表和歷史趨勢曲線。 來源://tede.cn

現場控制站是完成對現場I/O處理并實現直接數字控制(DDC)的網絡節點,主要功能有三個:

1)將各種現場發生的過程量(流量、壓力、液位、溫度、電流、電壓、功率以及各種狀態等)進行數字化,并將這些數字化后的量存在存儲器中,形成一個與現場過程量相一致的,能一一對應的、并按實際運行情況實時地改變和更新現場過程量的實時映像;

2)將本站采集到的實時數據通過網絡發送到操作員站、工程師站以及其他現場I/O控制站,以便實現全系統的監督和控制,同時現場I/O控制站還可以接受由操作員站、工程師站下發的命令,以實現對被控對象的人工控制或對本站的參數設定;

3)在本站實現局部自動控制、回路的計算及閉環控制、順序控制等。

2 現場控制站操作系統的選取原則

基于可靠性和成本的考慮,現場控制站一般都采用專用的硬件,而且系統資源有一定限制,這就要求在操作系統的選擇上需要考慮以下幾個方面的問題:

1) 可靠性

工業控制應用中,對于可靠性的要求非常高,所以現場控制站的操作系統必須具有穩定的內核,而且內核的功能應該相對單一。具有復雜內核的操作系統由于集成了太多的功能,有可能造成各種問題或影響系統的性能,應當盡量避免采用。為了保證可靠性,現場控制站的操作系統應采用分布式操作系統,必須對網絡具有良好的支持。 來源://tede.cn

2) 實時性

多數控制系統都對實時性有著一定的要求,實時性的好壞,直接影響到控制品質的優劣,甚至關系到生產的安全。針對這種情況,現場控制站選用的操作系統必須是實時多任務操作系統。目前國外許多軟件公司開發了商業化的實時操作系統,在工業控制、航天、電信等許多領域得到了廣泛的應用。這些操作系統針對實時應用做了優化,實時性優于目前廣泛使用的多任務操作系統UNIX和LINUX,也提供了很好的技術支持,比較典型的有Wind River System的VxWorks,Integrated System的pSOSSystem,QNX SOFTWARE SYSTEMS LTD的 QNX等。

3) 對嵌入式開發的支持

應用于工業控制的計算機,結構上通常具有專用性,而且受成本限制,一般都不配備大容量的內存儲器和外存儲器,系統資源有限。嵌入式系統由于具有??榛?,可根據不同需要靈活配置,占用資源少的特征,特別適合用作現場控制站的操作系統。通過按照自己的需要對操作系統進行裁減,能最大限度的利用有限的硬件資源,避免由于開啟了過多的不必要的服務而降低系統的可用資源,對系統的穩定性造成影響。

3 QNX操作系統的特點

根據以上原則,我們在現場控制站的開發中使用了加拿大QSSL公司的分布式實時嵌入式操作系統QNX。QNX是一種運行在INTEL x86兼容處理器和一些RISC處理器(例如POWER PC ,MIPS)上的操作系統,具有內核精簡,分布式,提供強大的網絡支持,實時性好的特性,是現場控制站理想的軟件平臺。 來源://www.tede.cn

3.1 實時性:

QNX操作系統對實時應用是理想的,它提供一個實時系統所需要的一切基本要素:多任務、由優先級驅動的急者優先式調度方式和快速上下文切換。

為了保證系統的實時性,QNX在任務調度上采用了優先級搶占調度算法,而且用戶能夠設定和改變進程的優先級,根據實際應用的需要,選擇進程調度算法。QNX系統中,進程的優先級大小為1(最低)到31(最高),調度程序在選擇下一個運行進程時,將檢查每個處于就緒狀態的進程的優先級,具有高優先級的進程將首先被執行。這種優先級搶占的調度方法,保證在任何時刻都是優先級最高的任務占用CPU時間。優先級最高的任務可以中斷當前運行的任務(即使當前任務本身也是中斷任務),搶占CPU,這種方法適用于工業實時性要求高的場合。

在基本調度算法的基礎上,對于當兩個或更多個具有同樣優先級的進程同時處于就緒態,并且都是當前就緒隊伍中優先級最高的任務時,QNX提供了三種調度方法來解決這個問題:

1) 先入先出調度法:先進入任務隊列的進程被選擇運行,直到它自動放棄運行或者被一個級別更高的進程打斷運行。

2) 循環式調度法:先進入任務隊列的進程被選擇運行,直到它自動放棄運行或者被一個級別更高的進程打斷運行或者它用完了自己的時間片。一個時間片是50ms,是系統分配給每個進程用于運行的時間單位。來源://tede.cn

3) 適應式調度法:在這種調度法中,一個進程的優先級會在運行中發生變化:如果該進程用完了自己的時間片仍未被阻塞,進程的優先級將被減1,稱為優先級衰退,系統中一個進程只能降低一次優先級。如果該進程被阻塞,則將立即恢復為原來的優先級。

QNX系統提供的適應式調度法為計算密集型的進程提供對CPU更有效的利用,同時還保持了對其他進程的快速響應能力。不過在系統設計中應注意同優先級的任務數量不宜太多,因為這樣終歸會影響系統的實時響應時間。

3.2 分布性:

QNX是一個完全的分布式系統,可以運行在多臺計算機組成的局域網上。在QNX系統中,任何一臺計算機上的任何一個進程可以與其他計算機上的任何進程通信,像與本機進程一樣;任何一臺計算機上的任何一個進程可以使用在局域網上的其它計算機上的資源,像使用本計算機上的資源一樣。借助網絡,QNX可以將任務分散到網絡中,由多臺計算機協同完成一個任務。利用QNX分布式操作系統的特性,可以建立很高的可用機制——將同一個任務安排到兩臺不同的計算機上去執行,只要兩臺計算機不同時發生故障,任務總是可以順利完成。利用這個特性,可以建立互為熱備份的雙機冗余控制系統,在兩臺計算機上同時運行完全相同的兩套程序,并且通過QNX系統獨特的FLEET網進行數據的交換,同時對控制網絡進行了冗余配置,可以實現高冗余度和相對低廉的成本的控制系統。

3.3 微內核:

QNX是一個微內核實時操作系統,其核心僅提供4種服務:進程調度、進程間通信、底層網絡通信和中斷處理,其進程在獨立的地址空間運行。所有其它操作系統服務,都實現為協作的用戶進程,因此QNX核心非常小巧(QNX4.x大約為12Kb)而且運行速度極快。這一特性使QNX特別適合于嵌入式開發,通過對操作系統進行剪裁,只在目標機上建立所需要的系統,可以大大節約系統資源,而且使系統維護起來非常容易,一旦發生故障,可以及時修復。請登陸:輸配電設備網 瀏覽更多信息

4 軟件組成

在實時控制軟件的設計中,我們采用了QNX系統作為開發平臺,使用C語言進行實時控制軟件的設計。為了完成現場控制站的功能,采用多進程協同進行工作,各進程之間通過QNX系統提供的信號燈實現同步,通過共享內存交換數據。每一個進程都具有自己的優先級和調度算法,以保證系統響應的實時性。軟件的主要設計思路如下:

1) 采用單獨的進程進行控制運算。運算進程根據組態時生成的控制算法進行計算,完成閉環控制,順序控制等功能。運算進程具有比較高的優先級,這樣就保證即使在系統負擔比較中的情況下,也能很好的完成控制運算的功能,保證控制的實時性。

2) 對I/O卡件的訪問,特別是數字量輸入/輸出卡件的訪問需要很快的采樣周期,為了保證對卡件的訪問速度,我們將讀寫I/O卡件的進程獨立出來,這樣可以確保過程控制的數據采集的實時性,同時可以將控制運算的結果迅速的輸出到卡件。

3) 采用基于TCP/IP的socket編程,建立處理操作員、工程師命令的進程,處理操作員和工程師下發的命令,實現人工對運行過程的干預。采用udp協議以廣播的方式進行對實時數據的發送,同時為了減輕網絡負擔,使用了數據壓縮和例外報告技術,以對控制網絡上的數據流量進行控制,保證數據在網絡上的實時傳輸。 來源://tede.cn

4) 數據備份進程負責監視主從站狀態,在主站發生故障的時候,及時進行主從站切換,保證系統不?;?。同時此進程還進行主從站數據備份操作,將主站數據備份到從站上,保證切換的時候不產生任何擾動。

5 結束語

基于QNX系統的實時控制軟件具有很高可靠性和良好的實時性,同時由于采用了C語言進行開發,可移植性非常好,可以非常容易的適應不同的硬件。QNX平臺可以在相對低的硬件配置上很好的運行,可以大大降低硬件投入。目前這套實時控制軟件已經在魯能2000分散控制系統現場控制站中得到應用。魯能2000分散控制系統已經于2001年11月通過專家驗收,目前已經應用于火電廠控制系統,取得了良好的效果。

免責聲明:本文僅代表文章作者的個人觀點,與本站無關。其原創性、真實性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容文字的真實性、完整性和原創性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關內容。

//www.bygkuu.com.cn/style/images/nopic.gif
我要收藏
贊一個
踩一下
分享到
相關推薦
精選文章
?
分享
評論
祖拉的世界