關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 組態(tài)王圖形顯示與動(dòng)畫(huà)功能應(yīng)用

組態(tài)王圖形顯示與動(dòng)畫(huà)功能應(yīng)用

——
作者: 時(shí)間:2006-05-22 來(lái)源: 收藏
當(dāng)前,一個(gè)學(xué)習(xí)和應(yīng)用工控組態(tài)軟件的熱潮正在興起![1,2]基于PC(PC-based)的自動(dòng)化以及電子技術(shù)的現(xiàn)代化日益受到人們的注意和青睞,并深刻地改變著自動(dòng)化及電子世界的面貌,而基于PC和Windows的組態(tài)軟件區(qū)別于C++和VB等通用計(jì)算機(jī)語(yǔ)言,它是一種適合工業(yè)和實(shí)驗(yàn)室的實(shí)時(shí)語(yǔ)言,是工程師、科學(xué)工作者、教學(xué)工作者和工人們的日常工作語(yǔ)言,因此格外受到歡迎,這種語(yǔ)言也可稱為工業(yè)及實(shí)驗(yàn)室實(shí)時(shí)語(yǔ)言IALTL(Industry and Laboratory Time Language),這種語(yǔ)言日益成為高等學(xué)校理工類學(xué)生必修的語(yǔ)言,正如辦公自動(dòng)化語(yǔ)言O(shè)ffice是所有大學(xué)生必修的語(yǔ)言一樣。這種語(yǔ)言本身由C++和VB開(kāi)發(fā)而成,因而層次更高,使用更方便。組態(tài)軟件具備強(qiáng)大的圖形處理、信息處理、通訊、數(shù)學(xué)運(yùn)算、數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)功能,特別適合于映射工業(yè)對(duì)象動(dòng)作和各種特性以及電子信號(hào)的圖形顯示和動(dòng)畫(huà)處理,也具備較強(qiáng)的控制功能。相對(duì)而言,根據(jù)國(guó)際電氣標(biāo)準(zhǔn)IEC61131-3規(guī)定的PLC的5種語(yǔ)言[基于圖形的功能塊圖FBD(Function Block Diagram)、梯形圖LD(Ladder Diagram)、順序功能圖SFC(Sequential Function Chart),基于文本的指令表IL(Instruction List)和結(jié)構(gòu)化文本ST(Structured Text)]是當(dāng)今功能最強(qiáng)大的進(jìn)行邏輯與過(guò)程控制的工業(yè)實(shí)時(shí)語(yǔ)言,相對(duì)于普通組態(tài)軟件進(jìn)行控制時(shí)常采用的類C和類BASIC語(yǔ)言,PLC語(yǔ)言的可視性和可讀性要強(qiáng)得多。據(jù)此,某些組態(tài)軟件將原本屬于PLC的5種語(yǔ)言嵌入進(jìn)來(lái),形成“軟PLC”,并支持插在PC機(jī)ISA和PCI插槽中的各類I/O卡,這時(shí)候的PC機(jī)或基于PC的IPC也可稱為廣義PLC。事實(shí)上,當(dāng)今一些著名的PLC廠商已經(jīng)開(kāi)發(fā)出軟硬件基于PC的完全開(kāi)放式的PLC產(chǎn)品。這樣,可將組態(tài)軟件有關(guān)控制的職能移交給內(nèi)置的“軟PLC”,而如何進(jìn)一步完善、加強(qiáng)和應(yīng)用作為主體的圖形顯示、動(dòng)畫(huà)處理、信息處理和數(shù)據(jù)存儲(chǔ)等功能顯得格外迫切,尤其是圖形顯示和動(dòng)畫(huà)處理,即人機(jī)界面HMI最為重要?,F(xiàn)流行的組態(tài)軟件種類繁多(事實(shí)上,如虛擬儀器語(yǔ)言Labview和仿真軟件MATLAB均屬于組態(tài)軟件范疇),北京亞控自動(dòng)化公司的組態(tài)王Kingview是優(yōu)秀國(guó)產(chǎn)組態(tài)軟件,與其配套的為外置式亞控“軟PLC”KingACT。本文試圖列舉若干個(gè)組態(tài)王的圖形功能基本范例,來(lái)展示組態(tài)王的圖形風(fēng)采。

    2  組態(tài)王的圖形及動(dòng)畫(huà)功能
   
    組態(tài)王工具箱中的基本圖素:直線、扇形、填充圖形(封閉圖形,內(nèi)部可填充色彩,有:橢圓和圓角矩形)、折線、管道、多邊形、文本、按鈕和點(diǎn)位圖,它們均具有圖形及動(dòng)畫(huà)功能。它們中填充圖形類動(dòng)畫(huà)連接框如圖1所表示,其余圖素的動(dòng)畫(huà)連接框結(jié)構(gòu)相同,只是某些動(dòng)畫(huà)屬性選項(xiàng)略有差異。


 
    圖1  填充圖形類(橢圓和圓角矩形)動(dòng)畫(huà)連接框

    從圖1中可知填充類圖形(橢圓和圓角矩形)無(wú)屬性文本色和輸出值各選項(xiàng),而基本圖素之一的文本無(wú)屬性變化中的線屬性和填充屬性,也無(wú)位置與大小變化中的填充、縮放和旋轉(zhuǎn)屬性,卻有屬性文本色和輸出值各選項(xiàng),各對(duì)象各有特點(diǎn)。什么是動(dòng)畫(huà)連接?所謂“動(dòng)畫(huà)連接”就是建立畫(huà)面的圖素與數(shù)據(jù)庫(kù)變量的對(duì)應(yīng)關(guān)系。建立動(dòng)畫(huà)連接后,根據(jù)數(shù)據(jù)庫(kù)中變量的變化,圖形對(duì)象可以按動(dòng)畫(huà)連接的要求進(jìn)行改變。數(shù)據(jù)庫(kù)中的變量可以是內(nèi)存變量,也可以是I/O變量。I/O變量是過(guò)程和科學(xué)實(shí)驗(yàn)中的各種物理量。若按物理量的數(shù)學(xué)形態(tài)分類有:數(shù)字式開(kāi)關(guān)量和連續(xù)式物理量;若按物理量的物理形態(tài)分類有:開(kāi)關(guān)的通斷、位移、速度、加速度、質(zhì)量、大小、顏色、電壓、電流、溫度、壓力、流量、液位、物質(zhì)濃度、亮度、酸堿度、種類繁多的化學(xué)及生物物理量。這樣,過(guò)程和科學(xué)實(shí)驗(yàn)五彩繽紛的客觀世界就可呈現(xiàn)在計(jì)算機(jī)屏幕上,這是人們夢(mèng)寐以求的,因?yàn)椤耙环?huà)可抵得上千言萬(wàn)語(yǔ)”。

    3  組態(tài)王的圖形及動(dòng)畫(huà)功能設(shè)計(jì)范例
   
    例1  “屬性變化”、“位置與大小變化”、組合圖素、合成單元和圖形工具命令語(yǔ)言的簡(jiǎn)單應(yīng)用。

    啟動(dòng)組態(tài)王工程管理器,新建一個(gè)工程。圖形畫(huà)面如圖2(運(yùn)行時(shí))所示,畫(huà)面底版用圓角矩形制作,并應(yīng)用了過(guò)渡色。


 
    圖2  圖形功能設(shè)計(jì)范例畫(huà)面(運(yùn)行時(shí))

    (1)填充與自制棒圖  選取線屬性(表達(dá)式取常數(shù)0,運(yùn)行時(shí)線的粗細(xì)和顏色不隨時(shí)間而變)、填充屬性(動(dòng)畫(huà)連接表達(dá)式取填充0,事先定義的變量,內(nèi)存實(shí)數(shù),要分段設(shè)置畫(huà)刷和顏色,不妨設(shè):0—紅,20—黃,40—綠,60—青,80—蘭,100—紫色。運(yùn)行時(shí)調(diào)節(jié)游標(biāo),可得變色棒圖)和填充(表達(dá)式?。禾畛?),用圖庫(kù)中的游標(biāo)(表達(dá)式?。禾畛?)控制。
   
    (2)縮放  選取線屬性(表達(dá)式取0)、填充屬性(表達(dá)式取0)和縮放(表達(dá)式?。嚎s放0),用游標(biāo)控制。
   
    (3)旋轉(zhuǎn)0  選取旋轉(zhuǎn)(表達(dá)式?。盒D(zhuǎn)0),用游標(biāo)控制。
   
    (4)旋轉(zhuǎn)1  選取旋轉(zhuǎn)(表達(dá)式?。盒D(zhuǎn)1),用啟動(dòng)和停止按鈕(它們用橢圓和文本制成組合圖素)控制。啟動(dòng)和停止按鈕彈起時(shí)的命令語(yǔ)言分別為:
    \本站點(diǎn)旋轉(zhuǎn)啟停0=1;
    和
    \本站點(diǎn)旋轉(zhuǎn)啟停0=0;
    畫(huà)面命令語(yǔ)言顯示時(shí)的代碼為:
    本站點(diǎn)旋轉(zhuǎn)1=10;/*剛進(jìn)入運(yùn)行時(shí),圖形初始轉(zhuǎn)角為36度*/
    存在時(shí)的代碼為:
    if(\本站點(diǎn)旋轉(zhuǎn)啟停0==1)\本站點(diǎn)旋轉(zhuǎn)1=\本站點(diǎn)旋轉(zhuǎn)1+1;else \本站點(diǎn)旋轉(zhuǎn)1=\本站點(diǎn)旋轉(zhuǎn)1;if(\本站點(diǎn)旋轉(zhuǎn)1==101)\本站點(diǎn)旋轉(zhuǎn)1=0;
   
    (5)水平移動(dòng)和垂直移動(dòng)  可以將水平移動(dòng)連接和垂直移動(dòng)連接結(jié)合使用,選取水平移動(dòng)(表達(dá)式?。核揭苿?dòng)0)和垂直移動(dòng)(表達(dá)式?。捍怪币苿?dòng)0),分別用兩個(gè)游標(biāo)控制。
   
    (6)自制軟按鈕和軟燈  軟燈用橢圓制作,填充屬性(表達(dá)式?。鹤灾栖洶粹o0),自制軟按鈕用圓角矩形和文本制成合成單元,應(yīng)該注意圓角矩形在合成單元前就要?jiǎng)赢?huà)連接?!鞍聪聲r(shí)”的命令語(yǔ)言:
    \本站點(diǎn)自制軟按鈕0=1;/*軟燈的填充屬性閾值為1。也可用100賦值,這時(shí)填充屬性閾值為100(默認(rèn)值)*/
    彈起時(shí)的命令語(yǔ)言:
    \本站點(diǎn)自制軟按鈕0=0;

    例2  模擬值輸入連接 。過(guò)程控制系統(tǒng)中設(shè)定溫度(期望值)在線實(shí)時(shí)運(yùn)行修改。
   
    圖形畫(huà)面仍如圖2所示。模擬輸入圖形對(duì)象為用圓角矩形和文本制成的合成單元,應(yīng)該注意圓角矩形在合成單元前就要?jiǎng)赢?huà)連接。運(yùn)行時(shí),模擬值鍵盤(pán)輸入對(duì)話框如圖3所示。


 
    圖3  模擬值鍵盤(pán)輸入對(duì)話框(運(yùn)行時(shí))

    例3  滑動(dòng)桿(滑桿、游標(biāo))輸入連接和文本值輸出的簡(jiǎn)單應(yīng)用。首先定義變量:水平滑動(dòng)桿輸入坐標(biāo)X設(shè)定0,垂直滑動(dòng)桿輸入坐標(biāo)Y設(shè)定0,內(nèi)存實(shí)數(shù)。用合成單元技術(shù)建立一個(gè)XY坐標(biāo)系,在原點(diǎn)設(shè)置具有水平和垂直兩種滑動(dòng)桿輸入連接性能的圓,以此圓作為滑動(dòng)桿,并設(shè)置兩個(gè)接收文本,以顯示XY坐標(biāo)值,文本值輸出取模擬值輸出。圖形畫(huà)面仍如圖1所示。
   
    例4   特殊動(dòng)畫(huà)連接閃爍和隱含的簡(jiǎn)單應(yīng)用:燈光的閃爍,位圖一棵樹(shù)及“退出運(yùn)行系統(tǒng)”按鈕的隱含。首先定義變量:閃爍0,隱含0,內(nèi)存離散。圖形畫(huà)面仍如圖1所示。
   
    (1)燈光的閃爍  8條光線選擇閃爍連接,閃爍條件取“閃爍0==1;”,閃爍速度500ms,其中左上、右上、左下和右下4條光線在組態(tài)王開(kāi)發(fā)系統(tǒng)中設(shè)置時(shí)只能水平放置,故還要進(jìn)行旋轉(zhuǎn)連接,表達(dá)式取12.5(對(duì)應(yīng)45度),同時(shí)要考慮順時(shí)針或反時(shí)針?lè)较騿?wèn)題。由于工具箱中按鈕的字體不能任意放大,故用合成單元技術(shù)將按鈕與文本建立成一個(gè)“閃爍/停止”按鈕,其“按下時(shí)”的程序碼為:
/*若原來(lái)不閃爍,則按下“閃爍/停止按鈕”就開(kāi)始閃爍;反之,按下“閃爍/停止按鈕”就停止閃爍,如此等等*/
if(\本站點(diǎn)閃爍0==0)\本站點(diǎn)閃爍0=1;else \本站點(diǎn)閃爍0=0;

    (2)位圖一棵樹(shù)及“退出運(yùn)行系統(tǒng)”按鈕的隱含  位圖一棵樹(shù)取自WINDOWS圖片/自然界,可通過(guò)WORD編輯等方法獲取,“退出運(yùn)行系統(tǒng)”按鈕后面要敘述。隱含條件取“隱含0==1;”。用合成單元技術(shù)建立一個(gè)“隱含/復(fù)現(xiàn)”按鈕,其“按下時(shí)”的命令語(yǔ)言代碼為:
/*若原來(lái)不隱含,則按下“隱含/復(fù)現(xiàn)按鈕”就開(kāi)始隱含;反之,按下“隱含/復(fù)現(xiàn)按鈕”就停止隱含而復(fù)現(xiàn),如此等等*/
if(\本站點(diǎn)隱含0==0)\本站點(diǎn)隱含0=1;else \本站點(diǎn)HMTX隱含0=0;
   
    例5  組態(tài)王圖庫(kù)中的元素稱為“圖庫(kù)精靈”。之所以稱為“精靈”,是因?yàn)樗鼈兙哂凶约旱摹吧?。圖庫(kù)精靈在外觀上類似于組合圖素,但內(nèi)嵌了豐富的動(dòng)畫(huà)連接和邏輯控制。用戶可以根據(jù)自己工程的需要,將一些需要重復(fù)使用的復(fù)雜圖形做成圖庫(kù)精靈,加入到圖庫(kù)管理器中。組態(tài)王提供兩種方式供用戶自制圖庫(kù)。一種是編制程序方式,即用戶利用亞控公司提供的圖庫(kù)開(kāi)發(fā)包,自己利用VC開(kāi)發(fā)工具和組態(tài)王開(kāi)發(fā)系統(tǒng)中生成的精靈描述文本制作,生成*.dll文件。關(guān)于該種方式,詳見(jiàn)亞控公司提供的圖庫(kù)開(kāi)發(fā)包。另一種是利用組態(tài)王開(kāi)發(fā)系統(tǒng)中建立動(dòng)畫(huà)連接并合成圖素的方式直接創(chuàng)建圖庫(kù)精靈。在此將對(duì)第二種方式做詳細(xì)說(shuō)明。現(xiàn)舉一個(gè)制作圖庫(kù)精靈的例子。畫(huà)面上一個(gè)按鈕,代表一個(gè)開(kāi)關(guān),開(kāi)關(guān)打開(kāi)時(shí)按鈕為綠色,開(kāi)關(guān)關(guān)閉后變?yōu)榧t色,并用這個(gè)按鈕控制一個(gè)軟燈。所設(shè)計(jì)出的圖形畫(huà)面仍如圖1所示。
   
    在設(shè)計(jì)時(shí),首先要用合成單元技術(shù)制作一個(gè)綠色按鈕(開(kāi))和一個(gè)紅色按鈕(關(guān)),用一個(gè)變量(取為:圖庫(kù)精靈開(kāi)關(guān)0)和它們連接,紅色按鈕的隱含條件表達(dá)式為:“圖庫(kù)精靈開(kāi)關(guān)0==1;”,“彈起時(shí)”的命令語(yǔ)言代碼;
\本站點(diǎn)HMTX圖庫(kù)精靈開(kāi)關(guān)0=1;
   
    綠色按鈕的隱含條件表達(dá)式為:“HMTX圖庫(kù)精靈開(kāi)關(guān)0==0;”,“彈起時(shí)”的命令語(yǔ)言代碼;
\本站點(diǎn)HMTX圖庫(kù)精靈開(kāi)關(guān)0=0;
   
    最后把它們疊在一起,并制成合成單元,紅色按鈕在上面(圖3-61中顯示為“開(kāi)”,因?yàn)橐呀?jīng)用鼠標(biāo)按下彈起了一次),這就是“按鈕精靈”。由于兩個(gè)按鈕大小相同,疊在一起并制成合成單元較復(fù)雜,方法為:疊在一起以后,先將底板(非原始底板)移動(dòng)到別處,激活紅色按鈕,將其“圖素后移”,按下ctrl鍵,激活綠色按鈕,將綠色按鈕“圖素后移”,紅色按鈕又在上面,而后合成單元。松開(kāi)ctrl鍵,打開(kāi)圖庫(kù),經(jīng)圖庫(kù)管理器/編輯,創(chuàng)建新圖庫(kù),取名“自制圖庫(kù)”,關(guān)閉圖庫(kù)管理器,激活合成按鈕,經(jīng)標(biāo)題條圖庫(kù)/創(chuàng)建圖庫(kù)精靈/新的圖庫(kù)圖名稱,取名“自制按鈕0”,確認(rèn)后,出現(xiàn)圖庫(kù)管理器,選取其中的“自制圖庫(kù)”,將“按鈕精靈”放到“自制圖庫(kù)”中。如此,制作“自制圖庫(kù)” 和“按鈕精靈”全部完畢。這樣工程人員只要把“按鈕精靈”從圖庫(kù)拷貝到畫(huà)面上,它就具有了“打開(kāi)為綠色,關(guān)閉為紅色”的按鈕功能。
   
    圖庫(kù)中的幾乎每個(gè)精靈都有類似的已經(jīng)定義的動(dòng)畫(huà)連接,所以使用圖庫(kù)精靈將極大地提高設(shè)計(jì)界面的效率。例如使用第一種方式即用VC編制程序制作的圖庫(kù)精靈具有自動(dòng)控制圖形外觀和進(jìn)行變量設(shè)置等的向?qū)Чδ?。用第二種方式制作的圖庫(kù)精靈放到畫(huà)面上以后,雙擊之,出現(xiàn)“內(nèi)容替換”框,可以根據(jù)用戶具體需求改變變量名稱,替換動(dòng)畫(huà)連接屬性。這是第二種方式“圖庫(kù)精靈”的使用特點(diǎn)。
   
    圖1中,軟燈用4個(gè)矩形塊組成,設(shè)置“填充”屬性,再同大矩形塊合成單元。
   
    例6  運(yùn)行系統(tǒng)中三個(gè)畫(huà)面的切換與運(yùn)行畫(huà)面的全部退出。設(shè)當(dāng)前畫(huà)面“圖形功能HMTX”與隱含畫(huà)面“多功能IO卡HMIO”及畫(huà)面“可編程控制器PLCHMPLC”相互之間要切換,并具有退出“組態(tài)王運(yùn)行系統(tǒng)”功能。所設(shè)計(jì)出的圖形畫(huà)面仍如圖1所示。
   
    首先用合成單元技術(shù)制作4個(gè)按鈕:退出本畫(huà)面、IO卡畫(huà)面、PLC畫(huà)面和退出運(yùn)行系統(tǒng)按鈕,它們的“彈起時(shí)”命令語(yǔ)言代碼分別為:
    “ClosePicture("圖形功能HMTX");”,“     ShowPicture("多功能IO卡HMIO");”,“ShowPicture("可編程三菱PLCHMPLC");”,“     Exit(0);”。

    退出運(yùn)行系統(tǒng)畫(huà)面按鈕還設(shè)置了隱含屬性,隱含條件表達(dá)式取“隱含0==1;”(見(jiàn)例4)。代碼“ Exit(0);”:若改成“ Exit(1);”,表示計(jì)算機(jī)總安全關(guān)機(jī);若改成“ Exit(2);”,表示退出運(yùn)行系統(tǒng),Windows重新啟動(dòng)。當(dāng)退出運(yùn)行系統(tǒng)按鈕被隱含時(shí),鼠標(biāo)操作失效;但當(dāng)用別的圖形遮蓋時(shí),即使合成單元,鼠標(biāo)操作也不失效。在進(jìn)行畫(huà)面安全操作性能設(shè)計(jì)時(shí)要考慮這些因素。

    4  結(jié)束語(yǔ)
   
    本文所舉的幾個(gè)圖形設(shè)計(jì)范例均是最簡(jiǎn)單的,但卻是最基本的,而復(fù)雜的圖形畫(huà)面和動(dòng)畫(huà)一般是這些基本功能的復(fù)合和嵌套。圖形和文字處理功能是當(dāng)今計(jì)算機(jī)日益普及的基石。組態(tài)王支持各種I/O卡、PLC和智能化儀表及電器,可以預(yù)料帶有網(wǎng)卡的家用電器也將不斷涌現(xiàn),這樣,基于PC和Windows的五彩繽紛的組態(tài)畫(huà)面將工廠、學(xué)校和家庭的大大小小的設(shè)備融合在一起,進(jìn)而同其它Windows應(yīng)用程序畫(huà)面融合在一起。

c++相關(guān)文章:c++教程




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉