999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FactoryTalk View SE中實現(xiàn)Access數(shù)據(jù)庫記錄與查詢

2015-10-12 09:46:24卓盛杰王博強天津賽象科技股份有限公司天津300384
橡塑技術(shù)與裝備 2015年17期
關(guān)鍵詞:數(shù)據(jù)庫

卓盛杰,王博強(天津賽象科技股份有限公司,天津 300384)

FactoryTalk View SE中實現(xiàn)Access數(shù)據(jù)庫記錄與查詢

卓盛杰,王博強
(天津賽象科技股份有限公司,天津 300384)

FactoryTalk View SE是Rockwell Automation公司推出的監(jiān)控組態(tài)軟件,它可以用映射工廠和過程的方式來分配應(yīng)用項目的各個部分,在數(shù)據(jù)監(jiān)控,畫面顯示等方面具有強大的功能,然而在數(shù)據(jù)報表、處理方面卻表現(xiàn)出弱點。利用其內(nèi)嵌的VBA可以擴展軟件功能。本文結(jié)合FactoryTalk View SE內(nèi)嵌的VBA,調(diào)用事先做好的Excel表格,讀取軟件通過ODBC接口記錄到Access中的數(shù)據(jù),然后生成報表。

數(shù)據(jù)庫;報表;Excel;VBA;FactoryTalk View SE;Access

FactoryTalk View Supervisory Edition是Rockwell Automation公司組態(tài)軟件,是與公司自動化產(chǎn)品結(jié)合最佳的可視化軟件產(chǎn)品,提供了強大的數(shù)據(jù)監(jiān)控能力,方便用戶進行上位機的畫面組態(tài)。FactoryTalk View SE內(nèi)嵌VBA,它為自定義及擴展FactoryTalk View SE功能提供了完整的開發(fā)環(huán)境。

現(xiàn)在愈來愈多的輪胎生產(chǎn)企業(yè)為了保證產(chǎn)品的質(zhì)量而要求對擠出生產(chǎn)線的一些重要的數(shù)據(jù)參數(shù)進行保存與查詢而FactoryTalk View SE和其他組態(tài)軟件一樣,本身報表生成、處理能力比較弱。為了實現(xiàn)數(shù)據(jù)記錄與報表查詢功能,本文使用FactoryTalk View SE內(nèi)嵌的VBA,與Access、Excel相結(jié)合,利用Access的數(shù)據(jù)記錄功能與Excel強大制表功能,實現(xiàn)數(shù)據(jù)記錄以及報表查詢功能。

1 實現(xiàn)原理

通過日志模型設(shè)置,F(xiàn)actoryTalk View SE從PLC采集實時數(shù)據(jù),通過ODBC接口存儲到Access數(shù)據(jù)庫中,利用FactoryTalk View SE內(nèi)嵌的VBA開發(fā),訪問Access數(shù)據(jù)庫,調(diào)用Excel,將Access數(shù)據(jù)庫中的數(shù)據(jù)讀取到Excel中,在進行處理,形成報表。系統(tǒng)解決方案框圖如圖1所示。

圖1 報表解決方案框圖

2 Excel對象模型

Excel對象封裝了Microsoft Excel的全部元素,利用Excel對象提供的屬性、方法和事件,就可以在應(yīng)用程序中生成Excel報表。

Excel對象模型描述了Excel對象之間的結(jié)構(gòu)關(guān)系,如圖2所示。

(1)Application對象

圖2 Excel對象模型

Application對 象 表 示Excel應(yīng) 用 程 序, 在Excel 讀象模型中該對象處于模型的頂端,通過使用Application對象可以訪問模型中其他對象,從而控制Excel應(yīng)用程序的外觀和功能。

(2)Workbook對象

Workbook對象表示Excel中的工作簿,即對應(yīng)一個Excel文件,通過使用Workbook對象就可以實現(xiàn)對Excel工作簿的各種控制。

(3)Worksheet對象

Worksheet對象表示Excel中的工作表,通過使用Worksheet對象就可以實現(xiàn)對Excel工作表中的各種控制。

(4)Range對象

Range對象表示Excel中的區(qū)間,可以表示Excel中的單元格、幾個單元格、行、列或一個選中的區(qū)域,使用Range對象可以實現(xiàn)對Excel單元格或選中區(qū)域的各種操作。

3 應(yīng)用實例

通過讀取標簽中的單條秤重量、連續(xù)秤重量、測寬1、測寬2、一線設(shè)定速度、二線設(shè)定速度、一線實際速度、二線實際速度、收縮比、裁斷長度設(shè)定值,在報表中體現(xiàn)出記錄日期和數(shù)值。下面將具體介紹如何實現(xiàn)報表。

(1)將Excel、Access對象庫加載到當(dāng)前VBA程序中

為了能夠在程序中調(diào)用Access數(shù)據(jù)庫以及Excel對象,為Access與Excel連接、互相嵌入使用做準備,必須在VBA程序中加載Excel、Access對象庫。在VBA編程環(huán)境下,單擊“Tools”菜單中的“Reference”命令,在彈出的對話框、中選中Microsoft Access 11.0 Object Library和 Microsoft Excel 11.0 Object Library兩項,點擊“確定”后退出,這樣就完成了Excel、Access對象庫在VBA程序中的加載。

(2)創(chuàng)建Access數(shù)據(jù)庫

創(chuàng)建記錄用Access數(shù)據(jù)庫,分別命名好如下字段:編號、日期、時間、單條秤重量、連續(xù)秤重量、測寬1、測寬2、一線設(shè)定速度、二線設(shè)定速度、一線實際速度、二線實際速度、收縮比、裁斷長度設(shè)定值。

(3)讀取數(shù)據(jù)庫實際地址

打開管理工具中的數(shù)據(jù)源(ODBC),在系統(tǒng)DSN選項卡中添加數(shù)據(jù)庫驅(qū)動,鏈接創(chuàng)建好的數(shù)據(jù)庫。

(4)在FactoryTalk View中編寫代碼,將PLC數(shù)據(jù)寫入Access數(shù)據(jù)庫中

為了將我們需要記錄的PLC數(shù)據(jù)寫入數(shù)據(jù)庫中,需要將FactoryTalk View中的標簽與VB代碼中聲明的變量對接,這樣才能將我們想要記錄的PLC數(shù)據(jù)寫入Access數(shù)據(jù)庫中,如圖3所示。

圖3 PLC數(shù)據(jù)寫入Access數(shù)據(jù)庫示意圖

編寫代碼如下:

Private OTag As Tag

Private O1Tag As Tag

Private O2Tag As Tag

Private O3Tag As Tag

Private O4Tag As Tag

Private O5Tag As Tag

Private O6Tag As Tag

Private O7Tag As Tag

Private O8Tag As Tag

Private O9Tag As Tag

Private O10Tag As Tag

Private WithEvents OtagG As TagGroup

Private Conn As New ADODB.Connection

Private Rs As New ADODB.Recordset

Private Sub Display_AnimationStart()

聲明標簽變量

On Error Resume Next

Set OtagG = CreateTagGroup(Me.AreaName)

OtagG.Add ("SampleTime")

OtagG.Add ("Weight1")

OtagG.Add ("Weight2")

OtagG.Add ("Width1")

OtagG.Add ("Width2")

OtagG.Add ("Line1Speed_Preset")

OtagG.Add ("Line2Speed_Preset")

OtagG.Add ("Line1Speed_Actual")

OtagG.Add ("Line2Speed_Actual")

OtagG.Add ("ShrinkRatio")

OtagG.Add ("CutLength_Preset")

將標簽變量與FactoryTalk View中的標簽對接

Set OTag = OtagG.Item(1)

Set O1Tag = OtagG.Item(2)

Set O2Tag = OtagG.Item(3)

Set O3Tag = OtagG.Item(4)

Set O4Tag = OtagG.Item(5)

Set O5Tag = OtagG.Item(6)

Set O6Tag = OtagG.Item(7)

Set O7Tag = OtagG.Item(8)

Set O8Tag = OtagG.Item(9)

Set O9Tag = OtagG.Item(10)

Set O10Tag = OtagG.Item(11)

OtagG.Active = True

Conn.ConnectionString = "DSN=GZTM"

Conn.Open

End Sub

Private Sub Display_BeforeAnimationStop() Conn.Close

Set Conn = Nothing

Set OTag = Nothing

Set O1Tag = Nothing

Set O2Tag = Nothing

Set O3Tag = Nothing

Set O4Tag = Nothing

Set O5Tag = Nothing

Set O6Tag = Nothing

Set O7Tag = Nothing

Set O8Tag = Nothing

Set O9Tag = Nothing

Set O10Tag = Nothing

Set OtagG = Nothing

End Sub

Private Sub OtagG_Change(ByVal TagNames As IGOMStringList)

On Error Resume Next

Conn.Execute "insert into [GZTM] ([日期 ],[時間],[單條秤重量],[連續(xù)秤重量],[測寬1],[測寬2],[一線設(shè)定速度],[二線設(shè)定速度],[一線實際速度],[二線實際速度],[收縮比],[裁斷長度設(shè)定值])values('" & Date & "','" & Time() & "'," & O1Tag.Value & ",'" & O2Tag.Value & "'," & O3Tag.Value & ",'" & O4Tag.Value & "'," & O5Tag.Value & ",'" & O6Tag.Value & "'," & O7Tag.Value & ",'" & O8Tag.Value & "'," & O9Tag.Value & ",'" & O10Tag.Value & "')"

插入數(shù)據(jù)庫字段名,以及對應(yīng)的標簽變量。

End Sub

(5)創(chuàng)建Excel表格

為了使用Excel查詢Access數(shù)據(jù)庫生成報表,必須事先建立Excel表格,新建一個Excel文件用以存儲從Access數(shù)據(jù)庫中讀取的數(shù)據(jù),并使用VB代碼建立查詢模塊將Access數(shù)據(jù)庫中的記錄按照日期查詢條件寫入表格,從而形成我們所需要的報表。下面的VBA程序語句實現(xiàn)了在Excel中導(dǎo)入Access數(shù)據(jù)庫記錄的方法。

Public Sub QueryFun()

聲明模塊

Dim date1 As String, date2 As String

date1 = Worksheets("condition").Cells(2, 1).Value

date2 = Worksheets("condition").Cells(2, 2).Value

讀取日期條件

Worksheets("results").Select

Worksheets("results").Cells.Select

Selection.ClearContents

With Worksheets("results").QueryTables. Add(Connection:=Array(Array( _

"O D B C;D S N=G Z T M;D B Q=C:G Z T M. mdb;DriverId=2" _

), Array("5;FIL=MS Access;MaxBufferSize=204 8;PageTimeout=5;")), Destination:= _

Range("A1"))

.CommandText = Array("SELECT GZTM.編號,GZTM.日期,GZTM.時間,GZTM.單條秤重量,GZTM.連續(xù)秤重量,GZTM.測寬1,GZTM.測寬2,GZTM.一線設(shè)定速度,GZTM.二線設(shè)定速度,GZTM.一線實際速度, GZTM.二線實際速度, GZTM.收縮比,GZTM.裁斷長度設(shè)定值" & Chr(13) & "" & Chr(10) & "FROM GZTM" & _

" where (日期 >= #" & date1 & " 00:00:00# and日期 <= #" & date2 & " 23:59:59#)")

.Name = "查詢來自 SE_Data"

寫入從Access查詢的數(shù)據(jù)

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.BackgroundQuery = True

.RefreshStyle = xlInsertDeleteCells

.SavePassword = False

.SaveData = True

.AdjustColumnWidth = True

.RefreshPeriod = 0

.PreserveColumnInfo = True

.Refresh BackgroundQuery:=False

End With

Worksheets("results").Range("A1").Select

End Sub

寫好代碼后在條件工作表中調(diào)用。

在查詢條件工作簿添加按鈕以及如下代碼:

Private Sub CommandButton1_Click()

Call QueryFun

End Sub

可以使按鈕調(diào)用之前編寫的模塊。

(6)在FactoryTalk View SE項目中查詢報表

為了在FactoryTalk View SE項目中查詢報表,我們需要建立一個查詢報表按鈕,可以使全局按鈕,也可以在任意畫面新建按鈕。然后使用AppStart命令,并在參數(shù)中定義Excel的執(zhí)行程序路徑以及之前建立好的查詢表格路徑。這樣就可以卓盛杰直接打開之前創(chuàng)建好的查詢表格,并通過表格查詢想要的時間段的記錄數(shù)據(jù)了。

4 結(jié)論

與大部分組態(tài)軟件相似,F(xiàn)actoryTalk View SE在數(shù)據(jù)監(jiān)控、畫面組態(tài)功能較強,但在報表生成、處理能力較弱。此方法實現(xiàn)復(fù)雜的生產(chǎn)報表,開發(fā)周期短,可操作性強,完全滿足工業(yè)的生產(chǎn)要求,在此基礎(chǔ)上,完全可實現(xiàn)班報、周報、月報、年報等。

Access database records and query implemented in FactoryTalk View SE

TQ330.493

1009-797X(2015)17-0044-04

B DOI:10.13520/j.cnki.rpte.2015.17.012

卓盛杰,自2006年起進入賽象科技股份有限公司工作,在2010年正式開始負責(zé)調(diào)試擠出聯(lián)動線,對擠出聯(lián)動線有比較深刻的認識。

2015-04-21

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
數(shù)據(jù)庫
財經(jīng)(2015年3期)2015-06-09 17:41:31
數(shù)據(jù)庫
財經(jīng)(2014年21期)2014-08-18 01:50:18
數(shù)據(jù)庫
財經(jīng)(2014年6期)2014-03-12 08:28:19
數(shù)據(jù)庫
財經(jīng)(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 免费人欧美成又黄又爽的视频| 国产亚洲欧美日本一二三本道| 国产日韩av在线播放| 国内精品91| 999精品在线视频| 亚洲色成人www在线观看| 国产熟女一级毛片| 国产亚洲精品自在久久不卡| 国产精品任我爽爆在线播放6080| 色综合五月| 亚洲动漫h| 日本三级精品| 99视频国产精品| 欧美激情二区三区| AV在线麻免费观看网站| 久久精品无码专区免费| 国产理论精品| 日本影院一区| 亚洲综合天堂网| 国产精品成人不卡在线观看 | 国产不卡国语在线| 亚洲福利片无码最新在线播放| 欧美日韩国产成人高清视频| 真实国产乱子伦高清| 国产成人亚洲综合a∨婷婷| 国产视频久久久久| 国产裸舞福利在线视频合集| 一级毛片免费播放视频| 欧美亚洲日韩中文| 亚洲国产AV无码综合原创| 国产精品第页| 亚洲中文精品久久久久久不卡| 91丝袜乱伦| 欧美精品成人一区二区视频一| 色悠久久久久久久综合网伊人| 国产午夜精品一区二区三| 久久国产精品嫖妓| 中国毛片网| 亚洲综合婷婷激情| 亚洲国产精品久久久久秋霞影院| 亚洲视频色图| 无码福利视频| 欧美午夜视频在线| 无码精品国产dvd在线观看9久| 自拍偷拍欧美| 99无码熟妇丰满人妻啪啪| 国产精品无码AⅤ在线观看播放| 亚洲一级毛片免费看| 亚洲香蕉久久| 东京热一区二区三区无码视频| 国产三级毛片| 精品国产免费人成在线观看| 中字无码av在线电影| 亚洲男人在线天堂| 亚洲天堂首页| 亚洲国产av无码综合原创国产| 国产精品尹人在线观看| 91久久夜色精品| 欧美自慰一级看片免费| 日韩av在线直播| 91精品伊人久久大香线蕉| 天天综合网色| 久久99国产视频| 青青操国产| 亚洲欧洲日产无码AV| 亚洲欧美日韩中文字幕在线一区| 久久成人免费| 无码福利视频| 亚洲天堂日韩av电影| 少妇极品熟妇人妻专区视频| 亚洲精品第1页| 成人a免费α片在线视频网站| 亚洲国产精品日韩专区AV| 制服丝袜国产精品| 国产黄网永久免费| 色综合国产| 91精品国产一区自在线拍| 国产超碰在线观看| 四虎成人精品在永久免费| 91久久偷偷做嫩草影院电| 全色黄大色大片免费久久老太| 综合色在线|