《工業(yè)組態(tài)軟件應(yīng)用技術(shù)-組態(tài)王7.5》 課件 項(xiàng)目7、8 自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)、水箱水位組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)_第1頁(yè)
《工業(yè)組態(tài)軟件應(yīng)用技術(shù)-組態(tài)王7.5》 課件 項(xiàng)目7、8 自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)、水箱水位組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)_第2頁(yè)
《工業(yè)組態(tài)軟件應(yīng)用技術(shù)-組態(tài)王7.5》 課件 項(xiàng)目7、8 自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)、水箱水位組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)_第3頁(yè)
《工業(yè)組態(tài)軟件應(yīng)用技術(shù)-組態(tài)王7.5》 課件 項(xiàng)目7、8 自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)、水箱水位組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)_第4頁(yè)
《工業(yè)組態(tài)軟件應(yīng)用技術(shù)-組態(tài)王7.5》 課件 項(xiàng)目7、8 自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)、水箱水位組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩87頁(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)介

項(xiàng)目七自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)331任務(wù)2自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)配方管理任務(wù)1自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)界面創(chuàng)建設(shè)計(jì)任務(wù)3自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)實(shí)時(shí)數(shù)據(jù)報(bào)表創(chuàng)建任務(wù)1自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)界面創(chuàng)建設(shè)計(jì)333學(xué)習(xí)目標(biāo)1.進(jìn)一步掌握組態(tài)王軟件的應(yīng)用方法與技巧。2.能完成自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)界面的創(chuàng)建設(shè)計(jì)。334任務(wù)引入創(chuàng)建如圖所示的自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)。具體控制要求如下:335自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)a)主窗口b)配方窗口c)系統(tǒng)報(bào)表窗口具體控制要求如下:1.單擊窗口選擇按鈕,打開對(duì)應(yīng)窗口。2.手動(dòng)操作時(shí),單擊料A~料E電磁閥對(duì)象,相應(yīng)電磁閥工作,相連管道顯示流體動(dòng)畫效果。單擊攪拌電動(dòng)機(jī)、皮帶電動(dòng)機(jī)對(duì)象,相應(yīng)電動(dòng)機(jī)運(yùn)行。3.自動(dòng)操作時(shí),首先設(shè)置料A~料E的配方值和攪拌時(shí)間(模擬設(shè)置PLC定時(shí)器的設(shè)定值)。單周期運(yùn)行時(shí),單擊“運(yùn)行”按鈕,系統(tǒng)自動(dòng)按添加料A~料E→攪拌電動(dòng)機(jī)工作→傳送帶電動(dòng)機(jī)工作→添加料A~料E的工序運(yùn)行一個(gè)周期后停止。連續(xù)運(yùn)行時(shí),單擊“運(yùn)行”按鈕,按上述工序循環(huán)運(yùn)行。單擊“停止”按鈕,系統(tǒng)立即停止運(yùn)行。336任務(wù)2自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)配方管理337學(xué)習(xí)目標(biāo)1.了解配方管理的工作原理。2.掌握配方的定義方法。3.掌握配方命令語(yǔ)言函數(shù)的功能及用法。4.能完成自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)的配方管理。338任務(wù)引入創(chuàng)建如圖所示的自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)的配方窗口,要求使用組態(tài)王的配方管理功能,實(shí)現(xiàn)配料系統(tǒng)的配方設(shè)置與管理。由于實(shí)際工業(yè)生產(chǎn)中自動(dòng)配料系統(tǒng)的配料量一般由稱重、流量等傳感器進(jìn)行檢測(cè),考慮到可操作性,本任務(wù)中配料量由定時(shí)器定時(shí)時(shí)間模擬代替。339配方窗口相關(guān)知識(shí)一、配方管理的工作原理在工業(yè)生產(chǎn)過(guò)程中,配方用來(lái)描述生產(chǎn)一件產(chǎn)品所用的不同配料之間的比例關(guān)系,配方是生產(chǎn)過(guò)程中一些變量對(duì)應(yīng)的參數(shù)設(shè)定值的集合。組態(tài)王的配方管理功能能夠提高生產(chǎn)效率。當(dāng)生產(chǎn)過(guò)程中需要大規(guī)模地控制變量參數(shù)時(shí),如果一個(gè)接一個(gè)地設(shè)置這些變量參數(shù)就會(huì)影響生產(chǎn)進(jìn)度,而配方管理功能可以一次設(shè)置大量的控制變量參數(shù),滿足生產(chǎn)過(guò)程的需要。340組態(tài)王提供的配方管理功能由配方管理器和配方函數(shù)集兩部分組成。配方管理器用于創(chuàng)建和維護(hù)配方模板文件,配方函數(shù)允許組態(tài)王運(yùn)行過(guò)程中對(duì)配方模板文件中的各種配方進(jìn)行選擇、修改、創(chuàng)建、刪除等操作。所有配方都在配方模板文件(后綴為“.csv”)中定義和存儲(chǔ),配方模板文件是通過(guò)配方定義模板產(chǎn)生的。配方定義模板用于定義配方中的配料名、數(shù)據(jù)類型、關(guān)聯(lián)變量和配方名。配方定義模板的結(jié)構(gòu)見下表。341342配方定義模板的結(jié)構(gòu)配方模板文件中的配方定義模板設(shè)置完成后,組態(tài)王運(yùn)行過(guò)程中就可以通過(guò)配方函數(shù)對(duì)配方進(jìn)行調(diào)入、修改等操作,其工作原理示意圖如圖所示。343配方工作原理示意圖配方分配的功能由配方函數(shù)來(lái)完成,通過(guò)配方函數(shù)將指定配方傳遞到相應(yīng)的變量中。當(dāng)調(diào)用配方1時(shí),則配方1的數(shù)據(jù)值11、12、13、14、1N分別對(duì)應(yīng)地傳送給變量1、變量2、變量3、變量4、變量N;同理,當(dāng)調(diào)用配方M時(shí),將配方M的數(shù)據(jù)值傳送給變量1、變量2、變量3、變量4、變量N。344二、配方的定義“配方編輯器”對(duì)話框如圖所示。配方定義窗口中第一行的前三列是不可操作的,即不能在這些單元格中輸入任何內(nèi)容。345“配方編輯器”對(duì)話框【配方組名稱】:同一工程中配方組名不能重復(fù)。只能由中英文、數(shù)字和下劃線組成,且不能以數(shù)字開頭;不得出現(xiàn)特殊字符;區(qū)分大小寫;長(zhǎng)度不能超過(guò)128個(gè)字符。最多允許64個(gè)配方組?!九浞浇M描述】:用于輸入配方組的描述信息??梢詾榭?,長(zhǎng)度不能超過(guò)256個(gè)字符?!九浞蕉x表】:“成分名稱”列單元格用于各配方中各成分的命名,命名規(guī)則同配方組名稱,不得超過(guò)16個(gè)字符。“關(guān)聯(lián)變量”列單元格用于各配方中“配方項(xiàng)”對(duì)應(yīng)變量的關(guān)聯(lián)連接(不允許手動(dòng)輸入變量名、變量類型)。346【行/列設(shè)置】:用于彈出圖所示的“模板設(shè)置”對(duì)話框,設(shè)定成分?jǐn)?shù)量和配方數(shù)量?!驹黾禹?xiàng)】:在已有配方項(xiàng)下增加一行?!緞h除項(xiàng)】:刪除選中的配方項(xiàng)行,如果只有一行則不能刪除?!驹黾优浞健浚涸谝延信浞接覀?cè)增加一列。347“模板設(shè)置”對(duì)話框【刪除配方】:刪除選中的配方列,如果只有一列則不能刪除。【向上】:將選中的配方項(xiàng)向上移動(dòng)一行,如果已經(jīng)選中第一行或只有一行則移動(dòng)失敗?!鞠蛳隆浚簩⑦x中的配方項(xiàng)向下移動(dòng)一行,如果已經(jīng)選中最后一行或只有一行則移動(dòng)失敗?!鞠蜃蟆浚簩⑦x中的配方向左移動(dòng)一行,如果已經(jīng)選中第一列則移動(dòng)失敗?!鞠蛴摇浚簩⑦x中的配方向右移動(dòng)一行,如果已經(jīng)選中最后一列則移動(dòng)失敗。348三、配方命令語(yǔ)言函數(shù)配方管理功能是通過(guò)配方命令語(yǔ)言函數(shù)實(shí)現(xiàn)的??赏ㄟ^(guò)建立操作按鈕或在命令語(yǔ)言中使用配方函數(shù)來(lái)實(shí)現(xiàn)配方的調(diào)用。1.RecipesAdd此函數(shù)的功能為打開“配方編輯器”對(duì)話框,語(yǔ)法格式如下:RecipesAdd(Esig);參數(shù)Esig指電子簽名類型。Esig=0,表示無(wú)簽名;Esig=1,表示操作簽名;Esig=2,表示操作和校驗(yàn)簽名。3492.RecipesEdit此函數(shù)的功能為打開指定組的“配方編輯器”對(duì)話框,進(jìn)行配方組的編輯,語(yǔ)法格式如下:RecipesEdit("RecipesName",Esig);參數(shù)RecipesName指配方組名稱。3503.RecipesDelete此函數(shù)的功能是刪除指定配方組,語(yǔ)法格式如下:RecipesDelete(Esig)。4.RecipeDownload此函數(shù)的功能為將指定配方組中的指定配方的數(shù)據(jù)賦值給對(duì)應(yīng)的變量,語(yǔ)法格式如下:RecipeDownload("RecipesName","RecipeName");參數(shù)RecipesName指配方組的名稱,RecipeName指配方的名稱。3515.RecipeStore此函數(shù)的功能為將變量的數(shù)據(jù)保存到指定的配方中,語(yǔ)法格式如下:RecipeStore("RecipesName","RecipeName")。6.RecipeManages此函數(shù)的功能為打開配方管理界面,語(yǔ)法格式如下:RecipeManages(Esig)。3527.RecipesExport此函數(shù)的功能是導(dǎo)出所有配方,語(yǔ)法格式如下:RecipesExport("recipes_csv_name",Esig);參數(shù)"recipes_csv_name"指配方要保存的完整路徑和文件名稱,文件后綴為“.csv”。8.RecipesImport此函數(shù)的功能是導(dǎo)入CSV文件中的配方,語(yǔ)法格式如下:RecipesImport("recipes_csv_name",Esig)。353任務(wù)3自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)實(shí)時(shí)數(shù)據(jù)報(bào)表創(chuàng)建354學(xué)習(xí)目標(biāo)1.了解數(shù)據(jù)報(bào)表的功能和報(bào)表工具箱中各按鈕的作用。2.掌握?qǐng)?bào)表函數(shù)的使用方法。3.了解實(shí)時(shí)數(shù)據(jù)報(bào)表中顯示變量實(shí)時(shí)數(shù)據(jù)的方法。4.能完成自動(dòng)配料監(jiān)控系統(tǒng)實(shí)時(shí)數(shù)據(jù)報(bào)表的創(chuàng)建。355任務(wù)引入工業(yè)生產(chǎn)中常需要查閱能夠反映生產(chǎn)過(guò)程的一些數(shù)據(jù)、狀態(tài)等,組態(tài)王專門提供了數(shù)據(jù)報(bào)表功能,用以實(shí)現(xiàn)各種數(shù)據(jù)的統(tǒng)計(jì)。創(chuàng)建如圖所示的自動(dòng)配料組態(tài)監(jiān)控系統(tǒng)數(shù)據(jù)報(bào)表窗口,使用組態(tài)王的數(shù)據(jù)報(bào)表功能查詢相關(guān)數(shù)據(jù),并進(jìn)行報(bào)表的保存、打印等操作。356數(shù)據(jù)報(bào)表窗口相關(guān)知識(shí)一、數(shù)據(jù)報(bào)表數(shù)據(jù)報(bào)表是對(duì)數(shù)據(jù)進(jìn)行記錄的一種重要形式,它既能反映系統(tǒng)實(shí)時(shí)的生產(chǎn)情況,也能對(duì)長(zhǎng)期的生產(chǎn)過(guò)程進(jìn)行統(tǒng)計(jì)、分析,使管理人員能夠掌握和分析生產(chǎn)情況。組態(tài)王提供內(nèi)嵌式報(bào)表系統(tǒng),可以任意設(shè)置報(bào)表格式并對(duì)報(bào)表進(jìn)行組態(tài)。此外,組態(tài)王還提供了豐富的報(bào)表函數(shù),能夠?qū)崿F(xiàn)各種運(yùn)算、數(shù)據(jù)轉(zhuǎn)換、統(tǒng)計(jì)分析、報(bào)表打印等。既可以制作實(shí)時(shí)報(bào)表,也可以制作歷史報(bào)表,還可以制作各種報(bào)表模板,實(shí)現(xiàn)多次使用。357二、報(bào)表工具箱報(bào)表的組態(tài)包括設(shè)置報(bào)表格式、編輯表格內(nèi)容等,這些操作需通過(guò)報(bào)表工具箱中的工具或右擊表格打開的快捷菜單來(lái)實(shí)現(xiàn),如圖所示。報(bào)表工具箱中各常用按鈕的含義與MicrosoftOffice辦公軟件中按鈕的含義類似。358報(bào)表工具箱和快捷菜單1.頁(yè)面設(shè)置單擊“

”,彈出“頁(yè)面設(shè)置”對(duì)話框,如圖所示,用戶可以設(shè)置紙張大小、紙張來(lái)源、紙張方向、頁(yè)邊距等,還可以設(shè)置報(bào)表的頁(yè)眉、頁(yè)腳內(nèi)容。359“頁(yè)面設(shè)置”對(duì)話框2.報(bào)表打印預(yù)覽單擊“

”,可以在開發(fā)系統(tǒng)中對(duì)設(shè)計(jì)好的報(bào)表進(jìn)行打印預(yù)覽,查看打印后的效果。進(jìn)行打印預(yù)覽時(shí),系統(tǒng)會(huì)自動(dòng)隱藏組態(tài)王的開發(fā)系統(tǒng)和運(yùn)行系統(tǒng)。3.打印單擊“

”,彈出“打印”對(duì)話框,可以在開發(fā)環(huán)境中打印當(dāng)前設(shè)計(jì)的報(bào)表。在運(yùn)行環(huán)境中打印可以使用報(bào)表打印函數(shù)ReportPrint2()。3604.設(shè)置單元格格式單擊“

”,彈出“設(shè)置單元格格式”對(duì)話框,可以設(shè)置單元格的格式,如數(shù)字格式、字體、對(duì)齊方式、單元格邊框樣式、單元格圖案等。5.取消單擊“

”,取消上次對(duì)報(bào)表單元格的輸入操作。6.輸入單擊“

”,將報(bào)表文本編輯框中的內(nèi)容輸入當(dāng)前選中的單元格中。當(dāng)用戶選中一個(gè)已經(jīng)有內(nèi)容的單元格時(shí),單元格中的內(nèi)容會(huì)自動(dòng)顯示在報(bào)表文本編輯框中。3617.插入組態(tài)王變量單擊“

”,彈出“組態(tài)王變量選擇”對(duì)話框。例如,要在報(bào)表單元格中顯示“$時(shí)間”變量的值,首先要在報(bào)表文本編輯框中輸入“=”,然后單擊該按鈕,在彈出的對(duì)話框中選擇“$時(shí)間”,單擊“確定”,報(bào)表文本編輯框中的內(nèi)容變?yōu)椤?$時(shí)間”,單擊“輸入”,則該表達(dá)式被輸入當(dāng)前選中單元格中。系統(tǒng)運(yùn)行時(shí),該單元格的顯示值會(huì)隨變量的變化隨時(shí)自動(dòng)刷新。3628.插入報(bào)表函數(shù)單擊“

”,彈出如圖所示的報(bào)表內(nèi)部的“函數(shù)選擇”對(duì)話框,選擇所需的報(bào)表函數(shù)后單擊“確定”即可。363“函數(shù)選擇”對(duì)話框三、報(bào)表函數(shù)報(bào)表單元格中數(shù)據(jù)的計(jì)算、報(bào)表的操作等都是通過(guò)組態(tài)王提供的一整套報(bào)表函數(shù)實(shí)現(xiàn)的。報(bào)表函數(shù)分為報(bào)表內(nèi)部函數(shù)、報(bào)表單元格操作函數(shù)、報(bào)表存取函數(shù)、報(bào)表歷史數(shù)據(jù)查詢函數(shù)、報(bào)表統(tǒng)計(jì)函數(shù)、報(bào)表打印類函數(shù)等。3641.報(bào)表內(nèi)部函數(shù)報(bào)表內(nèi)部函數(shù)是指只能在報(bào)表單元格內(nèi)使用的函數(shù)(特殊標(biāo)明情況除外),包括數(shù)學(xué)函數(shù)、字符串函數(shù)、統(tǒng)計(jì)函數(shù)等。報(bào)表內(nèi)部函數(shù)幾乎全部來(lái)自組態(tài)王的系統(tǒng)函數(shù),使用方法相同,只是函數(shù)中的參數(shù)發(fā)生了變化,減少了用戶的學(xué)習(xí)量,方便學(xué)習(xí)和使用。組態(tài)王的報(bào)表函數(shù)和用報(bào)表單元格作為參數(shù)的函數(shù),其參數(shù)的引用均使用這種方法。當(dāng)參數(shù)為多個(gè)單元格時(shí):365(1)如果是任選多個(gè)單元格,則表達(dá)方法為用逗號(hào)將各個(gè)單元格的標(biāo)識(shí)分隔。(2)如果選擇連續(xù)的多個(gè)單元格,可以輸入第一個(gè)單元格標(biāo)識(shí)和最后一個(gè)單元格標(biāo)識(shí),中間用冒號(hào)分隔。(3)報(bào)表內(nèi)部函數(shù)中的單元格參數(shù)可以使用組態(tài)王變量代替,即報(bào)表支持的組態(tài)王系統(tǒng)函數(shù)可以直接在報(bào)表中使用。(4)無(wú)論合并單元格中的數(shù)值對(duì)齊方式如何,當(dāng)進(jìn)行函數(shù)運(yùn)算時(shí),合并單元格中的數(shù)值都將被置于左上角。3662.單元格操作函數(shù)運(yùn)行系統(tǒng)中,報(bào)表單元格是不允許直接輸入的,因此要使用單元格操作函數(shù)。單元格操作函數(shù)是指可以通過(guò)命令語(yǔ)言對(duì)報(bào)表單元格的內(nèi)容進(jìn)行操作,或從單元格獲取數(shù)據(jù)的函數(shù)。單元格操作函數(shù)大多只能用在命令語(yǔ)言中。(1)設(shè)置單個(gè)單元格數(shù)值LongnRet=ReportSetCellValue(StringszRptName,longnRow,longnCol,floatfValue)函數(shù)功能:將指定報(bào)表的指定單元格設(shè)置為給定值。367返回值:整型。0———成功

1———行列數(shù)小于等于0

2———報(bào)表名稱錯(cuò)誤

3———設(shè)置值失敗參數(shù)說(shuō)明:szRptName為報(bào)表名稱,Row為要設(shè)置數(shù)值在報(bào)表中的行號(hào)(可用變量代替),Col為要設(shè)置數(shù)值在報(bào)表中的列號(hào)(可用變量代替),Value為要設(shè)置的數(shù)值。368(2)設(shè)置單個(gè)單元格文本LongnRet=ReportSetCellString(StringszRptName,longnRow,longnCol,StringszValue)函數(shù)功能:將指定報(bào)表的指定單元格設(shè)置為給定字符串。返回值:整型。0———成功

1———行列數(shù)小于等于0

2———報(bào)表名稱錯(cuò)誤

3———設(shè)置文本失敗參數(shù)說(shuō)明:Row為要設(shè)置數(shù)值在報(bào)表中的行號(hào)(可用變量代替),Col為要設(shè)置數(shù)值在報(bào)表中的列號(hào)(可用變量代替),Value為要設(shè)置的文本。369(3)設(shè)置多個(gè)單元格數(shù)值LongnRet=ReportSetCellValue2(StringszRptName,longnStartRow,longnStartCol,longnEndRow,longnEndCol,floatfValue)函數(shù)功能:將指定報(bào)表的指定單元格區(qū)域設(shè)置為給定值。返回值:整型。0———成功

1———行列數(shù)小于等于0

2———報(bào)表名稱錯(cuò)誤

3———設(shè)置值失敗370參數(shù)說(shuō)明:StartRow為要設(shè)置數(shù)值在報(bào)表中的開始行號(hào)(可用變量代替),StartCol為要設(shè)置數(shù)值在報(bào)表中的開始列號(hào)(可用變量代替),EndRow為要設(shè)置數(shù)值在報(bào)表中的結(jié)束行號(hào)(可用變量代替),EndCol為要設(shè)置數(shù)值在報(bào)表中的結(jié)束列號(hào)(可用變量代替),Value為要設(shè)置的數(shù)值。371(4)設(shè)置多個(gè)單元格文本LongnRet=ReportSetCellString2(StringszRptName,longnStartRow,longnStartCol,longnEndRow,longnEndCol,StringszValue)函數(shù)功能:將指定報(bào)表的指定單元格區(qū)域設(shè)置為給定字符串。返回值:整型。0———成功

1———行列數(shù)小于等于0

2———報(bào)表名稱錯(cuò)誤

3———設(shè)置文本失敗372參數(shù)說(shuō)明:StartRow為要設(shè)置數(shù)值在報(bào)表中的開始行號(hào)(可用變量代替),StartCol為要設(shè)置數(shù)值在報(bào)表中的開始列號(hào)(可用變量代替),EndRow為要設(shè)置數(shù)值在報(bào)表中的結(jié)束行號(hào)(可用變量代替),EndCol為要設(shè)置數(shù)值在報(bào)表中的結(jié)束列號(hào)(可用變量代替),Value為要設(shè)置的文本。373(5)獲取單個(gè)單元格數(shù)值floatfValue=ReportGetCellValue(StringszRptName,longnRow,longnCol)函數(shù)功能:獲取指定報(bào)表的指定單元格的數(shù)值。返回值:實(shí)型。參數(shù)說(shuō)明:Row為要獲取數(shù)據(jù)在報(bào)表中的行號(hào)(可用變量代替),Col為要獲取數(shù)據(jù)在報(bào)表中的列號(hào)(可用變量代替)。374(6)獲取單個(gè)單元格文本StringszValue=ReportGetCellString(StringszRptName,longnRow,longnCol)函數(shù)功能:獲取指定報(bào)表的指定單元格的文本。返回值:字符串型。參數(shù)說(shuō)明:Row為要獲取文本在報(bào)表中的行號(hào)(可用變量代替),Col為要獲取文本在報(bào)表中的列號(hào)(可用變量代替)。375(7)獲取報(bào)表的行數(shù)LongnRows=ReportGetRows(StringszRptName)函數(shù)功能:獲取指定報(bào)表的行數(shù)。(8)獲取報(bào)表的列數(shù)LongnCols=ReportGetColumns(StringszRptName)函數(shù)功能:獲取指定報(bào)表的列數(shù)。376(9)設(shè)置報(bào)表的行數(shù)ReportSetRows(StringszRptName,longRowNum)函數(shù)功能:設(shè)置指定報(bào)表的行數(shù)。參數(shù)說(shuō)明:RowNum為要設(shè)置的行數(shù)。(10)設(shè)置報(bào)表列數(shù)ReportSetColumns(StringszRptName,longColumnNum)函數(shù)功能:設(shè)置指定報(bào)表的列數(shù)。參數(shù)說(shuō)明:ColumnNum為要設(shè)置的列數(shù)。3773.報(bào)表存取函數(shù)報(bào)表存取函數(shù)主要用于存儲(chǔ)指定報(bào)表和讀取已存儲(chǔ)的報(bào)表,用戶可利用報(bào)表存取函數(shù)保存和查閱歷史數(shù)據(jù)。(1)存儲(chǔ)報(bào)表LongnRet=ReportSaveAs(StringszRptName,StringszFileName)函數(shù)功能:將指定報(bào)表按照給定的文件名存儲(chǔ)到指定目錄下,ReportSaveAs支持將報(bào)表文件保存為rtl、xls和csv格式。參數(shù)說(shuō)明:szFileName為存儲(chǔ)路徑和文件名稱。返回值:0———成功,其他值———失敗。378(2)讀取報(bào)表LongnRet=ReportLoad(StringszRptName,StringszFileName)函數(shù)功能:將指定路徑中的報(bào)表讀取到當(dāng)前報(bào)表中。ReportLoad支持讀取rtl格式的報(bào)表文件。參數(shù)說(shuō)明:szFileName為報(bào)表存儲(chǔ)路徑和文件名稱。返回值:0———成功,其他值———失敗。3794.報(bào)表統(tǒng)計(jì)函數(shù)(1)Average函數(shù)功能:對(duì)指定區(qū)域內(nèi)的單元格進(jìn)行求平均值運(yùn)算,結(jié)果顯示在當(dāng)前單元格內(nèi)。使用格式:=Average('單元格區(qū)域')(2)Sum函數(shù)功能:對(duì)指定區(qū)域內(nèi)的單元格進(jìn)行求和運(yùn)算,結(jié)果顯示在當(dāng)前單元格內(nèi)。單元格區(qū)域內(nèi)出現(xiàn)空字符、字符串等都不會(huì)影響求和。使用格式:=Sum('單元格區(qū)域')3805.報(bào)表打印類函數(shù)(1)報(bào)表打印函數(shù)報(bào)表打印函數(shù)有兩種使用方法,一種是執(zhí)行函數(shù)時(shí)自動(dòng)彈出“打印屬性”對(duì)話框,用戶選擇并確定后再進(jìn)行打?。涣硪环N是執(zhí)行函數(shù)后,按照默認(rèn)的設(shè)置直接輸出打印,不彈出“打印屬性”對(duì)話框,適用于報(bào)表的自動(dòng)打印。381報(bào)表打印函數(shù)原型:ReportPrint2(StringszRptName);或ReportPrint2(StringszRptName,EV_LONG|EV_ANALOG|EV_DISC);函數(shù)功能:將指定的報(bào)表輸出到打印配置中指定的打印機(jī)上打印。參數(shù)說(shuō)明:EV_LONG|EV_ANALOG|EV_DISC為整型、實(shí)型或離散型的參數(shù)。當(dāng)該參數(shù)不為0時(shí),自動(dòng)打印,不彈出“打印屬性”對(duì)話框;當(dāng)該參數(shù)為0時(shí),彈出“打印屬性”對(duì)話框。382(2)報(bào)表頁(yè)面設(shè)置函數(shù)在開發(fā)系統(tǒng)中,可以通過(guò)報(bào)表工具箱對(duì)報(bào)表進(jìn)行頁(yè)面設(shè)置,在運(yùn)行系統(tǒng)中則需要通過(guò)調(diào)用頁(yè)面設(shè)置函數(shù)來(lái)完成。頁(yè)面設(shè)置函數(shù)原型:ReportPageSetup(ReportName);函數(shù)功能:設(shè)置報(bào)表頁(yè)面屬性,如紙張大小、打印方向、頁(yè)眉頁(yè)腳等。執(zhí)行該函數(shù)后,會(huì)彈出“頁(yè)面設(shè)置”對(duì)話框。383(3)報(bào)表打印預(yù)覽函數(shù)在運(yùn)行系統(tǒng)中,頁(yè)面設(shè)置完成后可以使用報(bào)表打印預(yù)覽函數(shù)查看打印后的效果。執(zhí)行打印預(yù)覽時(shí),系統(tǒng)會(huì)自動(dòng)隱藏組態(tài)王的開發(fā)系統(tǒng)和運(yùn)行系統(tǒng)窗口,結(jié)束預(yù)覽后恢復(fù)。報(bào)表打印預(yù)覽函數(shù)原型:ReportPrintSetup(ReportName);函數(shù)功能:對(duì)指定的報(bào)表進(jìn)行打印預(yù)覽。384四、實(shí)時(shí)數(shù)據(jù)報(bào)表實(shí)時(shí)數(shù)據(jù)報(bào)表的主要功能是顯示系統(tǒng)實(shí)時(shí)數(shù)據(jù)。除了在表格中實(shí)時(shí)顯示變量的值以外,報(bào)表還可以根據(jù)單元格中設(shè)置的函數(shù)、公式等實(shí)時(shí)刷新單元格數(shù)據(jù)。在單元格中顯示變量的實(shí)時(shí)數(shù)據(jù)一般有直接引用變量和使用單元格設(shè)置函數(shù)兩種方法。3851.直接引用變量在報(bào)表的單元格中直接輸入“=變量名”,可在單元格中顯示該變量的數(shù)值,當(dāng)變量的數(shù)據(jù)發(fā)生變化時(shí),單元格中顯示的數(shù)值也會(huì)被實(shí)時(shí)刷新。如圖所示,要在單元格“B4”中實(shí)時(shí)顯示當(dāng)前登錄用戶名,則在“B4”單元格中直接輸入“=\\本站點(diǎn)\$用戶名”,運(yùn)行后該單元格中會(huì)實(shí)時(shí)顯示登錄的用戶名。386387直接引用變量2.使用單元格設(shè)置函數(shù)如果單元格中顯示的數(shù)據(jù)來(lái)自不同的變量,或值的類型不固定,可使用單元格設(shè)置函數(shù)來(lái)顯示系統(tǒng)實(shí)時(shí)數(shù)據(jù)(顯示同一個(gè)變量的值也可使用這種方法)。項(xiàng)目八水箱水位組態(tài)監(jiān)控系統(tǒng)設(shè)計(jì)388任務(wù)2水箱水位組態(tài)監(jiān)控系統(tǒng)歷史數(shù)據(jù)查詢?nèi)蝿?wù)1水箱水位組態(tài)監(jiān)控系統(tǒng)界面創(chuàng)建設(shè)計(jì)任務(wù)3水箱水位組態(tài)監(jiān)控系統(tǒng)歷史報(bào)警事件查詢?nèi)蝿?wù)1水箱水位組態(tài)監(jiān)控系統(tǒng)界面創(chuàng)建設(shè)計(jì)390學(xué)習(xí)目標(biāo)1.掌握超級(jí)文本顯示控件的創(chuàng)建、屬性設(shè)置和使用方法。2.能完成水箱水位組態(tài)監(jiān)控系統(tǒng)界面的創(chuàng)建設(shè)計(jì)。391任務(wù)引入創(chuàng)建如圖所示的水箱水位組態(tài)監(jiān)控系統(tǒng),主畫面中可以實(shí)時(shí)顯示系統(tǒng)日期、時(shí)間以及登錄用戶,液位值反映當(dāng)前水箱、水池的實(shí)時(shí)水位,用戶閥模擬用戶放水,可以進(jìn)行畫面切換。配置管理人員、操作員用戶,用戶登錄后對(duì)系統(tǒng)進(jìn)行操作,可實(shí)現(xiàn)手動(dòng)上水和自動(dòng)運(yùn)行。自動(dòng)運(yùn)行時(shí),當(dāng)水箱或水池水位低于10%時(shí)自動(dòng)上水,達(dá)到上限時(shí)自動(dòng)停止,單擊“停止”按鈕,系統(tǒng)停止運(yùn)行(實(shí)際應(yīng)用中使用液位傳感器進(jìn)行液位檢測(cè),本任務(wù)為便于模擬演示,管理人員登錄后可通過(guò)游標(biāo)改變液位,模擬水箱/水池液位上、下限報(bào)警,自動(dòng)運(yùn)行時(shí)通過(guò)組態(tài)王腳本程序改變液位實(shí)現(xiàn)程序控制)。392393水箱水位組態(tài)監(jiān)控系統(tǒng)a)主畫面b)實(shí)時(shí)趨勢(shì)查詢畫面394水箱水位組態(tài)監(jiān)控系統(tǒng)c)實(shí)時(shí)報(bào)表查詢畫面d)實(shí)時(shí)報(bào)警和事件畫面395水箱水位組態(tài)監(jiān)控系統(tǒng)e)幫助畫面相關(guān)知識(shí)組態(tài)王提供超級(jí)文本顯示控件,用于顯示RTF格式或TXT格式的文本,也可以在超級(jí)文本顯示控件中輸入文本字符串,然后將其保存為指定的文件,RTF、TXT格式文件的調(diào)用和保存通過(guò)超級(jí)文本顯示控件函數(shù)來(lái)完成。396一、超級(jí)文本顯示控件的創(chuàng)建選用工具箱中的“插入控件”工具,或單擊“編輯”→“插入控件”,彈出“創(chuàng)建控件”對(duì)話框,在“種類”列表中單擊“超文本顯示”,再單擊右側(cè)的“顯示框”對(duì)應(yīng)圖標(biāo),最后單擊“創(chuàng)建”,創(chuàng)建超級(jí)文本,如圖所示。397超級(jí)文本顯示控件二、超級(jí)文本顯示控件的屬性雙擊超級(jí)文本顯示控件,彈出“超級(jí)文本顯示框控件屬性”對(duì)話框,如圖所示。398“超級(jí)文本顯示框控件屬性”對(duì)話框【控件名稱】:定義控件的名稱,一個(gè)顯示框控件對(duì)應(yīng)一個(gè)名稱,而且是唯一的,不能重復(fù)命名,控件的命名應(yīng)符合組態(tài)王命名規(guī)則,如“Richtxt1”?!緝?yōu)先級(jí)】:定義控件的優(yōu)先級(jí),范圍為1~999。設(shè)置了優(yōu)先級(jí)后,只有符合該優(yōu)先級(jí)的用戶登錄系統(tǒng),才能操作控件,否則無(wú)法修改控件的值。399三、超級(jí)文本顯示控件的使用超級(jí)文本顯示控件的相關(guān)操作主要由LoadText()和SaveText()函數(shù)實(shí)現(xiàn)。1.LoadText()函數(shù)。將指定RTF格式或TXT格式文件的內(nèi)容加載到文本顯示框中。2.SaveText()函數(shù)。將顯示框中的內(nèi)容保存為指定的RTF格式或TXT格式文件。400任務(wù)2水箱水位組態(tài)監(jiān)控系統(tǒng)歷史數(shù)據(jù)查詢401學(xué)習(xí)目標(biāo)1.掌握歷史數(shù)據(jù)報(bào)表的制作方法。2.能完成水箱水位組態(tài)監(jiān)控系統(tǒng)歷史數(shù)據(jù)的查詢。402任務(wù)引入工業(yè)現(xiàn)場(chǎng)常需要將系統(tǒng)運(yùn)行的實(shí)時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ),統(tǒng)計(jì)時(shí)常常需要對(duì)歷史數(shù)據(jù)進(jìn)行查詢和打印。本任務(wù)對(duì)水箱水位組態(tài)監(jiān)控系統(tǒng)中水箱液位、水池液位、用戶用水量等實(shí)時(shí)數(shù)據(jù)進(jìn)行保存,創(chuàng)建如圖所示的歷史數(shù)據(jù)查詢窗口,對(duì)歷史數(shù)據(jù)進(jìn)行查詢、保存和打印。403歷史數(shù)據(jù)查詢窗口相關(guān)知識(shí)歷史數(shù)據(jù)報(bào)表歷史數(shù)據(jù)報(bào)表用于記錄歷史生產(chǎn)數(shù)據(jù),下面介紹兩種常用的歷史數(shù)據(jù)報(bào)表的制作方法。1.報(bào)表單元格實(shí)時(shí)添加數(shù)據(jù)某鍋爐房功耗記錄表要求每8h生成一次報(bào)表,記錄每小時(shí)最后一刻的數(shù)據(jù)作為歷史數(shù)據(jù),且該報(bào)表在被查看時(shí)應(yīng)實(shí)時(shí)刷新。404這個(gè)報(bào)表可以采用向單元格中定時(shí)添加數(shù)據(jù)的方法實(shí)現(xiàn)。報(bào)表設(shè)計(jì)如圖所示,按照要求在不同的時(shí)間,將變量的值用單元格設(shè)置函數(shù)“ReportSetCellValue()”定時(shí)設(shè)置到不同的單元格中,報(bào)表單元格中的數(shù)據(jù)即可自動(dòng)刷新,而含有函數(shù)的單元格也會(huì)自動(dòng)計(jì)算結(jié)果。換班時(shí),保存當(dāng)前添加數(shù)據(jù)的報(bào)表為報(bào)表文件,清除上一班次填充的數(shù)據(jù)后繼續(xù)填充??梢粤硗鈩?chuàng)建一個(gè)報(bào)表窗口,即可在運(yùn)行過(guò)程中調(diào)用這些保存的報(bào)表,實(shí)現(xiàn)歷史數(shù)據(jù)報(bào)表的查詢。405406鍋爐房功耗報(bào)表2.使用歷史數(shù)據(jù)查詢函數(shù)可以使用歷史數(shù)據(jù)查詢函數(shù)從組態(tài)王歷史庫(kù)或工業(yè)庫(kù)中按指定的起始時(shí)間和時(shí)間間隔查詢指定變量的數(shù)據(jù)。在查詢時(shí),可使用函數(shù)ReportSetHistData2(StartRow,StartCol),通過(guò)彈出對(duì)話框并選擇不同的變量和時(shí)間段來(lái)查詢數(shù)據(jù)。該函數(shù)會(huì)將指定時(shí)間段內(nèi)查詢到的所有數(shù)據(jù)添加到報(bào)表中,如果報(bào)表不夠大,系統(tǒng)會(huì)自動(dòng)增加報(bào)表行數(shù)或列數(shù),因此對(duì)于使用固定格式報(bào)表的情況而言不夠方便。407如需要定時(shí)自動(dòng)查詢歷史數(shù)據(jù)的報(bào)表,而不是彈出對(duì)話框,或者報(bào)表的格式是固定的,要求將查詢到的數(shù)據(jù)添加到固定的表格中,而多余的數(shù)據(jù)不需要添加,可使用函數(shù)ReportSetHistData、ReportSetHistData3或ReportSetHistDataEx。408任務(wù)3水箱水位組態(tài)監(jiān)控系統(tǒng)歷史報(bào)警事件查詢409學(xué)習(xí)目標(biāo)1.了解開放型數(shù)據(jù)庫(kù)訪問控件。2.了解報(bào)警輸出的兩種方式。3.能完成水箱水位組態(tài)監(jiān)控系統(tǒng)歷史報(bào)警事件的查詢。410任務(wù)引入很多工業(yè)現(xiàn)場(chǎng)要將變量的相關(guān)報(bào)警信息和系統(tǒng)操作信息進(jìn)行存儲(chǔ),并且要求可以靈活地進(jìn)行歷史報(bào)警和事件的查詢與打印。組態(tài)王支持通過(guò)ODBC接口將數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)(Access數(shù)據(jù)庫(kù)或SQLServer數(shù)據(jù)庫(kù))中,通過(guò)提供KvAdoDBGrid控件對(duì)存儲(chǔ)的歷史報(bào)警和事件信息進(jìn)行條件查詢,并可對(duì)查詢結(jié)果進(jìn)行打印。創(chuàng)建如圖所示的歷史報(bào)警事件查詢畫面,將組態(tài)王與Access數(shù)據(jù)庫(kù)進(jìn)行連接訪問,通過(guò)窗口對(duì)報(bào)警、事件歷史數(shù)據(jù)信息進(jìn)行查詢、保存、打印等操作。411412歷史報(bào)警事件查詢畫面相關(guān)知識(shí)一、開放型數(shù)據(jù)庫(kù)訪問控件開放型數(shù)據(jù)庫(kù)訪問控件KvAdoDBGrid是組態(tài)王提供的用于訪問數(shù)據(jù)庫(kù)的ActiveX控件,該控件是通過(guò)ADO接口實(shí)現(xiàn)的。通過(guò)該控件,用戶可以在組態(tài)王界面中很方便地訪問、編輯數(shù)據(jù)庫(kù),可以通過(guò)數(shù)據(jù)庫(kù)查詢窗口查詢數(shù)據(jù),也可以用控件的統(tǒng)計(jì)函數(shù)計(jì)算出控件中數(shù)據(jù)的最大值、最小值、平均值等,還可以

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論