WinCC數(shù)據(jù)報表實現(xiàn)的方法總結(jié)_第1頁
WinCC數(shù)據(jù)報表實現(xiàn)的方法總結(jié)_第2頁
WinCC數(shù)據(jù)報表實現(xiàn)的方法總結(jié)_第3頁
WinCC數(shù)據(jù)報表實現(xiàn)的方法總結(jié)_第4頁
WinCC數(shù)據(jù)報表實現(xiàn)的方法總結(jié)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、SIEMENSSIEMENSIA&DT Service & SupportPage #-34SIEMENSIA&DT Service & SupportPage #-34SIEMENSWinCC數(shù)據(jù)報表實現(xiàn)方法介紹How use WinCC create data reportGett in g-startedEdition (2010 年一6 月)摘 要本文對數(shù)據(jù)報表的需求進行了分析,結(jié)合WinCC就復(fù)雜數(shù)據(jù)報表的實現(xiàn)進行了介紹。關(guān)鍵詞WinCC,報表Key Words WinCC, ReportIA&DT Service & SupportP

2、age 2-34SIEMENS目 錄WinCC數(shù)據(jù)報表實現(xiàn)方法介紹 11 報表的需求分析 41.1內(nèi)容需求 41.2報表樣式和打印任務(wù) 62 WinCC的報表系統(tǒng) 72.1數(shù)據(jù)存儲 72.2數(shù)據(jù)分析和輸出 93 .復(fù)雜報表的 WinCC報表系統(tǒng)實現(xiàn)分析 123.1普通歸檔結(jié)合Connectivity Pack實現(xiàn)報表 123.2用戶歸檔實現(xiàn)分總式報表 194. WinCC報表功能總結(jié) 245. 使用腳本和EXCEL實現(xiàn)實時數(shù)據(jù)報表 245.1在WINCC中使用VBS腳本通過EXCEL實現(xiàn)實時數(shù)據(jù)報表 245.2如何使用EXCEL訪問WinCC中的實時數(shù)據(jù)實現(xiàn)報表 28IA&DT Ser

3、vice & SupportPage 3-34SIEMENS在工業(yè)生產(chǎn)中報表一直占有非常重要的部分,它一般用來記錄現(xiàn)場的工藝參數(shù)和統(tǒng)計信 息。早期是由人工抄錄然后統(tǒng)計出相關(guān)的報表。進入計算機控制階段,這份工作就需要工控 軟件來實現(xiàn)。對于工控行業(yè)的工程師來說:如何開發(fā)適合用戶需求的報表一直是個難題。論 壇上很多人都在尋求靈活高效的解決方法。經(jīng)過這段時間的網(wǎng)上討論。綜合網(wǎng)友們的意見和建議,我們做了總結(jié)。并結(jié)合WinCC軟件本身作了相關(guān)的說明。希望能對大家在以后的報表開發(fā)中有所幫助。接下來就從報表的需求分析、WinCC報表系統(tǒng)的應(yīng)用、復(fù)雜報表的WinCC報表系統(tǒng)實現(xiàn)這幾個部分來分別介紹。最后

4、總結(jié)出WinCC報表系統(tǒng)在應(yīng)用的優(yōu)缺點和常見的問題的解決方法。1 報表的需求分析從需求上來講報表一般分為:內(nèi)容上的需求、樣式上和任務(wù)上的需求。1.1內(nèi)容需求內(nèi)容上一般涉及到數(shù)據(jù)的求和、平均、最大值、最小值等計算,同時也會涉及到關(guān)系的 處理,比如班組相關(guān)對應(yīng)信息的統(tǒng)計分析等。下面是一個很典型的報表需求,就很能說明這 樣的問題:第爐專業(yè)班閔技術(shù)經(jīng)濟型指標(biāo)月報莪主菱汽主蒸汽主蒸汽右煙楚ii左低療出右低預(yù)出給水壓JI力JI力St運行 Aur-口煙溫|卜:q«K I-,.力PT-W5II3合格聿IT-5105合格聿時間52«IA5201 IIJ2O9A-521KH!的IN】flOO代

5、MJl11/侏/強)況/X:八:/MFjj一班羊均U.OIJ0. w(L 00DanoG wawQ 00 (MtL 000.00-班最高(L防a oo- w0.聞 000. Wa 00EL CM)0.聞-isa低忸u.mu. w0.00acn0. KI0.000.W0. W(L加CL DO二班乎均0,000.制moo0側(cè)moo0. (KIa wfl.fKFB. m(1. 006 000.010. wa(M(h (KhCIO)0. (KI0.00(.艸0. oo* “J0. oo二班最低幢(J a ooa. Wa ou0. (K&o.wQ UOQ艸0. Wg. ooCL OUD. 00三

6、班乎均OJM)tl. CM)a加non0. (KIo.a m(1. E0. (K)11, IX)o,m仇00a防m(xù)ooft IKlo.-no no0, IMI>0.00三班齡低值0000, CM)OrOQ%阿0. (10a術(shù)a m加四班平均0. IM)o. m(L OD. (K)(L m0. (KIi).恤Q00o. mnoncl m0.o. m(L0. (K)L m«. (KIo. m0. AO(L (M)0. (K)四班語低(1.00o.mOL 00fl. «)El- Eo. noo.加0. Mo. mtll(N)0. (K)圖1.月報表分析此報表是典型的工業(yè)現(xiàn)場

7、應(yīng)用,在數(shù)據(jù)采集沒有難度。唯一的難度在于四班三倒后,每個 月班的出勤日是不一樣的,這樣對于月報來說,計算出本月每個班的出勤日是需要些算法。 此類報表在連續(xù)生產(chǎn)的行業(yè)需求很廣泛。比如:鋼鐵冶金行業(yè)需要一天24小時不停運轉(zhuǎn)的系統(tǒng)。IA&DT Service & SupportPage 4-34SIEMENS還有一種內(nèi)容上是分總的關(guān)系,就是一部分是簡單的數(shù)據(jù)記錄,另一部分是對上一部分ByDaif數(shù)據(jù)的統(tǒng)計,比如匯總、求和、平均等。如下圖也是很典型的應(yīng)用:IA&DT Service & SupportPage 5-34SIEMENSIA&DT Service &

8、amp; SupportPage #-34SIEMENSByDaily.RPL日期2S址*tt2QOB-D2M329492.75007S77.D5D0.00001S5.6SOQ.0DD0-DOTQ115660Q971.B3M2ODB-D3-03647B93.2G0D6-392.95D0.000012&2X0.0D00-DOT090.67DG815.26DC20DB-03-D49-21S4.BC0D17BS.25D0.000023.6600.0000-DOT035.21 DO179-9OD0IA&DT Service & SupportPage #-34SIEMENSIA

9、&DT Service & SupportPage #-34SIEMENSMAA111酣urnWl1)162195WJ50016S55.2&00.woo趣 6200.0000.woo241,MOO:碗9900圖2.總分報表另外一種就是涉及到混合排列的問題,一張表上既有分項數(shù)據(jù),中間也涉及到統(tǒng)計信息,同時也會添加一些實時的信息在上面。如下圖:這是一個復(fù)雜的報表,中間涉及到分項的記錄,數(shù)據(jù)求平均,和一些操作信息的記錄。 既有歷史數(shù)據(jù)也有實時信息。當(dāng)然更復(fù)雜的報表需求也是有的,比如說涉及到一張報表上既有實時信息又有歷史信息 同時還涉及趨勢視圖、報警信息等。用戶自己可以靈活的定

10、義報表的內(nèi)容和樣式。比如下 圖:100工5100731OOL:':J9: Ht表功能測咸曰aiNDCe-N-l:! 1JjIWlSUX"«U*E-CZ>10 ;門91If41O :2O817G15也1S310 ;30£119230冊1O :<40弐i口已75O8810010 ;508邸l<3062d11 :00S436306211 : id豆i:i7S&16X111301573S3戸斜寺計丁2OT105TS921832158215 50曲1Z7左1O 口ao一4415 :511<1S25T2erIDis aa1149115世

11、15715 :5S3Zi155301SG壬15 :54rTO5<n0Z215 :55e&12汨91307DIS :5660826D9&7317013 :ST15dDIS601OO62IS :58113 d115左13<l15 :59宜i301N16 :00150730z1311G :01H783gr62<178.551&9IO;O30二械56.7Stoe.75St.75S&.SS47. 13吞ft7宇均5&51T5<11 95931 . 13rtfrU*,:£二 02 ii:iL 丄£7方1二on111 : 5

12、 L : 02 丄丄L: 5 L : 02,肖啟立出經(jīng)卡 慟吾哨,豈纖臺:惘&硝啟玄出,豈啟立出牯豈洛但丈4"皆層圖4.用戶定制報表樣式內(nèi)容上的需求就本質(zhì)來講是對客戶關(guān)心信息的總結(jié)和整理。內(nèi)容的需求也就決定了報表 的樣式和可能采用的數(shù)據(jù)處理方式。1.2報表樣式和打印任務(wù)從上面的分析我們不難看出,報表在樣式上要么是固定的,就是事先設(shè)計好報表的樣式, 然后把一個一個數(shù)據(jù)填寫上去。這也是傳統(tǒng)報表延續(xù)下來的一種方式:格式固定、內(nèi)容固定 (比如:圖1和圖3)。另一種就是格式樣式固定,但是數(shù)據(jù)信息不固定。可能返回很多的數(shù)據(jù)集,也可能是沒 有數(shù)據(jù)。這對報表系統(tǒng)的數(shù)據(jù)歸納能力提出了要求。但是

13、對樣式上沒有特別明確的需求。最后一種就是比較復(fù)雜的問題,報表內(nèi)容不固定、樣式不固定完全由用戶自己設(shè)計和決 定顯示的內(nèi)容。其實報表的打印任務(wù)很簡單就是事件觸發(fā)打印或者定時打印。更深層次的分析。報表其實就是數(shù)據(jù)的展示問題,早期沒有存儲設(shè)備,只能人共抄 寫下來。現(xiàn)在有了機器存儲。其實我們最終需要的就是一個數(shù)據(jù)的統(tǒng)計分析和顯示。IA&DT Service & SupportPage 7-34SIEMENS 當(dāng)然如果能把這些報表的樣式和需求以電子版的樣式在網(wǎng)絡(luò)上共享。我想很多人可以接受不 用打印輸出的報表。最終關(guān)心的是這些數(shù)據(jù)如實的存儲下來,并可以隨時查閱。對于以上的問題,各家軟件都有相

14、應(yīng)的解決方法。那么WinCC中提供了哪些方法來應(yīng)對這些需求呢?2. WinCC的報表系統(tǒng)作為一款監(jiān)控組態(tài)軟件, WinCC針對需求提供了強大的報表組態(tài)功能。來幫助大家應(yīng)對客 戶這方面的需求。從以下幾個方面進行分析:數(shù)據(jù)存儲、數(shù)據(jù)分析和數(shù)據(jù)輸出。這也是處理 報表問題的經(jīng)典思路。2.1數(shù)據(jù)存儲就存儲而言,如果能自由靈活的記錄數(shù)據(jù)的統(tǒng)計分析結(jié)果那是再好不過的了。其實WinCC的過程歸檔功能提供了強大的數(shù)據(jù)處理能力。我們可以在歸檔管理中靈活的控制歸檔 的動作和內(nèi)容。如下圖:圖5 過程值變量歸檔定義仔細(xì)分析這個界面,我們幾乎可以定義所有需要的數(shù)據(jù)統(tǒng)計種類。1、周期的記錄IA&DT Service

15、 & SupportPage 8-34SIEMENS2、非周期的動作觸發(fā)3、動作觸發(fā)的周期記錄在數(shù)據(jù)處理上 WinCC可以自動的統(tǒng)計出平均值、最大值、最小值等數(shù)據(jù)信息。圖6歸檔設(shè)置界面對于過程歸檔數(shù)據(jù)的訪問,我們可以使用 WinCC的在線表格控件、 WinCC報表編輯器 中自帶的打印控件,同時也可以使用 Conn ectivity Pack 選件使用腳本讀出數(shù)據(jù)。只有安裝了 該選件才支持特定的語法訪問歸檔數(shù)據(jù)(該選件需要單獨的授權(quán))。對于有一定編程功底的 工程師來說Connectivity Pack選件是一個很好地分析和數(shù)據(jù)處理工具。在后面會有相應(yīng)的應(yīng) 用實例介紹。很多人熟悉數(shù)據(jù)庫的操

16、作,那么能不能像操作數(shù)據(jù)庫那樣操作WinCC存儲的數(shù)據(jù)呢?WinCC為我們提供了另一個強大的數(shù)據(jù)存儲和處理工具:用戶歸檔。用戶歸檔編輯器是一個 WinCC的附加選件,需要安裝相應(yīng)的授權(quán)才能使用,否則只能 使用DEMO模式。它可以用來在服務(wù)器 PC上連續(xù)的保存來自技術(shù)過程的數(shù)據(jù)。在圖形編輯器中,可以組態(tài) WinCC用戶歸檔表格元素來以表格顯示運行系統(tǒng)中用戶歸檔的在線數(shù)據(jù)。用戶歸檔還可用于準(zhǔn)備自動化系統(tǒng)(例如S5、S7)的數(shù)據(jù)。如果必要,數(shù)據(jù)可以配方或設(shè)定值的形式從控制器讀出。1用戶歸檔城ii手-叵區(qū)頂目迥 苗椅 觀固遡 運行呆埼數(shù)WOi)M < k H類型堀丈編尋逼說羹型'ruci

17、BJjhiNyPirEtWJ p&ili b4CilbJL4.u ptinULokeiLgiliciJ SLBmJ新冃曲加姑I.d t tKtdni ktLnetestdilJ UseAdmin 日ffl視Elfircite st元眼制5Vij£C史呈1Yii£C吏且無限制1YiriT克呈1¥i>£C Sfi躺可試記錄天限制1Vii£t克址九1ViiCC蠶量潮彌報茂無限邸1Tii£C旺呈元限制1YiMC S31ViifC Sfi無幅制1TIjTC蟲盤1Vi>£C箜甘pe ljc liMttlasttine

18、<><_AL_>I S l B uiVi gm圖7.用戶歸檔界面用戶歸檔的控制變量可以很好地實現(xiàn)數(shù)據(jù)的讀取和寫入。從而免去了用戶自己寫腳本的工作(登錄,在技術(shù)文檔綜合搜索中輸入文檔編號A0296,查詢到使用用戶歸檔實現(xiàn)報表簡介下載即可獲得詳細(xì)信息)。在用戶歸檔編輯器中,可以最多組態(tài)500個歸檔和500個視圖。每個歸檔最多可創(chuàng)建 500個域。歸檔中的數(shù)據(jù)記錄的最大 數(shù)目受到限制,取決于已組態(tài)列的數(shù)目和歸檔中包含的數(shù)據(jù)記錄。列和數(shù)據(jù)記錄的乘積不能大于320000。這樣用戶歸檔基本上可以滿足數(shù)據(jù)存儲量不是很大的需求。同時又可以像操作數(shù)據(jù)庫那樣操作數(shù)據(jù)。很方便實用。當(dāng)然更靈活的

19、方法就是使用WinCC的腳本操作外部數(shù)據(jù)庫。這個已經(jīng)超出了咱們討論的范圍。2.2數(shù)據(jù)分析和輸出其實這兩個問題我們需要結(jié)合來講。如何把存儲和分析的結(jié)果很好地展示出來,這應(yīng)該是大家最關(guān)心也是對報表系統(tǒng)體會最深的地方。很多時候我們的問題就出現(xiàn)在如何分析和展示數(shù)據(jù)上。很多人希望報表格式能像EXCEL那樣靈活。當(dāng)然我們可以把數(shù)據(jù)讀出來寫入EXCEL這不失為一個方法。但是這需要開發(fā)者的一些編程功底。如何不用編程序或者使用很少的程序代碼就能實現(xiàn)報表功能呢?其實 WinCC在數(shù)據(jù)分析和數(shù)據(jù)輸出上提供了很好的工具。最簡單和直接的方法,就是調(diào)用WinCC的控件集成的打印功能。它是一種所見即所得的方式實現(xiàn)的打印工具

20、。用戶可以很輕松的執(zhí)行打印任務(wù)。對于普通歸檔的訪問如果編程的話WinCC提供了 Connectivity pack 工具,用于分析和統(tǒng)計數(shù)據(jù)。對于用戶歸檔 WinCC的報表系統(tǒng)提供了直接的接口控件。同時也可以像操作普通 數(shù)據(jù)庫的表一樣來操作用戶歸檔中的歸檔和視圖。對于外部數(shù)據(jù)WinCC也提供了 ODBC數(shù)據(jù)表和數(shù)據(jù)域控件來直接連接獲取數(shù)據(jù)。從而省去了部分編寫數(shù)據(jù)庫訪問腳本的工作。如下 圖:4- 臼 匚SV-Pr ovi <Ler-疋壬 WinCC Alirm Control-WirtCC函數(shù)趙勢控件H畫面-色航mc在跌春格控件畠表格-臼航吒在線辭勢控件E3畫面白樹報警記錄運行垂摒題歸檔報

21、表罔消息報表-二J用尸歸檔DLL -運行索統(tǒng)囲表格圖8.報表系統(tǒng)選件圖9.ODBC動態(tài)對象對于這些控件只需要簡單的配置就能得到相應(yīng)的數(shù)據(jù)結(jié)果。IA&DT Service & SupportPage 11-34SIEMENS圖io.參數(shù)配置圖其中ODBC數(shù)據(jù)源變量用于填寫數(shù)據(jù)源的名稱,SQL語句變量用于創(chuàng)建一個變量寫入查詢條件。列數(shù)處填寫返回數(shù)據(jù)記錄的變量數(shù)。很多人理想中的報表:是既有EXCEL的易用性同時又能兼顧很好的數(shù)據(jù)庫接口。并在系統(tǒng)中保留EXCEL的數(shù)據(jù)統(tǒng)計分析功能和數(shù)據(jù)展示功能。其實 WinCC是可以實現(xiàn)這樣的報表的。WinCC有一個選件 DatMonitor它的一項功

22、能就是使用EXCEL連接WinCC的歸檔數(shù)據(jù),主要就是結(jié)合WinCC的存儲功能和EXCEL強大的數(shù)據(jù)處理功能來實現(xiàn)滿足報表需求。同時它可以把相應(yīng)的報表發(fā)布到網(wǎng)絡(luò)上,實現(xiàn)網(wǎng) 絡(luò)的共享。用戶還可以使用這個工具實現(xiàn)自定義報表樣式。該產(chǎn)品的定位,主要是對現(xiàn)場工藝和采集數(shù)據(jù)的分析、整理和發(fā)布。它包括"ProcessScree ns"、"Webce nter"、"Tre nds and Alarms" 、"Excel Workbooks"、等工具,可以根據(jù)不 同的工具實現(xiàn)不同的功能。WinCC / DataMonitorD T

23、inCC/D at aluiii t i: "抿苦工具liceInt ex net Exploxex空件褊輯耐«(i)工月.型幫肋®>Published Reports>Proc-ess ScreensWebcenler©岳退 曲£北址越 htIBS. 0. g/Rejar ts/Putli she dWorkb a<t. <ipi«p鰥僉收怒)0i屈 u匕禮Trends & Alarms報表卜3DdtdMGnrtork3打業(yè)EX回工布薄M甜旳比(!Excel工年轉(zhuǎn)創(chuàng)建日期WhiCC頃日20092131

24、031 ssdumojcis 2009-2-15 7 04: 31FXReportDemo mcp圖 11.Wi nCC/DataMo nitor的操作界面通過 登錄我們的網(wǎng)站,在技術(shù)文檔綜合搜索中輸入文檔編號A0212。查詢到如何使用 WinCC DataMonitor 基于Web發(fā)布瀏覽Excel報表文檔下載即可 獲得詳細(xì)信息。3 .復(fù)雜報表的WinCC報表系統(tǒng)實現(xiàn)分析針對需求如何使用 WinCC的報表系統(tǒng)實現(xiàn)復(fù)雜的報表呢?之前已經(jīng)發(fā)了一個使用用戶歸 檔結(jié)合ODBC數(shù)據(jù)表控件實現(xiàn)復(fù)雜報表的文檔。下面介紹使用Connectivity Pack 結(jié)合普通歸檔如何實現(xiàn)復(fù)雜報表(以圖 1為例)。論

25、壇上有位網(wǎng)友已經(jīng)使用用戶歸檔實現(xiàn)了該種報 表,那么我們看看如實使用普通歸檔實現(xiàn)。要求:現(xiàn)場是四班三運轉(zhuǎn),月底的時候?qū)Ω鱾€班的數(shù)據(jù)情況進行統(tǒng)計分析。難點:各個班的上班時間不固定,每月的天數(shù)不固定。涉及到最大值、最小值和平均值的計 算。關(guān)鍵點:在于如何確立某班和某一時間段的對應(yīng)關(guān)系。3.1普通歸檔結(jié)合Co nn ectivity Pack實現(xiàn)報表首先數(shù)據(jù)存儲問題。 WinCC的歸檔中,對應(yīng)一個過程變量其實可以生成多個歸檔變量 (如圖12)。歸檔的啟動和停止可以由事件來控制(圖 13)。那么可以通過不同的用戶登錄來 確定啟動哪一個歸檔。從而確定班組和數(shù)據(jù)的對應(yīng)關(guān)系。fi盤|變量名稱過程變量變量類型|

26、注釋AavgTagArcA檯擬量AjuaxTagArcA檯擬量AmiikTaaAr cA履擬量TcA複擬量:BavgT agkr cA檯擬量BbisxTagArcA模捌量EminTasrcA模擬量BI agAr cT aAr cA複擬量圖12.歸檔定義圖13歸檔起始和停止動作的定義 創(chuàng)建全局動作如下(針對兩個班組的測試代碼,三個班的類似): int gscAct ion( void )#pragma opti on( mbcs)if(!strcmp(GetTagChar("Curre ntUser"),"yiba n")SetTagBit("A

27、arcE",O); /Return-Type: BOOLSetTagBit("AarcB",1);/Return-Type: BOOLSetTagBit("BarcE",1);/Return-Type: BOOLSetTagBit("BarcB",0);/Return-Type: BOOLelse if(!strcmp(GetTagChar("Curre ntUser"),"erba n")SetTagBit("BarcE",0);/Return-Type: BOO

28、LSetTagBit("BarcB",1);/Return-Type: BOOL/Return-Type: BOOL/Return-Type: BOOLSetTagBit("AarcE",1);SetTagBit("AarcB",0);該動作通過WinCC內(nèi)部變量CurrentUser的變化來觸發(fā)。定時器十- 應(yīng)用吩 | 幫助 圖14.觸發(fā)條件這樣在項目中 A班的用戶登錄就觸發(fā)ATagArc變量的歸檔,B班的用戶登錄就觸發(fā)BTagArc。從而達到分班統(tǒng)計的目的。過程變量屬性在這里我們選擇實際值。圖15.歸檔參數(shù)設(shè)置其次數(shù)據(jù)分析。在歸檔

29、設(shè)計中,已經(jīng)確定了數(shù)據(jù)和班組的對應(yīng)關(guān)系。那么下一步就是如何整理數(shù)據(jù)了。在這里我們需要借助于WinCC的一個選件 Connectivity Pack來實現(xiàn),通過該軟件可以使用特定的語法格式訪問WinCC的歸檔數(shù)據(jù)。在畫面中添加一個按鈕創(chuàng)建如下腳本(只有安裝了Conn ectivity Pack 選件才支持下面的歸檔訪問方式):Dim sPro, sDs n, sSer,sC on, sSqlDim V,Sum,Avg,Std,Mi n, MaxDim conn, oRs, oCom, oList, oItemDim m, n,s, nRecDim Begi nTimeSet Begi nTime

30、 = HMIRu ntime.Tags("Begi nTime")Dim En dTimeSet En dTime = HMIRu ntime.Tags("E ndTime")Dim Prin terOSet Prin ter0 = HMIR un time.Tags("Pri nter")'建立連接sPro = "Provider=Wi nCCOLEDBProvider.1;"sDs n="Catalog=CC_FXReport_09_02_08_13_58_39R;"sSer = &

31、quot;Data Source=.Wi nCC"sCon = sPro + sDs n + sSerBegi nTime.ReadEn dTime.ReadsSql="Tag:R,'MyPAATagArc',”' + Begi nTime.Value + "','"+ En dTime.Value +"”' MsgBox "Opened with " & vbCr & sCon & vbCr & sSql & vbCr, vbOKCan

32、cel Set conn= CreateObject("ADODB.Connection")conn.Connection Stri ng = sConconn .CursorLocati on = 3conn. Ope nSet oRs= CreateObject("ADODB.Recordset")Set oCom= CreateObject("ADODB.Command")oCom.Comma ndType = 1Set oCom.ActiveC onnection = connoCom.Comma ndText = sSqlS

33、et oRs = oCom.Executen= oRs.RecordCount'返回的數(shù)據(jù)集數(shù)MsgBox nIf (n >0)The noRs.MoveFirstn = 0Sum = 0Avg = 0Min = oRs.Fields(2).ValueMax = oRs.Fields(2).ValueDo While Not oRs.EOFn = n + 1V = oRs.Fields(2).ValueSum = Sum + VIf V>Max The n Max = VIf V<Min The n Min = voRs.MoveNextLoopoRs.Cloself

34、(n >1) The n Avg = Sum / nHMIRu ntime.Tags("i ncou nt").WritenHMIRuntime.Tags("AavgTag").Write FormatNumber(Avg,2)HMIRu ntime.Tags("AmaxTag").Write FormatNumber(Max,2)HMIRuntime.Tags("AMinTag").Write FormatNumber(Min,2)ElseHMIR un time.Trace "selectio

35、n return no fields "&vbNewLi neEnd Ifconn. CloseSet oCom= Nothi ngSet oRs=Noth ingSet conn=Noth ing'打印調(diào)用(創(chuàng)建了一個全局動作通過Printer的變化調(diào)用打印作業(yè))Prin terO.ReadIf Prin terO.Value = 0 The nPrin terO.Write 1ElsePrin terO.Write 0End If上面的方法就能得出A班的最大值、最小值和平均值,并把這些值存放在預(yù)先定義的內(nèi)部變量里。同樣的方法可以求出別班的數(shù)據(jù)信息。最后就是布局設(shè)計

36、。這個布局的設(shè)計原理很簡單,就是把變量”添加到布局中。排列對齊就可以了。如下圖:IA&DT Service & SupportPage 19-34SIEMENS:1 k.i bl >.» 4-33517 I hEM gSKfFrOij*c4Ma rn*主啣PaTE-5丄13 /n主蔥IS Si jKTE-5113zr:主義辭TE 5113 /r:TE-5L13/O主尊尹漏TE-£113 比主爺溫TE-5113 /XT主TE-hl13 /r?主犁paTH-en 3 /t:9T一硏于閣AsvTagiAavtjTaAtivTg嚴(yán)EqT自gASrvgTagAa

37、vgTygAmaicT a gAmaxTagAmaxT-agAmaMTagAmawTagAmascTaigAmaxT agAmiucT ag>AMiinTagAMunTagAMinTsgiAMinTagAMinTagAMinTagAMinTagAMinTagi-班平均AavgTagAaryngTagAavgTagAavgTagAavgT agAawgT agAavgT agAavgT ag二甘丄靈高值A(chǔ)rnajcTigAmaxTagAm;aKTagAmasTagArnaxTagAmaKTagAmaMT agAmaMTag二班械傑値Ah4jriTgAMiinTagAMinTfigiAMin

38、TagAJMiriTagAMiriTAM ir|T m 鼻三臨平蜩AavgTagiASvgT-aAaivgT 旳AtivgTagAdvgT 期三班mMiAAmaxTflgAmsxTagAmsxTagAmeiKTaAmaxTsgAmaTagAmaMTg/三班呆惟泊AJMitnT agAMiinTagAMinTagAMinTagAMinTagAMinTagAMinT agAMinTagj四ItE*均AvgTagAgTagAsTpigAswgTgAjfivgTsgAwgT agAwgTgAevgT 6*g,圖16.報表布局最后組態(tài)輸出界面。在畫面中組態(tài)如下界面,調(diào)用腳本和打印任務(wù)就可以了。?R冶時1

39、 間 2:ii j-n3-ijg J; nri:c:i皓束時1 日l20Dg-Oj-lj9 07:2:::00計算曲EfH附MC自帶歸檔)圖17.操作界面該程序可以實現(xiàn)對任意時間范圍呢的數(shù)據(jù)進行統(tǒng)計打印。輸出結(jié)果如下圖:CqlU H?& 1 曲曲 HvCEeiNI: ASUDMnCC6Ci Projec4 FK RErtCte工巔嵐盥 s.TE-B113 e名稱TT?-B113 /c主瞥溫TC-B113 e主暫溫主議汽溫 gTE-B113 e主晳晝TE-511A 0主誓&TE-5113 /u王議汽溫TE-K113 e主蒸汽碼TE-5113 e主兼汽溫TiE-5113 rcffT

40、E-S1137T一班平溝17.0B17.0817,0017.0817617.0617.0017.08170017.08一研爰高値9.0096.0099.0099.0099.0DD9.0D99.0099.0099.009.00斑炭鈕晅12.0012.0012.0012.0012.0012.0012.0012.0012.0012.00二平均17.0B17.0317.0317. DS17.0817.0B17.0317.0B17.0917.0B二班炭崗恒Q9.0D95.00S9.00蛆DOB9.0Q99.0096.0099.00QS.OO99.QD:詛飆恒12.0012.0012.0012.0012.

41、0012.0012.0012.0012.0012.00三班平均17.0017.0817.0017.0817.0017.00V.0017.0017Q017.00二曲視高怕99.0099.0099.0090.0099.00D9.0099.0099.0099.00購.cm一 1®眾曲憤12.0D12.0Q12.0012.D012.0012.0012.0012.Q012.0012.QD四粧平均i7.oe:址i7.ce17 03燈,朝17.0617.0$17.0617.Q617.06回班蜀昌伯59.0039.0099.0Q99.00Q9.0D99.0099.0069.0099.Q0困坯罠血伯1

42、2.00120012.0012 0012.0013.0012=0012.0012.0012.0-02DW-5-17 D:占言:4ORPLPage 1 匚匚 13口 Pro|*ct FXR«po itD«moFXR«pCi rtiDd-ma.mtf*圖18.打印輸出3.2用戶歸檔實現(xiàn)分總式報表報表圖2涉及到數(shù)據(jù)的統(tǒng)計。單純的存儲不難,關(guān)鍵如何統(tǒng)計。從報表上分析,一天只 會產(chǎn)生一條記錄。完全可以選擇使用用戶歸檔實現(xiàn)。首先在用戶歸檔中創(chuàng)建一個歸檔,分別連接相應(yīng)的需要記錄的變量。并創(chuàng)建一個字符串類型的域用于存儲日期。容稱糞型長度設(shè)置DDCErnrnDDC兀DCEErful

43、i aolEuli ao2full ao3£uli o4ful i &cp5ful i ao6rhul i aoEongzl曰期E滯辭斗3霜辭斗4獵南料5對甯料&溜甫料 摳次數(shù) 主料 總重星宇符串 數(shù)®孚點) 敷歴型數(shù)) 數(shù)歴型數(shù)) 數(shù)理型數(shù) 數(shù)理型數(shù) 數(shù)理型數(shù) 數(shù)O型敷 數(shù)鐸點) 數(shù)浮點】10IA&DT Service & SupportPage 22-34SIEMENSIA&DT Service & SupportPage #-34SIEMENS常規(guī)|通訊控制變量|權(quán)限和標(biāo)記順序ID(I)(X)0VA_peixi anch

44、«n=.JMF W| UA_p a i x i anchenEhongVE®UA_p e i x i an chen gzh?ngL_F i e'AJAp eixian chengzho nsIB刪選擇選3W| 選擇©| 讎® 編輯迦|圖19.用戶歸檔針對用戶歸檔創(chuàng)建如下控制變量:歸檔劇4確圭|取消 |翔助 |圖20.控制變量關(guān)于控制變量的說明參考:WinCC In formation system-選項-用戶歸檔-組態(tài)-組態(tài)用戶歸檔-控制變量的屬性。當(dāng)ID=-1指令=6時,就可以把過程值存放到歸檔數(shù)據(jù)庫中。關(guān)于日期可以通過如下腳本得到:riqi

45、=CStr(Year(Now)&"-"&CStr(Mo nth(Now)&"-"&CStr(Day(Now)可以新建一個系統(tǒng)變量選擇日期函數(shù),通過每天的變化觸發(fā)用戶歸檔控制變量的指令和ID的變化,從而達到定時觸發(fā)的目的。如圖:變童屬性閔査星fl性riqiIDxinjianc®| ihAliaAb. 弓 EULE£>14Ii. 氣 ftfcijiiftarc魯 WTC 営 tMTOCOL su:煞單卸工且社J播書記錄KJSfiiE 錄凰布局皆打E啡業(yè)-召 C-Editwr也址 謂曹虧式迥:if罰動I

46、t msn圖21.系統(tǒng)變量定義這樣我們就得到了每天的數(shù)據(jù)記錄。下一步組態(tài)頁面。在頁面布局中添加一個用戶歸檔表格控件、一個靜態(tài)文本和一個ODBC數(shù)據(jù)庫表。為了實現(xiàn)分頁功能需要對靜態(tài)文本的屬性作如下設(shè)置:用戶歸檔DL1.-運行系統(tǒng).o0Bl藪海忑.4攵採陣衣圖22.頁面布局IA&DT Service & SupportPage 24-34SIEMENS厘性-連接-靜蕊文本圖23.靜態(tài)文本屬性設(shè)置F面我們分別設(shè)置用戶歸檔和ODBC數(shù)據(jù)庫表控件的參數(shù)。Q)ODBC圖23歸檔控件設(shè)置圖23.ODBC控件設(shè)置IA&DT Service & SupportPage 25-34

47、SIEMENS畫面中查尋按鈕的代碼:Dim riqivarSet riqivar = HMIRuntime.Tags("riqivar")Dim xinjia ngFilterSet xinjia ngFilter = HMIR un time.Tags("xinjia ngFilter")Dim xinjia ngorderSet xinjia ngorder = HMIR un time.Tags("xinjia ngorder")Dim mytestsqlSet mytestsql = HMIRu ntime.Tags(&quo

48、t;mytestsql")riqivar.Readxinjia ngFilter.Readxinjia ngFilter.Write " MyDate like ”'&riqivar.Value&"%”'xinjia ngorder.Readxinjiangorder.Write "MyDate ASC"mytestsql.Readmytestsql.Write "select sum(picishu)as ' 批次數(shù)',sum(zongzl) as ' 總重量,sum(zhul

49、iao) as ' 主 料',sum(fuliao1) as '1# 輔料',sum(fuliao2) as '2# 輔料',sum(fuliao3) as '3# 輔料',sum(fuliao4) as '4# 輔料',sum(fuliao5) as '5# 輔 料',sum(fuliao6) as '6# 輔料'from UA#peixia nchen gzho ng where MyDate likeriqivar.Value&"%"'至此在

50、畫面中輸入查詢?nèi)掌诘臈l件執(zhí)行上面的代碼就能返回相應(yīng)的數(shù)據(jù)集。最后調(diào)用打印任務(wù)就可以了。打印中常見問題的說明希望對大家有所幫助。整點觸發(fā)問題:可以通過在變量管理? SYSTEM INFO下創(chuàng)建變量用于取得系統(tǒng)小時值。這個值是隨著系統(tǒng) 時鐘而變化的。一旦改變就可以用來觸發(fā)歸檔或者打印任務(wù)。也可以通過腳本實現(xiàn),參照網(wǎng)上的例子:如何整點啟動歸檔:http:/support.automatio n.sieme 對齊問題:WinCC提供很好的數(shù)據(jù)接口,那么在報表格式上來講如何控制一直是個難題。下面是一些細(xì)節(jié)介紹希望對大家能有所幫助。通過菜單欄中的放大功能可以很好的查看控件的對齊效果。IA&DT S

51、ervice & SupportPage 26-34SIEMENS禰?llm IMwn m WfihQji爭® 旦 On灶Ch卞ef宴 潸 a kF 犧Z七右H J )« »J入塔汽用(MM)ODBC數(shù)據(jù)庫數(shù)據(jù)丿車表圖24.放大功能通過菜單欄工具一設(shè)置,可以把頁面精確設(shè)置到毫米,同時可以設(shè)定控件是否和網(wǎng) 格對齊。從而方便我們的排版設(shè)計。圖25.網(wǎng)格設(shè)置IA&DT Service & SupportPage 28-34SIEMENS4.WinCC報表功能總結(jié)通過上面的分析我們不難看出,WinCC的報表系統(tǒng)提供了很好的數(shù)據(jù)接口,我們可以很方便的

52、就取出 WinCC的歸檔數(shù)據(jù)和外部數(shù)據(jù)庫的數(shù)據(jù)。無需很多的編程知識。同時在過程 歸檔可以很容易的就得到變量的最大值、最小值、平均值等信息。過程值歸檔中無法建立關(guān)系和對字符串進行歸檔。這些功能使用用戶歸檔可以實現(xiàn)。其 實很多人不使用 WinCC自帶的報表功能,很大程度上是因為布局不好掌控。確切來講在格 式的控制上WinCC是有些不適合中國國情。延伸話題:其實數(shù)據(jù)的報表打印就是對數(shù)據(jù)的存儲記錄工作,有時候我們需要的并不是 打印出一張紙,而是需要對數(shù)據(jù)的分析和整理。從這個角度出發(fā),WinCC如果能提供一個強大的前臺數(shù)據(jù)統(tǒng)計分析控件就更完美了。當(dāng)然對于數(shù)據(jù)的分析統(tǒng)計,在現(xiàn)場應(yīng)用中很大程度 上是由MIS系統(tǒng)和ERP系統(tǒng)來實現(xiàn)的。 WinCC在這個環(huán)節(jié)是作為一個數(shù)據(jù)源的身份出現(xiàn) 的。但是它的DatMonitor工具提供了很好的數(shù)據(jù)接口,用于分析和輸出數(shù)據(jù)。也不失為一 個很好的數(shù)據(jù)分析統(tǒng)計選件。5.使用腳本和EXCEL實現(xiàn)實時數(shù)據(jù)報表論壇中很多人使用 VBS和EXCEL實現(xiàn)報表功能。下面

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論