WinCC數(shù)據(jù)報(bào)表實(shí)現(xiàn)方法介紹_第1頁
WinCC數(shù)據(jù)報(bào)表實(shí)現(xiàn)方法介紹_第2頁
WinCC數(shù)據(jù)報(bào)表實(shí)現(xiàn)方法介紹_第3頁
WinCC數(shù)據(jù)報(bào)表實(shí)現(xiàn)方法介紹_第4頁
WinCC數(shù)據(jù)報(bào)表實(shí)現(xiàn)方法介紹_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、WinCC數(shù)據(jù)報(bào)表實(shí)現(xiàn)方法介紹在工業(yè)生產(chǎn)中報(bào)表一直占有非常重要的部分,它一般用來記錄現(xiàn)場的工藝參數(shù)和統(tǒng)計(jì)信 息。早期是由人工抄錄然后統(tǒng)計(jì)出相關(guān)的報(bào)表。進(jìn)入計(jì)算機(jī)控制階段,這份工作就需要工 控軟件來實(shí)現(xiàn)。對(duì)于工控行業(yè)的工程師來說:如何開發(fā)適合用戶需求的報(bào)表一直是個(gè)難題。接下來就從報(bào)表的需求分析、WinCC報(bào)表系統(tǒng)的應(yīng)用、復(fù)雜報(bào)表的WinCC報(bào)表系統(tǒng)實(shí)現(xiàn)這幾個(gè)部分來分別介紹。最后總結(jié)出WinCC報(bào)表系統(tǒng)在應(yīng)用的優(yōu)缺點(diǎn)和常見的問題的解決方法。1 .報(bào)表的需求分析從需求上來講報(bào)表一般分為:內(nèi)容上的需求、樣式上和任務(wù)上的需求。內(nèi)容需求內(nèi)容上一般涉及到數(shù)據(jù)的求和、平均、最大值、最小值等計(jì)算,同時(shí)也會(huì)涉及到

2、關(guān)系 的處理,比如班組相關(guān)對(duì)應(yīng)信息的統(tǒng)計(jì)分析等。下面是一個(gè)很典型的報(bào)表需求,就很能 說明這樣的問題:a圖1.月報(bào)表分析此報(bào)表是典型的工業(yè)現(xiàn)場應(yīng)用,在數(shù)據(jù)采集沒有難度。唯一的難度在于四班三倒后, 每個(gè)月班的出勤日是不一樣的,這樣對(duì)于月報(bào)來說,計(jì)算出本月每個(gè)班的出勤日是需要 些算法。此類報(bào)表在連續(xù)生產(chǎn)的行業(yè)需求很廣泛。比如:鋼鐵冶金行業(yè)需要一天24小時(shí)不停運(yùn)轉(zhuǎn)的系統(tǒng)。還有一種內(nèi)容上是分總的關(guān)系,就是一部分是簡單的數(shù)據(jù)記錄,另一部分是對(duì)上一部分?jǐn)?shù)據(jù)的統(tǒng)計(jì),比如匯總、求和、平均等。如下圖也是很典型的應(yīng)用:aII aimi -4 一回圖2.總分報(bào)表另外一種就是涉及到混合排列的問題,一張表上既有分項(xiàng)數(shù)據(jù),

3、中間也涉及到統(tǒng)計(jì)信 息,同時(shí)也會(huì)添加一些實(shí)時(shí)的信息在上面。如下圖:圖3.復(fù)雜報(bào)表這是一個(gè)復(fù)雜的報(bào)表,中間涉及到分項(xiàng)的記錄,數(shù)據(jù)求平均,和一些操作信息的記錄。 既有歷史數(shù)據(jù)也有實(shí)時(shí)信息。當(dāng)然更復(fù)雜的報(bào)表需求也是有的,比如說涉及到一張報(bào)表上既有實(shí)時(shí)信息又有歷史信 息同時(shí)還涉及趨勢視圖、報(bào)警信息等。用戶自己可以靈活的定義報(bào)表的內(nèi)容和樣式。比如下圖:圖4.用戶定制報(bào)表樣式內(nèi)容上的需求就本質(zhì)來講是對(duì)客戶關(guān)心信息的總結(jié)和整理。內(nèi)容的需求也就決定了報(bào) 表的樣式和可能采用的數(shù)據(jù)處理方式。報(bào)表樣式和打印任務(wù)從上面的分析我們不難看出,報(bào)表在樣式上要么是固定的,就是事先設(shè)計(jì)好報(bào)表的 樣式,然后把一個(gè)一個(gè)數(shù)據(jù)填寫上去

4、。這也是傳統(tǒng)報(bào)表延續(xù)下來的一種方式:格式固定、內(nèi)容固定(比如:圖 1和圖3)。另一種就是格式樣式固定,但是數(shù)據(jù)信息不固定??赡芊祷睾芏嗟臄?shù)據(jù)集,也可能 是沒有數(shù)據(jù)。這對(duì)報(bào)表系統(tǒng)的數(shù)據(jù)歸納能力提出了要求。但是對(duì)樣式上沒有特別明確的 需求。最后一種就是比較復(fù)雜的問題,報(bào)表內(nèi)容不固定、樣式不固定完全由用戶自己設(shè)計(jì)和 決定顯示的內(nèi)容。其實(shí)報(bào)表的打印任務(wù)很簡單就是事件觸發(fā)打印或者定時(shí)打印。更深層次的分析。報(bào)表其實(shí)就是數(shù)據(jù)的展示問題,早期沒有存儲(chǔ)設(shè)備,只能人共抄 寫下來。現(xiàn)在有了機(jī)器存儲(chǔ)。其實(shí)我們最終需要的就是一個(gè)數(shù)據(jù)的統(tǒng)計(jì)分析和顯示。當(dāng)然如果能把這些報(bào)表的樣式和需求以電子版的樣式在網(wǎng)絡(luò)上共享。我想很多人

5、可以 接受不用打印輸出的報(bào)表。最終關(guān)心的是這些數(shù)據(jù)如實(shí)的存儲(chǔ)下來,并可以隨時(shí)查閱。對(duì)于以上的問題,各家軟件都有相應(yīng)的解決方法。那么WinCC中提供了哪些方法來應(yīng)對(duì)這些需求呢回復(fù)引用舉報(bào)稚若初現(xiàn)0個(gè)人主頁值_給TA發(fā)消息我J口 TA為好友發(fā)表于:2012-07-19 21:07:51 2樓2. WinCC的報(bào)表系統(tǒng)作為一款監(jiān)控組態(tài)軟件,WinCC針對(duì)需求提供了強(qiáng)大的報(bào)表組態(tài)功能。來幫助大家應(yīng)對(duì)客戶這方面的需求。從以下幾個(gè)方面進(jìn)行分析:數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析和數(shù)據(jù)輸出。 這也是處理報(bào)表問題的經(jīng)典思路。數(shù)據(jù)存儲(chǔ)就存儲(chǔ)而言,如果能自由靈活的記錄數(shù)據(jù)的統(tǒng)計(jì)分析結(jié)果那是再好不過的了。其 實(shí)WinCC的過程歸檔

6、功能提供了強(qiáng)大的數(shù)據(jù)處理能力。我們可以在歸檔管理中靈活的 控制歸檔的動(dòng)作和內(nèi)容。如下圖:圖5 .過程值變量歸檔定義仔細(xì)分析這個(gè)界面,我們幾乎可以定義所有需要的數(shù)據(jù)統(tǒng)計(jì)種類。1、周期的記錄2、非周期的動(dòng)作觸發(fā)3、動(dòng)作觸發(fā)的周期記錄在數(shù)據(jù)處理上 WinCC可以自動(dòng)的統(tǒng)計(jì)出平均值、最大值、最小值等數(shù)據(jù)信息。圖6.歸檔設(shè)置界面對(duì)于過程歸檔數(shù)據(jù)的訪問,我們可以使用WinCC的在線表格控件、WinCC報(bào)表編輯器中自帶的打印控件,同時(shí)也可以使用 Connectivity Pack選件使用腳本讀出數(shù)據(jù)。只有安裝了該選件才支持特定的語法訪問歸檔數(shù)據(jù)(該選件需要單獨(dú)的授權(quán))。對(duì)于有 一定編程功底的工程師來說Con

7、nectivity Pack選件是一個(gè)很好地分析和數(shù)據(jù)處理工具。在后面會(huì)有相應(yīng)的應(yīng)用實(shí)例介紹。很多人熟悉數(shù)據(jù)庫的操作,那么能不能像操作數(shù)據(jù)庫那樣操作WinCC存儲(chǔ)的數(shù)據(jù)呢WinCC為我們提供了另一個(gè)強(qiáng)大的數(shù)據(jù)存儲(chǔ)和處理工具:用戶歸檔。用戶歸檔編輯器是一個(gè) WinCC的附加選件,需要安裝相應(yīng)的授權(quán)才能使用,否則只能使用DEMO模式。它可以用來在服務(wù)器PC上連續(xù)的保存來自技術(shù)過程的數(shù)據(jù)。在圖形編輯器中,可以組態(tài)WinCC用戶歸檔表格元素來以表格顯示運(yùn)行系統(tǒng)中用戶歸檔的在線數(shù)據(jù)。用戶歸檔還可用于準(zhǔn)備自動(dòng)化系統(tǒng)(例如SS S7)的數(shù)據(jù)。如果必要,數(shù)據(jù)可以配方或設(shè)定值的形式從控制器讀出。jiI-WIM!

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

9、的范圍。數(shù)據(jù)分析和輸出其實(shí)這兩個(gè)問題我們需要結(jié)合來講。如何把存儲(chǔ)和分析的結(jié)果很好地展示出來,這應(yīng)該是大家最關(guān)心也是對(duì)報(bào)表系統(tǒng)體會(huì)最深的地方。很多時(shí)候我們的問題就出現(xiàn)在如何 分析和展示數(shù)據(jù)上。很多人希望報(bào)表格式能像EXCELS樣靈活。當(dāng)然我們可以把數(shù)據(jù)讀出來寫入EXCE覺不失為一個(gè)方法。但是這需要開發(fā)者的一些編程功底。如何不用 編程序或者使用很少的程序代碼就能實(shí)現(xiàn)報(bào)表功能呢其實(shí)WinCC在數(shù)據(jù)分析和數(shù)據(jù)輸出上提供了很好的工具。最簡單和直接的方法,就是調(diào)用WinCC的控件集成的打印功能。它是一種所見即所得 的方式實(shí)現(xiàn)的打印工具。用戶可以很輕松的執(zhí)行打印任務(wù)。對(duì)于普通歸檔的訪問如果編程的話WinCC

10、提供了 Connectivity pack工具,用于分析和統(tǒng)計(jì)數(shù)據(jù)。對(duì)于用戶歸檔 WinCC的報(bào)表系統(tǒng)提供了直接的接口控件。同時(shí)也可以像操作普通數(shù)據(jù)庫的表一樣來操作用戶歸檔中的歸檔和視圖。對(duì)于外部數(shù)據(jù)WinCC也提供了 ODBC數(shù)據(jù)表和數(shù)據(jù)域控件來直接連接獲取數(shù)據(jù)。從而省去了部分編寫數(shù)據(jù)庫訪問 腳本的工作。如下圖:圖8.報(bào)表系統(tǒng)選件圖動(dòng)態(tài)對(duì)象對(duì)于這些控件只需要簡單的配置就能得到相應(yīng)的數(shù)據(jù)結(jié)果。圖10.參數(shù)配置圖其中ODBC數(shù)據(jù)源變量用于填寫數(shù)據(jù)源的名稱,SQL語句變量用于創(chuàng)建一個(gè)變量寫入查詢條件。列數(shù)處填寫返回?cái)?shù)據(jù)記錄的變量數(shù)。很多人理想中的報(bào)表:是既有EXCELS易用性同時(shí)又能兼顧很好的數(shù)據(jù)

11、庫接口。并在系統(tǒng)中保留EXCEL勺數(shù)據(jù)統(tǒng)計(jì)分析功能和數(shù)據(jù)展示功能。其實(shí)WinCC是可以實(shí)現(xiàn)這樣的報(bào)表的。WinCC有一個(gè)選件DataMonitor它的一項(xiàng)功能 就是使用EXCELS接WinCC的歸檔數(shù)據(jù),主要就是結(jié)合 WinCC的存儲(chǔ)功能和EXCEL雖大的數(shù)據(jù)處理功能來實(shí)現(xiàn)滿足報(bào)表需求。同時(shí)它可以把相應(yīng)的報(bào)表發(fā)布到網(wǎng)絡(luò)上,實(shí)現(xiàn)網(wǎng)絡(luò)的共享。用戶還可以使用這個(gè)工具實(shí)現(xiàn)自定義報(bào)表樣式。該產(chǎn)品的定位,主要是對(duì)現(xiàn)場工藝和采集數(shù)據(jù)的分析、整理和發(fā)布。它包括 Process Screens、Webcenter、Trends and Alarms、Excel Workbooks、等工具,可以根據(jù) 不同的工具實(shí)

12、現(xiàn)不同的功能。因圖DataMonitor的操作界面通過登錄我們的網(wǎng)站,在技術(shù)文檔綜合搜索中輸入文檔編號(hào)A0212。查詢到如何使用WinCC DataMonitor基于 Web發(fā)布瀏覽Excel報(bào)表文檔下載即可獲得詳細(xì)信息?;貜?fù)引用舉報(bào)稚若初現(xiàn)0個(gè)人主頁中給TA發(fā)消息口加TA為好友發(fā)表于:2012-07-19 21:08:38 3 樓3.復(fù)雜報(bào)表的WinCC報(bào)表系統(tǒng)實(shí)現(xiàn)分析針對(duì)需求如何使用 WinCC的報(bào)表系統(tǒng)實(shí)現(xiàn)復(fù)雜的報(bào)表呢之前已經(jīng)發(fā)了一個(gè)使用用戶 歸檔結(jié)合ODBC數(shù)據(jù)表控件實(shí)現(xiàn)復(fù)雜報(bào)表的文檔。下面介紹使用Connectivity Pack結(jié)合普通歸檔如何實(shí)現(xiàn)復(fù)雜報(bào)表(以圖1為例)。論壇上有位

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

14、建全局動(dòng)作如下(針對(duì)兩個(gè)班組的測試代碼,三個(gè)班的類似) int gscAction( void )#pragma option(mbcs) if(!strcmp(GetTagChar(CurrentUser),yiban)SetTagBit(AarcE,0);因一發(fā)條件這樣在項(xiàng)目中A班的用戶登錄就觸發(fā) ATagArc變量的歸檔,B班的用戶登錄就觸發(fā) BTagA從而達(dá)到分班統(tǒng)計(jì)的目的。過程變量屬性在這里我們選擇實(shí)際值。,! B HIM!I因圖15.歸檔參數(shù)設(shè)置其次數(shù)據(jù)分析。在歸檔設(shè)計(jì)中,已經(jīng)確定了數(shù)據(jù)和班組的對(duì)應(yīng)關(guān)系。那么下一步就是如何整理數(shù)據(jù)了。 在這里我們需要借助于WinCC的一個(gè)選件 Co

15、nnectivity Pack來實(shí)現(xiàn),通過該軟件可以使用特定的語法格式訪問WinCC的歸檔數(shù)據(jù)。在畫面中添加一個(gè)按鈕創(chuàng)建如下腳本(只有安裝了Connectivity Pack選件才支持下面的歸檔訪問方式):Dim sPro, sDsn, sSer,sCon, sSqlDim V,Sum,Avg,Std,Min,MaxDim conn, oRs, oCom, oList, oItemDim m,n,s,nRecDim BeginTimeSet BeginTime = (BeginTime)Dim EndTimeSet EndTime = (EndTime)Dim Printer。Set Prin

16、terO = (Printer)建立連接sPro = Provider=;sDsn=Catalog=CC FXReport 09 02 08 13 58 39R;”sSer = Data Source=.WinCCsCon = sPro + sDsn + sSer sSql=Tag:R, MyPAgArc , + + , +MsgBox Opened with & vbCr & sCon & vbCr & sSql & vbCr, vbOKCancelSet conn=CreateObject()=sCon=3Set oRs=CreateObject()Set oCom=CreateObjec

17、t()=1Set = conn=sSqlSet oRs =門=返回的數(shù)據(jù)集數(shù)MsgBox nIf (n0)Thenn = 0Sum = 0Avg = 0Min = (2).ValueMax = (2).ValueDo While Notn = n + 1V = (2).ValueSum = Sum + VIf VMax Then Max = VIf V1) Then Avg = Sum / n(incount).Write n(AavgTag).Write FormatNumber(Avg,2)(AmaxTag).Write FormatNumber(Max,2)(AMinTag).Write

18、 FormatNumber(Min,2)Elseselection return no fields&vbNewLineEnd IfSet oCom= NothingSet oRs=NothingSet conn=Nothing 打印調(diào)用(創(chuàng)建了一個(gè)全局動(dòng)作通過Printer的變化調(diào)用打印作業(yè))If = 0 Then1Else 0End If上面的方法就能得出A班的最大值、最小值和平均值,并把這些值存放在預(yù)先定義的內(nèi)部變量里。同樣的方法可以求出別班的數(shù)據(jù)信息。最后就是布局設(shè)計(jì)。這個(gè)布局的設(shè)計(jì)原理很簡單,就是把 變量”添加到布局中。排列 對(duì)齊就可以了。如下圖:圖16.報(bào)表布局最后組態(tài)輸出界面。在

19、畫面中組態(tài)如下界面,調(diào)用腳本和打印任務(wù)就可以了。圖17.操作界面該程序可以實(shí)現(xiàn)對(duì)任意時(shí)間范圍呢的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)打印。輸出結(jié)果如下圖:圖18.打印輸出用戶歸檔實(shí)現(xiàn)分總式報(bào)表報(bào)表圖2涉及到數(shù)據(jù)的統(tǒng)計(jì)。單純的存儲(chǔ)不難,關(guān)鍵如何統(tǒng)計(jì)。從報(bào)表上分析,一天只會(huì)產(chǎn)生一條記錄。完全可以選擇使用用戶歸檔實(shí)現(xiàn)。首先在用戶歸檔中創(chuàng)建一個(gè)歸檔,分別連接相應(yīng)的需要記錄的變量。并創(chuàng)建一個(gè)字符串類型的域用于存儲(chǔ)日期。 jr &, rima因圖19.用戶歸檔針對(duì)用戶歸檔創(chuàng)建如下控制變量:| . - wim I.- *= f-na -i.因圖20.控制變量關(guān)于控制變量的說明參考:WinCC Information system選

20、項(xiàng)用戶歸檔組態(tài)組態(tài)用戶歸檔-控制變量的屬性。當(dāng) ID=-1指令=6時(shí),就可以把過程值存放到歸檔數(shù)據(jù)庫中。關(guān)于日期可以通過如下腳本得到:riqi=CStr(Year(Now)&-&CStr(Month(Now)&-&CStr(Day(Now)可以新建一個(gè)系統(tǒng)變量選擇日期函數(shù),通過每天的變化觸發(fā)用戶歸檔控制變量的指令和ID的變化,從而達(dá)到定時(shí)觸發(fā)的目的。如圖:=3& h Mb :: 4 rii因圖21.系統(tǒng)變量定義這樣我們就得到了每天的數(shù)據(jù)記錄。下一步組態(tài)頁面。在頁面布局中添加一個(gè)用戶歸檔表格控件、一個(gè)靜態(tài)文本和一個(gè)ODBC數(shù)據(jù)庫表。為了實(shí)現(xiàn)分頁功能需要對(duì)靜態(tài)文本的屬性作如下設(shè)置:圖22.頁面布局

21、圖23.靜態(tài)文本屬性設(shè)置下面我們分別設(shè)置用戶歸檔和ODBC數(shù)據(jù)庫表控件的參數(shù)。圖23.歸檔控件設(shè)置圖控件設(shè)置畫面中查尋按鈕的代碼:Dim riqivarSet riqivar = (riqivar)Dim xinjiangFilterSet xinjiangFilter = (xinjiangFilter)Dim xinjiangorderSet xinjiangorder = (xinjiangorder)Dim mytestsqlSet mytestsql = (mytestsql)MyDate like &%MyDate ASC”select sum(picishu)as 批次數(shù) ”,s

22、um(zongzl) a曼、重量 ,sum(zhuliao) a駐料,sum(fuliao1) as 輔料域im(fuliao2) as 輔料 2#,sum(fuliao3) as 輔料3im(fuliao4) as 輔料4im(fuliao5) as 5# 輔料,sum(fuliao6) as 輔#6#from UA#peixianchengzhong where MyDate like&% 至此在畫面中輸入查詢?nèi)掌诘臈l件執(zhí)行上面的代碼就能返回相應(yīng)的數(shù)據(jù)集。最后調(diào)用打印任務(wù)就可以了。打印中常見問題的說明希望對(duì)大家有所幫助。整點(diǎn)觸發(fā)問題:可以通過在變量管理a SYSTEM INFO創(chuàng)建變量用于

23、取得系統(tǒng)小時(shí)值。這個(gè)值是隨著系統(tǒng)時(shí)鐘而變化的。一旦改變就可以用來觸發(fā)歸檔或者打印任務(wù)。也可以通過腳本實(shí)現(xiàn),參照網(wǎng)上的例子:如何整點(diǎn)啟動(dòng)歸檔:對(duì)齊問題:WinCC提供很好的數(shù)據(jù)接口,那么在報(bào)表格式上來講如何控制一直是個(gè)難題。下面是一些細(xì)節(jié)介 紹希望對(duì)大家能有所幫助。通過菜單欄中的放大功能可以很好的查看控件的對(duì)齊效果。a圖24.放大功能通過菜單欄 工具一設(shè)置,可以把頁面精確設(shè)置到毫米,同時(shí)可以設(shè)定控件是否和網(wǎng)格對(duì)齊。從而方便我們的排版設(shè)計(jì)。圖25.網(wǎng)格設(shè)置回復(fù)引用舉報(bào)稚若初現(xiàn)0個(gè)人主頁中給TA發(fā)消息再口 TA為好友發(fā)表于:2012-07-19 21:10:284樓報(bào)表功能總結(jié)通過上面的分析我們不難

24、看出,WinCC的報(bào)表系統(tǒng)提供了很好的數(shù)據(jù)接口,我們可以很方便的就取出WinCC的歸檔數(shù)據(jù)和外部數(shù)據(jù)庫的數(shù)據(jù)。無需很多的編程知識(shí)。同時(shí)在過程歸檔可以很容易的就得到變量的最大值、最小值、平均值等信息。過程值歸檔中無法建立關(guān)系和對(duì)字符串進(jìn)行歸檔。這些功能使用用戶歸檔可以實(shí)現(xiàn)。其實(shí)很多人不使用WinCC自帶的報(bào)表功能,很大程度上是因?yàn)椴季植缓谜瓶亍4_切來講在格式的控制上WinCC是有些不適合中國國情。延伸話題:其實(shí)數(shù)據(jù)的報(bào)表打印就是對(duì)數(shù)據(jù)的存儲(chǔ)記錄工作,有時(shí)候我們需要的并不是打印出一張紙, 而是需要對(duì)數(shù)據(jù)的分析和整理。從這個(gè)角度出發(fā),WinCC如果能提供一個(gè)強(qiáng)大的前臺(tái)數(shù)據(jù)統(tǒng)計(jì)分析控件就更完美了。當(dāng)然

25、對(duì)于數(shù)據(jù)的分析統(tǒng)計(jì),在現(xiàn)場應(yīng)用中很大程度上是由MIS系統(tǒng)和ERP系統(tǒng)來實(shí)現(xiàn)的。WinCC在這個(gè)環(huán)節(jié)是作為一個(gè)數(shù)據(jù)源的身份出現(xiàn)的。但是它的DataMonitor工具提供了很好的數(shù)據(jù)接口,用于分析和輸出數(shù)據(jù)。也不失為一個(gè)很好的數(shù)據(jù)分析統(tǒng)計(jì)選件。回復(fù)引用舉報(bào)稚若初現(xiàn)0個(gè)人主頁 單一給TA發(fā)消息曜口 TA為好友發(fā)表于:2012-07-19 21:11:235樓5.使用腳本和EXCE段現(xiàn)實(shí)時(shí)數(shù)據(jù)報(bào)表論壇中很多人使用 VBS和EXCE映現(xiàn)報(bào)表功能。下面做了一個(gè)示例僅供參考:在WINCC中使用VBS腳本通過EXCEL實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)報(bào)表使用VBS腳本和EXCEL:具,同樣可以生成需要的報(bào)表。 一般的思路是:預(yù)先

26、使用excel 設(shè)計(jì)好報(bào)表的樣式,然后在WinCC中使用VBS腳本把相應(yīng)的數(shù)據(jù)寫入事先定義好的表格中。下面給出實(shí)現(xiàn)的方法。右鍵點(diǎn)擊按鈕打開屬性對(duì)話框,在事件頁右鍵單擊鼠標(biāo)動(dòng)作選擇VBS動(dòng)作。如下圖:圖26.動(dòng)作定義在該事件中寫入如下腳本:定義變量Dim objExcelApp,objExcelBook,objExcelSheetDim tagwendu,tagyali,tagliuliang,tagzhongliang,tagyuanliao,tagchengfenDim tagshijian,sheetname,username,zhushiDim qushi1,qushi2,qushi3,

27、qushi4,qushi5,qushi6,qushix,tagstring,qushivalueDim x,y,z,i,jDim msg聲明Set tagwendu=(wendu)Set tagyali=(yali)Set tagliuliang=(liuliang)Set tagzhongliang=(zhongliang)Set tagyuanliao=(yuanliao)Set tagchengfen=(chengfen)Set username=(CurrentUserName)Set zhushi=(zhushi)msg=oksheetname=sheetdemo判斷是否打開模版,如

28、果打開先關(guān)閉保存On Error Resume NextDim ExcelApp,ExcelBookSet ExcelApp = GetObject(,)If TypeName(ExcleApp) = Application ThenFor Each ExcelBook InIf = D:excelreport ThenSet ExcelApp= NothingExit ForEnd IfNextEnd If創(chuàng)建對(duì)象Set objExcelApp =CreateObject()open el=TrueD:excelreport(sheetname).Activate清除模版數(shù)據(jù)With (sh

29、eetname)For i=5 To 25For j=1 To 7.cells(i,j尸NullNextNextFor i=26 To 26For j=1 To 6.cells(i,j尸NullNextNextEnd With實(shí)時(shí)數(shù)據(jù)寫入tagshijian=Now(sheetname).cells(2,2).value= tagshijian(sheetname).cells(2,7).value=(sheetname).cells(27,7).value=(sheetname).cells(27,7). = TRUE(sheetname).cells(27,7). = 25(sheetna

30、me).cells(27,7). = 7(sheetname).cells(27,7).=18tagstring=qushiFor i=1 To 6For j=30 To 35qushix=tagstring&CStr(i)Set qushivalue=(qushix)(sheetname).cells(j,2).value=NextNextFor i=5 To 25With (sheetname).cells(i,1).value= tagshijian.cells(i,2).value=.cells(i,3).value=.cells(i,4).value=.cells(i,5).valu

31、e=.cells(i,6).value=.cells(i,7).value=End WithNextMsgBox msg關(guān)閉保存Dim patch,filenamefilename=CStr(Year(Now)&CStr(Month(Now)&CStr(Day(Now)&CStr(Hour(Now)+CStr(Mi nute(Now)&CStr(Second(Now)patch= d:&filename&patchobjExcelApp= Nothing輸出結(jié)果如下圖:圖27.輸出結(jié)果如何使用EXCE昉問WinCC中的實(shí)時(shí)數(shù)據(jù)實(shí)現(xiàn)報(bào)表如果項(xiàng)目已經(jīng)做好了,不想改動(dòng)現(xiàn)有項(xiàng)目。那么可以使用EXCEL

32、過OPC方式訪問WinCC項(xiàng)目的數(shù)據(jù)。預(yù)先定義好EXCE在格樣式,通過以下方式實(shí)現(xiàn)。通過以下步驟打開 EXCEL中白VB編輯器。因圖28.打開編輯器引用 WinCC提供的 OPC客戶端 Control 控件:Siemens OPC DAAutomation (。圖29.打開引用界面圖30.對(duì)象引用創(chuàng)建起始畫面圖31.創(chuàng)建畫面編程實(shí)現(xiàn)變量聲明Option ExplicitOption Base 1Const ServerName =Dim WithEvents MyOPCServer As OPCServerDim WithEvents MyOPCGroup As OPCGroupDim MyO

33、PCGroupColl As OPCGroupsDim MyOPCItemColl As OPCItemsDim MyOPCItems As OPCItemsDim MyOPCItem As OPCItemDim ClientHandles(10) As LongDim ServerHandles() As LongDim Values。) As VariantDim Errors() As LongDim ItemIDs(10) As StringDim GroupName As StringDim NodeName As StringDim fXItemValue(IO) As Varia

34、nt在按鈕啟動(dòng)OPC客戶端”中添加以下代碼目的: 連接到OPC_server,創(chuàng)建組并添加條目發(fā)生錯(cuò)誤則轉(zhuǎn)到 ErrorHandler - 可以自 由選擇 ClientHandle 和 GroupNameDim i As IntegerOn Error GoTo HANDLEeRRORFori = 1 To 7ClientHandles(i) = i 先配置名柄索引這將在讀取OPC標(biāo)簽值時(shí)可要用到Next iClientHandles(l) = 1GroupName = MyGroup從窗口對(duì)話框中取得 ItemIDNodeName =ItemIDs(1) = Range(j5).Value 從 EXCELt格 j5 中讀取變量名稱ItemIDs(2) = Range(j6).ValueItemIDs(3) = Range(j7).ValueItemIDs(4) = Range(j8).ValueItemIDs(5) = Range(j9).ValueItemIDs(6) = Range(j10).Value -取得 OPC-Server 實(shí)例Set MyOPCServer = New OPCServerServerName, NodeNameSet MyOPCG

溫馨提示

  • 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)論