




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、IFIX與EXCEL的連接第一步,創(chuàng)建ODBC數(shù)據(jù)源,具體方法:啟動控制面板中的數(shù)據(jù)源ODBC,單擊“系統(tǒng)DNS”對話框,選擇所需數(shù)據(jù)源的驅(qū)動,如:“Microsoft excel driver (*.exl)”,單擊“完成”按鈕,彈出“ODBC Microsoft excel 安裝”對話框;在數(shù)據(jù)源名中定義一個數(shù)據(jù)源名稱,數(shù)據(jù)庫中“選擇”中選擇區(qū)縣數(shù)據(jù)所在的數(shù)據(jù)庫,此數(shù)據(jù)庫的表至少有三個字段:時間字段、數(shù)據(jù)字段、毫秒字段。單擊確定按鈕,新創(chuàng)建數(shù)據(jù)源就添加到“系統(tǒng)DNS”列表中。第二步,在IFIX中創(chuàng)建代碼ADO在安裝了MCROWIN
2、 BASIC 6.0 等軟件就有了;Private Sub CommandButton1_Click() '注釋: 1。該程序需要安裝ADO 2.0目標庫并在本機注冊 ' 2。Microsoft ActiveX Data Objects 2.1 Library 必須被
3、引用 (Office 2000) ' 3。Microsoft Excel 9.0 object libraries 必須被引用 (Office 2000) ' 4。劃=處可根據(jù)具體報表修改 &
4、#160; Dim strQueryAvg As String Dim c As Integer Dim r As Integer Dim Intyexcel As Excel.Application Dim
5、60;MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecond Dim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As String '+= '報表中的 TAG
6、0;Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As String Dim Items As Integer Tag1 = "TEST" Tag2 = "T
7、EST1" Tag3 = " " Tag4 = " " Tag5 = " " Tag6 = " " Tag7 = " &
8、quot; Tag8 = " " '從歷史庫中取得域項, 2 - DATATIME, VALUE, TAG 共三項 Items = 2 '-=
9、0; MyDate = Now() MyMonth = Month(MyDate) MyDay = Day(MyDate) MyHour = Hour(MyDate) MyMinute = Minute(MyDate) MySecond =
10、;Second(MyDate) StartTime = "2000" & "-" & MyMonth & "-" & MyDay - 1 & " " & "00:00:00" &
11、#160; EndTime = "2000" & "-" & MyMonth & "-" & MyDay - 1 & " " & "23:00:00" '+=
12、'查詢,根據(jù)報表修改 strQueryAvg = "Select DATETIME, VALUE, TAG FROM FIX " & _ "WHERE MODE = 'AVERAGE' and (TAG='" &
13、 Tag1 & "' or TAG='" & Tag2 & "'" & _ " or TAG='" & Tag3 & "' or TAG='"
14、; & Tag4 & "' or TAG='" & Tag5 & "'" & _ " or TAG='" & Tag6 & "' or TA
15、G='" & Tag7 & "' or TAG='" & Tag8 & "')" & _ "and INTERVAL = '01:00:00' and " &&
16、#160;_ "(DATETIME >= and " & _ "DATETIME <= )" '-=
17、0; Dim cnADO As New ADODB.Connection Dim rsADO As Recordset Set cnADO = New ADODB.Connection cnADO.ConnectionString = "DSN =
18、60;FIX Dynamics Historical Data; UID = sa; PWD = " cnADO.Open "FIX Dynamics Historical Data", "sa", "" Set rsADO = New ADODB
19、.Recordset rsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOptimistic '''如果執(zhí)行上面的語句出錯的話,則最大的可能性就是SQL語句有錯誤! r = 1 Set Intyexcel = New E
20、xcel.Application Intyexcel.Visible = False '+= '打開的報表文件名 Dim OutReportFile As String &
21、#160;Dim InReportFile As String InReportFile = "C:DynamicsAppHIST1" Intyexcel.Workbooks.Open InReportFile & ".XLS"
22、0; Intyexcel.Sheets("Sheet2").Select Intyexcel.Columns("A:Z").Select Intyexcel.Selection.ClearContents Intyexcel.Range("A1").Select While rsADO.
23、EOF <> True With Intyexcel.Worksheets(2) For c = 0 To Items
24、; If rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO(c) Next c r
25、60;= r + 1 rsADO.MoveNext End With Wend Intyexcel.Sheets("Sheet1").Select'
26、0; Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrait 'xlLandscape' Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4 Intyexcel.ActiveSheet.PrintOut
27、0; Intyexcel.DisplayAlerts = False Intyexcel.ActiveWorkbook.Save OutReportFile = InReportFile & "_00" & MyMonth & MyDay Intyexcel.ActiveWorkbook.Sav
28、eAs OutReportFile Intyexcel.Quit Intyexcel.DisplayAlerts = True Set Intyexcel = Nothing Set cnADO = NothingEnd Sub4.2 iFIX中電廠日報表的
29、生成3總則:運用iFIX的調(diào)度器運行基于時間的VBA腳本來生成每天的EXCEL格式日報表。1) iFIX中調(diào)度設置在iFIX中新建時間調(diào)度,設置成間隔1小時的調(diào)度項,然后點擊VB編輯器自定義腳本,如下圖: 圖 6 iFIX中調(diào)度設置界面2) 初始變量定義Dim ReportArray As Variant Rem 存放日報中所有要顯示的參數(shù)的數(shù)組Dim FirstPoint1 As Variant Rem 第一個變量Dim tempva
30、r As Variant Rem 中間變量Dim strStartTime, strEndTime Rem 報表查詢的時間范圍Dim Interval As Variant Rem 報表查詢的間隔時間Dim OutReportfile As Variant Rem 輸出EXCEL表格的文件名Dim TemplateName As String Rem 這個是日報表模板
31、的文件名3) 建立對EXCEL的引用,并打開報表的模板文件:Set msExcel = CreateObject("Excel.Application") With msExcel.WindowState = xlMinimized.Visible = False.Workbooks.Open ReportTemplateName, , False Rem 打開報表的模板文件.ActiveWorkbook.ActiveShee
32、t.Select.DisplayAlerts = False.DisplayAlerts = False.Wait (Now() + 0.00002)End With4) 創(chuàng)建SQL查詢語句:Dim rsADO As New ADODB.RecordsetDim cnADO As New ADODB.ConnectionDim SQL0,SQL1 AS StringSQLO =
33、;"select FIX.value from FIX where FIX.interval=|" + Interval + "| and FIX.datetime>=ts|" + strStartTime + "| and FIX.datetime<ts|" + strEndTime + "|"
34、 Rem FIX為本地節(jié)點名SQL1 = SQLO & " and (FIX.tag=|" & FirstPoint1 & "|"iTotalCols = 1For Each tempvar In FirstReportPointsiTotalCols = iTotalCols + 1SQL1 =
35、0;SQL1 & " or FIX.tag=|" & tempvar & "|"Next tempvarSQL1 = SQL1 + ")"5) 執(zhí)行對數(shù)據(jù)庫的查詢:Set cnADO = New ADODB.ConnectionWith cnADORem .CursorLocation = adUseClient.Open "PROVIDER = Microsoft OLE DB Provider
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 疫病監(jiān)測中野生動物行為學的研究考核試卷
- 電信行業(yè)科技創(chuàng)新考核試卷
- 禮儀用品企業(yè)品牌傳播策略考核試卷
- 篷布企業(yè)市場競爭力提升考核試卷
- 畜牧機械制造質(zhì)量控制考核試卷
- 煤炭氣化殘渣利用考核試卷
- 油氣儲罐操作與維護技術(shù)考核試卷
- 信陽藝術(shù)職業(yè)學院《德國社會與文化》2023-2024學年第二學期期末試卷
- 欽州幼兒師范高等??茖W校《牙周病學A》2023-2024學年第二學期期末試卷
- 信宜市2025年數(shù)學三下期末學業(yè)水平測試模擬試題含解析
- 蘇教版三年級下冊數(shù)學脫式計算去括號練習400題及答案
- 《礦山機械》課件
- 行業(yè)投資風險評估報告:評估行業(yè)投資風險程度
- 知識產(chǎn)權(quán)維權(quán)授權(quán)書
- 20220804整車行業(yè)SAP VMS核心解決方案
- 水產(chǎn)養(yǎng)殖公司合伙人股權(quán)分配協(xié)議
- 云ACP云計算考試題庫及答案
- 急救醫(yī)療資源整合優(yōu)化研究
- 達人采風活動方案
- 制造業(yè)本季度總結(jié)與下季度規(guī)劃
- 大健康加盟項目計劃書
評論
0/150
提交評論