左嬌
摘 要:組態(tài)是為了使工業(yè)控制系統(tǒng)現(xiàn)場(chǎng)工作站按照預(yù)定設(shè)置自動(dòng)執(zhí)行相應(yīng)任務(wù),使用軟件對(duì)工作站的各種資源進(jìn)行配置。組態(tài)軟件是面向工業(yè)自動(dòng)化領(lǐng)域監(jiān)控與數(shù)據(jù)采集系統(tǒng)的軟件平臺(tái)工具,工程師可以根據(jù)不同的工控項(xiàng)目預(yù)置組態(tài)工程以供操作員靈活使用。組態(tài)軟件的功能結(jié)構(gòu)主要包括組態(tài)工程管理、組態(tài)參數(shù)配置、組態(tài)畫(huà)面運(yùn)行等部分。組態(tài)配置中主要包含圖形組態(tài)、報(bào)表設(shè)置、報(bào)警設(shè)置、變量設(shè)置、趨勢(shì)設(shè)置、用戶(hù)管理、主控卡設(shè)置等。文中主要講述了圖形組態(tài)的實(shí)現(xiàn)方法,包含組態(tài)畫(huà)面的生成和組態(tài)軟件的動(dòng)畫(huà)連接。
關(guān)鍵詞:組態(tài)軟件;圖形組態(tài);畫(huà)面生成;動(dòng)畫(huà)連接
中圖分類(lèi)號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2014)03-0079-03
0 引 言
組態(tài)軟件是一種面向工業(yè)自動(dòng)化領(lǐng)域的通用監(jiān)控與數(shù)據(jù)采集系統(tǒng)的軟件平臺(tái)工具,具備對(duì)工業(yè)自動(dòng)化系統(tǒng)的監(jiān)視、控制、管理等功能,同時(shí)也提供豐富的、易于使用的手段和工具。
組態(tài)軟件的出現(xiàn),解決了以往過(guò)程控制系統(tǒng)中圖形報(bào)表、控制回路設(shè)計(jì)、數(shù)據(jù)變量設(shè)置等功能只能依靠編程來(lái)實(shí)現(xiàn)的問(wèn)題。組態(tài)軟件能適應(yīng)不同的應(yīng)用對(duì)象,工程師針對(duì)不同的工程項(xiàng)目改變數(shù)據(jù)實(shí)體(包括控制回路、圖形或報(bào)表文件等),而不改變系統(tǒng)的執(zhí)行代碼。組態(tài)軟件具有實(shí)時(shí)多任務(wù)特征,滿(mǎn)足工業(yè)控制系統(tǒng)中同時(shí)進(jìn)行工業(yè)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)的采集、處理、存儲(chǔ)、檢索、顯示、圖形動(dòng)畫(huà)展示、報(bào)表報(bào)警顯示和實(shí)時(shí)通信等多個(gè)并行任務(wù)。組態(tài)軟件為用戶(hù)提供數(shù)據(jù)訪問(wèn)安全機(jī)制,只允許有特定操作權(quán)限的工程師對(duì)組態(tài)軟件中某些功能進(jìn)行操作,防止未授權(quán)用戶(hù)修改開(kāi)發(fā)系統(tǒng)參數(shù)或者對(duì)工控現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行更改等操作,防止意外或非法地關(guān)閉該系統(tǒng)。組態(tài)軟件既提高了系統(tǒng)的運(yùn)行速度,又保證了系統(tǒng)軟件的成熟性、健壯性和可靠性,為操作員提供非常方便、靈活的操作方式,而且也便于工程師對(duì)系統(tǒng)進(jìn)行修改、維護(hù)和擴(kuò)展。
1 組態(tài)軟件的功能結(jié)構(gòu)
圖1所示是組態(tài)軟件的功能結(jié)構(gòu)圖。組態(tài)軟件的功能結(jié)構(gòu)主要包括工程管理、組態(tài)配置、組態(tài)運(yùn)行幾個(gè)部分,本文將重點(diǎn)介紹組態(tài)配置中圖形組態(tài)的實(shí)現(xiàn)。
2 組態(tài)軟件圖形組態(tài)實(shí)現(xiàn)
圖形組態(tài)可以模擬出生產(chǎn)過(guò)程中鍋爐、水泵、管道等各個(gè)單元的實(shí)際形狀,并將生產(chǎn)過(guò)程中的模擬量和開(kāi)關(guān)量與畫(huà)面中的圖形連接起來(lái),組成與工業(yè)控制系統(tǒng)現(xiàn)場(chǎng)匹配的動(dòng)態(tài)畫(huà)面。
圖1 組態(tài)軟件功能模塊圖
生產(chǎn)過(guò)程現(xiàn)場(chǎng)數(shù)據(jù)變量與畫(huà)面中的圖形元素是相互雙向?qū)?yīng)的,生產(chǎn)現(xiàn)場(chǎng)產(chǎn)生的模擬量和開(kāi)關(guān)量可以通過(guò)通訊接口傳送到組態(tài)畫(huà)面中實(shí)時(shí)顯示。同時(shí),用戶(hù)也可以操作運(yùn)行畫(huà)面中的圖形元素,通過(guò)通訊接口向工業(yè)控制系統(tǒng)中的現(xiàn)場(chǎng)設(shè)備發(fā)送操作指令,這樣使得操作員清晰、簡(jiǎn)單地監(jiān)視和控制工業(yè)現(xiàn)場(chǎng)生產(chǎn)過(guò)程。
組態(tài)軟件中的圖形組態(tài)可分為兩個(gè)步驟:第一步是利用組態(tài)參數(shù)配置模塊提供的繪圖工具編輯工業(yè)控制系統(tǒng)工藝流程畫(huà)面,形成與工控現(xiàn)場(chǎng)相對(duì)應(yīng)的靜態(tài)背景圖;二是綁定工藝流程畫(huà)面中的某一圖形元素對(duì)象和數(shù)據(jù)變量,通過(guò)實(shí)現(xiàn)動(dòng)畫(huà)連接,生成隨實(shí)時(shí)數(shù)據(jù)變化而變化的動(dòng)態(tài)畫(huà)面。
2.1 組態(tài)軟件的畫(huà)面生成
組態(tài)軟件運(yùn)行時(shí)的各種顯示畫(huà)面是在圖形組態(tài)參數(shù)配置環(huán)境中編輯而成的,這個(gè)環(huán)境提供了一個(gè)面向?qū)ο蟮膱D形編輯器,提供用戶(hù)繪制矩形、直線、圓、文本對(duì)象和其他管道和矢量繪圖工具,該環(huán)境為用戶(hù)提供了一個(gè)面向目標(biāo)的圖形編輯器,為工程師提供了如矩形、工控設(shè)備示意圖、線條、圓、管道以及文本等圖元對(duì)象的矢量圖編輯工具,每種圖元類(lèi)型均能分別設(shè)置其基本屬性和動(dòng)畫(huà)屬性[1]。矢量圖保存的是圖元各點(diǎn)的坐標(biāo),圖形無(wú)論放大或縮小均不會(huì)變形和失真,并且所占用的存儲(chǔ)空間也比其他圖形格式(如bmp、jpeg等)小,圖元的存取采用MFC(Microsoft Function Classes)的串行化技術(shù),通過(guò)串行化可以方便地保存數(shù)據(jù),簡(jiǎn)化程序操作流程。
圖元繪制的實(shí)現(xiàn)需結(jié)合鼠標(biāo)左鍵按下、鼠標(biāo)移動(dòng)和松開(kāi)鼠標(biāo)左鍵3個(gè)事件,其創(chuàng)建過(guò)程分為3個(gè)步驟[2]:
(1)創(chuàng)建組態(tài)畫(huà)面圖元示例(即鼠標(biāo)左鍵按下動(dòng)作)
創(chuàng)建畫(huà)面圖元時(shí),首先選擇確定圖元所屬類(lèi)型,當(dāng)工程師按下左鍵時(shí),即創(chuàng)建了相應(yīng)圖元類(lèi)型的類(lèi)實(shí)例,并將該圖元類(lèi)型實(shí)例指針保存在成員m_objects中;
(2)跟蹤鼠標(biāo)移動(dòng)修改圖元,實(shí)現(xiàn)圖元實(shí)時(shí)顯示效果(即鼠標(biāo)移動(dòng)動(dòng)作)
當(dāng)鼠標(biāo)移動(dòng)時(shí),圖元大小將隨之變化,該過(guò)程在圖元編輯工具CDrawTool類(lèi)的OnMouseMove事件(鼠標(biāo)移動(dòng)事件)程序中實(shí)現(xiàn)。該事件可實(shí)現(xiàn)圖元?jiǎng)?chuàng)建所見(jiàn)即所得的效果,使工程師在繪制靜態(tài)背景圖時(shí)即時(shí)獲取繪圖效果,便于整體畫(huà)面編輯和修改,并增強(qiáng)畫(huà)面編輯的友好型和互動(dòng)性;
(3)保存新建圖元類(lèi)型示例(即鼠標(biāo)左鍵抬起動(dòng)作)
當(dāng)工程師抬起鼠標(biāo)左鍵時(shí),表示圖元對(duì)象繪制完成。程序需保存該圖元數(shù)據(jù)和更新視圖顯示,并恢復(fù)畫(huà)面繪制前的相應(yīng)程序設(shè)置。因此,需在CDrawTool中加入的鼠標(biāo)釋放事件OnLButtonUp。
2.2 組態(tài)軟件動(dòng)畫(huà)連接
集散控制系統(tǒng)組態(tài)軟件能夠模擬工控現(xiàn)場(chǎng)系統(tǒng)的實(shí)際運(yùn)行情況,要求圖形界面友好,通過(guò)綁定工藝流程畫(huà)面中的某一圖形對(duì)象和數(shù)據(jù)變量,將數(shù)據(jù)變化在畫(huà)面中實(shí)時(shí)形象地反應(yīng)出來(lái),即實(shí)現(xiàn)動(dòng)畫(huà)[3]。通過(guò)制作工藝流程圖,操作員可以監(jiān)視工業(yè)現(xiàn)場(chǎng)的情況,及時(shí)對(duì)緊急情況做出應(yīng)急處理,防止災(zāi)難發(fā)生和造成損失。
對(duì)于畫(huà)面組態(tài)中的工藝流程圖,其圖形元素分為兩類(lèi),一類(lèi)是為了畫(huà)面完整的靜態(tài)圖,主要對(duì)畫(huà)面起修飾作用;另一類(lèi)是反映現(xiàn)場(chǎng)儀表檢測(cè)量的變化或者工業(yè)現(xiàn)場(chǎng)開(kāi)關(guān)、閥門(mén)等控制裝置的狀態(tài)的動(dòng)態(tài)圖形。
動(dòng)態(tài)圖形元素能實(shí)時(shí)反映檢測(cè)量的變化,這就需要將這些動(dòng)態(tài)圖形元素和工業(yè)控制系統(tǒng)現(xiàn)場(chǎng)控制儀表的輸出數(shù)據(jù)聯(lián)系起來(lái),即變量綁定。由于在組態(tài)畫(huà)面參數(shù)設(shè)置時(shí),已為每個(gè)現(xiàn)場(chǎng)檢測(cè)量設(shè)置了唯一的變量名,現(xiàn)場(chǎng)數(shù)據(jù)采集設(shè)備的輸出數(shù)據(jù)會(huì)根據(jù)工程師所設(shè)置的時(shí)間間隔傳送到上位機(jī)數(shù)據(jù)庫(kù)的對(duì)應(yīng)變量中,進(jìn)行變量綁定則是為動(dòng)畫(huà)圖形元素添加數(shù)據(jù)驅(qū)動(dòng)源,讓工作站組態(tài)運(yùn)行環(huán)境知道各個(gè)圖形對(duì)象應(yīng)該根據(jù)哪些變量值進(jìn)行變化。組態(tài)軟件在運(yùn)行狀態(tài)時(shí)會(huì)按設(shè)定時(shí)間間隔到讀取實(shí)時(shí)數(shù)據(jù),并通過(guò)動(dòng)態(tài)圖形元素的動(dòng)畫(huà)進(jìn)行展示。
動(dòng)畫(huà)屬性與相應(yīng)設(shè)備的I/O變量相關(guān),變量的變化表現(xiàn)為畫(huà)面中動(dòng)態(tài)圖形元素的顏色變化、大小變化、位置變化、可見(jiàn)度變化和閃爍性變化,圖形元素的存在形態(tài)隨著所綁定的變量值的變化而變化。在組態(tài)軟件運(yùn)行環(huán)境下,畫(huà)面中建立了動(dòng)畫(huà)連接的圖形即根據(jù)數(shù)據(jù)變量或表達(dá)式的變化進(jìn)行顯示。
用戶(hù)可選中畫(huà)面中的圖形元素進(jìn)行動(dòng)態(tài)圖形元素的動(dòng)畫(huà)連接設(shè)置,雙擊圖形元素,即彈出動(dòng)畫(huà)連接設(shè)置對(duì)話框,再選擇該圖形的動(dòng)畫(huà)類(lèi)型,例如需要給該圖形設(shè)置填充屬性,則點(diǎn)擊“填充屬性”按鈕,彈出填充屬性設(shè)置對(duì)話框,在此對(duì)話框內(nèi),對(duì)圖元填充動(dòng)畫(huà)進(jìn)行設(shè)置。用戶(hù)可根據(jù)生產(chǎn)運(yùn)行實(shí)際情況設(shè)置相應(yīng)圖元對(duì)應(yīng)的動(dòng)畫(huà)連接,利用動(dòng)畫(huà)連接,系統(tǒng)將生成一系列畫(huà)面組態(tài)信息動(dòng)畫(huà)信息,并將他們保存在數(shù)據(jù)文件中,供組態(tài)運(yùn)行程序調(diào)用。圖2所示是動(dòng)畫(huà)連接設(shè)置界面,圖3所示是其組態(tài)運(yùn)行界面圖。
圖2 動(dòng)畫(huà)連接設(shè)置界面
圖3 組態(tài)運(yùn)行界面
2.3 畫(huà)面編輯界面閃爍的解決方法
隨著工業(yè)現(xiàn)場(chǎng)監(jiān)測(cè)點(diǎn)增加,組態(tài)畫(huà)面中的圖形元素將越來(lái)越多,在對(duì)界面中圖元進(jìn)行添加、刪除、修改等操作時(shí)會(huì)造成延遲,甚至是繪圖界面閃爍,大大降低了用戶(hù)的操作體驗(yàn)。
通常由OnPaint函數(shù)調(diào)用OnDraw函數(shù),OnDraw和OnPaint函數(shù)完成繪圖過(guò)程[4]。在MFC繪圖處理機(jī)制中,重繪畫(huà)面時(shí)會(huì)先清除顯示區(qū),使之成為背景色,然后再調(diào)用OnPaint函數(shù)進(jìn)行繪制,而當(dāng)窗口中圖元顏色、位置等變化后均會(huì)重繪畫(huà)面。為了畫(huà)面元素易于識(shí)別,通常將畫(huà)面背景色與圖元顏色設(shè)置為不同顏色,當(dāng)重繪畫(huà)面時(shí)背景色與畫(huà)面中的顯示圖形將在極短的時(shí)間內(nèi)交替出現(xiàn),造成畫(huà)面窗口刷新閃爍,影響用戶(hù)體驗(yàn)。因此,本文采用雙緩沖機(jī)制來(lái)解決界面閃爍的問(wèn)題。
雙緩沖機(jī)制繪圖的實(shí)現(xiàn)即在畫(huà)面顯示在屏幕上之前,在內(nèi)存中創(chuàng)建一個(gè)緩沖區(qū)對(duì)象,該對(duì)象與組態(tài)畫(huà)面繪圖區(qū)域一致,將圖形元素繪制到內(nèi)存的這個(gè)對(duì)象上,再通過(guò)調(diào)用BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop)函數(shù),將這個(gè)對(duì)象上的圖形一并拷貝到畫(huà)面繪圖區(qū)域中,由于繪圖的速度較快,人眼無(wú)法感覺(jué)到閃爍,從而解決了繪圖界面閃爍的問(wèn)題。
其中:x為目標(biāo)矩形區(qū)域的左上角x軸坐標(biāo)點(diǎn);y為目標(biāo)矩形區(qū)域的左上角y軸坐標(biāo)點(diǎn);nWidth為在目標(biāo)設(shè)備中繪制位圖的寬度;nHight為在目標(biāo)設(shè)備中繪制位圖的高度;pSrcDC為源設(shè)備上下文對(duì)象指針;xSrc為源設(shè)備上下文的起點(diǎn)x軸坐標(biāo),函數(shù)從該起點(diǎn)復(fù)制位圖到目標(biāo)設(shè)備;ySrc為源設(shè)備上下文的起點(diǎn)y軸坐標(biāo),函數(shù)從該起點(diǎn)復(fù)制位圖到目標(biāo)設(shè)備;dwRop為光柵操作代碼。
圖4所示是采用雙緩沖機(jī)制繪圖的過(guò)程圖。
3 結(jié) 語(yǔ)
通過(guò)組態(tài)軟件中圖形組態(tài)的實(shí)現(xiàn),將生產(chǎn)過(guò)程中的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)展示在組態(tài)畫(huà)面中,組成與生產(chǎn)過(guò)程現(xiàn)場(chǎng)相對(duì)應(yīng)的動(dòng)態(tài)畫(huà)面,提高了工業(yè)控制系統(tǒng)項(xiàng)目管理的靈活性和擴(kuò)展性,并為工程師和操作員執(zhí)行權(quán)限范圍內(nèi)的操作提供了方便。
圖4 采用雙緩沖機(jī)制繪圖過(guò)程
隨著電力、石化、能源等領(lǐng)域控制系統(tǒng)規(guī)模的不斷擴(kuò)大,設(shè)備逐漸增多,工業(yè)控制系統(tǒng)現(xiàn)場(chǎng)環(huán)境也變得更復(fù)雜,因此對(duì)組態(tài)軟件系統(tǒng)結(jié)構(gòu)的功能要求、性能要求和安全要求也變得越來(lái)越高。同時(shí),軟件工程的理論和工控領(lǐng)域控制系統(tǒng)技術(shù)的不斷發(fā)展,組態(tài)軟件的整體設(shè)計(jì)要求也變得越來(lái)越高,對(duì)組態(tài)軟件的擴(kuò)充和完善將是工控領(lǐng)域長(zhǎng)久的需求。
參 考 文 獻(xiàn)
[1]王亞青,陳青,劉暢生,等.組態(tài)軟件設(shè)計(jì)與開(kāi)發(fā)[M].西安:西安電子科技大學(xué)出版社,2003.
[2]林偉.淺談組態(tài)軟件的發(fā)展趨勢(shì)[J].自動(dòng)化博覽,2003,20(3):45-47.
[3]朱小菲.工控組態(tài)軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2005.
[4]王亞民.DCS組態(tài)軟件實(shí)現(xiàn)方法研究[J].測(cè)控技術(shù),2005(9): 50-53.
[5]周欣然. 組態(tài)軟件的設(shè)計(jì)[D]. 長(zhǎng)沙:中南大學(xué),2003.
Configuration implementation of configuration software image face to the industrial areas
ZUO Jiao
(North China Computer Systems Engineering Institute, Beijing 100083, China)
Abstract: Configuration means using software tools to configure different kinds of resources, and make it works as reserved settings automatic to execute specific tasks. Configuration software is a platform tool for monitoring face to the industrial areas and data collection system. Engineers can preset configuration project according to different industrial control program for operator to use intelligently. The function structure of configuration software includes configuration project management, parameter configuration, and configuration running. The main parts of configuration are graph configuration, report form configuration, alarm configuration, variable setting, tendency setting, user management and master card setting. The implementation method of graph configuration is introduced, which includes the generation of configuration picture and animation connection of configuration software.
Keywords: configuration software; graphical configuration; screen generation; animation connection
動(dòng)畫(huà)屬性與相應(yīng)設(shè)備的I/O變量相關(guān),變量的變化表現(xiàn)為畫(huà)面中動(dòng)態(tài)圖形元素的顏色變化、大小變化、位置變化、可見(jiàn)度變化和閃爍性變化,圖形元素的存在形態(tài)隨著所綁定的變量值的變化而變化。在組態(tài)軟件運(yùn)行環(huán)境下,畫(huà)面中建立了動(dòng)畫(huà)連接的圖形即根據(jù)數(shù)據(jù)變量或表達(dá)式的變化進(jìn)行顯示。
用戶(hù)可選中畫(huà)面中的圖形元素進(jìn)行動(dòng)態(tài)圖形元素的動(dòng)畫(huà)連接設(shè)置,雙擊圖形元素,即彈出動(dòng)畫(huà)連接設(shè)置對(duì)話框,再選擇該圖形的動(dòng)畫(huà)類(lèi)型,例如需要給該圖形設(shè)置填充屬性,則點(diǎn)擊“填充屬性”按鈕,彈出填充屬性設(shè)置對(duì)話框,在此對(duì)話框內(nèi),對(duì)圖元填充動(dòng)畫(huà)進(jìn)行設(shè)置。用戶(hù)可根據(jù)生產(chǎn)運(yùn)行實(shí)際情況設(shè)置相應(yīng)圖元對(duì)應(yīng)的動(dòng)畫(huà)連接,利用動(dòng)畫(huà)連接,系統(tǒng)將生成一系列畫(huà)面組態(tài)信息動(dòng)畫(huà)信息,并將他們保存在數(shù)據(jù)文件中,供組態(tài)運(yùn)行程序調(diào)用。圖2所示是動(dòng)畫(huà)連接設(shè)置界面,圖3所示是其組態(tài)運(yùn)行界面圖。
圖2 動(dòng)畫(huà)連接設(shè)置界面
圖3 組態(tài)運(yùn)行界面
2.3 畫(huà)面編輯界面閃爍的解決方法
隨著工業(yè)現(xiàn)場(chǎng)監(jiān)測(cè)點(diǎn)增加,組態(tài)畫(huà)面中的圖形元素將越來(lái)越多,在對(duì)界面中圖元進(jìn)行添加、刪除、修改等操作時(shí)會(huì)造成延遲,甚至是繪圖界面閃爍,大大降低了用戶(hù)的操作體驗(yàn)。
通常由OnPaint函數(shù)調(diào)用OnDraw函數(shù),OnDraw和OnPaint函數(shù)完成繪圖過(guò)程[4]。在MFC繪圖處理機(jī)制中,重繪畫(huà)面時(shí)會(huì)先清除顯示區(qū),使之成為背景色,然后再調(diào)用OnPaint函數(shù)進(jìn)行繪制,而當(dāng)窗口中圖元顏色、位置等變化后均會(huì)重繪畫(huà)面。為了畫(huà)面元素易于識(shí)別,通常將畫(huà)面背景色與圖元顏色設(shè)置為不同顏色,當(dāng)重繪畫(huà)面時(shí)背景色與畫(huà)面中的顯示圖形將在極短的時(shí)間內(nèi)交替出現(xiàn),造成畫(huà)面窗口刷新閃爍,影響用戶(hù)體驗(yàn)。因此,本文采用雙緩沖機(jī)制來(lái)解決界面閃爍的問(wèn)題。
雙緩沖機(jī)制繪圖的實(shí)現(xiàn)即在畫(huà)面顯示在屏幕上之前,在內(nèi)存中創(chuàng)建一個(gè)緩沖區(qū)對(duì)象,該對(duì)象與組態(tài)畫(huà)面繪圖區(qū)域一致,將圖形元素繪制到內(nèi)存的這個(gè)對(duì)象上,再通過(guò)調(diào)用BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop)函數(shù),將這個(gè)對(duì)象上的圖形一并拷貝到畫(huà)面繪圖區(qū)域中,由于繪圖的速度較快,人眼無(wú)法感覺(jué)到閃爍,從而解決了繪圖界面閃爍的問(wèn)題。
其中:x為目標(biāo)矩形區(qū)域的左上角x軸坐標(biāo)點(diǎn);y為目標(biāo)矩形區(qū)域的左上角y軸坐標(biāo)點(diǎn);nWidth為在目標(biāo)設(shè)備中繪制位圖的寬度;nHight為在目標(biāo)設(shè)備中繪制位圖的高度;pSrcDC為源設(shè)備上下文對(duì)象指針;xSrc為源設(shè)備上下文的起點(diǎn)x軸坐標(biāo),函數(shù)從該起點(diǎn)復(fù)制位圖到目標(biāo)設(shè)備;ySrc為源設(shè)備上下文的起點(diǎn)y軸坐標(biāo),函數(shù)從該起點(diǎn)復(fù)制位圖到目標(biāo)設(shè)備;dwRop為光柵操作代碼。
圖4所示是采用雙緩沖機(jī)制繪圖的過(guò)程圖。
3 結(jié) 語(yǔ)
通過(guò)組態(tài)軟件中圖形組態(tài)的實(shí)現(xiàn),將生產(chǎn)過(guò)程中的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)展示在組態(tài)畫(huà)面中,組成與生產(chǎn)過(guò)程現(xiàn)場(chǎng)相對(duì)應(yīng)的動(dòng)態(tài)畫(huà)面,提高了工業(yè)控制系統(tǒng)項(xiàng)目管理的靈活性和擴(kuò)展性,并為工程師和操作員執(zhí)行權(quán)限范圍內(nèi)的操作提供了方便。
圖4 采用雙緩沖機(jī)制繪圖過(guò)程
隨著電力、石化、能源等領(lǐng)域控制系統(tǒng)規(guī)模的不斷擴(kuò)大,設(shè)備逐漸增多,工業(yè)控制系統(tǒng)現(xiàn)場(chǎng)環(huán)境也變得更復(fù)雜,因此對(duì)組態(tài)軟件系統(tǒng)結(jié)構(gòu)的功能要求、性能要求和安全要求也變得越來(lái)越高。同時(shí),軟件工程的理論和工控領(lǐng)域控制系統(tǒng)技術(shù)的不斷發(fā)展,組態(tài)軟件的整體設(shè)計(jì)要求也變得越來(lái)越高,對(duì)組態(tài)軟件的擴(kuò)充和完善將是工控領(lǐng)域長(zhǎng)久的需求。
參 考 文 獻(xiàn)
[1]王亞青,陳青,劉暢生,等.組態(tài)軟件設(shè)計(jì)與開(kāi)發(fā)[M].西安:西安電子科技大學(xué)出版社,2003.
[2]林偉.淺談組態(tài)軟件的發(fā)展趨勢(shì)[J].自動(dòng)化博覽,2003,20(3):45-47.
[3]朱小菲.工控組態(tài)軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2005.
[4]王亞民.DCS組態(tài)軟件實(shí)現(xiàn)方法研究[J].測(cè)控技術(shù),2005(9): 50-53.
[5]周欣然. 組態(tài)軟件的設(shè)計(jì)[D]. 長(zhǎng)沙:中南大學(xué),2003.
Configuration implementation of configuration software image face to the industrial areas
ZUO Jiao
(North China Computer Systems Engineering Institute, Beijing 100083, China)
Abstract: Configuration means using software tools to configure different kinds of resources, and make it works as reserved settings automatic to execute specific tasks. Configuration software is a platform tool for monitoring face to the industrial areas and data collection system. Engineers can preset configuration project according to different industrial control program for operator to use intelligently. The function structure of configuration software includes configuration project management, parameter configuration, and configuration running. The main parts of configuration are graph configuration, report form configuration, alarm configuration, variable setting, tendency setting, user management and master card setting. The implementation method of graph configuration is introduced, which includes the generation of configuration picture and animation connection of configuration software.
Keywords: configuration software; graphical configuration; screen generation; animation connection
動(dòng)畫(huà)屬性與相應(yīng)設(shè)備的I/O變量相關(guān),變量的變化表現(xiàn)為畫(huà)面中動(dòng)態(tài)圖形元素的顏色變化、大小變化、位置變化、可見(jiàn)度變化和閃爍性變化,圖形元素的存在形態(tài)隨著所綁定的變量值的變化而變化。在組態(tài)軟件運(yùn)行環(huán)境下,畫(huà)面中建立了動(dòng)畫(huà)連接的圖形即根據(jù)數(shù)據(jù)變量或表達(dá)式的變化進(jìn)行顯示。
用戶(hù)可選中畫(huà)面中的圖形元素進(jìn)行動(dòng)態(tài)圖形元素的動(dòng)畫(huà)連接設(shè)置,雙擊圖形元素,即彈出動(dòng)畫(huà)連接設(shè)置對(duì)話框,再選擇該圖形的動(dòng)畫(huà)類(lèi)型,例如需要給該圖形設(shè)置填充屬性,則點(diǎn)擊“填充屬性”按鈕,彈出填充屬性設(shè)置對(duì)話框,在此對(duì)話框內(nèi),對(duì)圖元填充動(dòng)畫(huà)進(jìn)行設(shè)置。用戶(hù)可根據(jù)生產(chǎn)運(yùn)行實(shí)際情況設(shè)置相應(yīng)圖元對(duì)應(yīng)的動(dòng)畫(huà)連接,利用動(dòng)畫(huà)連接,系統(tǒng)將生成一系列畫(huà)面組態(tài)信息動(dòng)畫(huà)信息,并將他們保存在數(shù)據(jù)文件中,供組態(tài)運(yùn)行程序調(diào)用。圖2所示是動(dòng)畫(huà)連接設(shè)置界面,圖3所示是其組態(tài)運(yùn)行界面圖。
圖2 動(dòng)畫(huà)連接設(shè)置界面
圖3 組態(tài)運(yùn)行界面
2.3 畫(huà)面編輯界面閃爍的解決方法
隨著工業(yè)現(xiàn)場(chǎng)監(jiān)測(cè)點(diǎn)增加,組態(tài)畫(huà)面中的圖形元素將越來(lái)越多,在對(duì)界面中圖元進(jìn)行添加、刪除、修改等操作時(shí)會(huì)造成延遲,甚至是繪圖界面閃爍,大大降低了用戶(hù)的操作體驗(yàn)。
通常由OnPaint函數(shù)調(diào)用OnDraw函數(shù),OnDraw和OnPaint函數(shù)完成繪圖過(guò)程[4]。在MFC繪圖處理機(jī)制中,重繪畫(huà)面時(shí)會(huì)先清除顯示區(qū),使之成為背景色,然后再調(diào)用OnPaint函數(shù)進(jìn)行繪制,而當(dāng)窗口中圖元顏色、位置等變化后均會(huì)重繪畫(huà)面。為了畫(huà)面元素易于識(shí)別,通常將畫(huà)面背景色與圖元顏色設(shè)置為不同顏色,當(dāng)重繪畫(huà)面時(shí)背景色與畫(huà)面中的顯示圖形將在極短的時(shí)間內(nèi)交替出現(xiàn),造成畫(huà)面窗口刷新閃爍,影響用戶(hù)體驗(yàn)。因此,本文采用雙緩沖機(jī)制來(lái)解決界面閃爍的問(wèn)題。
雙緩沖機(jī)制繪圖的實(shí)現(xiàn)即在畫(huà)面顯示在屏幕上之前,在內(nèi)存中創(chuàng)建一個(gè)緩沖區(qū)對(duì)象,該對(duì)象與組態(tài)畫(huà)面繪圖區(qū)域一致,將圖形元素繪制到內(nèi)存的這個(gè)對(duì)象上,再通過(guò)調(diào)用BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop)函數(shù),將這個(gè)對(duì)象上的圖形一并拷貝到畫(huà)面繪圖區(qū)域中,由于繪圖的速度較快,人眼無(wú)法感覺(jué)到閃爍,從而解決了繪圖界面閃爍的問(wèn)題。
其中:x為目標(biāo)矩形區(qū)域的左上角x軸坐標(biāo)點(diǎn);y為目標(biāo)矩形區(qū)域的左上角y軸坐標(biāo)點(diǎn);nWidth為在目標(biāo)設(shè)備中繪制位圖的寬度;nHight為在目標(biāo)設(shè)備中繪制位圖的高度;pSrcDC為源設(shè)備上下文對(duì)象指針;xSrc為源設(shè)備上下文的起點(diǎn)x軸坐標(biāo),函數(shù)從該起點(diǎn)復(fù)制位圖到目標(biāo)設(shè)備;ySrc為源設(shè)備上下文的起點(diǎn)y軸坐標(biāo),函數(shù)從該起點(diǎn)復(fù)制位圖到目標(biāo)設(shè)備;dwRop為光柵操作代碼。
圖4所示是采用雙緩沖機(jī)制繪圖的過(guò)程圖。
3 結(jié) 語(yǔ)
通過(guò)組態(tài)軟件中圖形組態(tài)的實(shí)現(xiàn),將生產(chǎn)過(guò)程中的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)展示在組態(tài)畫(huà)面中,組成與生產(chǎn)過(guò)程現(xiàn)場(chǎng)相對(duì)應(yīng)的動(dòng)態(tài)畫(huà)面,提高了工業(yè)控制系統(tǒng)項(xiàng)目管理的靈活性和擴(kuò)展性,并為工程師和操作員執(zhí)行權(quán)限范圍內(nèi)的操作提供了方便。
圖4 采用雙緩沖機(jī)制繪圖過(guò)程
隨著電力、石化、能源等領(lǐng)域控制系統(tǒng)規(guī)模的不斷擴(kuò)大,設(shè)備逐漸增多,工業(yè)控制系統(tǒng)現(xiàn)場(chǎng)環(huán)境也變得更復(fù)雜,因此對(duì)組態(tài)軟件系統(tǒng)結(jié)構(gòu)的功能要求、性能要求和安全要求也變得越來(lái)越高。同時(shí),軟件工程的理論和工控領(lǐng)域控制系統(tǒng)技術(shù)的不斷發(fā)展,組態(tài)軟件的整體設(shè)計(jì)要求也變得越來(lái)越高,對(duì)組態(tài)軟件的擴(kuò)充和完善將是工控領(lǐng)域長(zhǎng)久的需求。
參 考 文 獻(xiàn)
[1]王亞青,陳青,劉暢生,等.組態(tài)軟件設(shè)計(jì)與開(kāi)發(fā)[M].西安:西安電子科技大學(xué)出版社,2003.
[2]林偉.淺談組態(tài)軟件的發(fā)展趨勢(shì)[J].自動(dòng)化博覽,2003,20(3):45-47.
[3]朱小菲.工控組態(tài)軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2005.
[4]王亞民.DCS組態(tài)軟件實(shí)現(xiàn)方法研究[J].測(cè)控技術(shù),2005(9): 50-53.
[5]周欣然. 組態(tài)軟件的設(shè)計(jì)[D]. 長(zhǎng)沙:中南大學(xué),2003.
Configuration implementation of configuration software image face to the industrial areas
ZUO Jiao
(North China Computer Systems Engineering Institute, Beijing 100083, China)
Abstract: Configuration means using software tools to configure different kinds of resources, and make it works as reserved settings automatic to execute specific tasks. Configuration software is a platform tool for monitoring face to the industrial areas and data collection system. Engineers can preset configuration project according to different industrial control program for operator to use intelligently. The function structure of configuration software includes configuration project management, parameter configuration, and configuration running. The main parts of configuration are graph configuration, report form configuration, alarm configuration, variable setting, tendency setting, user management and master card setting. The implementation method of graph configuration is introduced, which includes the generation of configuration picture and animation connection of configuration software.
Keywords: configuration software; graphical configuration; screen generation; animation connection