第五章動(dòng)畫(huà)連接與腳本程序_第1頁(yè)
第五章動(dòng)畫(huà)連接與腳本程序_第2頁(yè)
第五章動(dòng)畫(huà)連接與腳本程序_第3頁(yè)
第五章動(dòng)畫(huà)連接與腳本程序_第4頁(yè)
第五章動(dòng)畫(huà)連接與腳本程序_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章動(dòng)畫(huà)連接與腳本程序本章內(nèi)容& 基本動(dòng)畫(huà)連接& 腳本程序概述為了使設(shè)計(jì)的畫(huà)面與現(xiàn)場(chǎng)設(shè)備情況同步動(dòng)起來(lái),就要進(jìn)行動(dòng)畫(huà)連接。動(dòng)畫(huà)連接主要實(shí)現(xiàn)監(jiān)視與控制功能。所謂動(dòng)畫(huà)連接就是建立畫(huà)面的圖素與數(shù)據(jù)庫(kù)變量的對(duì)應(yīng)關(guān)系,使得變量數(shù)值的改變會(huì)反應(yīng)到圖形對(duì)象的外觀的變化,這就是監(jiān)視;將用戶的動(dòng)作與系統(tǒng)的行為聯(lián)系起來(lái),以便改變某些監(jiān)控變量的值或執(zhí)行一段動(dòng)作,這就是控制。第一節(jié) 基本動(dòng)畫(huà)連接 前面一章我們?cè)谥v精靈圖和圖形模型的制作時(shí)已經(jīng)用到了動(dòng)畫(huà)連接了,不同的圖素動(dòng)畫(huà)連接也不一樣。下面我們就有選擇的介紹幾種動(dòng)畫(huà)連接,在這里沒(méi)有介紹到的動(dòng)畫(huà)連接請(qǐng)大家課后參考操作手冊(cè)自己練習(xí)使用。水泵以及閥門(mén)的狀態(tài)指示:本培訓(xùn)工程

2、中有三個(gè)水泵,我們以水泵2為例,在水泵上制作一個(gè)指示燈來(lái)動(dòng)態(tài)顯示水泵的啟停狀態(tài)。我們?cè)谒蒙厦娈?huà)一個(gè)圓作為指示燈的圖素,設(shè)置Brush屬性,屬性設(shè)置完成后我們?cè)O(shè)置動(dòng)畫(huà)連接,選擇右側(cè)“連接”或者雙擊圖素,如圖5-1所示,選擇“屬性-畫(huà)刷”,彈出如圖5-2所示動(dòng)畫(huà)連接畫(huà)面,選擇變量類(lèi)型為離散類(lèi)型變量。點(diǎn)擊選擇變量local催化劑罐.泵控制。然后進(jìn)行配置,條件為“true”圖5-1 動(dòng)畫(huà)連接時(shí),選擇顏色為綠色,為“false”時(shí),選擇顏色為紅色。如圖5-2所示。配置完成后點(diǎn)擊確定完成水泵狀態(tài)的顏色指示設(shè)置。同樣的方式我們可以設(shè)置其他的水泵以及閥門(mén)的狀態(tài)指示。注意關(guān)聯(lián)的變量不要錯(cuò)了。圖5-2 動(dòng)畫(huà)連接

3、設(shè)置液位的報(bào)警指示:我們做一個(gè)原料罐與催化劑罐的液位的報(bào)警指示燈。我們利用閃爍與隱含的動(dòng)畫(huà)連接來(lái)實(shí)現(xiàn)。首先畫(huà)一個(gè)圓作為報(bào)警燈的圖素,然后選擇右側(cè)的“連接”或者雙擊圖素,選擇“閃爍-畫(huà)刷閃爍”,彈出動(dòng)畫(huà)連接配置畫(huà)面,點(diǎn)擊選擇變量,如圖5-3所示,選擇變量:原料罐.液位,然后點(diǎn)擊變量域,選擇變量的報(bào)警域Alarm,選擇完成后點(diǎn)擊OK,這樣動(dòng)畫(huà)連接關(guān)聯(lián)的變量為:local原料罐.液位.Alarm,然后配置閃爍的速度,閃爍時(shí)畫(huà)刷的顏色改變,配置完成后動(dòng)畫(huà)連接如圖5-4所示:圖5-3 選擇變量域圖5-4 畫(huà)刷閃爍動(dòng)畫(huà)連接配置完閃爍動(dòng)畫(huà)連接后我們?cè)倥渲秒[含的動(dòng)畫(huà)連接,選擇右側(cè)的“連接”或者雙擊圖素,點(diǎn)擊,

4、選擇“基本-可見(jiàn)性”,彈出動(dòng)畫(huà)連接對(duì)話框,然后選擇關(guān)聯(lián)的變量:local原料罐.液位.Alarm。配置條件為真時(shí)顯示即可。同樣的方式設(shè)置催化劑罐的液位報(bào)警指示。我們也可以使用其他動(dòng)畫(huà)連接來(lái)實(shí)現(xiàn)閃爍的功能,例如使用“閃爍-可見(jiàn)性閃爍”的動(dòng)畫(huà)連接功能,關(guān)聯(lián)變量為:local原料罐.液位.Alarm。大家可以自己練習(xí)一下看效果與我們前面使用的動(dòng)畫(huà)連接有什么不同。閥門(mén)開(kāi)閉控制:我們通過(guò)按鈕做一個(gè)控制閥門(mén)開(kāi)閉的功能。我們?cè)诔隽祥y門(mén)3旁邊做一個(gè)按鈕,然后修改“Caption”屬性為“控制”,完成后選擇右側(cè)的“連接”或者雙擊按鈕,選擇“值輸入-按鈕輸入”動(dòng)畫(huà)連接,彈出如圖5-5所示動(dòng)畫(huà)連接,表達(dá)式類(lèi)型選擇離

5、散類(lèi)型,選擇變量:local反應(yīng)釜出料閥門(mén),操作選擇“觸變轉(zhuǎn)換”。下面介紹一下各個(gè)操作表示的意思:直接設(shè)定:離散變量從0變?yōu)?,再恢復(fù)為0,也就是一個(gè)上升脈沖信號(hào)。取反設(shè)定:離散變量從1變?yōu)?,再恢復(fù)為1,也就是一個(gè)下降脈沖信號(hào)。觸變轉(zhuǎn)換:離散變量在0,1之間切換。置位:置1。置反:置0。圖5-5 動(dòng)畫(huà)連接設(shè)置完成后點(diǎn)擊確定即完成了此動(dòng)畫(huà)連接的設(shè)置。這樣閥門(mén)開(kāi)閉控制就完成了。注釋文本顯示:我們可以利用鼠標(biāo)的觸敏特效來(lái)實(shí)現(xiàn)當(dāng)鼠標(biāo)移動(dòng)到一個(gè)物體上面后顯示我們規(guī)定好的一串文本提示信息。我們以原料罐為例來(lái)說(shuō)明實(shí)現(xiàn)的方式。選中原料罐模型對(duì)象,選擇右側(cè)的屬性窗口,將屬性“EnableTooltip”設(shè)置為

6、“True”。需要注意的是圖素此屬性默認(rèn)值為“False”。選擇右側(cè)的“連接”,或者雙擊原料罐,選擇“動(dòng)作-動(dòng)態(tài)Tooltip”動(dòng)畫(huà)連接,彈出如圖5-6所示動(dòng)畫(huà)連接對(duì)話框,我們可以在表達(dá)式編輯框中直接輸入字符串變量或者通過(guò)雙引號(hào)引起來(lái)的字符串內(nèi)容,也可以將字符串內(nèi)容與非字符串變量結(jié)合起來(lái)使用。例如我們輸入:當(dāng)前液位高度:+local原料罐.液位。則在運(yùn)行系統(tǒng)下,當(dāng)鼠標(biāo)移動(dòng)到原料罐上面后會(huì)顯示:當(dāng)前液位高度:51.94,如圖5-7所示:圖5-6 動(dòng)畫(huà)連接圖5-7 運(yùn)行狀態(tài)顯示畫(huà)面切換: 我們?cè)谝粋€(gè)工程中會(huì)有許多畫(huà)面,可以通過(guò)按鈕來(lái)實(shí)現(xiàn)各個(gè)畫(huà)面的切換。我們前面定義的“監(jiān)控畫(huà)面”的大小為1024*7

7、00,我們新建一個(gè)“切換畫(huà)面”,起始位置為L(zhǎng)eft:0,Top:700,Width:1024,Height:68。新建畫(huà)面完成后,我們?cè)诋?huà)面上面做一個(gè)按鈕,修改按鈕的“Caption”屬性為“監(jiān)控畫(huà)面”,然后選擇右側(cè)的“連接”或者雙擊按鈕,選擇“鼠標(biāo)-左鍵按下”,彈出腳本編寫(xiě)對(duì)話框,在腳本編輯區(qū)輸入:ShowPicture(監(jiān)控畫(huà)面); 。這樣就可以在運(yùn)行環(huán)境下點(diǎn)擊此按鈕切換到“監(jiān)控畫(huà)面”畫(huà)面了。我們?cè)趫?zhí)行某些功能的時(shí)候會(huì)經(jīng)常用到軟件系統(tǒng)提供的各種函數(shù),具體函數(shù)的意義請(qǐng)參考函數(shù)手冊(cè)。以上介紹了部分動(dòng)畫(huà)連接的設(shè)置方法,關(guān)于其他沒(méi)有介紹的動(dòng)畫(huà)連接請(qǐng)參考KingSCADA3.0用戶手冊(cè)。第二節(jié) 腳本

8、程序KingSCADA3.0除了在定義動(dòng)畫(huà)連接時(shí)支持連接表達(dá)式,還允許用戶編寫(xiě)腳本程序來(lái)擴(kuò)展應(yīng)用程序的功能,KingSCADA3.0提供的腳本是一種在語(yǔ)法上類(lèi)似C語(yǔ)言的程序,工程人員可以利用這些程序編寫(xiě)邏輯控制程序,從而增強(qiáng)應(yīng)用程序的靈活性。一、腳本語(yǔ)法:KingSCADA3.0支持的數(shù)據(jù)類(lèi)型、運(yùn)算符以及控制語(yǔ)句。一、支持的數(shù)據(jù)類(lèi)型1、布爾類(lèi)型:布爾常量: True,F(xiàn)alse布爾變量:布爾變量的類(lèi)型符為bool,取值True和False2、整數(shù)類(lèi)型整型常量:十進(jìn)制整數(shù),如123,-456,0。整型變量:有符號(hào)短整型和有符號(hào)長(zhǎng)整型3、實(shí)數(shù)類(lèi)型實(shí)型常量:十進(jìn)制小數(shù)形式,如0.123、123.0、

9、0.0。實(shí)型變量:?jiǎn)尉葘?shí)型和雙精度實(shí)型4、字符串類(lèi)型字符串常量:使用雙引號(hào)括起來(lái)的若干字符,如“kingview”,“script”等。字符串變量:字符串變量的類(lèi)型符為String,定義形式如下:string str1,str2;5、引用類(lèi)型定義引用變量:變量類(lèi)型 變量名,如:IntTag a; / 定義整型引用變量使用引用變量:a = &intTag; / 將引用變量a指向工程中定義的整型變量intTag。6、數(shù)組類(lèi)型一維數(shù)組定義:類(lèi)型說(shuō)明符常量表達(dá)式 數(shù)組名一維數(shù)組引用:數(shù)組名下標(biāo)二、支持的運(yùn)算符支持的運(yùn)算符包括:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符等,具體介紹請(qǐng)參見(jiàn)

10、用戶手冊(cè)三、支持的腳本語(yǔ)句支持的腳本語(yǔ)句包括:賦值語(yǔ)句:變量(變量的可讀寫(xiě)域)= 表達(dá)式;跳轉(zhuǎn)語(yǔ)句:Return、Break、Continue分支語(yǔ)句:If語(yǔ)句、switch語(yǔ)句循環(huán)語(yǔ)句:while語(yǔ)句、do-while語(yǔ)句、for語(yǔ)句二、腳本分類(lèi):KingSCADA3.0腳本從可見(jiàn)性上可以分成全局和局部事件腳本;全局事件腳本包括:1、應(yīng)用程序腳本:指在工程啟動(dòng)時(shí)、關(guān)閉時(shí)或在程序運(yùn)行期間周期執(zhí)行的腳本程序。2、報(bào)警事件腳本:指當(dāng)報(bào)警事件產(chǎn)生時(shí)執(zhí)行的腳本程序。3、用戶事件腳本:指當(dāng)用戶操作事件(包括:用戶登錄和用戶注銷(xiāo))產(chǎn)生時(shí)執(zhí)行的腳本程序。4、數(shù)據(jù)改變腳本:指連接的變量或變量域,在變量或變量域

11、變化到超出數(shù)據(jù)字典中所定義的變化靈敏度時(shí),被觸發(fā)執(zhí)行的腳本程序。5、事件腳本:指在某件事情發(fā)生時(shí)、消失時(shí)或存在期間周期執(zhí)行的腳本程序。6、熱鍵腳本:被鏈接到指定的熱鍵上,工程運(yùn)行期間,用戶隨時(shí)按下熱鍵都可以執(zhí)行這段腳本程序。7、自定義函數(shù)腳本:提供用戶自定義函數(shù),用戶可以根據(jù)KingSCADA3.0的基本語(yǔ)法及提供的函數(shù)自己定義各種功能更強(qiáng)的函數(shù),通過(guò)這些函數(shù)能夠?qū)崿F(xiàn)工程特殊的需要。8、定時(shí)腳本:指在工程運(yùn)行期間,根據(jù)指定的時(shí)間,定時(shí)觸發(fā)的腳本程序。局部事件腳本包括:1、畫(huà)面腳本:指畫(huà)面打開(kāi)時(shí)、畫(huà)面關(guān)閉/隱含時(shí)或畫(huà)面運(yùn)行時(shí)執(zhí)行的腳本程序。2、畫(huà)面圖素腳本:指鼠標(biāo)觸敏該圖素時(shí)執(zhí)行的腳本程序。3、

12、控件的事件腳本:指Windows通用控件和ActiveX控件的事件所觸發(fā)的腳本程序。三、腳本應(yīng)用:我們?cè)诒菊轮饕榻B前面監(jiān)控畫(huà)面動(dòng)態(tài)功能實(shí)現(xiàn)所用到的腳本程序,其他腳本程序例如報(bào)警事件腳本、用戶事件腳本等我們會(huì)在以后介紹其他功能的時(shí)候來(lái)講解。下面我們用腳本程序?qū)崿F(xiàn)水泵啟??刂?。水泵啟??刂疲何覀冏鲆粋€(gè)按鈕來(lái)控制水泵的啟動(dòng)停止控制,例如控制水泵3,要求是:當(dāng)前為啟動(dòng)狀態(tài)時(shí)按鈕顏色為“綠色”,按鈕文本為“停止”,當(dāng)前為停止?fàn)顟B(tài)時(shí)按鈕顏色為“紅色”,按鈕文本為“啟動(dòng)”。這樣我們就需要根據(jù)水泵的狀態(tài)來(lái)修改按鈕的文本與顏色。按鈕的文本可以修改“Caption”屬性,按鈕的顏色可以修改“Background

13、”屬性。為了修改“Background”屬性,我們需要先定義兩個(gè)顏色的內(nèi)部參數(shù)。點(diǎn)擊畫(huà)面的空白處,然后選擇右側(cè)的“內(nèi)容”,然后選擇“內(nèi)容”下面的“屬性”,點(diǎn)擊右鍵,彈出“添加屬性”菜單,添加一個(gè)新的屬性,如圖5-8所示:屬性名稱為“紅色”,類(lèi)型為“Brush”,默認(rèn)的顏色選擇為“紅色”。同樣的方法增加綠色屬性。圖5-8 增加屬性對(duì)話框顏色屬性定義完成后我們?cè)谒?的圖素旁邊畫(huà)一個(gè)按鈕,選中按鈕,然后修改“MemberAccess”屬性為“true”。然后雙擊此按鈕,選擇“鼠標(biāo)-左鍵按下”動(dòng)畫(huà)連接,彈出鼠標(biāo)左鍵按下時(shí)的腳本編輯對(duì)話框。如圖5-9所示,在腳本編輯框中編寫(xiě)腳本程序如下:if(loca

14、l反應(yīng)釜出料水泵=1)local反應(yīng)釜出料水泵=0;Button1.Caption=啟動(dòng);Button1.Background=紅色;elselocal反應(yīng)釜出料水泵=1;Button1.Caption=停止;Button1.Background=綠色;圖5-9 鼠標(biāo)左鍵腳本程序 點(diǎn)擊確定即可完成此腳本程序的編寫(xiě)。這樣水泵啟??刂凭屯瓿闪?。需要注意的是我們這里使用的是按鈕腳本來(lái)控制水泵的啟停,此腳本只有當(dāng)按鈕左鍵按下時(shí)才執(zhí)行,其他時(shí)間是不會(huì)觸發(fā)執(zhí)行的,這樣就會(huì)產(chǎn)生一個(gè)問(wèn)題,當(dāng)一進(jìn)入運(yùn)行系統(tǒng)時(shí),按鈕上面的顏色和文字可能與當(dāng)前水泵狀態(tài)不符,如何解決這個(gè)問(wèn)題呢?我們可以使用“畫(huà)面腳本”。畫(huà)面腳本只有當(dāng)畫(huà)面打開(kāi)或者關(guān)閉/隱藏或者顯示時(shí)執(zhí)行,如果此畫(huà)面現(xiàn)在是關(guān)閉狀態(tài)則不會(huì)執(zhí)行。在此畫(huà)面中不選中任何圖素,點(diǎn)擊右側(cè)的“連接”,彈出如圖5-10所示的畫(huà)面,選擇“基本-打開(kāi)時(shí)”的畫(huà)面腳本程序,然后編寫(xiě)如下腳本程序來(lái)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論