在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

WinCC如何做外部報表

1bGT_GKYXT1508 ? 來源:未知 ? 作者:李倩 ? 2018-04-16 10:40 ? 次閱讀

用VB實現WinCC歸檔數據的復雜報表

最近在看WinCC如何做外部報表,網上找了一篇文章,供大家參考。

引言:

Siemens公司的WinCC是一個優秀的工控組態軟件,廣泛應用于各種工業控制系統的數據采集及監控,具有良好的人機界面、靈活的組態功能。WinCC本身也具有報表和曲線處理功能,但 WinCC V6.0以前的版本沒有嵌入VB腳本功能,且其歸檔數據不能直接被SQL server數據庫所用。對于一些較復雜的數據處理功能(如數據查詢、數據備份、報表打印等)用WinCC實現就顯得力不從心。同時,WinCC在處理報表時不能對歷史數據進行任意查詢和過濾,且報表格式設計也不夠靈活方便,無法滿足項目要求。

1.系統概述

本系統是將WinCC從PLC采集過來的過程數據通過VB編程進行歸檔、查詢、過濾、報表打印。在每次試驗前,先要清空WinCC歸檔數據庫和Access臨時數據庫,以保證每一次試驗數據的有效性和完整性。試驗結束后,可立即進行數據處理(備份、查詢、過濾、打印)。也可對備份的歷史數據進行查詢和報表打印。由于Excel實現報表功能非常強大,且VB的可擴展性強,可以利用Excel作為OLE服務器,實現VB與Excel的集成,所以各種復雜的報表可以很容易的實現。系統主要界面如下 :

圖一:新試驗起始畫面

圖二:數據查詢畫面

2. ODBC的配置連接和DAO

2.1 ODBC(Open Database Connectivity)配置

ODBC是一個用于訪問數據庫的統一標準接口,是Microsoft Windows的開放服務體系WOSA(Windows OpenServices Architecture)中有關數據庫的一個組成部分。ODBC需要連接數據源,選擇相應的驅動程序。本系統數據源配置在ODBC Config 對話框中進行,配置數據庫文件名(此處輸入Siemens組態軟件Wincc自動生成存檔的過程數據庫《項目名》RT.DB)和路徑。并在類型(Description)中輸入Wincc5.0 。在Access中通過“獲取外部數據“連接到在ODBC 管理器中建立的數據源。這樣即使Wincc退出后,Access仍然與過程數據庫保持后臺動態連接。

2.2 DAO(dataaccessobjects)

VB訪問數據庫的方法有多種,訪問的數據庫類型也有多種。DAO(dataaccess objects)是一種基于Jet 數據庫引擎的面向對象接口,它提供了完整的管理一個關系型數據庫所需的全部操作屬性和方法。DAO可以識別ODBC數據庫。

3. VB創建數據庫和Excel報表

3.1創建數據庫、添加記錄

Siemens組態軟件Wincc自動生成歸檔的過程數據庫《項目名》RT.DB,每一個標簽變量對應一個表,需將若干個表匯總成為一個總表,另外需建一個包含變量名稱、代號、允許值等字段的表。上述過程采用VB編程,用前面介紹的的DAO創建數據庫、創建表、添加字段等來完成。并將Access中不同的采樣周期對應數據添加到臨時數據庫中,然后進行備份、查詢和報表處理等。主要程序如下:

SetWs = DBEngine.Workspaces(0)

Set dataBase = Ws.CreateDatabase(dataBasePath,dbLangGeneral, dbVersion60)

Set Table = dataBase.CreateTableDef(TableName)

Do Until recordTemp.EOF

Rs.AddNew:Rs(1) = recordTemp(0)

Rs.Update:recordTemp.MoveNext

Loop

3.2數據查詢和過濾

使用SQL語句實現時間段和數據過濾時間的子查詢,并將查詢結果放在建立的臨時查詢表中,再將臨時查詢表的記錄顯示。

Set queryTemp =db.CreateQueryDef(“”, “SELECT * FROM 運行數據 WHERE 時間 IN ( SELECT 時間 From 運行數據 WHERE 時間 between #” & strStart & “# and #” &strEnd & “# ) and Val(序號) Mod ” & Tim& “=” & numMod & “ ORDER BY 時間 ”)

3.3生成Excel報表

由于生成的報表比較復雜,所以先在Excel中按照用戶的要求作好一個模板(后綴為.xlt),對于報表中不固定的部分,需要VB程序動態生成。由于本項目過程變量數目及采樣值較多,在VB程序中需同時控制Excel的Sheet和Page。整個過程都是后臺調用Excel。

1)啟動Excel、復制模板:

SetobjNew = New Excel.Application

SetobjNew = CreateObject(“Excel.application”)

FileCopystrS, strD ‘復制模板

SetobjEW = objNew.Workbooks.Open(strD) objNew.Visible = False

2)按要求將查詢結果送到Excel的各個Range或Cells中:

Fori = 3 To 16

objEW.Sheets(1).Cells(4+ k * 33, i) = c(i - 2, 1): Next I

3)刪除多余的模板:

objEW.Sheets(1).Range(“A”& Trim$(Str$(k)) & “:” & “P660”).Select objNew.Selection.EntireRow.Delete

Selection.DeleteShift:=xlUp

4)設置紙張、打印預覽和打印:

objEW.ActiveSheet.PageSetup.Orientation= xlLandscape ‘設置紙張方向為橫向

objEW.ActiveSheet.PageSetup.PaperSize= xlPaperA4 ’設置紙張尺寸為A4

objNew.Visible= True

objEW.Sheets(1).PrintPreview

objNew.Visible= False

objEW.Sheets(1).PrintOut

objNew.DisplayAlerts= False: objNew.Quit objNew.DisplayAlerts= True:

SetobjNew = Nothing

KillApp.Path + “\temp1.xls” ‘刪除臨時模板

4.結束語:

本系統將WinCC從PLC采集過來的過程數據,通過VB編程進行歸檔、查詢、過濾、報表打印,以及對歷史數據查詢、過濾、報表打印。系統充分利用Excel非常強大的報表處理功能,以及VB的可擴展性強,將VB與Excel集成,以實現用戶所要求的報表;同時,實現了數據靈活備份,解決了工程實際問題。目前該系統已投入運行,性能良好。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WinCC
    +關注

    關注

    6

    文章

    204

    瀏覽量

    47997
  • VB編程
    +關注

    關注

    0

    文章

    44

    瀏覽量

    8414

原文標題:用VB實現WinCC歸檔數據的復雜報表

文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    變壓器沒有抽頭如何做正負壓?

    變壓器沒有抽頭如何做正負壓?
    的頭像 發表于 01-20 10:28 ?1879次閱讀
    變壓器沒有抽頭<b class='flag-5'>如何做</b>正負壓?

    求教labview和wincc的接口問題?

    現在在許多行業的HMI用的是西門子的WinCC ,有沒有用labview和西門子的SCADA軟件WINcc的接口?
    發表于 11-24 17:05

    labview 和 wincc 的區別 使用場景

    labview 和 wincc 的區別 使用場景 都是上位機軟件,都可以監控軟件 wincc的名氣也比較大 對比的資料較少 寫這些文章的人,從自己的從事的行業出發,帶有自己的思維 使用的場景 肯定
    發表于 10-27 18:01

    WinCC數據報表實現方法介紹

    WinCC數據報表實現方法介紹:本文對數據報表的需求進行了分析,結合WinCC就復雜數據報表的實現進行了介紹。關鍵詞
    發表于 07-03 15:53 ?192次下載

    如何做一塊好的PCB板

    如何做一塊好的PCB板    大家都知道理PCB板就是把設計好的原理圖變成一塊實實在在的PCB電路板,請別小看這一
    發表于 01-18 13:16 ?2557次閱讀

    手機企業如何做項目管理

    手機企業如何做項目管理 項目管理科學是一門關于項目資金、時間、人力、產品等資源控制的管
    發表于 07-15 07:51 ?1623次閱讀

    半導體廠商如何做芯片的出廠測試

    半導體廠商如何做芯片的出廠測試呢,這對芯片來說,是流片后或者上市前的必須環節。
    發表于 06-18 15:56 ?1.5w次閱讀

    半導體廠商如何做芯片的出廠測試

    半導體廠商如何做芯片的出廠測試,感興趣的小伙伴們可以瞧一瞧。
    發表于 10-26 15:55 ?0次下載

    SIMATIC WinCC V7.4 過程可視化系統樣本

    、262144個外部變量)。外部變量是指,通過WinCC通道連接到控制器或其它數據源的數據點。WinCC基本系統已集成圖形系統、報警消息系統、歸檔系統、
    發表于 04-26 14:26 ?13次下載

    博圖WINCC如何做畫面模板

    博圖WINCC 如何做畫面模板
    的頭像 發表于 10-10 09:10 ?3.2w次閱讀
    博圖<b class='flag-5'>WINCC</b><b class='flag-5'>如何做</b>畫面模板

    利用第三方軟件實現WinCC打印實時報表的方法

    利用第三方軟件實現WinCC打印實時報表的方法A說明。
    發表于 04-25 11:07 ?10次下載

    WINCC flexiblo組態報表是什么,如何創建

    出于產品測試和質量控制的目的,報表用于記錄生產過程中的事件。這些事件,即報警和配方數據,以班次報表的形式定期輸出。
    的頭像 發表于 06-30 17:26 ?2017次閱讀
    <b class='flag-5'>WINCC</b> flexiblo組態<b class='flag-5'>報表</b>是什么,如何創建

    涂鴉IoT平臺如何做智能家居項目

    電子發燒友網站提供《涂鴉IoT平臺如何做智能家居項目.zip》資料免費下載
    發表于 11-08 10:40 ?7次下載
    涂鴉IoT平臺<b class='flag-5'>如何做</b>智能家居項目

    WINCC flexiblo組態報表詳解

    出于產品測試和質量控制的目的,報表用于記錄生產過程中的事件。這些事件,即報警和配方數據,以班次報表的形式定期輸出。
    的頭像 發表于 07-26 10:11 ?1020次閱讀
    <b class='flag-5'>WINCC</b> flexiblo組態<b class='flag-5'>報表</b>詳解

    SIMATIC WinCC產品特性及亮點

    SIMATIC WinCC 基本系統包分運行版和完全版(組態+ 運行)兩種,軟件授權以外部變量進行劃分(可支持128、512、2048、8192、65536、102400、153600、262144 個外部變量)。
    的頭像 發表于 08-09 14:25 ?1403次閱讀
    主站蜘蛛池模板: 特级毛片免费视频观看| 国产在线视频h| 19xxxxxxxxx日本69| 亚洲综合色在线| 特级一级全黄毛片免费| 国产三级 在线播放| 国产综合视频在线| 中文字幕第页| 色天使在线播放| 久久香蕉综合色一综合色88| 窝窝午夜看片| 狠狠艹视频| 22eee在线播放成人免费视频| 天堂视频在线观看| 久久99精品一级毛片| 97色在线| 久草干| 一区二区三区免费精品视频| 三级黄网站| 国产精品9999久久久久仙踪林| 午夜性刺激免费视频观看不卡专区| 精品黄色片| 亚洲国产色婷婷精品综合在线观看| 国产色婷婷免费视频| 午夜视频啪啪| 日本特黄特色特爽大片老鸭| 国产亚洲高清在线精品不卡| 国产精品波多野结衣| 婷婷色激情| 黄 色 录像成 人播放免费99网| 一级精品视频| 高清成年美女黄网站色大| 亚洲成人免费在线| 中文在线免费看影视| 1024免费看片| 亚洲一区二区三区麻豆| 开心综合网| 8050午夜| 欧美大片一区二区| 天天天操| 亚洲欧美日韩一区|