當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]本文根據(jù)面向?qū)ο蟮脑O(shè)計思想,基于目前控制領(lǐng)域通用的windows2000平臺,采用visual c++6.0語言實現(xiàn)了程序設(shè)計。這樣,不僅使人機界面更加友好,而且能夠更好地利用windows系統(tǒng)的資源,使組態(tài)軟件的功能更為強大。

1  引言
           
  集散控制系統(tǒng)(dcs)是應(yīng)用計算機技術(shù)對生產(chǎn)過程進行集中監(jiān)視、操作、管理而對現(xiàn)場裝置的控制分散的基本控制技術(shù)。集散控制系統(tǒng)的重要組成部分是組態(tài)軟件。傳統(tǒng)的工業(yè)控制軟件重復(fù)使用率低開發(fā)周期長,很難滿足工業(yè)自動化的要求。工業(yè)自動化組態(tài)軟件的出現(xiàn)為解決實際工程中的問題提供了一種新的方法,它能夠使用戶根據(jù)自己的控制對象和控制目的任意組態(tài),使自動化工程人員能夠面向問題的設(shè)計。
           
  控制組態(tài)仿真軟件要比傳統(tǒng)仿真軟件作出改進,使其不僅僅可以供控制人員進行一些控制的組態(tài)構(gòu)建,還可以提供給操作人員進行仿真培訓(xùn),以及進行控制管理人員的培訓(xùn)。只要使其控制組態(tài)的模式和現(xiàn)場模式保持一致,就可以達到仿真的目的,而不必在實際的dcs控制室進行試驗和調(diào)試,這樣可以減少投資,并減小和避免工藝投放風(fēng)險。因此,開發(fā)結(jié)構(gòu)合理、安全可靠、簡單實用的仿真系統(tǒng)控制組態(tài)軟件,具有很好的應(yīng)用前景。
           
2  系統(tǒng)結(jié)構(gòu)及其實現(xiàn)
           
  2.1 控制組態(tài)概述
           
  控制組態(tài)仿真軟件作為集成的圖形編程語言,是針對dcs系統(tǒng)所開發(fā)的全中文界面的控制方案組態(tài)工具,它與dcs系統(tǒng)流程圖組態(tài)軟件聯(lián)合完成對系統(tǒng)的圖形組態(tài),是新型dcs系統(tǒng)組態(tài)軟件的重要組成部分之一,也是算法控制組態(tài)的核心部分。
           
  本設(shè)計參考了國際電工委員會iec61131-3提供的用于控制的4種編程語言標準:梯形圖,結(jié)構(gòu)化高級語言,方框圖,指令助記符,采用了簡單方便易于用戶學(xué)習(xí)和使用的方框圖形式的編程語言,使編程環(huán)境更加高效,更加人性化。
           
  本文根據(jù)面向?qū)ο蟮脑O(shè)計思想,基于目前控制領(lǐng)域通用的windows2000平臺,采用visual c++6.0語言實現(xiàn)了程序設(shè)計。這樣,不僅使人機界面更加友好,而且能夠更好地利用windows系統(tǒng)的資源,使組態(tài)軟件的功能更為強大。
           
  系統(tǒng)的結(jié)構(gòu)如圖1所示。各部分的功能及實現(xiàn)方法敘述如下。

             圖1  系統(tǒng)結(jié)構(gòu)圖
         

  
  2.2 算法顯示模塊和控制算法組態(tài)
           
  該軟件向工程人員提供了一個圖形化的控制算法組態(tài)平臺,工程人員可以根據(jù)實際工業(yè)過程,選用合適的控制算法,用圖形的方式,即選用算法顯示模塊,組成各種控制回路,然后將組態(tài)信息保存到組態(tài)文件中??刂扑惴ńM態(tài)的主界面如圖2所示。

            圖2  控制組態(tài)主界面
    

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

            圖3  算法顯示模塊圖
        

   
  其中,模塊在回路中的編號只有在進行過編譯且用戶確定后才正確顯示,編譯前不顯示。而模塊流水號只是在繪制過程中記錄的全局唯一的模塊的id號,它由系統(tǒng)自動生成,用戶不能修改。
           
  設(shè)計控制組態(tài)仿真軟件的界面時,主要是實現(xiàn)組態(tài)用到的算法顯示模塊、連線和文本注釋的繪制和顯示。從共性的角度考慮,決定將對算法模塊的實現(xiàn)用一個從cobject類派生的類cfunmod來統(tǒng)一實現(xiàn)和管理,在該類中設(shè)定標志變量對具體的算法顯示模塊類型進行區(qū)分,同時標記該模塊的輸入輸出端子數(shù)目。連線使用從cobject類派生的類clinkline實現(xiàn),包含對連線兩端所連算法顯示模塊的標記。而文本注釋則由另一個從cobject類派生的類ctext來實現(xiàn),為普通注釋時,記錄字符串類型的注釋參數(shù),而與數(shù)據(jù)庫中的點關(guān)聯(lián)時,記錄點名。在繪制回路的過程中,它們都是由基于各類的鏈表來操作和管理的。
           
  為支持對算法顯示模塊和文本注釋的參數(shù)配置,需實現(xiàn)屬性對話框,這是很容易實現(xiàn)的。這樣,通過鼠標雙擊算法模塊,彈出屬性對話框,用戶填入相應(yīng)的參數(shù),點擊確定保存即可。

  2.3 控制算法庫
           
  控制算法庫是整個系統(tǒng)仿真運行的基石。系統(tǒng)中內(nèi)置了若干種控制算法。為了保證控制算法的可擴展性和統(tǒng)一性,所有的控制算法實現(xiàn)了一個統(tǒng)一的接口,供算法運行模塊調(diào)用。
           
  具體來講,是采用模塊化設(shè)計的思路,將dcs的控制算法分解成若干個功能獨立的、能分別設(shè)計、編碼和調(diào)試的算法模塊,組成控制算法庫。每個算法模塊完成的功能既明確又單純,從而使處理的問題局部化和簡單化。算法模塊作為控制組態(tài)仿真軟件結(jié)構(gòu)中的最基本元素,實際上就是完成一個特定算法功能的獨立程序。算法模塊的接口簡明而又統(tǒng)一,且能彼此隔離和獨立。從用戶角度看來,控制算法庫中的各種控制算法都是完全一樣的,而且系統(tǒng)也是采用統(tǒng)一的接口對各種算法進行調(diào)用的,用戶無需關(guān)心每個控制算法的具體實現(xiàn)細節(jié)。另外,用戶使用時,只需對控制算法模塊的參數(shù)進行修改,而無需修改算法模塊的代碼。
           
  將各算法編成獨立的可反復(fù)調(diào)用的算法模塊,對應(yīng)每一個功能模塊都有一個參數(shù)列表和輸入列表,系統(tǒng)運行時,控制調(diào)度程序依據(jù)這些信息,順序依次執(zhí)行。
           
  設(shè)計算法庫時,先設(shè)計一個算法基類cfunction,其中實現(xiàn)一個虛函數(shù)fun,具體算法從該類中派生。在程序中,采用統(tǒng)一調(diào)用各算法模塊的fun函數(shù)的方法實現(xiàn)對控制算法的調(diào)用,這樣的接口簡單明了。
           
  2.4 虛擬信號發(fā)生器
           
  信號發(fā)生器是一種應(yīng)用極為廣泛的儀器,它通常作為標準信號發(fā)生器,用于電子電路的性能試驗或參數(shù)測量。傳統(tǒng)的信號發(fā)生器價格昂貴、操作復(fù)雜、不易開發(fā)、維護和升級,而使用基于visual
           
  c++編程工具,軟件開發(fā)的虛擬信號發(fā)生器,具有簡單、直觀、操作方便等特點,而且可以通過調(diào)用或修改信號源函數(shù)中的不同的功能函數(shù),得到不同的信號,如正弦波、方波、三角波等。
           
  虛擬信號發(fā)生器即信號源模塊又分為三個子模塊,參數(shù)設(shè)置模塊,信號發(fā)生模塊,波形顯示模塊。如圖4所示。

            圖4  虛擬信號發(fā)生器結(jié)構(gòu)圖
      

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

            圖5  虛擬信號發(fā)生器數(shù)據(jù)流圖
 

          
  信號源模塊能夠產(chǎn)生正弦波、三角波、方波等常用的波形,能夠?qū)σl(fā)生波形的各種參數(shù)進行方便靈活的設(shè)置,能夠?qū)φl(fā)生的波形進行實時顯示。注意,模擬的信號采集頻率與主控卡實際采集頻率相同,這樣才能保證對主控卡實際運行的模擬仿真等準確。
           
  在此信號源模塊中,用戶可設(shè)定兩種模式:自動和手動。自動時,采用系統(tǒng)提供的一些標準輸入信號類型。手動時,用戶可隨時直接設(shè)置邏輯和控制變量的值。這是在線仿真系統(tǒng)的運行的必要條件。
           
  在此模塊中采用了多線程技術(shù),參考主控卡的采集周期,定時運行信號發(fā)生函數(shù)改變模擬輸入點的值。設(shè)置了手動改變數(shù)據(jù)的按鈕,用戶在手動模式下改變模擬輸入點的數(shù)據(jù)時,直接調(diào)用此按鈕的相應(yīng)函數(shù),執(zhí)行此改變。
            
3  模擬仿真運行
           
  先對用戶組態(tài)的信息進行檢查,看是否數(shù)據(jù)連接類型不匹配,是否回路斷開等,同時,對于圖形化組態(tài)平臺來說,如何根據(jù)控制回路圖的拓撲結(jié)構(gòu)建立起控制組態(tài)信息的數(shù)據(jù)流是很重要的,也就是需對回路中的算法模塊執(zhí)行順序進行排列,上述內(nèi)容都是編譯過程中的工作。檢查確定組態(tài)無誤后,利用虛擬信號發(fā)生器產(chǎn)生的信號,作為控制回路算法模擬仿真運行的輸入信號,運行控制算法,實時顯示仿真數(shù)據(jù),及仿真報警,并輸出仿真波形。這是一個可調(diào)試的仿真過程,用戶觀察仿真結(jié)果判斷對控制算法的組態(tài)是否滿足要求,若不滿足,則可“在線”調(diào)整算法功能模塊的參數(shù),甚至重新組態(tài),仿真和調(diào)試,直到仿真結(jié)果滿足指定要求。
           
  在模擬仿真時也采用了多線程技術(shù)。開辟工作者線程,進行控制算法的計算。為實現(xiàn)“在線”參數(shù)整定,在用戶修改參數(shù)時,再開辟一個工作者線程,這樣能提高程序的運行效率。
           
  本軟件平臺采用johnson算法來解決循環(huán)有向子回路的排序,具體實施過程為:以當(dāng)前正在進行拓樸結(jié)構(gòu)分析的模塊接口作探索出發(fā)點,用該接口的連線作為索引,沿該連線數(shù)據(jù)流方向深入,每深入一步,即將經(jīng)過的模塊接口進行標識,如果某一步達到了原出發(fā)點,則形成回路。因為在循環(huán)回路中,數(shù)據(jù)流在某個采用周期內(nèi)不存在時間序列上的優(yōu)先次序,因此需將回路人為斷開,并按上述索引的順序產(chǎn)生反映該循環(huán)回路特性的算法模塊的執(zhí)行順序。需要注意的是,該有向循環(huán)回路與不屬于該回路的其它部分則存在先后順序關(guān)系,這正是必須特別處理循環(huán)有向回路的原因。
           
  實際運行和數(shù)據(jù)訪問根據(jù)控制組態(tài)信息通過tcp/ip下載到dcs系統(tǒng)的主控卡,并實際運行,這時組態(tài)軟件實時的向主控卡詢問各點信息(當(dāng)前值信息和故障信息),并寫入實時數(shù)據(jù)庫。而控制組態(tài)仿真軟件只是實時的訪問實時數(shù)據(jù)庫,從實時數(shù)據(jù)庫獲取點值信息等,再在控制組態(tài)的實際運行界面上實時顯示,同時,可顯示各回路的實際運行波形圖。工程人員通過人機界面來監(jiān)控各個控制回路的運行情況,可以在線進行參數(shù)整定。
           
  數(shù)據(jù)訪問模塊主要是用來給算法實際運行模塊提供一個簡單、統(tǒng)一的數(shù)據(jù)訪問接口。它通過ado訪問實時數(shù)據(jù)庫,讀出算法運行模塊需要顯示的實時數(shù)據(jù),實現(xiàn)實時顯示和報警。
           
  設(shè)計時,創(chuàng)建流套接字與主控卡建立網(wǎng)絡(luò)連接,進行通訊,下載控制信息。
            
4  結(jié)束語
           
  控制組態(tài)仿真軟件為建模人員提供了一個友好的用戶界面,使建模人員在建模時不必對模塊內(nèi)部的控制、邏輯程序有很深的了解就可以方便的對其進行編寫和修改,自動或手動改變各邏輯和控制變量的值,參與模擬仿真運行和調(diào)試,從而實現(xiàn)了對系統(tǒng)運行的仿真。采用仿真的方式,模擬控制算法的運行和故障的報警,既可縮短工期又可降低成本,還能降低硬件維護、培訓(xùn)和備品備件費用,具有很好的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉