組態(tài)軟件基礎及應用(組態(tài)王KingView)第2版 課件 第十章 綜合實例_第1頁
組態(tài)軟件基礎及應用(組態(tài)王KingView)第2版 課件 第十章 綜合實例_第2頁
組態(tài)軟件基礎及應用(組態(tài)王KingView)第2版 課件 第十章 綜合實例_第3頁
組態(tài)軟件基礎及應用(組態(tài)王KingView)第2版 課件 第十章 綜合實例_第4頁
組態(tài)軟件基礎及應用(組態(tài)王KingView)第2版 課件 第十章 綜合實例_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

我們畢業(yè)啦其實是答辯的標題地方工控組態(tài)軟件及應用10.1小區(qū)供水系統(tǒng)實例10.2混合配料監(jiān)控系統(tǒng)10.3小區(qū)照明系統(tǒng)實例10.4本章小結第十章綜合實例 前言本章將前面章節(jié)所學習的內容進行綜合,并通過幾個有趣例子,加深讀者對組態(tài)王的操作,體會組態(tài)王中各個功能內容的組合使用?!啊?0.1小區(qū)供水系統(tǒng)實例

某居民小區(qū)供水系統(tǒng),為了設計簡化,模擬5個用水戶。蓄水池由自來水公司供水,假設蓄水池高度為3m,蓄水池水通過一臺水泵給用戶供水,供水管正常壓力為0.35MPa。測量信號包括有用戶用水量5個,水管壓力1個,儲水池水位1個。需要計算每個用戶每個月的水費,并且保存到數(shù)據(jù)庫以便查詢及打印。通過該實例,可以加強學習者對組態(tài)王畫圖工具的使用以及動畫效果的設計。10.1.1變量定義

表10-1變量定義(1)新建一個畫面“小區(qū)供水系統(tǒng)模擬”并打開,繪制5層樓房,先畫出需要的分離圖塊:圖10-1單樓層分離圖塊10.1小區(qū)供水系統(tǒng)實例10.1.2樓房設計(2)再將圖塊進行組合:圖10-2樓層總圖(3)從用戶5到用戶1,對每個樓層的“文本”、“水柱”、“水閥”進行動畫連接設置:圖10-3動畫連接設置部位10.1小區(qū)供水系統(tǒng)實例1)文本“##”依次設置:●模擬值輸出——表達式:(\\local\用戶5用水量)~(\\local\用戶1用水量),整數(shù)位數(shù)3,小數(shù)位數(shù)0,居中,十進制;●模擬值輸入——變量名:(\\local\用戶5用水量)~(\\local\用戶1用水量),最大999999999。2)圖形“水柱”依次設置:●隱含——表達式:(\\local\水泵閥*\\local\用戶5用水量)~(\\local\水泵閥*\\local\用戶1用水量),表達式為真時顯示;●縮放——表達式:(\\local\$毫秒),最小時(對應值0,百分比0),最大時(對應值1000,百分比100),方向選擇上。3)圖形“水閥”依次設置:●填充屬性—表達式:(\\local\用戶5閥)~(\\local\用戶1閥), 刷屬性(0—紅、1—綠);●“按下時”命令語言:(\\local\用戶5閥=!\\local\用戶5閥;)~(\\local\用戶1閥=!\\local\用戶1閥;)●等價鍵:5~1;(1)分離圖塊:圖10-4水泵分離圖塊10.1小區(qū)供水系統(tǒng)實例10.1.3水泵設計(2)設計成組合圖素:圖10-5泵葉2圖塊(3)雙擊進行動畫連接設置:1)泵葉1:●隱含——表達式:(\\local\水泵閥),表達式為真時隱含;●“按下時”命令語言:\\local\水泵閥=!\\local\水泵閥;2)泵葉2:●隱含——表達式:(\\local\水泵閥),表達式為真時顯示;●旋轉——表達式:(\\local\$毫秒),最大逆時針(角度0,對應值0),最大順時針(角度360,對應值1000);3)“按下時”命令語言:\\local\水泵閥=!\\local\水泵閥;4)等價鍵:Space;(4)組合圖塊:圖10-6水泵組合圖塊10.1小區(qū)供水系統(tǒng)實例(5)點擊“圖庫—打開圖庫”,在左側點擊“創(chuàng)建新圖庫”,名稱為“個人”,關閉確認保存?;氐疆嬅?,選中我們畫好的水泵后合并單元。再次選中水泵,點擊“圖庫—創(chuàng)建圖庫精靈”,名稱為“水泵”,確認后先點擊左側我們創(chuàng)建的“個人”,然后再點擊右側空白處,關閉確認保存。這一步不是必需的,這樣做的目的是讓讀者能夠積累自己常用的圖形,在其他工程設計的時候就不需要再次繪畫,從圖庫中選取出來就可以用。而且當讀者從圖庫中選出來用的時候,其大小是可以進行縮放的。(1)從圖庫中的反應器類別選擇一個至畫面中,通過工具箱中的“直線”和“文本”畫出刻度:圖10-7蓄水池設計圖10.1小區(qū)供水系統(tǒng)實例(2)雙擊進行動畫連接設置:1)文本“水位”:●模擬值輸出——表達式:(\\local\蓄水池水位),整數(shù)位數(shù)3,小數(shù)位數(shù)0,居中,十進制;●模擬值輸入——變量名:(\\local\蓄水池水位),最大值300,最小值50。2)“反應器”——變量名:(\\local\蓄水池水位),填充顏色與之前選的水顏色一樣, 最小值0、占據(jù)百分比0,最大值300、占據(jù)百分比100。10.1.4蓄水池設計(1)將前面所有畫的東西進行合理的位置排布,從圖庫里的閥門中選取一個作為蓄水池閥,點擊工具箱里的“立體管道”按流水的方向進行繪制。圖10-8

供水管排布圖10.1小區(qū)供水系統(tǒng)實例10.1.5供水管設計(2)雙擊進行動畫連接設置:1)用戶5~用戶1的水管依次設置:●流動——流動條件:(\\local\水泵閥*\\local\用戶5閥*2)~(\\local\水泵閥*\\local\用戶1閥*2)。2)水管6:●流動——流動條件:(\\local\水泵閥*(1+(\\local\用戶1閥+\\local\用戶2閥+\\local\用戶3閥+\\local\用戶4閥+\\local\用戶5閥)*1.8))。3)水管7:●流動——流動條件:(\\local\蓄水池閥*10)。●蓄水池閥——變量名:(\\local\蓄水池閥),關閉顏色紅,打開顏色綠。10.1小區(qū)供水系統(tǒng)實例(1)從圖庫中的儀表內選擇一個到畫面中,雙擊進行設置:圖10-9供水管壓力表10.1小區(qū)供水系統(tǒng)實例(2)添加文本“供水管壓力”,雙擊進行動畫鏈接設置:●模擬值輸出——表達式:(\\local\供水管壓力),整數(shù)位數(shù)1,小數(shù)位數(shù)2,居左,十進制。10.1.6供水管壓力顯示設計圖10-10供水管壓力表動畫連接設置把用戶的用水量以及水費保存到數(shù)據(jù)庫中。(1)新建一個Access數(shù)據(jù)庫,名字為“用水量.mdb”,在數(shù)據(jù)庫中新建一個表,名字也為“用水量”,在表的第一行添加字段:10.1小區(qū)供水系統(tǒng)實例(2)完成后保存并關閉,將數(shù)據(jù)庫“用水量.mdb”放到工程文件里(比如:C:\ProgramFiles(x86)\kingview\小區(qū)供水系統(tǒng)實例)。10.1.7數(shù)據(jù)庫設置圖10-11數(shù)據(jù)庫表設置打開電腦的“控制面板”,點擊“管理工具”,雙擊“ODBC數(shù)據(jù)源”,在“用戶DSN”下點擊“添加”,選擇“MicrosoftAccessDriver(*.mdb)”并點擊完成進行下一步設置:數(shù)據(jù)源名為“用水量”、點擊“選擇”從工程文件下選中“用水量.mdb”,完成后點擊“確定”關閉。10.1小區(qū)供水系統(tǒng)實例10.1.8設置ODBC數(shù)據(jù)源圖10-12

ODBC數(shù)據(jù)源設置(1)在“工程瀏覽器”左側,點擊并新建一個記錄體:圖10-13記錄體設置10.1小區(qū)供水系統(tǒng)實例(2)在“工程瀏覽器”左側的命令語言中,雙擊“應用程序命令語言”,在對應的時間下寫入程序:1)啟動時://*用于連接數(shù)據(jù)庫*//SQLConnect(DeviceID,"dsn=用水量;uid=;pwd=");記錄體設置記錄體設置2)停止時://*用于斷開數(shù)據(jù)庫*//SQLDisconnect(DeviceID);10.1.9

記錄體設置(1)新建一個畫面“保存與查詢”并打開。點擊工具箱中的“插入通用控件”,選擇“KVADODBGridClass”到畫面中。將控件名改為“KV”,確定后記得保存畫面。(2)右鍵KV控件的屬性控制,進入“KV屬性”。在“數(shù)據(jù)源”下點擊“瀏覽”進入“數(shù)據(jù)連接屬性”,接著在“連接”下的第一個“使用數(shù)據(jù)源名稱”處下拉選擇“用水量”,然后點擊“測試連接”,成功后點擊確定返回“KV屬性”。在“數(shù)據(jù)源”下的“表名稱”處下拉選擇“用水量”,將“有效字段”里的內容全部添加到右邊。添加完成后,可以在右邊設置“標題、格式、對齊、字段寬度”等,為了KV控件的美觀,可以適當增加“字段寬度”(推薦設置:日期、用戶1費用~用戶5費用——100,用戶1用水量~用戶5用水量——120):圖10-14KVADODBGRID控件設置10.1小區(qū)供水系統(tǒng)實例10.1.10KVADODBGRID控件設置(3)設置完成后確定返回并保存畫面。為了按月份查詢用戶的用水情況,可以使用日歷控件來實現(xiàn)月份的選擇。點擊工具箱中的“插入通用控件”,選擇“MicrosoftDateandTimePickerControl…”到畫面中。雙擊此控件,將控件名改為“RQ”,確定后保存畫面。10.1小區(qū)供水系統(tǒng)實例程序設計主要包括動畫程序、數(shù)據(jù)變化程序、數(shù)據(jù)庫讀寫程序等。(1)在“工程瀏覽器”左側的命令語言中,雙擊“應用程序命令語言”,點擊“存在時”將時間改為“每55毫秒”并寫入課本中“動畫效果設計”程序。10.1小區(qū)供水系統(tǒng)實例10.1.11程序設計(2)進入畫面“小區(qū)供水系統(tǒng)模擬”,從工具箱中添加以下按鈕;1)“保存與查詢”:(動畫連接——“按下時”命令語言)ShowPicture("保存與查詢");//轉至“保存與查詢”畫面//2)“繳費”:(動畫連接——“按下時”命令語言)\\local\用戶1用水量=0;\\local\用戶2用水量=0;\\local\用戶3用水量=0;\\local\用戶4用水量=0;\\local\用戶5用水量=0;10.1小區(qū)供水系統(tǒng)實例(3)進入畫面“保存與查詢”,從工具箱中添加以下按鈕;1)“保存”:(動畫連接——“按下時”命令語言)\\local\日期=StrFromInt(RQ.Year,10)+"-"+StrFromInt(RQ.Month,10);//月份選擇//stringwhe="日期='"+\\local\日期+"'";//按日期查詢的條件//SQLDelete(DeviceID,"用水量",whe);//如果之前有數(shù)據(jù)則先刪除//SQLInsert(DeviceID,"用水量","Bind");//然后再保存新的數(shù)據(jù)//2)“刪除”:(動畫連接——“按下時”命令語言)\\local\日期=StrFromInt(RQ.Year,10)+"-"+StrFromInt(RQ.Month,10);//月份選擇//stringwhe="日期='"+\\local\日期+"'";//按日期刪除的條件//SQLDelete(DeviceID,"用水量",whe);//刪除數(shù)據(jù)//3)“查詢”:(動畫連接——“按下時”命令語言)KV.FetchData();//查詢數(shù)據(jù)庫表的內容并顯示在KV控件里//KV.FetchEnd();//停止查詢//4)“打印”:(動畫連接——“按下時”命令語言)KV.Print();//將KV控件顯示的內容進行打印//5)“返回”:(動畫連接——“按下時”命令語言)ShowPicture("小區(qū)供水系統(tǒng)模擬");//轉至"小區(qū)供水系統(tǒng)模擬"畫面//在“工程瀏覽器”中雙擊“設置運行系統(tǒng)”,在“主畫面配置”下選擇“小區(qū)供水系統(tǒng)模擬”,在“特殊”下設置“運行系統(tǒng)基準頻率——55毫秒”,點擊確定完成設置。在“工程瀏覽器”的上端點擊“VIEW”圖標,進入運行系統(tǒng)。當按下空格鍵時,可以看到水泵開始旋轉,供水管內有水,供水管壓力顯示為3.5。當按下數(shù)字鍵1~5時,對應用戶的水管就會有水,并且水表處開始計數(shù),蓄水池水位下降。如果用開水的用戶越多,供水管流速就越快,蓄水池水位下降越快。隨著蓄水池水位的下降,或者開水的用戶越多,供水管壓力會下降。當5個用戶全部用水導致蓄水池水位下降到50的時候,供水管壓力變?yōu)?。當用戶所有用戶關閉用水,或者蓄水池水位低到50,蓄水池閥打開,蓄水池水管開始進水,直至滿水后蓄水池閥關閉。10.1小區(qū)供水系統(tǒng)實例10.1.12進入運行系統(tǒng)當全部用戶停止用水時,點擊按鈕“保存與查詢”。在“保存與查詢”畫面中,點擊日歷控件選擇月份,點擊“保存”就會將數(shù)據(jù)存到數(shù)據(jù)庫表里,點擊“查看”就會在KV控件里看到數(shù)據(jù)庫表里的數(shù)據(jù)。如圖10-15所示。同樣,如果想要刪除某個月份的數(shù)據(jù),先點擊日歷控件選擇月份,然后點擊“刪除”即可。如果我們要模擬多個月份的數(shù)據(jù),可以在保存當前月份后,點擊“返回”,在“小區(qū)供水系統(tǒng)模擬”畫面中點擊“繳費”,這樣所有用戶的水表就會清零,方便再次操作。圖10-15用戶用水量查詢10.1小區(qū)供水系統(tǒng)實例圖10-16運行系統(tǒng)變化畫面10.1小區(qū)供水系統(tǒng)實例10.2混合配料監(jiān)控系統(tǒng)

為了提高產品質量,縮短生產周期,適應產品迅速更新?lián)Q代的要求,產品生產正向縮短生產周期、降低成本、提高生產質量等方向發(fā)展。在煉油、化工、制藥等行業(yè),多種液體混合是必不可少的工序,而且也是其生產過程中十分重要的組成部分。該實例總體功能主要包括兩個方面,一個為混合配料監(jiān)控系統(tǒng),主要是實現(xiàn)課題要求中將兩種液體按照1:3的比例放入混合罐中進行攪拌,然后在將混合好的液體以交替輸出的方式輸出到兩個半成品罐中。當所有罐液位達上限自動關進液閥、停泵,低于滿量程10%,自動關出液閥、停泵?;旌瞎抟何怀^滿量程50%時,開啟攪拌電機攪拌,直到出液使液位低于40%時停止。另一個部分為監(jiān)控部分:趨勢曲線、報警窗口、實時數(shù)據(jù)查詢、歷史數(shù)據(jù)查詢、報警查詢。10.2混合配料監(jiān)控系統(tǒng)

首先新建一個工程并打開,然后在數(shù)據(jù)詞典中新建25個變量:10.2.1變量定義

表10-2變量定義10.2混合配料監(jiān)控系統(tǒng)

如圖10-17所示,新建一個畫面,然后進行畫面的繪制。在工具箱找到按鈕控件,在工具欄找到文本控件,對圖中各儀器進行標注。由于組態(tài)中的柱狀圖不能實現(xiàn)功能,因此自己利用工具箱中的直線畫出。右上角為實時曲線,雙擊工具箱中的“實時曲線”,即可在畫面中創(chuàng)建實時曲線。10.2.2新建畫面圖10-17混合配料監(jiān)控畫面(1)閥門、泵等儀器的關聯(lián):雙擊儀器彈出動畫連接屬性界面,選擇對應的變量進行關聯(lián)。圖10-18為混合罐的關聯(lián),其他儀器關聯(lián)操作一致。10.2混合配料監(jiān)控系統(tǒng)10.2.3關聯(lián)變量圖10-18混合罐動畫連接設置(2)風扇關聯(lián):圖中風扇是用工具箱中的多邊形畫出來的,因為圖庫中的風扇不能進行動畫連接,所以需要手動畫。畫好以后合成組合圖素,雙擊風扇設置“旋轉”動畫連接:●表達式:\\local\旋轉;●最大逆時針方向對應角度:0;對應值0;●最大順時針方向對應角度:360;對應值100;●旋轉圓心偏離圖素中心大?。核椒较?;垂直方向0;(3)立體圖關聯(lián):在立體圖上,雙擊矩形框,設置“填充”:●表達式:\\local\混合罐●最小填充高度:對應數(shù)值0;占據(jù)百分比0;●最大填充高度:對應數(shù)值0;占據(jù)百分比0;●填充方向:向下;(4)實時曲線關聯(lián):雙擊實時曲線,彈出如下圖“實時趨勢曲線”屬性對話框,在“曲線定義”界面中“曲線”欄添加變量,變量添加完后點擊“標識定義”界面,在此界面中選擇“實際值”。在這個對話框內可以對實時曲線屬性進行設置。具體設置如下:10.2混合配料監(jiān)控系統(tǒng)圖10-19實時曲線動畫連接設置(5)各個按鈕程序如下:1)“趨勢曲線”按鈕:ShowPicture("趨勢曲線");2)“報警窗口”按鈕:ShowPicture("報警窗口");3)“報警查詢”按鈕:ShowPicture("報警查詢");

4)“實時數(shù)據(jù)查詢”按鈕:ShowPicture("實時數(shù)據(jù)查詢");5)“歷史數(shù)據(jù)查詢”按鈕:ShowPicture("歷史數(shù)據(jù)查詢");10.2混合配料監(jiān)控系統(tǒng)

(1)單擊右鍵,選擇“畫面屬性”,點擊“命令語言”,在“存在時”寫入風扇旋轉的限制條件:10.2.4程序設計

If(\\local\旋轉==7)\\local\旋轉;If(\\local\混合罐>40)\\local\旋轉=\\local\旋轉+1;

(2)在工程瀏覽器“系統(tǒng)”,點擊“命令語言”,雙擊“應用程序命令語言”,寫入整個畫面運行程序。程序詳見課本。10.2混合配料監(jiān)控系統(tǒng)10.2.5運行結果圖10-20混合配料運行畫面10.2混合配料監(jiān)控系統(tǒng)

(1)在畫面中插入實時趨勢曲線插件,歷史趨勢曲線控件。并關聯(lián)混合罐液位、半成品罐1液位、半成品罐2液位、混合罐溫度。用工具箱的文本控件進行實時曲線、歷史曲線等的標注。畫面設計如圖所示:10.2.6趨勢曲線圖10-21實時、歷史曲線畫面設計10.2混合配料監(jiān)控系統(tǒng)(2)雙擊“實時趨勢曲線”,彈出“實時趨勢曲線”屬性設置對話框,在“曲線定義”界面添加變量,并對線形及線顏色進行設置,在“標識定義”界面選擇“實際值”。具體設置如下圖所示:“歷史趨勢曲線”設置操作步驟與“實時趨勢曲線”一致,需要注意的是“歷史趨勢曲線”必須要寫名稱。圖10-22實時、歷史曲線動畫連接設置10.2混合配料監(jiān)控系統(tǒng)(3)運行結果如圖所示:圖10-23趨勢曲線運行畫面10.2混合配料監(jiān)控系統(tǒng)

(1)定義報警組:在工程瀏覽器界面系統(tǒng)中找到“數(shù)據(jù)庫”欄,選擇“報警組”,雙擊添加“液位報警”、“溫度報警”,兩個報警組,添加后點擊確定,如此便定義了兩個報警組。完成報警組定義如下:10.2.7報警窗口圖10-24報警組定義

(2)在變量定義的“報警定義”選項中對混合罐、半成品罐1、半成品罐2、溫度進行報警定義。“混合罐”報警界限為低低、低、高、高高,報警值分別為0、20、160、180,“半成品罐”報警界限為低低、低、高、高高,報警值分別為0、10、45、50,“溫度”報警界限為低低、低、高、高高,報警值分別為0、10、40、60。10.2混合配料監(jiān)控系統(tǒng)(1)在工具箱中選擇報警窗口,然后在畫面上完成報警窗口的制作。雙擊報警窗口,將報警窗口命名為“報警”,選擇“歷史報警窗”。(2)關聯(lián)與混合罐液位、半成品罐1液位、半成品罐2液位、反應罐溫度相應的指示燈進行報警。四個指示燈可在圖庫中找到。添加一個“退出”按鈕。按鈕命令語言為:ShowPicture("反應車間");(3)運行結果如下:10.2.8新建“實時報警”畫面圖10-25報警窗口運行畫面10.2混合配料監(jiān)控系統(tǒng)在Access中新建一個空數(shù)據(jù)庫,保存途徑為所建工程文件中。在此數(shù)據(jù)庫“視圖設計”創(chuàng)建一個數(shù)據(jù)表:表的名稱為:Alarm。表的字段名稱如下表,字段類型都為文本類型。10.2.9新建數(shù)據(jù)庫表10-3數(shù)據(jù)庫表字段10.2混合配料監(jiān)控系統(tǒng)建立ODBC數(shù)據(jù)源,選擇“MicrosoftAccessDriver(*.mdb)”驅動。數(shù)據(jù)源名為“報警”,數(shù)據(jù)庫選擇文件“報警數(shù)據(jù)庫.mdb”。如圖10-26所示:10.2.10設置ODBC數(shù)據(jù)源圖10-26選擇數(shù)據(jù)源設置10.2混合配料監(jiān)控系統(tǒng)(1)雙擊組態(tài)王工程瀏覽器的“系統(tǒng)配置”中的“報警配置”,彈出如下的“報警配置屬性頁”對話框,選擇“數(shù)據(jù)庫配置”選項卡,勾選“記錄報警事件到數(shù)據(jù)庫”,點擊報警格式,出現(xiàn)如下圖對話框。需要注意的是設置的報警格式要與新建的數(shù)據(jù)庫格式一致。具體配置如下圖所示:10.2.11報警配置圖10-27選擇數(shù)據(jù)源設置10.2混合配料監(jiān)控系統(tǒng)(3)報警格式設置好后點擊確定,回到“報警配置屬性頁”,點擊“數(shù)據(jù)源-用戶DSN”,選擇之前定義的數(shù)據(jù)源“報警”,點擊確定。(4)畫面編輯完成后保存畫面,點擊“打開”中的“切換到view”,打開“實時報警”畫面,當有報警產生后,會在報警畫面中顯示當前的報警信息,同時也會將報警信息存儲到Access數(shù)據(jù)庫中。我們可以打開新建的數(shù)據(jù)庫,打開“Alarm”表,如圖10-28所示,報警信息已經存儲到數(shù)據(jù)庫中。圖10-28選擇數(shù)據(jù)源設置10.2混合配料監(jiān)控系統(tǒng)(1)在工程中新建畫面“報警查詢”,在畫面中插入“KVADODBGrid

Class”控件,雙擊此控件,命名為“KV”后點擊“確定”回到畫面。右鍵單機控件,選擇“控件屬性”,彈出“KV屬性”對話框。(2)在“數(shù)據(jù)源”屬性頁下點擊“瀏覽”,出現(xiàn)“數(shù)據(jù)連接屬性”對話框,在“連接”屬性頁下的“使用數(shù)據(jù)源名稱”處選擇“報警”,單擊確定回到“kv屬性”對話框。(3)在“表名稱”處應選擇“Alarm”表,將左邊需要查詢的“有效字段”分別添加到右邊,并在右側上修改名稱及格式,如圖10-29所示:10.2.12創(chuàng)建KVADODBGrid控件圖10-29KV屬性對話框10.2混合配料監(jiān)控系統(tǒng)(1)點擊工具箱中的“插入通用控件”,選擇“MicrosoftDateandTimePickerControl6.0(SP4)”控件到畫面上,雙擊控件,將其命名為“ADate”,保存后再次雙擊該控件,在“事件”頁面中選擇“CloseUp”,彈出控件事件函數(shù)編輯窗口,在函數(shù)聲明中為此函數(shù)命名:CloseUp1();在編輯窗口中編寫腳本程序:10.2.13創(chuàng)建日歷控件floatAyear;floatAmonth;floatAday;longx;longy;longRow;longStartTime;stringtemp;Ayear=Date.Year;Amonth=Date.Month;Aday=Date.Day;temp=StrFromInt(Ayear,10);if(Amonth<10) temp=temp+"/0"+StrFromInt(Amonth,10);else temp=temp+"/"+StrFromInt(Amonth,10);if(Aday<10) temp=temp+"/0"+StrFromInt(Aday,10);else temp=temp+"/"+StrFromInt(Aday,10);\\local\選擇日期=temp;10.2混合配料監(jiān)控系統(tǒng)(2)添加幾個按鈕:圖10-30日歷控件屬性對話框10.2混合配料監(jiān)控系統(tǒng)(3)按鈕命令語言如下:1)“按日期查詢”按鈕:stringwhen;when="AlarmDate='"+\\local\選擇日期+"'";KV.Where=when;KV.FetchData();KV.FetchEnd();2)“混合罐”按鈕:stringwhen;when="AlarmDate='"+\\local\選擇日期+"'andVarName='混合罐'";KV.Where=when;KV.FetchData();KV.FetchEnd();10.2混合配料監(jiān)控系統(tǒng)3)“半成品罐1”按鈕:stringwhen;when="AlarmDate='"+\\local\選擇日期+"'andVarName='半成品罐1'";KV.Where=when;KV.FetchData();KV.FetchEnd();4)“半成品罐2”按鈕:stringwhen;when="AlarmDate='"+\\local\選擇日期+"'andVarName='半成品罐2'";KV.Where=when;KV.FetchData();KV.FetchEnd();10.2混合配料監(jiān)控系統(tǒng)5)“液位”按鈕:stringwhen;when="AlarmDate='"+\\local\選擇日期+"'andGroupName='液位報警'";KV.Where=when;KV.FetchData();KV.FetchEnd();6)“溫度”按鈕:stringwhen;when="AlarmDate='"+\\local\選擇日期+"'andGroupName='溫度報警'";KV.Where=when;KV.FetchData();KV.FetchEnd();7)“退出”按鈕:ShowPicture("反應車間");10.2混合配料監(jiān)控系統(tǒng)(4)運行結果圖10-31日歷控件運行畫面10.2混合配料監(jiān)控系統(tǒng)(1)新建一個名為“實時數(shù)據(jù)查詢”的畫面,在工具箱中找到報表,并插入報表控件、三個按鈕以及文本,對各個文本進行變量關聯(lián)。按鈕程序如下:10.2.14實時數(shù)據(jù)查詢圖10-32實時數(shù)據(jù)查詢窗口1)“查詢”按鈕:ReportSetHistData2(2,1);2)“打印”按鈕:ReportPrintSetup("Report1");3)“退出”按鈕:ShowPicture("反應車間");(2)點擊“文件”中“切換到view”,進行運行。運行時,點擊“查詢”按鈕,彈出“報表查詢”對話框,在“變量選擇”界面,選擇“從歷史庫中添加”,并添加需要查詢的變量,具體設置如下圖:10.2混合配料監(jiān)控系統(tǒng)(3)運行結果如下:圖10-33實時數(shù)據(jù)查詢結果10.2混合配料監(jiān)控系統(tǒng)(1)新建一個名為“歷史數(shù)據(jù)查詢”的畫面,插入日歷控件MicrosoftDateandTimePickerControl6.0(SP4),再插入一個報表以及按鈕控件。畫面設計如下圖所示:10.2.15歷史數(shù)據(jù)查詢圖10-34歷史數(shù)據(jù)查詢畫面10.2混合配料監(jiān)控系統(tǒng)(2)雙擊日歷控件將控件名改為ADate,確定、全部存之后,雙擊日歷控件,雙擊CloseUp對應的關聯(lián)函數(shù),進入到畫面控件事件函數(shù)對話框:編寫程序:floatAyear;floatAmonth;floatAday;longx;longy;longRow;longStartTime;stringtemp;Ayear=ADate.Year;Amonth=ADate.Month;Aday=ADate.Day;temp=StrFromInt(Ayear,10);if(Amonth<10) temp=temp+"-0"+StrFromInt(Amonth,10);else temp=temp+"-"+StrFromInt(Amonth,10);if(Aday<10) temp=temp+"-0"+StrFromInt(Aday,10);elsetemp=temp+"-"+StrFromInt(Aday,10);\\local\查詢日期=temp;ReportSetCellString2("Report2",4,1,51,6,"");ReportSetCellString("Report2",2,2,temp);StartTime=HTConvertTime(Ayear,Amonth,Aday,0,0,0);ReportSetHistData("Report2","\\local\混合罐",StartTime,1800,"B4:B51");ReportSetHistData("Report2","\\local\半成品罐1",StartTime,1800,"C4:C51");ReportSetHistData("Report2","\\local\半成品罐2",StartTime,1800,"D4:D51");ReportSetHistData("Report2","\\local\溫度",StartTime,1800,"E4:E51");x=0;while(x<48){ row=4+x; y=StartTime+x*1800; temp=StrFromTime(y,2); ReportSetCellString("Report2",row,1,temp); x=x+1;}10.2混合配料監(jiān)控系統(tǒng)(4)運行結果圖10-35歷史數(shù)據(jù)查詢結果10.3小區(qū)照明系統(tǒng)實例

某小區(qū)的住宅樓區(qū)域分為住宅區(qū),臨街商鋪分為商鋪區(qū),地下車庫單獨為一個區(qū)域,小花園、中心廣場、體育場及地面停車場分為同一個區(qū)域,均為地面照明區(qū)域。根據(jù)早晚、深夜、白晝時間段自動開啟照明系統(tǒng);可以手動啟動和關閉燈;需要顯示路燈開關狀態(tài)、用電量、關鍵點照度實時數(shù)據(jù);顯示趨勢曲線,包括分區(qū)電量、關鍵點的照度;設計日、月報表,匯總電量、關鍵點的照度等數(shù)據(jù)。為了使工程畫面形象逼真,需在畫面中添加一些圖片,圖片格式保存為“.Png”格式。10.3小區(qū)照明系統(tǒng)實例(1)新建畫面“小區(qū)外景”。在工具箱中點擊“點位圖”控件,拖動鼠標在畫面中畫出一個矩形框,選中矩形框,點擊鼠標右鍵,選擇“從文件中加載”選項,選擇需要加載的背景圖片。(2)在工具箱中點擊“按鈕”控件創(chuàng)建畫面切換按鈕:進入小區(qū)、商鋪、小區(qū)用電情況,并設置“彈起時”的命令語言:1)“進入小區(qū)”按鈕:ShowPicture("小區(qū)內景");2)“商鋪”按鈕:ShowPicture("商鋪場景");3)“小區(qū)用電情況”按鈕:ShowPicture("小區(qū)用電情況");10.3.1小區(qū)外景圖10-36小區(qū)外景10.3小區(qū)照明系統(tǒng)實例新建畫面“小區(qū)內景”,添加畫面背景圖片,在畫面中添加按鈕,設置“彈起時”命令:1)“住宅區(qū)”按鈕:ShowPicture("住宅區(qū)");2)“地下車庫”按鈕:ShowPicture("地下車庫");3)“小花園”、“中心廣場”、“地上停車場與體育場”按鈕:ShowPicture("地面照明區(qū)域");4)“小區(qū)外景”按鈕:ShowPicture("小區(qū)外景");5)“小區(qū)用電情況”按鈕:ShowPicture("小區(qū)用電情況");10.3.2小區(qū)內景圖10-37小區(qū)外景10.3小區(qū)照明系統(tǒng)實例“住宅區(qū)”需要實現(xiàn)的功能有:住宅區(qū)照明手動總控、用電量實時監(jiān)控、用電量實時報表、住戶電費查詢。(1)在新建變量窗口中點擊“連接設備”按鈕,彈出“設備管理”對話框,點擊“新建”按鈕,彈出“設備配置向導”對話框,選擇“設備驅動—PLC—亞控—仿真PLC—COM”,點擊“下一步”,為設備命名“PLC1”,點擊“下一步”,選擇串口號“COM1”,點擊“下一步”,填寫地址“50”,點擊“下一步”,根據(jù)需要填寫恢復間隔時間,填寫“34”秒和“24”小時,點擊“下一步”,完成設備配置。具體變量如表10-4所示:10.3.3住宅區(qū)10.3小區(qū)照明系統(tǒng)實例10.3小區(qū)照明系統(tǒng)實例(2)“住宅區(qū)”畫面,用點位圖控件添加畫面背景圖片和住宅樓圖片:圖10-38住宅區(qū)畫面設計(3)在圖庫中選擇一個開關放在畫面中,此開關作為住宅樓照明的手動控制開關使用。雙擊開關,關聯(lián)變量“\\local\主住宅區(qū)開關”。10.3小區(qū)照明系統(tǒng)實例(4)在工具箱中點擊“圓角矩形”控件按鈕,在畫面中拖動鼠標畫出一個合適大小的矩形方框,用來仿真樓層住戶照明。雙擊矩形方框彈出“動畫連接”對話框,點擊“填充屬性”按鈕彈出“填充屬性連接”對話框,關聯(lián)表達式“\\local\主住宅區(qū)照明”,“刷屬性”內增加“0——藍;1——天藍”,如圖10-39所示:圖10-39填充屬性設置(5)通過“復制”、“粘貼”將小方框添加至住宅樓圖片中,用于仿真住宅樓的住戶。在畫面上點擊鼠標右鍵,選擇“畫面屬性”,編輯畫面命令語言,實現(xiàn)住宅區(qū)的照明的整體控制,“存在時”命令語言如下:if(\\local\主住宅區(qū)開關==1)\\local\主住宅區(qū)照明=1;else\\local\主住宅區(qū)照明=0;10.3小區(qū)照明系統(tǒng)實例(6)在工具箱中點擊“多邊形”按鈕畫出一個菱形,并在菱形中間添加文字表示樓棟數(shù),同時選中文字和菱形點擊鼠標右鍵,選擇“組合拆分—合成組合圖素”,將二者合成為一個圖素,制作1棟、2棟……7棟的樓棟電費查詢按鈕。當需要查詢某棟樓的電費情況時,點擊樓棟按鈕即可跳入電費查詢界面直接查詢。(7)雙擊組合的查詢按鈕“1棟”,在動畫連接中選擇“彈起時”,編輯按鈕命令語言如下,2棟、3棟……7棟的按鈕命令語言只需將數(shù)字“1”改為對應的樓棟數(shù)字即可:\\local\電費查詢="1";ShowPicture("住宅區(qū)用電情況");(8)在工具箱中點擊“按鈕”控件,在畫面中添加畫面切換按鈕,并設置動畫連接“彈起時”的命令語言:1)“小區(qū)外景”按鈕:ShowPicture("小區(qū)外景"); 2)“小區(qū)內景”按鈕:ShowPicture("小區(qū)內景"); 3)“住宅區(qū)用電情況”按鈕:ShowPicture("住宅區(qū)用電情況");10.3小區(qū)照明系統(tǒng)實例(1)“住宅區(qū)用電情況”畫面分為四個部分的功能,分別是照明仿真手動控制、住宅區(qū)電費查詢、住宅樓用電量實時報表、住宅樓用電量監(jiān)控曲線。新建畫面“住宅區(qū)用電情況”,如圖10所示。10.3.4創(chuàng)建“住宅區(qū)用電情況”畫面圖10-40住宅區(qū)用電情況畫面(2)在圖庫中選一個開關放在畫面上,并關聯(lián)表達式“\\local\主住宅區(qū)開關”。利用工具箱中的畫圖工具畫出一個形象的住宅樓,用小方框表示住戶,操作方法同“住宅區(qū)”畫面中的方框一致,方框關聯(lián)變量“\\local\主住宅區(qū)照明”,當開關打開時,方框變成亮色,開關關閉時,方框變成暗色。10.3小區(qū)照明系統(tǒng)實例電費查詢功能是利用KVADODBGird控件實現(xiàn)對電費數(shù)據(jù)庫的查詢處理。在工程文件夾中存在一個“小區(qū)電費.mdb”的Access的數(shù)據(jù)庫。此畫面中需要用到數(shù)據(jù)庫中的數(shù)據(jù)表“住宅區(qū)電費”。數(shù)據(jù)庫查詢的步驟如下:(1)添加DOBC數(shù)據(jù)源:在“用戶DSN”下點擊“添加”,選擇“MicrosoftAccessDriver(*.mdb)”并點擊完成進行下一步設置:數(shù)據(jù)源名為“小區(qū)電費”、點擊“選擇”從工程文件下選中“小區(qū)電費.mdb”,如圖10-41所示,完成后點擊“確定”關閉。10.3.5住宅區(qū)電費查詢圖10-41ODBC數(shù)據(jù)源定義10.3小區(qū)照明系統(tǒng)實例(2)回到“住宅區(qū)用電情況”畫面中,單擊工具箱中的“插入通用控件”按鈕,在對話框的列表中選擇“KVADODBGirdClass”控件,點擊“確定”放到畫面中,雙擊控件,將控件命名為“ZZ”后保存畫面。然后再選中控件,選擇“控件屬性”,彈出控件屬性對話框;在“數(shù)據(jù)源”選項卡中點擊“瀏覽”按鈕,彈出“數(shù)據(jù)鏈接屬性”對話框;選擇“連接”選項卡,在“指定數(shù)據(jù)源”處選擇“使用數(shù)據(jù)源名稱”選項,點擊“刷新”;在下拉列表中選擇數(shù)據(jù)源“小區(qū)電費”,點擊測試連接,顯示測試連接成功后,點擊“確定”完成數(shù)據(jù)源的連接?;氐綄傩詫υ捒?,在表名稱處選擇“住宅區(qū)電費”,將“有效字段”處的字段按照數(shù)據(jù)表中的字段順序依次添加在右側顯示框內,點擊“應用”,再點擊“確定”,如圖10-42所示。設置完成后,有效字段可應用在控件列表中,同時按下鍵盤的“Ctrl”+“Alt”+“O”,可以對控件的行高和列寬進行設置,設置完成后的畫面如圖10-43所示。10.3小區(qū)照明系統(tǒng)實例圖10-42連接數(shù)據(jù)源 圖10-43控件屬性設置10.3小區(qū)照明系統(tǒng)實例(3)對畫面中查詢日期后的文本“##”進行動畫連接,在字符串輸入和字符串輸出處與“\\local\電費查詢”相關聯(lián)。(4)在畫面中插入“電費查詢”按鈕,對控件的記錄進行查詢,“彈起時”的命令語言如下:stringwhe;whe="樓棟號='"+\\local\電費查詢+"'";ZZ.Where=whe;ZZ.FetchData();ZZ.FetchEnd();(5)單擊工具箱中的“報表窗口”,添加一個行數(shù)為7,列數(shù)為4的報表,并按圖10-44設置輸入:圖10-44實時報表設置10.3小區(qū)照明系統(tǒng)實例(6)在畫面上插入“超級XY曲線”控件,命名為“住宅XY”保存畫面;右鍵選中控件,選擇“控件屬性”,彈出“XY屬性”界面,按圖10-45進行設置:圖10-45住宅XY屬性設置10.3小區(qū)照明系統(tǒng)實例(7)在畫面中點擊右鍵,選擇“畫面屬性”,點擊“命令語言”,在“畫面命令語言”界面中選擇“顯示時”,點擊編輯窗口下方的“控件”按鈕,彈出“控件屬性和方法”對話框,在控件名稱處選中“住宅XY”,在“查看類型”處選擇“控件方法”,在“屬性或方法”列表中選擇“ClearAll”,點擊確定;切換到“存在時”編輯畫面,將“每3000毫秒”改為“每1000毫秒”,并添加命令語言如下:if(\\local\主住宅區(qū)開關==1){\\local\主住宅區(qū)照明=1;住宅XY.AddNewPoint(\\local\Day,\\local\住宅1棟,0);住宅XY.AddNewPoint(\\local\Day,\\local\住宅2棟,1);住宅XY.AddNewPoint(\\local\Day,\\local\住宅3棟,2);住宅XY.AddNewPoint(\\local\Day,\\local\住宅4棟,3);住宅XY.AddNewPoint(\\local\Day,\\local\住宅5棟,4);住宅XY.AddNewPoint(\\local\Day,\\local\住宅6棟,5);住宅XY.AddNewPoint(\\local\Day,\\local\住宅7棟,6);}else{\\local\主住宅區(qū)照明=0;住宅XY.AddNewPoint(\\local\Day,0,0);住宅XY.AddNewPoint(\\local\Day,0,1);住宅XY.AddNewPoint(\\local\Day,0,2);住宅XY.AddNewPoint(\\local\Day,0,3);住宅XY.AddNewPoint(\\local\Day,0,4);住宅XY.AddNewPoint(\\local\Day,0,5);住宅XY.AddNewPoint(\\local\Day,0,6);}(8)功能部分設置完畢后保存畫面,添加畫面切換按鈕“小區(qū)內景”和“住宅區(qū)”按鈕。10.3小區(qū)照明系統(tǒng)實例“商鋪場景”畫面用來展示商鋪區(qū)場景,實現(xiàn)光控照明、光照度實時顯示和手動控制照明功能。(1)商鋪用電量曲線中需要I/O變量仿真實現(xiàn)實時的監(jiān)控曲線,因此需新建I/O變量,變量設置如下表10-5所示。10.3.6商鋪場景10.3小區(qū)照明系統(tǒng)實例(2)新建畫面“商鋪場景”并添加背景圖片。如圖10-46所示:圖10-46

商鋪場景畫面(3)在工具箱中選擇畫圖工具畫出路燈的燈桿和一個太陽,并將太陽組合成一個圖素;雙擊“太陽”設置動畫連接“旋轉”:●表達式:\\local\太陽;●最大逆時針方向對應角度0;對應數(shù)值0;●最大順時針方向對應角度100;對應數(shù)值200;●旋轉圓心偏離圖素中心的大小:水平方向250;對應數(shù)值200;10.3小區(qū)照明系統(tǒng)實例(4)從圖庫選擇一個開關,變量關聯(lián)“\\local\主商鋪開關”,選擇一個指示燈放在畫面中的燈桿上,并將所有的指示燈與變量“\\local\主商鋪照明”相關聯(lián)。在圖庫中選擇一個儀表表盤放在畫面上,雙擊儀表彈出“儀表向導”對話框,可對儀表進行設置:圖10-47

儀表設置10.3小區(qū)照明系統(tǒng)實例

(5)編輯畫面命令語言,程序實現(xiàn)的功能是:太陽從左至右旋轉,光照度儀表的指針示數(shù)隨太陽升高而增大,太陽升至最高處時光照度為100,光照度小于30時照明燈點亮,光照度大于30時,指明燈熄滅,開關可以手動控制照明燈的亮滅。命令語言如下:longa;longb;a=\\local\太陽;b=\\local\光照度;if(a!=200){if(a<=100){\\local\太陽=a+5;\\local\光照度=b+5;}if(a>100){\\local\太陽=a+5;\\local\光照度=b-5;}}else{\\local\太陽=0;\\local\光照度=0;}if(\\local\光照度<=30||\\local\主商鋪開關==1)\\local\主商鋪照明=1;else\\local\主商鋪照明=0;

(6)單擊工具箱中的“按鈕”控件,在畫面中添加畫面切換按鈕“小區(qū)外景”、“小區(qū)內景”和“商鋪用電情況”。10.3小區(qū)照明系統(tǒng)實例(1)“商鋪用電情況”功能包括用電量實時曲線和商鋪電費查詢,畫面如圖10-48所示:10.3.7創(chuàng)建“商鋪用電情況”畫面圖10-48

商鋪用電情況畫面 10.3小區(qū)照明系統(tǒng)實例(2)單擊工具箱中的“實時趨勢曲線”控件按鈕,在畫面中畫出一個實時曲線控件,雙擊控件彈出“實時曲線”對話框,具體設置如圖10-49、圖10-50所示:圖10-49

曲線定義設置 圖10-50

表示定義設置 (3)在曲線控件下方插入文字和線條,說明不同曲線顏色所代表的商鋪用電量名稱。10.3小區(qū)照明系統(tǒng)實例(4)在畫面中插入“KVADODBGirdClass”控件,命名為“shop”后保存畫面。右鍵單擊“KVADODBGirdClass”控件,選擇“控件屬性”,彈出控件屬性對話框,在“數(shù)據(jù)源”選項卡中點擊“瀏覽”按鈕,彈出“數(shù)據(jù)鏈接屬性”對話框,選擇“連接”選項卡,在“指定數(shù)據(jù)源”處選擇“使用數(shù)據(jù)源名稱”選項,點擊“刷新”,在下拉列表中選擇數(shù)據(jù)源“小區(qū)電費”,點擊測試連接,顯示測試連接成功,點擊“確定”,完成數(shù)據(jù)源的連接。在表名稱處選擇“商鋪電費”,將“有效字段”處的字段按照數(shù)據(jù)表中的字段順序依次添加在右側顯示框內,點擊“應用”,再點擊“確定”即可完成對控件的配置。(5)商鋪編號后的“##”設置動畫連接,選擇“字符串輸入”和“字符串輸出”,并都關聯(lián)“\\local\商鋪編號”10.3小區(qū)照明系統(tǒng)實例(6)插入“電費查詢”按鈕,對控件的記錄進行查詢,設置動畫連接“彈起時”并添加命令語言:stringwhe;whe="商鋪編號='"+\\local\商鋪編號+"'";shop.Where=whe;shop.FetchData();shop.FetchEnd();(7)單擊工具箱中的“按鈕”控件,在畫面中添加畫面切換按鈕“小區(qū)外景”、“小區(qū)內景”和“商鋪場景”。10.3小區(qū)照明系統(tǒng)實例地下車庫需要實現(xiàn)的功能有:自動節(jié)能照明、位滿提醒。(1)新建8個變量,變量定義如表10-6所示:10.3.8地下車庫10.3小區(qū)照明系統(tǒng)實例(2)地下車庫畫面用來展示地下車庫行車自動照明場景未滿提示功能,新建畫面“地下車庫”,添加畫面背景圖片和小汽車圖片。為了使運行時的畫面形象生動,將小汽車設置為動態(tài)效果,同時幫助實現(xiàn)車來自動照明的效果。地下車庫畫面如下圖10-51所示:圖10-51

地下車庫畫面10.3小區(qū)照明系統(tǒng)實例(3)為第一個小汽車的圖片設置動畫連接“水平移動”和“垂直移動”,表達式都關聯(lián)“\\local\汽車1”,參照設置:1)“水平移動”設置:●移動距離:向左0;向右900;●對應值:最左邊0;最右邊900;2)“垂直移動”設置:●移動距離:向上0;向下60;●對應值:最上邊60;最右邊100;(4)為第二個小汽車的圖片彈出動畫連接“水平移動”和“垂直移動”,表達式都關聯(lián)“\\local\汽車2”,參照設置:1)“水平移動”設置:●移動距離:向左800;向右0;●對應值:最左邊200;最右邊0;10.3小區(qū)照明系統(tǒng)實例2)“垂直移動”設置:●移動距離:向上0;向下180;●對應值:最上邊0;最右邊180;(5)在畫面中畫出一個照明燈,并設置動畫連接“填充屬性”,關聯(lián)表達式“\\local\主地下車庫照明”,“刷屬性”設有“0灰、1白”。完成后復制出另外兩個照明燈。(6)從圖庫中選擇一個開關添加在畫面上,用于復位,雙擊開關,關聯(lián)變量“\\local\主地下車庫開關”。(7)添加文本“##”,勾選“模擬值輸入”和“模擬值輸出”,關聯(lián)變量都為“\\local\車位”。(8)在圖庫中選擇一個文本指示燈,雙擊設置:●變量名:\\local\位滿提示;●指示燈文本:車位已滿;●顏色設置:正常色紅;報警色灰;文本顏色黑;●閃爍條件:\\local\車位=1000;10.3小區(qū)照明系統(tǒng)實例(9)為了實現(xiàn)在汽車行駛過程中,模擬車來時照明燈自動感應點亮,汽車離開時照明燈自動熄滅節(jié)能,按下復位開關,可將畫面狀態(tài)復位,當車位滿1000個時,有“車位已滿”提示語閃爍。需要在畫面屬性中編寫命令語言。在“畫面命令語言”對話框中的“存在時”下編寫下面程序:if(\\local\主地下車庫開關==0){if(\\local\汽車1<=900)\\local\汽車=\\local\汽車1+50;if(\\local\汽車1==700)\\local\主地下車庫照明=1;if(\\local\汽車2<=100){\\local\汽車2=\\local\汽車2+8;if(\\local\汽車2>=15&&\\local\汽車2<=50)\\local\車庫燈1=1;else\\local\車庫燈1=0;if(\\local\汽車2移動>=55)\\local\車庫燈2=1;else\\local\車庫燈2=0;}}else{

\\local\汽車1=0;

\\local\汽車2移動=0;

\\local\主地下車庫照明=0;

\\local\車庫燈1=0;

\\local\車庫燈2=0;}if(\\local\車位==1000)

\\local\位滿提示=1;(10)單擊工具箱中的“按鈕”控件,在畫面中添加畫面切換按鈕“小區(qū)內景”和“小區(qū)用電情況”。10.3小區(qū)照明系統(tǒng)實例地面照明區(qū)域主要實現(xiàn)的功能是自然光控制地面照明燈的亮滅和光照度的實時顯示。(1)新建一個內存離散變量“主地面照明”初始值為“關”。(2)地面照明區(qū)域主要分為中心廣場、小花園、體育場和地面停車場,由于都是由自然光控制照明燈的亮滅,因此畫在一個畫面中來模擬效果。新建畫面“地面照明區(qū)域”并添加畫面背景圖片,如圖10-52所示:10.3.9地面照明區(qū)域圖10-52

地面區(qū)域照明 10.3小區(qū)照明系統(tǒng)實例(3)將太陽組合成一個圖素,并設置“旋轉”動畫連接:●表達式:\\local\太陽;●最大逆時針方向對應角度:0;對應數(shù)值0;●最大順時針方向對應角度:85;對應數(shù)值200;●旋轉圓心偏離圖素中心的大?。核椒较?50;垂直方向270;(4)從開圖庫中選擇一個指示燈,放在畫面中的所有燈桿上,并聯(lián)變量“\\local\主地面照明”。(5)從圖庫中選擇一個儀表表盤放在畫面上,并關聯(lián)變量“\\local\光照度”,設置如圖10-53所示:圖10-53

儀表設置

10.3小區(qū)照明系統(tǒng)實例(6)太陽從左至右旋轉一定的弧度,光照度儀表的指針示數(shù)隨太陽升高而增大,隨太陽下降而減小,當太陽升至最高處時,光照度為100,當光照度小于30時,照明燈點亮,光照度大于30時,指明燈熄滅。編輯畫面命令語言,選擇“存在時”選項卡,將“每3000毫秒”改所需要的時間,命令語言如下:longa;longb;a=\\local\太陽;b=\\local\光照度;if(a!=200){if(a<=100){\\local\太陽=a+5;\\local\光照度=b+5;}if(a>100){\\local\太陽=a+5;\\local\光照度=b-5;}}else{

\\local\太陽=0;

\\local\光照度=0;}if(\\local\光照度<=30)

\\local\主地面照明=1;else

\\local\主地面照明=0;(7)單擊工具箱中的“按鈕”控件,在畫面中添加畫面切換按鈕“小區(qū)內景”、“小區(qū)外景”和“小區(qū)用電情況”。圖10-53儀表設置10.3小區(qū)照明系統(tǒng)實例小區(qū)用電情況需要對小區(qū)各個區(qū)域的用電量進行監(jiān)控,并顯示小區(qū)各個區(qū)域的日報表。(1)新建變量,如表10-7所示:10.3.10小區(qū)用電情況表10-7小區(qū)各區(qū)域用電量I/O變量定義10.3小區(qū)照明系統(tǒng)實例(2)新建“小區(qū)用電情況”畫面,畫面分為四兩個部分的功能,分別是小區(qū)各區(qū)域用電量監(jiān)控曲線和小區(qū)各區(qū)域用電量日報表,畫面如圖10-54所示:圖10-54

小區(qū)用電情況畫面 10.3小區(qū)照明系統(tǒng)實例(3)創(chuàng)建超級XY控件,將控件命名為:XQ,保存畫面。雙擊控件,選中“X軸標題”并設置為“時間”,最大值為100,最小值設為0。在Y軸信息區(qū)域中,首先設置YAxis0,選中“顯示Y軸”,將Y軸標題設為“住宅”,最大值為3000,最小值為0,在曲線畫圖區(qū)水平位置選擇“左邊”,并設置其為畫圖區(qū)邊界的第0條縱軸。按照同樣的方法在YAxis1,YAxis2、YAxis3處設置Y軸標題為“商鋪”、“車庫”、“地面”,商鋪最大值為2000,最小值為0,車庫和住宅的最大值均為1000,最小值為0,。將住宅和商鋪設為畫圖區(qū)的左邊,分別再畫圖區(qū)邊界的第0、1條縱軸,將車庫和地面設為畫圖區(qū)的右邊,分別再畫圖區(qū)邊界的第2、3條縱軸,如圖10-55所示:10.3小區(qū)照明系統(tǒng)實例圖10-55

XQ控件坐標軸設置 10.3小區(qū)照明系統(tǒng)實例點擊更新Y軸信息,在曲線界面中,將4條坐標軸選擇不同的線性樣式,點擊“應用”,再點擊“確定”,XQ控件屬性設置完成,保存畫面。如圖10-55所示。(4)在“畫面命令語言”界面中選擇“顯示時”,點擊編輯窗口下方的“控件”按鈕,彈出“控件屬性和方法”對話框,在控件名稱處選中“XQ”,在“查看類型”處選擇“控件方法”,在“屬性或方法”列表中選擇“ClearAll”,點擊“確定”,“顯示時”命令語言:ClearAll();切換到“存在時”編輯畫面,將“每3000毫秒”改為“每1000毫秒”,通過上述方法調用“AddNewPoint”函數(shù),命令語言如下:XQ.AddNewPoint(\\local\時間,\\local\住宅區(qū)用電量,0);XQ.AddNewPoint(\\local\時間,\\local\商鋪總用電量,1);XQ.AddNewPoint(\\local\時間,\\local\地下車庫用電量,2);XQ.AddNewPoint(\\local\時間,\\local\地面照明用電量,3);10.3小區(qū)照明系統(tǒng)實例(5)日報表主要是用來記錄小區(qū)各區(qū)域的用電量,報表每半個小時記錄一次數(shù)據(jù),能夠對各區(qū)域用電量數(shù)據(jù)更好地進行監(jiān)控。在畫面中添加“報表窗口”,報表名稱為“Report2”,行數(shù)為27,列數(shù)為6。根據(jù)需求對報表進行編輯,F(xiàn)列表示小區(qū)某一時間的總用電量,需要用到Sum函數(shù),在F列單元格中輸入“=Sum(‘B#’,’C#’,’D#’,’E#’)”,其中,“#”代表行數(shù),所建立的報表窗口如圖10-56所示:圖10-56

報表窗口10.3小區(qū)照明系統(tǒng)實例(6)日報表中對歷史數(shù)據(jù)的記錄是根據(jù)日歷中的日期進行查詢的,在畫面中插入“MicrosoftDateandTimePickerControl”日歷控件,控件命名為“DATE”,點擊“確定”,保存畫面。再次雙擊日歷控件,選中“事件”選項卡,點擊列表中的“CloseUp”事件,彈出“控件事件函數(shù)”窗口,在“函數(shù)聲明”中將此函數(shù)命名為“CloseUp()”,在編輯窗口內編寫程序:floatAyea

溫馨提示

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

評論

0/150

提交評論