工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表實(shí)現(xiàn)最佳操作法(工程師培訓(xùn))_第1頁
工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表實(shí)現(xiàn)最佳操作法(工程師培訓(xùn))_第2頁
工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表實(shí)現(xiàn)最佳操作法(工程師培訓(xùn))_第3頁
工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表實(shí)現(xiàn)最佳操作法(工程師培訓(xùn))_第4頁
工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表實(shí)現(xiàn)最佳操作法(工程師培訓(xùn))_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE8工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表實(shí)現(xiàn)最佳操作法一.概述工業(yè)控制系統(tǒng)數(shù)據(jù)報(bào)表是工業(yè)自動(dòng)化應(yīng)用的一個(gè)重要方面,也是工業(yè)控制領(lǐng)域應(yīng)用的一個(gè)難點(diǎn)。怎樣開發(fā)一套外觀美觀又非常實(shí)用的數(shù)據(jù)報(bào)表系統(tǒng),一直是技術(shù)人員在積極探討的一個(gè)問題。隨著計(jì)算機(jī)技術(shù)和工業(yè)控制技術(shù)的發(fā)展,工業(yè)控制系統(tǒng)開發(fā)軟件的功能越來越強(qiáng)大,為我們解決這一問題提供了手段。經(jīng)過不斷的實(shí)踐,利用現(xiàn)在應(yīng)用非常普遍的IFIX和INTOUCH軟件和與其嵌套的VBA功能,SQLSERVER功能等通過調(diào)用ADO方式建立和訪問過程數(shù)據(jù)庫,與EXCEL電子表格相連接,從而實(shí)現(xiàn)了完美的數(shù)據(jù)報(bào)表功能的方法.包括數(shù)據(jù)報(bào)表的顯示,數(shù)據(jù)查詢,報(bào)表打印等.IFIX軟件介紹IFIX是Intellution公司工業(yè)自動(dòng)化軟件FIX家族中的最新產(chǎn)品。Intellution在提供強(qiáng)有力的工業(yè)自動(dòng)化軟件方面處于領(lǐng)先地位。IFIX提供的具體功能包括:監(jiān)視:將現(xiàn)場數(shù)據(jù)實(shí)時(shí)提供給操作員;監(jiān)控:監(jiān)視實(shí)時(shí)數(shù)據(jù)并對特殊數(shù)據(jù)提供必要的控制;報(bào)警:識別控制過程中的異常事件能力并予以報(bào)告;控制:提供必要的算法,調(diào)整過程數(shù)據(jù)值;另外,實(shí)時(shí)數(shù)據(jù)僅僅是處理中的一級,許多現(xiàn)場需要將實(shí)時(shí)數(shù)據(jù)作成報(bào)表并保存這些報(bào)表,供以后分析時(shí)使用。IFIX軟件提供的報(bào)表設(shè)計(jì)器(CRYSTALREPORT)通過工業(yè)標(biāo)準(zhǔn)數(shù)據(jù)交換規(guī)約如DDE和ODBCSQL,具有生成報(bào)表和文件的能力.但是,報(bào)表設(shè)計(jì)器價(jià)格昂貴,一般用戶不想在此投入過多.雖然勉強(qiáng)使用EXCEL電子報(bào)表可以生成簡單報(bào)表.但是,距離用戶的要求還有相當(dāng)大的差距.這些問題主要表現(xiàn)在以下幾個(gè)方面:不能按照工業(yè)現(xiàn)場的實(shí)際情況自由設(shè)計(jì)報(bào)表格式;歷史數(shù)據(jù)不便查詢;歷史數(shù)據(jù)不能夠長時(shí)間保存,工業(yè)現(xiàn)場數(shù)據(jù)要求保存半年或一年的時(shí)間.因此,有必要另辟途徑解決這幾個(gè)問題.而IFIX嵌套了VBA功能,為我們解決問題提供了強(qiáng)大的開發(fā)工具.EXCEL的幾個(gè)特點(diǎn)EXCEL是一個(gè)功能強(qiáng)大的電子表格軟件,它具有以下幾個(gè)非常優(yōu)秀特點(diǎn):軟件提供方便,熟悉者較多;具有強(qiáng)大的數(shù)據(jù)計(jì)算和分析功能;可以自由設(shè)計(jì)各種不同形式的表格格式;可以連接不同的數(shù)據(jù)源,獲取各種外部的數(shù)據(jù);支持DDE,ODBC等數(shù)據(jù)交換方式;支持VBA腳本的程序開發(fā);自由錄制以VBA為腳本的宏文件;正是EXCEL具有以上特點(diǎn),而且也支持VBA程序的開發(fā)和執(zhí)行,使得我們有可能將IFIX和EXCEL連接起來,滿足報(bào)表的設(shè)計(jì)要求.VBA提供的數(shù)據(jù)庫開發(fā)工具和VB一樣,VBA提供了多種數(shù)據(jù)庫開發(fā)工具.最常用的包括最常見的DATA控件;DAO(數(shù)據(jù)訪問對象)技術(shù);ADO(ActiveXDataObject)技術(shù);DBGrid控件.通過這些標(biāo)準(zhǔn)的方式,用戶可以方便的訪問關(guān)系型數(shù)據(jù)庫,可以添加,查詢,修改,追加數(shù)據(jù)庫中數(shù)據(jù)。數(shù)據(jù)儲存于數(shù)據(jù)庫以后,可以使用VBA中提供的SQL語句查詢數(shù)據(jù),使用DBGrid控件顯示數(shù)據(jù)。這些標(biāo)準(zhǔn)的數(shù)據(jù)庫開發(fā)工具使用簡單,無須任何其他的支持程序,只要支持VBA的軟件,都可以通過調(diào)用這些標(biāo)準(zhǔn)工具來訪問和管理數(shù)據(jù)庫.五.報(bào)表實(shí)現(xiàn)的方法1.建立一個(gè)能夠反映生產(chǎn)過程全部信息的關(guān)系型數(shù)據(jù)庫,根據(jù)用戶的要求,可以選用不同規(guī)模的數(shù)據(jù)庫系統(tǒng).簡單起見,選用ACCESS數(shù)據(jù)庫.使用IFIX程序開發(fā)管理數(shù)據(jù)庫的人機(jī)界面,在IFIX平臺下,與IFIX開發(fā)的監(jiān)控畫面一樣,可以顯示利用VBA開發(fā)的窗體,在窗體上,可以使用各種標(biāo)準(zhǔn)的控件,如按鈕,文本框,復(fù)選框等.以下是兩個(gè)窗體的實(shí)例.顯示所選數(shù)據(jù)的窗體打印輸出的窗體通過IFIX軟件提供的調(diào)度表功能,添加基于時(shí)間事件的VBA腳本程序,周期性的將IFIX采集的現(xiàn)場數(shù)據(jù)寫入數(shù)據(jù)庫,采用ADO的方式:(1)按指定格式取當(dāng)前時(shí)間SysTimeYear=Format(Now,"YYYY")SysTimeMonth=Format(Now,"MM")SysTimeDay=Format(Now,"DD")SysDate=SysTimeYear&SysTimeMonth&SysTimeDay(2)將所要保存的數(shù)據(jù)送入數(shù)組暫存tbl(0)=Fix32.Fix.raa.f_cvtbl(2)=Fix32.Fix.rbb.f_cv(3)設(shè)定ADO數(shù)據(jù)庫連接對象,指定所連接的數(shù)據(jù)庫文件名稱cnDB.Provider="MicrosoftJet3.51OLEDBProvider"cnDB.ConnectionString="c:\Dynamics\pdb\hnky.MDB"cnDB.Mode=adModeReadWritecnDB.Open(4)向數(shù)據(jù)庫中指定的表存儲數(shù)據(jù)SetrsDB.ActiveConnection=cnDBrsDB.LockType=adLockOptimisticrsDB.CursorType=adOpenStaticrsDB.Open"select*fromhnkyb1"rsDB.AddNewrsDB.Fields(0)=SysDatersDB.Fields(1)=Format(Now,"HH:MM:SS")rsDB.Fields(2)=tbl(0)rsDB.Fields(3)=tbl(1)rsDB.UpdatersDB.ClosecnDB.CloseSetrsDB=Nothing通過ADO方式,用戶可以方便的訪問關(guān)系型數(shù)據(jù)庫,可以添加,查詢,修改,追加數(shù)據(jù)庫中數(shù)據(jù)。數(shù)據(jù)儲存于數(shù)據(jù)庫中以后,可以方便的利用VBA中提供的SQL語句查詢數(shù)據(jù),利用DBGrid控件顯示數(shù)據(jù)。另外,IFIX的VBA功能可以建立同EXCEL之間的聯(lián)系,通過這種聯(lián)系,將數(shù)據(jù)庫中的數(shù)據(jù)在EXCEL表格中顯示出來,之后,可以進(jìn)行打印操作。下面介紹詳細(xì)編程方法:建立IFIX和EXCEL之間的連接DimExcelappAsObjectDimExcelappAsExcel.ApplicationSetExcelapp=CreateObject("Excel.Application")打開一個(gè)EXCEL表格文件DimExcelFileNameAsStringExcelFileName="c:\WINNT\Profiles\Administrator\Personal\mgyl.xls"Excelapp.Workbooks.Open(ExcelFileName)Excelapp.Workbooks.OpenFileName="c:\WINNT\Profiles\Administrator\Personal\mgyl.xls"Excelapp.Workbooks.OpenFileName="c:\WINNT\Profiles\Administrator\Personal\mgyl.xls",ReadOnly:=False使用SQL語句定義的條件選擇數(shù)據(jù)庫符合條件的數(shù)據(jù)SQLDBLIST1="select*fromHNKYB1where日期like'"&MyDate2&"%'orderby日期"(4)向單元格中寫值.Workbooks("mgyl.xls").Worksheets("sheet1").range("a1").Value=TB1(0).Workbooks("mgyl.xls").Worksheets("sheet1").range("a2").Value=TB1(1)(5)打印工作表Excelapp.ActiveSheet.PrintOutCopies:=1Excelapp.Workbooks("mgyl.xls").Worksheets("sheet1").PrintOutCopies:=1設(shè)定工作表的可見性Excelapp.Visible=True選擇工作薄,工作表,單元格,另存文件Excelapp.Workbooks.AddExcelapp.DisplayAlerts=FalseCtiveWorkbook.SaveAsFileName:="c:\WINNT\Profiles\Administrator\Personal\mgyl.xls",FileFormat:=x1Normal,-Password:="",WriteResPassword:="",ReadOnlyRecommended:=False,-CreateBackup:=FalseExcelapp.Windows("mgyl.xls").ActivateExcelapp.Workbooks("mgyl.xls").Worksheets("sheet2").SelectExcelapp.Workbooks("mgyl.xls").Worksheets("sheet2").Range("f1").Select顯示信息框MsBox"OK!"退出前保存Excelapp.ActiveWorkbooks.SaveExcelapp.ActiveWorkbooks("mgyl.xls").Save(10)關(guān)閉文件Excelapp.ActiveWorkbooks.CloseExcelapp.ActiveWorkbooks("mgyl.xls").Close(11)退出EXCELExcelapp.QUIT(12)釋放變量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論