前言:想要寫出一篇引人入勝的文章?我們特意為您整理了控制系統數據庫報表解決方案分析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:油氣集輸過程中,生產的監視和控制主要依靠PLC(可編程控制器)控制系統來實現。報表查詢是控制系統人機界面的一項基本功能,完善的報表功能可以降低員工勞動強度、提高生產管理水平。采用“VBA+數據庫”的方案開發注入站報表,方法簡單靈活,系統運行穩定,為控制系統報表的開發提供了有益的借鑒。
關鍵詞:工業自動化;PLC;人機界面;數據庫
1工藝流程及主要測控點
目前,油田配注系統普遍采用“集中配置,分散注入”的工藝流程,即一個配置站對應多個注入站。其過程是在配置站將化學藥劑與清水按照一定比例混合,制成符合濃度要求的母液,母液經過熟化后,由外輸泵輸送至各個注入站,在注入站按照每口井的配比方案加入清水,然后,注入井下。注入站工藝流程為:上游配置站輸送來的母液進入母液儲罐,經柱塞泵增壓后被輸送到母液匯管中,再經過單井母液調節閥進入混合器。注水站來的清水經過單井清水調節器進入混合器,在這里與母液充分混合后被注入井下。注入站的測控參數主要包括母液儲罐液位、柱塞泵進出口壓力、單井壓力、單井清水流量等。
2基本原理
采用“VBA+數據庫”的方案實現報表查詢。VBA(VisualBasicforApplication)是新一代標準宏語言,是基于VisualBasicforWindows發展而來的,語言簡單易學,功能強大。VBA是VB的應用程序版本,必須依賴于已有的應用程序,不能獨立運行。目前,WIinCC、FactoryTalkViewStudio、Ifix等主流組態軟件都支持VBA編程。具體過程是利用組態軟件SE的數據記錄功能建立數據記錄模型,將需要的數據采集并存儲在ODBC指定的數據庫中。當操作員查詢報表時,選擇日期后,按下查詢按鈕,即執行VBA代碼,將數據庫中的數據讀出來,并寫入報表模板中,生成指定日期的生產數據報表。
3報表開發過程
3.1添加HMI標簽
展開HMI服務器的“HMI標簽”,右鍵點擊“標簽”,點擊“打開”,在打開的標簽窗口中點擊“新建”,在標簽名稱欄中輸入標簽名“DayReport_Date”,類型選擇“字符串”,數據源類型選擇“內存”,點擊“接受”,保存標簽。
3.2添加ActiveX控件引用
ActiveX控件是一種基于COM接口的控件,通常不能獨立使用,只能在宿主程序中運行,支持COM接口規范的編程環境均可使用它。在報表查詢畫面中,需要使用日歷控件,必須提前在“VisualBasic編輯器”中添加ActiveX控件引用。打開SE,點擊“視圖”,選擇“VisualBasic編輯器”。在打開的窗口中點擊“工具”,選擇“引用”,在列表欄中勾選“MicroSoftCalendercontrol2007”,點擊“確定”,保存設置。
3.3創建并組態畫面
打開SE的應用項目瀏覽器窗口,展開HMI服務器的“圖形”,右鍵點擊“顯示”,選擇“新建”,創建畫面“Report”。打開畫面“Report”,添加日歷控件、按鈕、文本、字符串等對象。將日歷控件的“Value”屬性及字符串的表達式屬性與“DayReport_DATE”標簽相關聯,并設置字體、顏色等其他相關屬性。
3.4設計報表模板
根據生產崗位的需求,采用MicosoftOfficeExcel2007設計報表模板“日報表.xlsx”。并將報表模板文件存儲在“D:\模板\”路徑下備用(此路徑應與VBA代碼中指定的路徑一致)。
3.5設置數據記錄
展開HMI服務器的“數據記錄”,右鍵點擊“數據記錄模型”,點擊“新建”,打開數據記錄模型的設置窗口。點擊“設置”標簽,選擇“ODBC數據庫”,點擊“ODBC數據源”;選擇“系統數據源”標簽,點擊“新建”;選擇“系統數據源”,點擊“下一步”;選擇“MicosoftAccessDriver(*.mdb*.accdb)”,點擊“完成”;彈出的“ODBCMicosoftAccess安裝”窗口,在“數據源名”欄中輸入“Report”,點擊“創建”按鈕,選擇保存數據庫的位置,在“數據庫名”欄中輸入“Report”,點擊“確定”。點擊“創建表”標簽,在數據庫中創建表“FloatTable”“StringTable”“TagTable”。點擊“路徑”標簽,勾選“啟用ODBC備用路徑”。點擊“文件管理”標簽,設置清除ODBC數據庫中保存舊記錄的天數。點擊“記錄觸發器”標簽,勾選“周期性”,根據需求,在“間隔”欄中設置數據采集周期。點擊“模型中的標簽”標簽,添加需要記錄的數據標簽。
3.6編制VBA程序
4結語
采用“VBA+數據庫”的方式實現報表功能,比單純使用VBA開發報表的方式更為簡單靈活,但應當注意的是,采用OfficeAccess數據庫,當數據記錄達到數萬條時,查詢效率較低,有時需要一兩分鐘,甚至出現系統無響應的情況。為了提高查詢效率,也可以采用MicosoftSQL數據庫,原理相同,只需對數據庫連接的代碼略作改動,并添加相應的ODBC數據源即可,此處不再贅述。
參考文獻:
[1]韓小良,韓舒婷.ExcelVBA從入門到精通[M].北京:中國鐵道出版社,2006:24.
[2]魏.從零開始學ExcelVBA[M].北京:電子工業出版社,2014:248.
作者:賀明慶 單位:大慶油田第一采油廠儀表安裝維修大隊