fameview監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁
fameview監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁
fameview監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁
fameview監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁
fameview監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要隨著微電子技術(shù)、計(jì)算機(jī)控制技術(shù)、工業(yè)以太網(wǎng)技術(shù)及現(xiàn)場(chǎng)總線技術(shù)的發(fā)展,作為用無需改變運(yùn)行程序原代碼的軟件平臺(tái)工具工控組態(tài)軟件日漸成熟。由于工控組態(tài)軟件在實(shí)現(xiàn)工業(yè)控制的過程中免去了大量煩瑣的編程工作,解決了長(zhǎng)期以來控制工程人員缺乏計(jì)算機(jī)專業(yè)知識(shí)與計(jì)算機(jī)專業(yè)人員缺乏控制工程現(xiàn)場(chǎng)操作技術(shù)和經(jīng)驗(yàn)的矛盾,極大地提高了自動(dòng)化工程的工作效率。近年來,工控組態(tài)軟件在中小型工業(yè)過程控制工程、工業(yè)自動(dòng)化工程中越來越受到歡迎。本文介紹以fameview平臺(tái)開發(fā)完成風(fēng)力電機(jī)試驗(yàn)站監(jiān)控系統(tǒng)。按照設(shè)計(jì)流程,以實(shí)際情況總結(jié)開發(fā)過程,包括了驅(qū)動(dòng)選擇安裝,運(yùn)行數(shù)據(jù)庫的建立,畫面的制作,通過腳本實(shí)現(xiàn)一些功能,數(shù)據(jù)庫功能,服務(wù)

2、器客戶端結(jié)構(gòu)的搭建,多屏顯示。根據(jù)這些基本的步驟,可以實(shí)現(xiàn)簡(jiǎn)單的監(jiān)控系統(tǒng)的設(shè)計(jì),希望以實(shí)例總結(jié)出用fameview開發(fā)監(jiān)控系統(tǒng)的一般步驟和方法。關(guān)鍵詞: 組態(tài); fameview; c/s結(jié)構(gòu); 監(jiān)控系統(tǒng)abstractwith the development of microelectronics technologies, computer controlling technology, industrial ethernet technology and fieldbus technology, the industrial-controlled configuration softwa

3、re is maturing as a software platform tool that uses primary code without changing the running programs. as the industrial-controlled configuration software has eliminated a lot of tedious programming work and resolved the contradict that for a long time, the control engineering staffs lack the comp

4、uter expertise and the computer professionals lack the site operations skills and experience of control engineering. it has greatly improved the efficiency of automation projects. in recent years, the industrial-controlled configuration software has been more and more popular in small and medium ind

5、ustrial process control engineering and industrial automation projects. this article introduces a method that bases on the fameview platform to develop and complete monitoring system for wind turbine test station. in accordance with the design process to the actual summary of the development process

6、, including the driver choose to install, run the database set up, the picture produced by the script to achieve some of the features, database functionality, the server client architecture, structures, multi-screen display. according to these basic steps, you can achieve a simple control system des

7、ign i hope to conclude the general steps and methods that using fameview to develop monitoring systems with some examples.key words : configuration; fameview; c / s structure; monitoring system目 錄1 緒論41.1 課題背景41.2 設(shè)計(jì)內(nèi)容及工作42 框架設(shè)計(jì)63 設(shè)備通信73.1 安裝驅(qū)動(dòng)73.2 新建設(shè)備數(shù)據(jù)表83.3 新建運(yùn)行數(shù)據(jù)庫104 畫面制作135 腳本功能165.1 腳本環(huán)境165.2

8、腳本控制動(dòng)態(tài)標(biāo)題175.4 腳本實(shí)現(xiàn)單窗口多操作205.5 腳本實(shí)現(xiàn)配電線路變色245.6 腳本控制液體動(dòng)態(tài)流動(dòng)285.7 腳本實(shí)現(xiàn)帶記憶功能的配置315.8 腳本實(shí)現(xiàn)樹形選擇326 數(shù)據(jù)庫功能347 服務(wù)器客戶端結(jié)構(gòu)的實(shí)現(xiàn)367.1 服務(wù)器端設(shè)置367.2 客戶端設(shè)置378 多屏顯示399 結(jié)束語40參考文獻(xiàn)41致 謝421 緒論1.1 課題背景組態(tài)軟件源于上世紀(jì)80年代初, 并在上世紀(jì)80年代末進(jìn)入我國。當(dāng)時(shí)國內(nèi)用戶缺乏對(duì)組態(tài)軟件的認(rèn)識(shí),軟件意識(shí)不強(qiáng),寧愿投入大量人力物力針對(duì)具體項(xiàng)目做長(zhǎng)周期的上位機(jī)編程, 而不采用組態(tài)軟件。隨 著mis和cims的大量應(yīng)用, 要求工業(yè)現(xiàn)場(chǎng)為企業(yè)的生 產(chǎn)、經(jīng)

9、營(yíng)、決策提供更詳細(xì)深入的數(shù)據(jù), 優(yōu)化生產(chǎn)經(jīng)營(yíng) 各個(gè)環(huán)節(jié)。因此, 在上世紀(jì)90年代中期以后, 組態(tài)軟件 在國內(nèi)逐漸普及。組態(tài)軟件, 是指利用windows操作系 統(tǒng)提供的編程工具, 通過簡(jiǎn)單、形象的組態(tài)工作而實(shí) 現(xiàn)的, 具有良好的人機(jī)界面、綜合應(yīng)用與開發(fā)功能,集數(shù)據(jù)庫、歷史庫、圖形庫、控制操作和運(yùn)行監(jiān)視為一體的多任務(wù)信息處理系統(tǒng)。其內(nèi)涵, 組態(tài)軟件是指軟件工程師根據(jù)特定要求,配置用戶應(yīng)用軟件的過程; 其 應(yīng)用, 組態(tài)軟件是完成硬件與軟件溝通, 建立人機(jī)對(duì) 話的軟件平臺(tái)。組態(tài)軟件憑借良好的開放性, 極高的 穩(wěn)定性, 強(qiáng)大的控制功能, 在石油化工、冶金建材、物 流倉儲(chǔ)、工礦電力、智能樓宇等領(lǐng)域, 得

10、到了廣泛的應(yīng)用。在風(fēng)力發(fā)電發(fā)展的過程中,風(fēng)力發(fā)電機(jī)的技術(shù)顯得尤為重要,由于電機(jī)的容量越大,需要的驅(qū)動(dòng)力也越大,對(duì)整個(gè)系統(tǒng)的要求也越高,現(xiàn)在主流風(fēng)機(jī)容量在1.5-5mw之間,我們稱之為中型電機(jī)。電機(jī)的質(zhì)量以及效率直接影響到整個(gè)風(fēng)電系統(tǒng),日益增大的需求要求我們嚴(yán)格把好電機(jī)質(zhì)量關(guān),盡量減少人工失誤,自動(dòng)化、智能化的電機(jī)試驗(yàn)系統(tǒng)迫在眉睫。電機(jī)試驗(yàn)系統(tǒng)是讓電機(jī)分別處于發(fā)電狀態(tài)和電動(dòng)狀態(tài),通過調(diào)節(jié)頻率和電壓來測(cè)量和分析電機(jī)不同狀態(tài)下的各種參數(shù)。早期的試驗(yàn)系統(tǒng)采用的方式是:電力驅(qū)動(dòng)一臺(tái)大電機(jī),由這臺(tái)電機(jī)拖動(dòng)一臺(tái)發(fā)電機(jī),產(chǎn)生一個(gè)頻率可調(diào)的電源,然后用這個(gè)可調(diào)電源去驅(qū)動(dòng)被試機(jī),這種方法對(duì)電能的浪費(fèi)比較大?,F(xiàn)在采

11、用雙饋試驗(yàn)方法,直接用變頻電源驅(qū)動(dòng),被試機(jī)發(fā)出的電能可以回饋到電網(wǎng),起到節(jié)能的作用。1.2 設(shè)計(jì)內(nèi)容及工作通過對(duì)以上硬件條件的分析,決定采用fameview組態(tài)軟件進(jìn)行開發(fā),開發(fā)設(shè)計(jì)流程下:1)數(shù)據(jù)通信。對(duì)于整個(gè)系統(tǒng),數(shù)據(jù)通信的可靠性和快速性是監(jiān)控系統(tǒng)的靈魂,沒有可靠實(shí)時(shí)的數(shù)據(jù),何談控制。fameview組態(tài)軟件提供了豐富的plc驅(qū)動(dòng)和各種儀表的驅(qū)動(dòng),可以做到100ms更新一次,可靠性高,實(shí)時(shí)性強(qiáng)。我們要做的是確定數(shù)據(jù)的區(qū)域,大大的簡(jiǎn)化了開發(fā)過程。2)協(xié)議分析。數(shù)據(jù)準(zhǔn)確的讀回來后,這些數(shù)據(jù)代表的是什么,有什么用途,及如何操作,這就是協(xié)議了。plc上來的數(shù)據(jù)有db塊解釋,通過這些解釋,確定各個(gè)數(shù)

12、據(jù)的含義,如有的是電壓,有的是電流,有的是流量等等,有些是可以寫下去的數(shù)據(jù),有無互鎖,是電平控制還是脈沖控制,這都是協(xié)議規(guī)約的。分析完協(xié)議后,就可以建立運(yùn)行數(shù)據(jù)庫,為監(jiān)控程序的運(yùn)行做好底層工作。3)系統(tǒng)框架設(shè)計(jì)。這一部分是最直觀的了,也就是人機(jī)界面,操作員天天看到的就是人機(jī)界面。人機(jī)界面把系統(tǒng)的各種狀態(tài)反應(yīng)出來,同時(shí)提供了人去操作的接口??蚣茉O(shè)計(jì)要做到分類明確,直觀,突出重點(diǎn),盡量做到方便操作員的監(jiān)控與操作,這一過程要不斷的與操作員溝通,不斷的改進(jìn),精益求精。4)數(shù)據(jù)庫功能。fameview提供完善的數(shù)據(jù)庫服務(wù)與功能,可以很方便的對(duì)數(shù)據(jù)庫進(jìn)行讀取,添加,修改等操作,使用簡(jiǎn)單,功能全面,用戶只需

13、要把相應(yīng)的數(shù)據(jù)表對(duì)應(yīng)好,就可以對(duì)數(shù)據(jù)庫進(jìn)行操作。5)服務(wù)器客戶端網(wǎng)絡(luò)結(jié)構(gòu)。fameview的網(wǎng)絡(luò)服務(wù)功能也很全面,只需要設(shè)置好ip地址及相應(yīng)參數(shù),就可以實(shí)現(xiàn)服務(wù)器客戶端結(jié)構(gòu),避免了多臺(tái)上位機(jī)都從控制器讀取數(shù)據(jù),節(jié)省了系統(tǒng)資源,同時(shí)也保證了數(shù)據(jù)的統(tǒng)一性。具體設(shè)計(jì)及其實(shí)現(xiàn)過程請(qǐng)參閱下文。2 框架設(shè)計(jì)東方電機(jī)中型電機(jī)廠試驗(yàn)站系統(tǒng)硬件包括:電源系統(tǒng),冷卻系統(tǒng),控制系統(tǒng),采集單元。電源采用10kv進(jìn)線,通過變壓后給變頻電源供電,冷卻系統(tǒng)采用水冷和油冷相結(jié)合,應(yīng)用在不同地方,控制系統(tǒng)由plc組成,采集單元采用高速采集儀表。要求采用服務(wù)器客戶端結(jié)構(gòu),一臺(tái)服務(wù)器,五個(gè)客戶端,服務(wù)器負(fù)責(zé)數(shù)據(jù)的采集與通信,客戶端

14、由操作員操作。關(guān)鍵的信息要求大屏幕多屏顯示,方便監(jiān)控。要求實(shí)現(xiàn)web遠(yuǎn)程訪問,在網(wǎng)絡(luò)內(nèi)能通過瀏覽器方便的查看試驗(yàn)狀況。對(duì)于整套系統(tǒng)的操作,要求五個(gè)人就能完成試驗(yàn),人機(jī)交互顯得尤為重要,需要一個(gè)可靠方便的監(jiān)控系統(tǒng),這也決定了整個(gè)系統(tǒng)的可操作性及智能化程度。 通過對(duì)系統(tǒng)的初步分析,在主體上按功能分為6個(gè)畫面,分別為,高壓及變頻器系統(tǒng),低壓系統(tǒng),水系統(tǒng),油系統(tǒng),試驗(yàn)線路,試驗(yàn)界面,界面的下方有導(dǎo)航條,可以實(shí)現(xiàn)界面的切換,上方有界面信息的標(biāo)題以及系統(tǒng)時(shí)間等信息。3 設(shè)備通信3.1 安裝驅(qū)動(dòng)根據(jù)通信協(xié)議,新建設(shè)備數(shù)據(jù)表。本系統(tǒng)主站plc由西門子300plc構(gòu)成,采用網(wǎng)口通訊方式,ip地址為192.168

15、.1.10。數(shù)據(jù)約定存放在db10中。在fameview主界面的左邊導(dǎo)航目錄: 圖3.1 設(shè)備通訊然后點(diǎn)擊安裝驅(qū)動(dòng),在彈出框左邊的目錄中選擇西門子/s7tcp,然后點(diǎn)擊安裝。圖3.2 驅(qū)動(dòng)安裝在啟動(dòng)驅(qū)動(dòng)中選擇安裝的驅(qū)動(dòng),點(diǎn)擊確定,圖3.3 啟動(dòng)驅(qū)動(dòng)3.2 新建設(shè)備數(shù)據(jù)表雙擊設(shè)備數(shù)據(jù)表,彈出如下窗口:圖3.4 設(shè)備數(shù)據(jù)表d1為系統(tǒng)默認(rèn)設(shè)備,雙擊d2,彈出如下窗口:圖3.5 定義設(shè)備設(shè)備號(hào)名稱取名為“主站plc”,驅(qū)動(dòng)選擇s7tcp,遠(yuǎn)程參數(shù)中,槽號(hào)默認(rèn)為2,地址為192.168.1.10,其他默認(rèn),在通訊設(shè)置中,由于是要與plc的db10交換數(shù)據(jù),所以數(shù)據(jù)類型選擇db-數(shù)據(jù)塊,數(shù)據(jù)快(dbx)選

16、擇10,由于現(xiàn)在要在db10中從字節(jié)0開始,取1000個(gè)字節(jié),所以開始地址為0,長(zhǎng)度為1000,其他默認(rèn)。這樣,就設(shè)置好了與西門子s7-300plc在db10中的數(shù)據(jù)交換,其他設(shè)備的通訊設(shè)置與此類似,關(guān)鍵是選擇好對(duì)應(yīng)的驅(qū)動(dòng),以及設(shè)置好相關(guān)參數(shù),有了組態(tài),通訊變得很簡(jiǎn)單,工程師要做的就是配置好設(shè)備,大大簡(jiǎn)化了開發(fā)難度。當(dāng)設(shè)備數(shù)據(jù)表新建好以后,在主程序的導(dǎo)航目錄中,點(diǎn)擊運(yùn)行數(shù)據(jù)庫,這就是程序運(yùn)行的過程中所需要的數(shù)據(jù)。圖3.6 運(yùn)行數(shù)據(jù)庫3.3 新建運(yùn)行數(shù)據(jù)庫fameview采用先進(jìn)的數(shù)據(jù)交換模式,其思想是先通過通信把需要的數(shù)據(jù)批量讀上來,放在緩沖區(qū)中,這時(shí)所有數(shù)據(jù)都放在一起,還不知道這些數(shù)據(jù)到底有

17、什么意義,然后通過配置運(yùn)行數(shù)據(jù)庫,把數(shù)據(jù)的意義區(qū)分開來,這樣可以實(shí)現(xiàn)最大的通信量,模塊性強(qiáng),結(jié)構(gòu)清晰,方便用戶配置。以已經(jīng)讀上來的設(shè)備d2為例,d2中的數(shù)據(jù)是s7-300plc的db10中前1000個(gè)字節(jié)的數(shù)據(jù),通過plc工程師給的db10數(shù)據(jù)協(xié)議,比如說db10中字節(jié)地址從182開始的兩個(gè)字節(jié)表示的是被試機(jī)二次水回水溫度,這個(gè)數(shù)據(jù)只需要讀,不需要寫,雙擊ai-模擬只讀變量,彈出如下窗口:圖3.7 新建ai變量點(diǎn)擊新建,彈出如下窗口:圖3.8 制作變量設(shè)備號(hào)選擇d2,單元號(hào)選擇d2.b182,由于西門子數(shù)據(jù)采用的是反高低字節(jié),這個(gè)數(shù)據(jù)是由一個(gè)字構(gòu)成,所以處理方式選擇按字處理,反高低字節(jié),這個(gè)數(shù)

18、據(jù)對(duì)應(yīng)原始值就行,不需要進(jìn)行線性處理,選擇y=i2(x2,x1),在有些時(shí)候,數(shù)據(jù)是要進(jìn)行線性處理的,比如讀上來的數(shù)據(jù)是0-32767,對(duì)應(yīng)的實(shí)際值是0-100,這是我們就要選擇帶線性運(yùn)算的處理方式,即y=kx+b,在下面的變量最小值,變量最大值中寫入相應(yīng)變量的實(shí)際范圍,在對(duì)應(yīng)的原始值填讀上來的數(shù)據(jù)范圍。以db10中字節(jié)地址從238開始的兩個(gè)字節(jié)為例,這兩個(gè)字節(jié)表示的是環(huán)境溫度,讀上來的原始數(shù)據(jù)范圍是0-27648,對(duì)應(yīng)的實(shí)際溫度是-200到600攝氏度,所以我們要選擇按字、反高低字節(jié)y= k*i2(x2,x1)+b,變量最小值填-200,變量最大值填600,對(duì)應(yīng)原始值為0-27648.這樣數(shù)

19、據(jù)在讀上來之后組態(tài)軟件就通過線性處理得到我們想要的值。按照上面的方法,把所有數(shù)據(jù)建立起來,但是數(shù)據(jù)量一旦大了,編輯工作就相當(dāng)大,fameview支持從excel導(dǎo)入,在運(yùn)行數(shù)據(jù)庫界面中選擇使用excel組態(tài),然后先導(dǎo)出一個(gè)模板,點(diǎn)擊運(yùn)行數(shù)據(jù)庫excel,選擇需要導(dǎo)出的變量,點(diǎn)開始導(dǎo)出就可以得到相應(yīng)的excel,打開excel,按照已經(jīng)生成的格式填入相應(yīng)的內(nèi)容,不同類型變量在自己的sheet中,通過excel下面的按鈕選擇,處理方式在后面的sheet中有說明。圖3.9 導(dǎo)入excel4 畫面制作點(diǎn)擊顯示畫面,雙擊畫面制作,新建畫面:圖4.1 新建畫面設(shè)置名稱和大小后,確定彈出一張空白畫面,在畫面

20、右邊有組件箱,里面有畫圖及一些畫面控件。圖4.2 畫面窗口通過形象的圖形反映出工藝流程,簡(jiǎn)單方便的功能讓操作員更好的操作。通過分析,畫面主要分為高壓與變頻器配電畫面、低壓配電畫面、試驗(yàn)線路畫面、試驗(yàn)畫面、水系統(tǒng)畫面、油系統(tǒng)畫面,按照功能的不同,通過最簡(jiǎn)潔直觀的方式,把系統(tǒng)的設(shè)備和流程展現(xiàn)在操作員面前,讓操作員一目了然。在高壓與變頻系統(tǒng)中,開關(guān)和線路采用單線圖,其實(shí)每一根線都代表三相。當(dāng)開關(guān)是斷開狀態(tài)是,開關(guān)顯示斷開,顏色是綠色,當(dāng)開關(guān)合上時(shí),開關(guān)閉合,顏色是紅色,這樣就很形象的反應(yīng)了開關(guān)的狀態(tài)。要實(shí)現(xiàn)以上功能,通過設(shè)置線的可見性實(shí)現(xiàn),雙擊要操作的線,彈出屬性窗口:圖4.3 直線屬性通過設(shè)置相應(yīng)

21、的功能就可以達(dá)到相應(yīng)的目的。其他對(duì)象也類似。在要顯示數(shù)據(jù)的地方放一個(gè)變量框,通過雙擊變量框彈出屬性窗口,設(shè)置動(dòng)態(tài)變量就可以讓變量框顯示我們需要的數(shù)據(jù)。在低壓配電畫面中,大體與高壓部分類似,在布好線路后,對(duì)相應(yīng)的開關(guān)加以操控,這樣就動(dòng)態(tài)的反映了系統(tǒng)的開關(guān)狀態(tài)。試驗(yàn)線路的配電部分也與上面類似,通過布好線路,然后對(duì)開關(guān)加上動(dòng)態(tài)功能,反映試驗(yàn)線路的狀態(tài)。水系統(tǒng)畫面根據(jù)施工方提供的水系統(tǒng)設(shè)計(jì)圖,畫出水系統(tǒng)的工藝流程圖,在管道上加上動(dòng)態(tài)流動(dòng)管道,可以實(shí)現(xiàn)水的動(dòng)態(tài)流動(dòng)。流動(dòng)管道在組件箱的畫面控件中,雙擊彈出設(shè)置界面??梢詫?duì)流動(dòng)的顏色,方向,快慢,加以設(shè)置,使其更美觀。然后通過變量控制動(dòng)態(tài)可見和動(dòng)態(tài)起停達(dá)到直

22、觀反應(yīng)水流狀態(tài)的目的。油系統(tǒng)與水系統(tǒng)類似,按照水系統(tǒng)的方法,根據(jù)設(shè)計(jì)圖,把油系統(tǒng)的界面做好。試驗(yàn)界面是最復(fù)雜也是最關(guān)鍵的畫面,試驗(yàn)站在做試驗(yàn)時(shí)操作員操作時(shí)間最長(zhǎng)的就是試驗(yàn)界面,總體設(shè)計(jì)是先配置試驗(yàn),在配置的過程中首先選擇好試驗(yàn)項(xiàng)目,由于電機(jī)的溫度數(shù)據(jù)是從采集儀表mw100通信過來的,其有60個(gè)通道,而且每個(gè)通道每次試驗(yàn)所測(cè)的數(shù)據(jù)可能不一樣,比如通道3上次試驗(yàn)可能接的是環(huán)境溫度,這次試驗(yàn)接的是軸承溫度,所以在試驗(yàn)之前需要對(duì)通道進(jìn)行配置。還有量程的選擇,每次試驗(yàn)的電機(jī)大小可能不一樣,所以測(cè)量的過程中選擇的量程也應(yīng)該根據(jù)電機(jī)而變化,所以要對(duì)量程進(jìn)行配置。在試驗(yàn)的時(shí)候,需要的保護(hù)措施也不一樣,可能這次

23、當(dāng)電流到達(dá)1000a的時(shí)候電源就要報(bào)警,可是下次800a就要報(bào)警,所以需要配置保護(hù)設(shè)置。根據(jù)試驗(yàn)站要求,在試驗(yàn)的過程中,負(fù)責(zé)電源的人負(fù)責(zé)開電源開關(guān)是拖動(dòng)機(jī)啟動(dòng),負(fù)責(zé)試驗(yàn)的人負(fù)責(zé)試驗(yàn)線路的開關(guān)。這樣就在試驗(yàn)的過程中分拖動(dòng)界面和試驗(yàn)界面兩個(gè)界面。每個(gè)試驗(yàn)配電線路不一樣,顯示的參數(shù)也有些不同,所以在設(shè)計(jì)時(shí)考慮每個(gè)試驗(yàn)就是一個(gè)單獨(dú)的畫面,根據(jù)不同的需要在每個(gè)試驗(yàn)畫面中做相應(yīng)的功能。根據(jù)以上要求,把試驗(yàn)界面做好,流程圖如下:5 腳本功能fameview集成vb腳本編程,極大的方便了用戶。vbscript是微軟開發(fā)的一種腳本語言,可以看作是vb語言的簡(jiǎn)化版,與vba的關(guān)系也非常密切。它具有原語言容易學(xué)習(xí)的

24、特性。目前這種語言廣泛應(yīng)用于網(wǎng)頁和asp程序制作,同時(shí)還可以直接作為一個(gè)可執(zhí)行程序。用于調(diào)試簡(jiǎn)單的vb語句非常方便。通過腳本我們可以靈活方便的實(shí)現(xiàn)某些功能,而且結(jié)構(gòu)清晰,邏輯性強(qiáng),便于以后的開發(fā)與維護(hù)。5.1 腳本環(huán)境雙擊某一個(gè)對(duì)象,在彈出的屬性窗口中,有在鼠標(biāo)事件中選擇點(diǎn)擊左鍵:圖5.1 鼠標(biāo)事件彈出腳本編輯窗:圖5.2 腳本窗口在編輯窗口的左邊有所有功能函數(shù)的導(dǎo)航目錄,按不同的功能和操作對(duì)象的不同區(qū)分,方便選擇,在編輯窗口上方有快捷選擇目錄,都是一些常用的函數(shù)。vb腳本基本語法與vb一致,數(shù)據(jù)類型,條件語句,都是一樣的。熟悉vb的話可以很快上手,就算沒有vb基礎(chǔ),也可以通過每個(gè)函數(shù)的說明很

25、容易實(shí)現(xiàn)相應(yīng)的功能。5.2 腳本控制動(dòng)態(tài)標(biāo)題比如我們需要一個(gè)主窗口,上面的title顯示程序信息,當(dāng)前畫面的信息,系統(tǒng)的時(shí)間與日期,中間顯示相應(yīng)的畫面,下面是一排導(dǎo)航按鈕。通過導(dǎo)航窗口切換不同的畫面,title的信息也跟著變化。設(shè)計(jì)好title和下面的導(dǎo)航按鈕,在畫面中間放置一個(gè)子窗口,在組件箱的畫面窗口中,通過切換子窗口中的內(nèi)容,就可以實(shí)現(xiàn)功能畫面的切換。我把子窗口命名gali,把下面導(dǎo)航按鈕的缺省文本改為需要切換的畫面信息,比如第一個(gè)按鈕我想點(diǎn)擊后切換到高壓與變頻其的畫面,我把缺省畫面改為高壓與變頻。在畫面切換的過程中,我想title中反應(yīng)畫面信息的文本也改變成高壓與變頻。我通過動(dòng)態(tài)文本實(shí)

26、現(xiàn),在運(yùn)行數(shù)據(jù)庫中新建一個(gè)內(nèi)部模擬變量vd,命名為界面標(biāo)號(hào),界面標(biāo)號(hào)等于1時(shí)上面的信息框就顯示高壓與變頻。圖5.3 動(dòng)態(tài)文本雙擊高壓與變頻按鈕:圖5.4 按鈕屬性點(diǎn)擊處理腳本,彈出腳本編輯框。編程的思想是把子窗口中的畫面切換到高壓與變頻畫面,然后把內(nèi)部模擬變量界面標(biāo)號(hào)給設(shè)置為1,在編輯窗口上面的菜單中點(diǎn)擊 畫面/改變子窗口,在選擇對(duì)象名稱中選擇已經(jīng)放置好的子窗口gali,在畫面選擇窗口中選擇高壓及變頻,編輯器自動(dòng)寫出如下代碼:subviewobj.changepicture gali ,高壓及變頻.drw然后點(diǎn)擊上面快捷菜單的變量/設(shè)置變量的值,在變量選擇窗口中選擇內(nèi)部模擬變量/界面標(biāo)號(hào),自動(dòng)

27、生成如下代碼:runsys.setvarvalue va,界面標(biāo)號(hào),-1,x,將最后的那個(gè)x改為我們想要設(shè)置的值,這里我們改為1。通過上面的一個(gè)簡(jiǎn)單的例子,可見腳本的應(yīng)用相當(dāng)?shù)暮?jiǎn)單靈活,在要實(shí)現(xiàn)負(fù)責(zé)功能時(shí),更能體現(xiàn)其靈活方便。5.4 腳本實(shí)現(xiàn)單窗口多操作開關(guān)不光要反應(yīng)真實(shí)開關(guān)的狀態(tài),還要實(shí)現(xiàn)遠(yuǎn)程控制,就是操作員在需要合上開關(guān)時(shí)可以在計(jì)算機(jī)上實(shí)現(xiàn)開關(guān)的控制。分析發(fā)現(xiàn),開關(guān)操作的界面可以設(shè)計(jì)成一樣的,只是在點(diǎn)擊相應(yīng)的開關(guān)后只對(duì)相應(yīng)的開關(guān)進(jìn)行合分控制。開關(guān)控制界面如下,識(shí)別開關(guān)通過新建內(nèi)部文本變量高壓開關(guān)標(biāo)號(hào),點(diǎn)擊不同的開關(guān)把這個(gè)文本變量設(shè)置為相應(yīng)的開關(guān)標(biāo)號(hào),然后通過程序判斷需要對(duì)那個(gè)開關(guān)操作。雙擊

28、畫好的開關(guān),在屬性窗口中的鼠標(biāo)事件中點(diǎn)擊左鍵,選擇處理腳本,要實(shí)現(xiàn)的功能是先設(shè)置內(nèi)部文本變量高壓開關(guān)標(biāo)號(hào),然后彈出開關(guān)操作窗口,比如說高壓開關(guān)3.1qf,具體代碼如下:runsys.setvttext 高壓開關(guān)標(biāo)號(hào),-1,3.1qfpicture.opensubwindow 高壓開關(guān)分合.drw,-1,-1,200,90第二行后面的兩個(gè)合閘按鈕,選擇處理腳本,首先要讀取高壓開關(guān)標(biāo)號(hào),以確定要對(duì)哪個(gè)開關(guān)進(jìn)行操作,然后在對(duì)相應(yīng)開關(guān)操作。圖5.5 開關(guān)操作通過select語句實(shí)現(xiàn),具體代碼如下:s=runsys.getvttext(高壓開關(guān)標(biāo)號(hào),-1)select case s case 1c.1q

29、f runsys.setvarvalue ar,1cb斷路器控制,-1,1 case 2.1qf runsys.setvarvalue ar,2gb斷路器控制,-1,1 case 3.1qf runsys.setvarvalue ar,3gb斷路器控制,-1,1 case 4.1qf runsys.setvarvalue ar,4gb斷路器控制,-1,1 case 5.1qf runsys.setvarvalue ar,5gb斷路器控制,-1,1 case 6.1qf runsys.setvarvalue ar,6gb斷路器控制,-1,1 case 7.1qf runsys.setvarval

30、ue ar,7gb斷路器控制,-1,1 case 8.1qf runsys.setvarvalue ar,8gb斷路器控制,-1,1 case 9.1qf runsys.setvarvalue ar,9gb斷路器控制,-1,1 case 10.1qf runsys.setvarvalue ar,10gb斷路器控,-1,1 case 13.1qf runsys.setvarvalue ar,13gb斷路器控,-1,1 end selectpicture.closesubwindow與合閘功能類似,分閘功能按鈕也可以通過以上代碼實(shí)現(xiàn),只是將每個(gè)case最后面的1改為0。 低壓開關(guān)的操作也與高壓開關(guān)

31、的類似,為了區(qū)分遠(yuǎn)程和就地操作,在通信協(xié)議中,規(guī)定合閘寫1,分閘寫2,代碼結(jié)構(gòu)與高壓開關(guān)的類似,只是寫的數(shù)值不一樣。很多類似的功能都可以用以上方法實(shí)現(xiàn),新建一個(gè)內(nèi)部變量用作標(biāo)識(shí),在彈出的操作框中通過內(nèi)部標(biāo)識(shí)來判斷需要對(duì)哪個(gè)對(duì)象加以操作。高壓綜合保護(hù)儀表的數(shù)據(jù)顯示也是通過這個(gè)方法,不過顯示的內(nèi)容也要跟著變化。也是先新建內(nèi)部變量高壓綜保標(biāo)識(shí),在高壓與變頻界面上要顯示的地方顯示一相的電流,通過點(diǎn)擊這個(gè)變量框,彈出詳細(xì)數(shù)據(jù)窗口,在詳細(xì)窗口中顯示相應(yīng)的數(shù)據(jù)。詳細(xì)窗口如下:假如點(diǎn)擊的是3gb綜保,先應(yīng)把綜保標(biāo)識(shí)置為相應(yīng)的數(shù)字,然后彈出詳細(xì)窗口顯示3gb的數(shù)據(jù),彈出窗口通過綜保標(biāo)識(shí)來判斷要顯示的是哪個(gè)綜保的

32、數(shù)據(jù),具體實(shí)現(xiàn)如下:在3gb綜保顯示框的單擊左鍵鼠標(biāo)時(shí)間中,添加如下代碼:runsys.setvarvalue va,綜保標(biāo)志,-1,2picture.opensubwindow 綜合繼電器保護(hù)數(shù)據(jù).drwtitle=3gb綜保數(shù)據(jù),-1,-1,225,196把詳細(xì)綜保數(shù)據(jù)的每一個(gè)變量框命名,以便腳本操作,比如顯示a相電流的變量框命名為ia,以此類推。在綜保詳細(xì)數(shù)據(jù)窗口中添加定時(shí)器,在組件箱的畫面編程中,時(shí)間改為0,連續(xù)執(zhí)行,處理的腳本如下x=runsys.getvarvalue(va,綜保標(biāo)志,-1)select case x case 0 textobj.setvar ia,ai,1cb遙

33、測(cè)信號(hào)ia textobj.setvar ib,ai,1cb遙測(cè)信號(hào)ib textobj.setvar ic,ai,1cb遙測(cè)信號(hào)ic textobj.setvar uab,ai,1cb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,1cb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,1cb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,1cb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,1cb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,1cb遙測(cè)信號(hào)無功功率 case 1 textobj.setvar ia,ai,2gb遙

34、測(cè)信號(hào)ia textobj.setvar ib,ai,2gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,2gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,2gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,2gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,2gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,2gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,2gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,2gb遙測(cè)信號(hào)無功功率 case 2 textobj.setvar ia,ai,3gb遙

35、測(cè)信號(hào)ia textobj.setvar ib,ai,3gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,3gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,3gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,3gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,3gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,3gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,3gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,3gb遙測(cè)信號(hào)無功功率 case 3 textobj.setvar ia,ai,4gb遙

36、測(cè)信號(hào)ia textobj.setvar ib,ai,4gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,4gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,4gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,4gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,4gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,4gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,4gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,4gb遙測(cè)信號(hào)無功功率 case 4 textobj.setvar ia,ai,5gb遙

37、測(cè)信號(hào)ia textobj.setvar ib,ai,5gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,5gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,5gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,5gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,5gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,5gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,5gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,5gb遙測(cè)信號(hào)無功功率 case 5 textobj.setvar ia,ai,6gb遙

38、測(cè)信號(hào)ia textobj.setvar ib,ai,6gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,6gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,6gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,6gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,6gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,6gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,6gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,6gb遙測(cè)信號(hào)無功功率 case 6 textobj.setvar ia,ai,7gb遙

39、測(cè)信號(hào)ia textobj.setvar ib,ai,7gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,7gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,7gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,7gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,7gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,7gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,7gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,7gb遙測(cè)信號(hào)無功功率 case 7 textobj.setvar ia,ai,8gb遙

40、測(cè)信號(hào)ia textobj.setvar ib,ai,8gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,8gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,8gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,8gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,8gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,8gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,8gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,8gb遙測(cè)信號(hào)無功功率 case 8 textobj.setvar ia,ai,9gb遙

41、測(cè)信號(hào)ia textobj.setvar ib,ai,9gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,9gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,9gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,9gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,9gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,9gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,9gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,9gb遙測(cè)信號(hào)無功功率 case 9 textobj.setvar ia,ai,10gb

42、遙測(cè)信號(hào)ia textobj.setvar ib,ai,10gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,10gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,10gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,10gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,10gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,10gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,10gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,10gb遙測(cè)信號(hào)無功功率 case 10 textobj.setvar

43、ia,ai,13gb遙測(cè)信號(hào)ia textobj.setvar ib,ai,13gb遙測(cè)信號(hào)ib textobj.setvar ic,ai,13gb遙測(cè)信號(hào)ic textobj.setvar uab,ai,13gb遙測(cè)信號(hào)uab textobj.setvar ubc,ai,13gb遙測(cè)信號(hào)ubc textobj.setvar uca,ai,13gb遙測(cè)信號(hào)uca textobj.setvar 頻率,ai,13gb遙測(cè)信號(hào)頻率 textobj.setvar 有功功率,ai,13gb遙測(cè)信號(hào)有功功率 textobj.setvar 無功功率,ai,13gb遙測(cè)信號(hào)無功功率 end select通過以

44、上方法,可以動(dòng)態(tài)的切換變量框?qū)?yīng)的變量,以實(shí)現(xiàn)顯示不同數(shù)據(jù)的功能,但到注意的是必須先給變量框命名,而且必須先對(duì)應(yīng)好一個(gè)變量,任何變量都可以。5.5 腳本實(shí)現(xiàn)配電線路變色 在配電的過程中,要求把帶電的線路用紅色標(biāo)識(shí),也就是某一線路的上一級(jí)有電,而且他們之間的開關(guān)閉合,這一段線路就帶電,就要用紅色表示。主要思路是從電源開始,一級(jí)一級(jí)往下判斷,每次只判斷上一級(jí)是否帶電,他們之間的開關(guān)是否合上,如果上一級(jí)帶電而且開關(guān)也合上這一級(jí)就帶電,具體實(shí)現(xiàn)通過全局腳本,新建若干內(nèi)部開關(guān)變量,讓每一段線路都對(duì)應(yīng)某個(gè)內(nèi)部開關(guān)量,當(dāng)這個(gè)開關(guān)量為0時(shí),代表沒電,線路是灰色,當(dāng)開關(guān)量為1時(shí),代表有電,線路是紅色,雙擊某段線

45、路,最屬性窗口中點(diǎn)動(dòng)態(tài)邊框色,選擇相應(yīng)的變量,把顏色對(duì)應(yīng)好,在全局腳本中新建腳本,高壓部分代碼如下:ga=runsys.getvarvalue(dr,g2.2.2qs狀態(tài),-1)runsys.setvarvalue vd,2g-1,-1,gagb=runsys.getvarvalue(dr,g2.2.1qf狀態(tài),-1)runsys.setvarvalue vd,2g-2,-1,gb and gagc=runsys.getvarvalue(dr,g2.2.1qs狀態(tài),-1)runsys.setvarvaluevd,2gb-3,-1,gc and runsys.getvarvalue(vd,2g-

46、2,-1) gd=runsys.getvarvalue(dr,1c.1qs狀態(tài),-1)runsys.setvarvaluevd,1cb-1,-1,gdandrunsys.getvarvalue(vd,2gb-3,-)ge=runsys.getvarvalue(dr,1c.1qf狀態(tài),-1)runsys.setvarvaluevd,1cb-2,-1,geandrunsys.getvarvalue(vd,1cb-1,-)gf=runsys.getvarvalue(dr,g3.3.1qs狀態(tài),-1)runsys.setvarvaluevd,3gb-1,-1,gfandrunsys.getvarval

47、ue(vd,2gb-3,-)gg=runsys.getvarvalue(dr,g3.3.1qf狀態(tài),-1)runsys.setvarvaluevd,3gb-2,-1,ggandrunsys.getvarvalue(vd,3gb-1,-)gh=runsys.getvarvalue(dr,g4.4.1qs狀態(tài),-1)runsys.setvarvaluevd,4gb-1,-1,ghand runsys.getvarvalue(vd,2gb-3,-1)gi=runsys.getvarvalue(dr,g4.4.1qf狀態(tài),-1)runsys.setvarvalue vd,4gb-2,-1,gi and

48、 runsys.getvarvalue(vd,4gb-1,-1)gj=runsys.getvarvalue(dr,g5.5.1qs狀態(tài),-1)runsys.setvarvalue vd,5gb-1,-1,gj and runsys.getvarvalue(vd,2gb-3,-1)gk=runsys.getvarvalue(dr,g5.5.1qf狀態(tài),-1)runsys.setvarvalue vd,5gb-2,-1,gk and runsys.getvarvalue(vd,5gb-1,-1)gl=runsys.getvarvalue(dr,g6.6.1qs狀態(tài),-1)runsys.setvar

49、value vd,6gb-1,-1,gl and runsys.getvarvalue(vd,2gb-3,-1)gm=runsys.getvarvalue(dr,g6.6.1qf狀態(tài),-1)runsys.setvarvalue vd,6gb-2,-1,gm and runsys.getvarvalue(vd,6gb-1,-1)gn=runsys.getvarvalue(dr,g7.7.1qs狀態(tài),-1)runsys.setvarvalue vd,7gb-1,-1,gn and runsys.getvarvalue(vd,2gb-3,-1)go=runsys.getvarvalue(dr,g7.

50、7.1qf狀態(tài),-1)runsys.setvarvalue vd,7gb-2,-1,go and runsys.getvarvalue(vd,7gb-1,-1)gp=runsys.getvarvalue(dr,g8.8.1qs狀態(tài),-1)runsys.setvarvalue vd,8gb-1,-1,gp and runsys.getvarvalue(vd,2gb-3,-1)gq=runsys.getvarvalue(dr,g8.8.1qf狀態(tài),-1)runsys.setvarvalue vd,8gb-2,-1,gq and runsys.getvarvalue(vd,8gb-1,-1)g91qf=runsys.getvarvalue(dr,g9.9.1qf狀態(tài),-1)g91qs=runsys.getvarvalue(dr,g9.9.1qs狀態(tài),-1)g101qf=runsys.getvarvalue(dr,g10.10.1qf狀態(tài),-1)g101qs=runsys.getvarvalue(dr,g10.10.1qs狀態(tài),-1)g111qs=runsys.getvarvalue(dr,g11.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論