技術頻道

      DCS系統控制組態仿真軟件的設計和實現

      1 引言

        集散控制系統(dcs)是應用計算機技術對生產過程進行集中監視、操作、管理而對現場裝置的控制分散的基本控制技術。集散控制系統的重要組成部分是組態軟件。傳統的工業控制軟件重復使用率低開發周期長,很難滿足工業自動化的要求。工業自動化組態軟件的出現為解決實際工程中的問題提供了一種新的方法,它能夠使用戶根據自己的控制對象和控制目的任意組態,使自動化工程人員能夠面向問題的設計。

        控制組態仿真軟件要比傳統仿真軟件作出改進,使其不僅僅可以供控制人員進行一些控制的組態構建,還可以提供給操作人員進行仿真培訓,以及進行控制管理人員的培訓。只要使其控制組態的模式和現場模式保持一致,就可以達到仿真的目的,而不必在實際的dcs控制室進行試驗和調試,這樣可以減少投資,并減小和避免工藝投放風險。因此,開發結構合理、安全可靠、簡單實用的仿真系統控制組態軟件,具有很好的應用前景。

      2 系統結構及其實現

        2.1 控制組態概述

        控制組態仿真軟件作為集成的圖形編程語言,是針對dcs系統所開發的全中文界面的控制方案組態工具,它與dcs系統流程圖組態軟件聯合完成對系統的圖形組態,是新型dcs系統組態軟件的重要組成部分之一,也是算法控制組態的核心部分。

        本設計參考了國際電工委員會iec61131-3提供的用于控制的4種編程語言標準:梯形圖,結構化高級語言,方框圖,指令助記符,采用了簡單方便易于用戶學習和使用的方框圖形式的編程語言,使編程環境更加高效,更加人性化。

        本文根據面向對象的設計思想,基于目前控制領域通用的windows2000平臺,采用visual c++6.0語言實現了程序設計。這樣,不僅使人機界面更加友好,而且能夠更好地利用windows系統的資源,使組態軟件的功能更為強大。

        系統的結構如圖1所示。各部分的功能及實現方法敘述如下。

      圖1 系統結構圖


        2.2 算法顯示模塊和控制算法組態

        該軟件向工程人員提供了一個圖形化的控制算法組態平臺,工程人員可以根據實際工業過程,選用合適的控制算法,用圖形的方式,即選用算法顯示模塊,組成各種控制回路,然后將組態信息保存到組態文件中。控制算法組態的主界面如圖2所示。

      圖2 控制組態主界面

        圖2算法顯示模塊指的是對具體算法的抽象顯示。在圖形化組態界面上,每種具體的控制算法對應一種算法顯示模塊,以方框圖的形式顯示,用戶只需用簡單的鼠標操作就能將指定的算法顯示模塊添加到指定的控制回路中,或刪除和修改參數,從而完成控制算法的組態。其在控制組態界面中的顯示是帶有輸入輸出端子的矩形,圖3是一個加法顯示模塊的外觀及顯示說明:

      圖3 算法顯示模塊圖


        其中,模塊在回路中的編號只有在進行過編譯且用戶確定后才正確顯示,編譯前不顯示。而模塊流水號只是在繪制過程中記錄的全局唯一的模塊的id號,它由系統自動生成,用戶不能修改。

        設計控制組態仿真軟件的界面時,主要是實現組態用到的算法顯示模塊、連線和文本注釋的繪制和顯示。從共性的角度考慮,決定將對算法模塊的實現用一個從cobject類派生的類cfunmod來統一實現和管理,在該類中設定標志變量對具體的算法顯示模塊類型進行區分,同時標記該模塊的輸入輸出端子數目。連線使用從cobject類派生的類clinkline實現,包含對連線兩端所連算法顯示模塊的標記。而文本注釋則由另一個從cobject類派生的類ctext來實現,為普通注釋時,記錄字符串類型的注釋參數,而與數據庫中的點關聯時,記錄點名。在繪制回路的過程中,它們都是由基于各類的鏈表來操作和管理的。

        為支持對算法顯示模塊和文本注釋的參數配置,需實現屬性對話框,這是很容易實現的。這樣,通過鼠標雙擊算法模塊,彈出屬性對話框,用戶填入相應的參數,點擊確定保存即可。

      2.3 控制算法庫

        控制算法庫是整個系統仿真運行的基石。系統中內置了若干種控制算法。為了保證控制算法的可擴展性和統一性,所有的控制算法實現了一個統一的接口,供算法運行模塊調用。

        具體來講,是采用模塊化設計的思路,將dcs的控制算法分解成若干個功能獨立的、能分別設計、編碼和調試的算法模塊,組成控制算法庫。每個算法模塊完成的功能既明確又單純,從而使處理的問題局部化和簡單化。算法模塊作為控制組態仿真軟件結構中的最基本元素,實際上就是完成一個特定算法功能的獨立程序。算法模塊的接口簡明而又統一,且能彼此隔離和獨立。從用戶角度看來,控制算法庫中的各種控制算法都是完全一樣的,而且系統也是采用統一的接口對各種算法進行調用的,用戶無需關心每個控制算法的具體實現細節。另外,用戶使用時,只需對控制算法模塊的參數進行修改,而無需修改算法模塊的代碼。

        將各算法編成獨立的可反復調用的算法模塊,對應每一個功能模塊都有一個參數列表和輸入列表,系統運行時,控制調度程序依據這些信息,順序依次執行。

        設計算法庫時,先設計一個算法基類cfunction,其中實現一個虛函數fun,具體算法從該類中派生。在程序中,采用統一調用各算法模塊的fun函數的方法實現對控制算法的調用,這樣的接口簡單明了。

        2.4 虛擬信號發生器

        信號發生器是一種應用極為廣泛的儀器,它通常作為標準信號發生器,用于電子電路的性能試驗或參數測量。傳統的信號發生器價格昂貴、操作復雜、不易開發、維護和升級,而使用基于visual

        c++編程工具,軟件開發的虛擬信號發生器,具有簡單、直觀、操作方便等特點,而且可以通過調用或修改信號源函數中的不同的功能函數,得到不同的信號,如正弦波、方波、三角波等。

        虛擬信號發生器即信號源模塊又分為三個子模塊,參數設置模塊,信號發生模塊,波形顯示模塊。如圖4所示。

      圖4 虛擬信號發生器結構圖


        信號源數據的內容主要為波形數據、要發生波形的參數;其波形數據的來源主要有信號發生模塊;波形數據的終點是信號發生以及發生波形及其參數的顯示,以及提供給控制算法進行模擬仿真運行。各子模塊間的關系及所對應的數據流圖如圖5所示。

      圖5 虛擬信號發生器數據流圖


        信號源模塊能夠產生正弦波、三角波、方波等常用的波形,能夠對要發生波形的各種參數進行方便靈活的設置,能夠對正發生的波形進行實時顯示。注意,模擬的信號采集頻率與主控卡實際采集頻率相同,這樣才能保證對主控卡實際運行的模擬仿真等準確。

        在此信號源模塊中,用戶可設定兩種模式:自動和手動。自動時,采用系統提供的一些標準輸入信號類型。手動時,用戶可隨時直接設置邏輯和控制變量的值。這是在線仿真系統的運行的必要條件。

        在此模塊中采用了多線程技術,參考主控卡的采集周期,定時運行信號發生函數改變模擬輸入點的值。設置了手動改變數據的按鈕,用戶在手動模式下改變模擬輸入點的數據時,直接調用此按鈕的相應函數,執行此改變。

      3 模擬仿真運行

        先對用戶組態的信息進行檢查,看是否數據連接類型不匹配,是否回路斷開等,同時,對于圖形化組態平臺來說,如何根據控制回路圖的拓撲結構建立起控制組態信息的數據流是很重要的,也就是需對回路中的算法模塊執行順序進行排列,上述內容都是編譯過程中的工作。檢查確定組態無誤后,利用虛擬信號發生器產生的信號,作為控制回路算法模擬仿真運行的輸入信號,運行控制算法,實時顯示仿真數據,及仿真報警,并輸出仿真波形。這是一個可調試的仿真過程,用戶觀察仿真結果判斷對控制算法的組態是否滿足要求,若不滿足,則可“在線”調整算法功能模塊的參數,甚至重新組態,仿真和調試,直到仿真結果滿足指定要求。

        在模擬仿真時也采用了多線程技術。開辟工作者線程,進行控制算法的計算。為實現“在線”參數整定,在用戶修改參數時,再開辟一個工作者線程,這樣能提高程序的運行效率。

        本軟件平臺采用johnson算法來解決循環有向子回路的排序,具體實施過程為:以當前正在進行拓樸結構分析的模塊接口作探索出發點,用該接口的連線作為索引,沿該連線數據流方向深入,每深入一步,即將經過的模塊接口進行標識,如果某一步達到了原出發點,則形成回路。因為在循環回路中,數據流在某個采用周期內不存在時間序列上的優先次序,因此需將回路人為斷開,并按上述索引的順序產生反映該循環回路特性的算法模塊的執行順序。需要注意的是,該有向循環回路與不屬于該回路的其它部分則存在先后順序關系,這正是必須特別處理循環有向回路的原因。

        實際運行和數據訪問根據控制組態信息通過tcp/ip下載到dcs系統的主控卡,并實際運行,這時組態軟件實時的向主控卡詢問各點信息(當前值信息和故障信息),并寫入實時數據庫。而控制組態仿真軟件只是實時的訪問實時數據庫,從實時數據庫獲取點值信息等,再在控制組態的實際運行界面上實時顯示,同時,可顯示各回路的實際運行波形圖。工程人員通過人機界面來監控各個控制回路的運行情況,可以在線進行參數整定。

        數據訪問模塊主要是用來給算法實際運行模塊提供一個簡單、統一的數據訪問接口。它通過ado訪問實時數據庫,讀出算法運行模塊需要顯示的實時數據,實現實時顯示和報警。

        設計時,創建流套接字與主控卡建立網絡連接,進行通訊,下載控制信息。

      4 結束語

        控制組態仿真軟件為建模人員提供了一個友好的用戶界面,使建模人員在建模時不必對模塊內部的控制、邏輯程序有很深的了解就可以方便的對其進行編寫和修改,自動或手動改變各邏輯和控制變量的值,參與模擬仿真運行和調試,從而實現了對系統運行的仿真。采用仿真的方式,模擬控制算法的運行和故障的報警,既可縮短工期又可降低成本,還能降低硬件維護、培訓和備品備件費用,具有很好的應用前景。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 无码视频一区二区三区| 精品一区二区ww| 无码人妻精品一区二区三区在线 | 国产区精品一区二区不卡中文| 一区二区在线视频观看| 3d动漫精品一区视频在线观看| 国产传媒一区二区三区呀| 相泽南亚洲一区二区在线播放 | 亚洲欧洲日韩国产一区二区三区| 一本色道久久综合一区| 国产一区二区草草影院| 老熟妇仑乱一区二区视頻| 女人18毛片a级毛片一区二区| 久久se精品一区二区| 无码国产精品一区二区高潮| 精品国产aⅴ无码一区二区| 国产一区二区高清在线播放| 午夜无码一区二区三区在线观看| 在线电影一区二区三区| 无码丰满熟妇浪潮一区二区AV | 免费高清av一区二区三区| 精品国产乱子伦一区二区三区| 久久精品无码一区二区无码| 亚洲电影唐人社一区二区| 日本一区二区三区不卡视频 | 国产中的精品一区的| 精品少妇一区二区三区在线 | 国产精品av一区二区三区不卡蜜| 国产精品揄拍一区二区久久| 亚洲精品日韩一区二区小说| 福利一区二区视频| 亚洲国产精品一区第二页| 亚洲天堂一区二区三区| 精品一区中文字幕| 国产91精品一区二区麻豆网站 | 国产亚洲一区二区手机在线观看 | 在线精品亚洲一区二区三区| 久久久久无码国产精品一区| 在线免费视频一区二区| 日韩精品成人一区二区三区| 日韩精品一区二区三区四区|