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),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

2、器客戶端結(jié)構(gòu)的搭建,多屏顯示。根據(jù)這些基本的步驟,可以實(shí)現(xià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ū)動73.2 新建設(shè)備數(shù)據(jù)表83.3 新建運(yùn)行數(shù)據(jù)庫104 畫面制作135 腳本功能165.1 腳本環(huán)境165.2

8、腳本控制動態(tài)標(biāo)題175.4 腳本實(shí)現(xiàn)單窗口多操作205.5 腳本實(shí)現(xiàn)配電線路變色245.6 腳本控制液體動態(tài)流動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)時國內(nèi)用戶缺乏對組態(tài)軟件的認(rèn)識,軟件意識不強(qiáng),寧愿投入大量人力物力針對具體項(xiàng)目做長周期的上位機(jī)編程, 而不采用組態(tài)軟件。隨 著mis和cims的大量應(yīng)用, 要求工業(yè)現(xiàn)場為企業(yè)的生 產(chǎn)、經(jīng)

9、營、決策提供更詳細(xì)深入的數(shù)據(jù), 優(yōu)化生產(chǎn)經(jīng)營 各個環(huán)節(jié)。因此, 在上世紀(jì)90年代中期以后, 組態(tài)軟件 在國內(nèi)逐漸普及。組態(tài)軟件, 是指利用windows操作系 統(tǒng)提供的編程工具, 通過簡單、形象的組態(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ī)對 話的軟件平臺。組態(tài)軟件憑借良好的開放性, 極高的 穩(wěn)定性, 強(qiáng)大的控制功能, 在石油化工、冶金建材、物 流倉儲、工礦電力、智能樓宇等領(lǐng)域, 得

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

11、用雙饋試驗(yàn)方法,直接用變頻電源驅(qū)動,被試機(jī)發(fā)出的電能可以回饋到電網(wǎng),起到節(jié)能的作用。1.2 設(shè)計(jì)內(nèi)容及工作通過對以上硬件條件的分析,決定采用fameview組態(tài)軟件進(jìn)行開發(fā),開發(fā)設(shè)計(jì)流程下:1)數(shù)據(jù)通信。對于整個系統(tǒng),數(shù)據(jù)通信的可靠性和快速性是監(jiān)控系統(tǒng)的靈魂,沒有可靠實(shí)時的數(shù)據(jù),何談控制。fameview組態(tài)軟件提供了豐富的plc驅(qū)動和各種儀表的驅(qū)動,可以做到100ms更新一次,可靠性高,實(shí)時性強(qiáng)。我們要做的是確定數(shù)據(jù)的區(qū)域,大大的簡化了開發(fā)過程。2)協(xié)議分析。數(shù)據(jù)準(zhǔn)確的讀回來后,這些數(shù)據(jù)代表的是什么,有什么用途,及如何操作,這就是協(xié)議了。plc上來的數(shù)據(jù)有db塊解釋,通過這些解釋,確定各個數(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è)計(jì)要做到分類明確,直觀,突出重點(diǎn),盡量做到方便操作員的監(jiān)控與操作,這一過程要不斷的與操作員溝通,不斷的改進(jìn),精益求精。4)數(shù)據(jù)庫功能。fameview提供完善的數(shù)據(jù)庫服務(wù)與功能,可以很方便的對數(shù)據(jù)庫進(jìn)行讀取,添加,修改等操作,使用簡單,功能全面,用戶只需

13、要把相應(yīng)的數(shù)據(jù)表對應(yīng)好,就可以對數(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),避免了多臺上位機(jī)都從控制器讀取數(shù)據(jù),節(jié)省了系統(tǒng)資源,同時也保證了數(shù)據(jù)的統(tǒng)一性。具體設(shè)計(jì)及其實(shí)現(xiàn)過程請參閱下文。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),一臺服務(wù)器,五個客戶端,服務(wù)器負(fù)責(zé)數(shù)據(jù)的采集與通信,客戶端

14、由操作員操作。關(guān)鍵的信息要求大屏幕多屏顯示,方便監(jiān)控。要求實(shí)現(xiàn)web遠(yuǎn)程訪問,在網(wǎng)絡(luò)內(nèi)能通過瀏覽器方便的查看試驗(yàn)狀況。對于整套系統(tǒng)的操作,要求五個人就能完成試驗(yàn),人機(jī)交互顯得尤為重要,需要一個可靠方便的監(jiān)控系統(tǒng),這也決定了整個系統(tǒng)的可操作性及智能化程度。 通過對系統(tǒng)的初步分析,在主體上按功能分為6個畫面,分別為,高壓及變頻器系統(tǒng),低壓系統(tǒng),水系統(tǒng),油系統(tǒng),試驗(yàn)線路,試驗(yàn)界面,界面的下方有導(dǎo)航條,可以實(shí)現(xiàn)界面的切換,上方有界面信息的標(biāo)題以及系統(tǒng)時間等信息。3 設(shè)備通信3.1 安裝驅(qū)動根據(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ū)動,在彈出框左邊的目錄中選擇西門子/s7tcp,然后點(diǎn)擊安裝。圖3.2 驅(qū)動安裝在啟動驅(qū)動中選擇安裝的驅(qū)動,點(diǎn)擊確定,圖3.3 啟動驅(qū)動3.2 新建設(shè)備數(shù)據(jù)表雙擊設(shè)備數(shù)據(jù)表,彈出如下窗口:圖3.4 設(shè)備數(shù)據(jù)表d1為系統(tǒng)默認(rèn)設(shè)備,雙擊d2,彈出如下窗口:圖3.5 定義設(shè)備設(shè)備號名稱取名為“主站plc”,驅(qū)動選擇s7tcp,遠(yuǎn)程參數(shù)中,槽號默認(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個字節(jié),所以開始地址為0,長度為1000,其他默認(rèn)。這樣,就設(shè)置好了與西門子s7-300plc在db10中的數(shù)據(jù)交換,其他設(shè)備的通訊設(shè)置與此類似,關(guān)鍵是選擇好對應(yīng)的驅(qū)動,以及設(shè)置好相關(guān)參數(shù),有了組態(tài),通訊變得很簡單,工程師要做的就是配置好設(shè)備,大大簡化了開發(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ù)據(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個字節(jié)的數(shù)據(jù),通過plc工程師給的db10數(shù)據(jù)協(xié)議,比如說db10中字節(jié)地址從182開始的兩個字節(jié)表示的是被試機(jī)二次水回水溫度,這個數(shù)據(jù)只需要讀,不需要寫,雙擊ai-模擬只讀變量,彈出如下窗口:圖3.7 新建ai變量點(diǎn)擊新建,彈出如下窗口:圖3.8 制作變量設(shè)備號選擇d2,單元號選擇d2.b182,由于西門子數(shù)據(jù)采用的是反高低字節(jié),這個數(shù)據(jù)是由一個字構(gòu)成,所以處理方式選擇按字處理,反高低字節(jié),這個數(shù)

18、據(jù)對應(yīng)原始值就行,不需要進(jìn)行線性處理,選擇y=i2(x2,x1),在有些時候,數(shù)據(jù)是要進(jìn)行線性處理的,比如讀上來的數(shù)據(jù)是0-32767,對應(yīng)的實(shí)際值是0-100,這是我們就要選擇帶線性運(yùn)算的處理方式,即y=kx+b,在下面的變量最小值,變量最大值中寫入相應(yīng)變量的實(shí)際范圍,在對應(yīng)的原始值填讀上來的數(shù)據(jù)范圍。以db10中字節(jié)地址從238開始的兩個字節(jié)為例,這兩個字節(jié)表示的是環(huán)境溫度,讀上來的原始數(shù)據(jù)范圍是0-27648,對應(yīng)的實(shí)際溫度是-200到600攝氏度,所以我們要選擇按字、反高低字節(jié)y= k*i2(x2,x1)+b,變量最小值填-200,變量最大值填600,對應(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)出一個模板,點(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 畫面窗口通過形象的圖形反映出工藝流程,簡單方便的功能讓操作員更好的操作。通過分析,畫面主要分為高壓與變頻器配電畫面、低壓配電畫面、試驗(yàn)線路畫面、試驗(yàn)畫面、水系統(tǒng)畫面、油系統(tǒng)畫面,按照功能的不同,通過最簡潔直觀的方式,把系統(tǒng)的設(shè)備和流程展現(xiàn)在操作員面前,讓操作員一目了然。在高壓與變頻系統(tǒng)中,開關(guān)和線路采用單線圖,其實(shí)每一根線都代表三相。當(dāng)開關(guān)是斷開狀態(tài)是,開關(guān)顯示斷開,顏色是綠色,當(dāng)開關(guān)合上時,開關(guān)閉合,顏色是紅色,這樣就很形象的反應(yīng)了開關(guān)的狀態(tài)。要實(shí)現(xiàn)以上功能,通過設(shè)置線的可見性實(shí)現(xiàn),雙擊要操作的線,彈出屬性窗口:圖4.3 直線屬性通過設(shè)置相應(yīng)

21、的功能就可以達(dá)到相應(yīng)的目的。其他對象也類似。在要顯示數(shù)據(jù)的地方放一個變量框,通過雙擊變量框彈出屬性窗口,設(shè)置動態(tài)變量就可以讓變量框顯示我們需要的數(shù)據(jù)。在低壓配電畫面中,大體與高壓部分類似,在布好線路后,對相應(yīng)的開關(guān)加以操控,這樣就動態(tài)的反映了系統(tǒng)的開關(guān)狀態(tài)。試驗(yàn)線路的配電部分也與上面類似,通過布好線路,然后對開關(guān)加上動態(tài)功能,反映試驗(yàn)線路的狀態(tài)。水系統(tǒng)畫面根據(jù)施工方提供的水系統(tǒng)設(shè)計(jì)圖,畫出水系統(tǒng)的工藝流程圖,在管道上加上動態(tài)流動管道,可以實(shí)現(xiàn)水的動態(tài)流動。流動管道在組件箱的畫面控件中,雙擊彈出設(shè)置界面??梢詫α鲃拥念伾?,方向,快慢,加以設(shè)置,使其更美觀。然后通過變量控制動態(tài)可見和動態(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)時操作員操作時間最長的就是試驗(yàn)界面,總體設(shè)計(jì)是先配置試驗(yàn),在配置的過程中首先選擇好試驗(yàn)項(xiàng)目,由于電機(jī)的溫度數(shù)據(jù)是從采集儀表mw100通信過來的,其有60個通道,而且每個通道每次試驗(yàn)所測的數(shù)據(jù)可能不一樣,比如通道3上次試驗(yàn)可能接的是環(huán)境溫度,這次試驗(yàn)接的是軸承溫度,所以在試驗(yàn)之前需要對通道進(jìn)行配置。還有量程的選擇,每次試驗(yàn)的電機(jī)大小可能不一樣,所以測量的過程中選擇的量程也應(yīng)該根據(jù)電機(jī)而變化,所以要對量程進(jìn)行配置。在試驗(yàn)的時候,需要的保護(hù)措施也不一樣,可能這次

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

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

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

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

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

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

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

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

33、測信號ia textobj.setvar ib,ai,1cb遙測信號ib textobj.setvar ic,ai,1cb遙測信號ic textobj.setvar uab,ai,1cb遙測信號uab textobj.setvar ubc,ai,1cb遙測信號ubc textobj.setvar uca,ai,1cb遙測信號uca textobj.setvar 頻率,ai,1cb遙測信號頻率 textobj.setvar 有功功率,ai,1cb遙測信號有功功率 textobj.setvar 無功功率,ai,1cb遙測信號無功功率 case 1 textobj.setvar ia,ai,2gb遙

34、測信號ia textobj.setvar ib,ai,2gb遙測信號ib textobj.setvar ic,ai,2gb遙測信號ic textobj.setvar uab,ai,2gb遙測信號uab textobj.setvar ubc,ai,2gb遙測信號ubc textobj.setvar uca,ai,2gb遙測信號uca textobj.setvar 頻率,ai,2gb遙測信號頻率 textobj.setvar 有功功率,ai,2gb遙測信號有功功率 textobj.setvar 無功功率,ai,2gb遙測信號無功功率 case 2 textobj.setvar ia,ai,3gb遙

35、測信號ia textobj.setvar ib,ai,3gb遙測信號ib textobj.setvar ic,ai,3gb遙測信號ic textobj.setvar uab,ai,3gb遙測信號uab textobj.setvar ubc,ai,3gb遙測信號ubc textobj.setvar uca,ai,3gb遙測信號uca textobj.setvar 頻率,ai,3gb遙測信號頻率 textobj.setvar 有功功率,ai,3gb遙測信號有功功率 textobj.setvar 無功功率,ai,3gb遙測信號無功功率 case 3 textobj.setvar ia,ai,4gb遙

36、測信號ia textobj.setvar ib,ai,4gb遙測信號ib textobj.setvar ic,ai,4gb遙測信號ic textobj.setvar uab,ai,4gb遙測信號uab textobj.setvar ubc,ai,4gb遙測信號ubc textobj.setvar uca,ai,4gb遙測信號uca textobj.setvar 頻率,ai,4gb遙測信號頻率 textobj.setvar 有功功率,ai,4gb遙測信號有功功率 textobj.setvar 無功功率,ai,4gb遙測信號無功功率 case 4 textobj.setvar ia,ai,5gb遙

37、測信號ia textobj.setvar ib,ai,5gb遙測信號ib textobj.setvar ic,ai,5gb遙測信號ic textobj.setvar uab,ai,5gb遙測信號uab textobj.setvar ubc,ai,5gb遙測信號ubc textobj.setvar uca,ai,5gb遙測信號uca textobj.setvar 頻率,ai,5gb遙測信號頻率 textobj.setvar 有功功率,ai,5gb遙測信號有功功率 textobj.setvar 無功功率,ai,5gb遙測信號無功功率 case 5 textobj.setvar ia,ai,6gb遙

38、測信號ia textobj.setvar ib,ai,6gb遙測信號ib textobj.setvar ic,ai,6gb遙測信號ic textobj.setvar uab,ai,6gb遙測信號uab textobj.setvar ubc,ai,6gb遙測信號ubc textobj.setvar uca,ai,6gb遙測信號uca textobj.setvar 頻率,ai,6gb遙測信號頻率 textobj.setvar 有功功率,ai,6gb遙測信號有功功率 textobj.setvar 無功功率,ai,6gb遙測信號無功功率 case 6 textobj.setvar ia,ai,7gb遙

39、測信號ia textobj.setvar ib,ai,7gb遙測信號ib textobj.setvar ic,ai,7gb遙測信號ic textobj.setvar uab,ai,7gb遙測信號uab textobj.setvar ubc,ai,7gb遙測信號ubc textobj.setvar uca,ai,7gb遙測信號uca textobj.setvar 頻率,ai,7gb遙測信號頻率 textobj.setvar 有功功率,ai,7gb遙測信號有功功率 textobj.setvar 無功功率,ai,7gb遙測信號無功功率 case 7 textobj.setvar ia,ai,8gb遙

40、測信號ia textobj.setvar ib,ai,8gb遙測信號ib textobj.setvar ic,ai,8gb遙測信號ic textobj.setvar uab,ai,8gb遙測信號uab textobj.setvar ubc,ai,8gb遙測信號ubc textobj.setvar uca,ai,8gb遙測信號uca textobj.setvar 頻率,ai,8gb遙測信號頻率 textobj.setvar 有功功率,ai,8gb遙測信號有功功率 textobj.setvar 無功功率,ai,8gb遙測信號無功功率 case 8 textobj.setvar ia,ai,9gb遙

41、測信號ia textobj.setvar ib,ai,9gb遙測信號ib textobj.setvar ic,ai,9gb遙測信號ic textobj.setvar uab,ai,9gb遙測信號uab textobj.setvar ubc,ai,9gb遙測信號ubc textobj.setvar uca,ai,9gb遙測信號uca textobj.setvar 頻率,ai,9gb遙測信號頻率 textobj.setvar 有功功率,ai,9gb遙測信號有功功率 textobj.setvar 無功功率,ai,9gb遙測信號無功功率 case 9 textobj.setvar ia,ai,10gb

42、遙測信號ia textobj.setvar ib,ai,10gb遙測信號ib textobj.setvar ic,ai,10gb遙測信號ic textobj.setvar uab,ai,10gb遙測信號uab textobj.setvar ubc,ai,10gb遙測信號ubc textobj.setvar uca,ai,10gb遙測信號uca textobj.setvar 頻率,ai,10gb遙測信號頻率 textobj.setvar 有功功率,ai,10gb遙測信號有功功率 textobj.setvar 無功功率,ai,10gb遙測信號無功功率 case 10 textobj.setvar

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

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

45、路,最屬性窗口中點(diǎn)動態(tài)邊框色,選擇相應(yīng)的變量,把顏色對應(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論