祁俊波 劉春萍 吳建輝
摘 要:文章介紹了ODBC技術在平煤八礦綜合自動化中的應用,并在此基礎上分析了iFix組態軟件與SQL數據庫的通信原理和實現方法,并給出了在工程中的應用實例。
關鍵詞:通信;iFix組態軟件;ODBC;SQL數據庫
中圖分類號:TP311 文獻標識碼:A 文章編號:1006-8937(2015)05-0042-02
iFix是GE FANUC公司開發的業界內流行且優秀的人機界面軟件之一,它為用戶提供了一個“過程化的窗口”,為操作員及應用程序提供了實時的數據,具有監控、報警、歷史趨勢、統計等功能。
對于煤礦綜合自動化平臺來說,iFix具有得天獨厚的優勢,它操作方便,圖形界面友好,報表控件完善,容易擴展,也便于維護。煤礦自動化系統對實時性及準確性均要求較高,而ifix對生產事件能快速反應,開放性好,因此適合應用于對煤礦自動化系統的控制。
1 平煤八礦綜合自動化建設情況概述
平煤八礦于2008年12月進行綜合自動信息化系統建設,到目前已建成了工作面監測系統、膠帶機運輸集控系統、提升及裝卸載集控系統、地面儲裝運系統、洗煤廠集控系統;完善了礦山供電集控系統、礦井大巷軌道運輸安全綜合保障系統;建成了人員定位系統、安全監測系統、應急廣播系統。
由于平煤八礦屬于高瓦斯突出礦井,地質條件復雜多樣并且生產規模大、生產戰線長、設備種類多、職工人數多,自動信息化系統也較多,這些都使得綜合自動化信息化系統的安全運行難度更大。
為了確保平煤八礦各自動信息化系統安全可靠的運行,基于各系統運行中存在的問題,對綜合自動信息化系統的安全運行體系進行了研究,提出采用統一的接口標準,建設統一的信息傳輸平臺、軟件平臺和數據中心平臺,整合各個自動信息化子系統,從而實現設備的集中控制、故障診斷、事故預警及遠程維護,最終實現綜合自動化系統安全高效、節能降耗、科學運轉的目的。
綜合自動化集成系統主要由IFIX組態軟件、SQL數據庫服務器、Web服務器等組成,功能模型如圖1所示,系統接入方式主要采用標準的OPC接口:礦井綜合自動化集成系統平臺中采用標準功能組件,將各系統的數據采集、存儲到關系數據庫中,通過一組標準接口供其它程序調用。集成系統以信息集成平臺為核心,將實時數據流進行集成,同時針對統一信息平臺開發各種綜合應用,形成集成化、網絡化應用,所有的數據是在一個數據庫中進行管理,數據一旦被輸入,在整個系統中都可以使用,各種圖形、圖像、報表信息都可以通過Web的方式在任何一臺終端統一瀏覽。
2 ODBC介紹
ODBC即開放式數據庫連接是由一套擴展的DLL(動態鏈接庫)組成,它是數據庫訪問的標準接口,它提供了一套兩個驅動程序:數據庫管理器的語言和為程序設計語言提供公用接口。一個完整的ODBC主要包括:應用程序(Application)、ODBC管理器(ODBC manager)、ODBC驅動程序(ODBC Drivers)、數據源(Data Sources數據庫)。應用程序主要是通過建立相關的數據源連接(包括用戶數據源、系統數據源、文件數據源),然后向數據源SQL服務器發送請求、接收并處理結果。
3 總體思路
平煤八礦綜合自動化集成平臺的數據庫文件和應用平臺在不同臺計算機上,因此需要使用多層ODBC結構。在綜合自動化集成平臺上進行ODBC的配置,連接到SQL服務器上,通過網絡來實現ODBC的應用請求,并將請求傳送的服務器,實現數據的存儲。
iFix組態軟件提供兩種方法來訪問SQL數據源(如圖2所示),一種是內嵌在iFix中的VBA語言通過RDO或者DAO訪問關系數據庫,需要編寫VBA代碼;另一種則是iFix SQL接口(即iFix ODBC),相對簡單,更容易操作。綜合考慮,決定采用后者。
4 實現方法
4.1 數據庫服務器的配置
在SQL SERVER中創建數據庫及表:在SQL SERVER中創建數據庫DB1,用來保存SQL的命令語句、錯誤信息及需要保存在數據庫內的歷史數據。在安全性—》登錄中創建可以訪問該數據庫的用戶GEUSER,在SQL數據庫中先創建3個表:SQL命令表SQLLIB,錯誤記錄表SQLERR,數據表DATA。
SQLLIB表設置兩個字段sqlname(varchar,size8),sqlcmd(varchar,size255),右鍵單擊該表選打開表-》返回所有行,在sqlname對應的列中輸入cmd1,sqlcmd對應的列中輸入Insert into DATA(col1,col2)values(?,?);;SQLERR設置七個字段td(datetime),node(varchar,size8),tag(varchar,size30),sqlname(varchar,size8),sql_err(varchar,size250),fix_err(varchar,size
100),prog_err(varcharm,size100)。
設置完后,還需要勾選數據庫-》用戶-》屬性-》權限-》表xxx的select、insert、update、delete等的權限,否則會提示“拒絕了對對象‘xxxx(數據庫‘yyy,所有者‘dbo)的select、insert權限”。
4.2 iFix端SCADA節點的配置
對iFix軟件進行操作前,首先需要在應用平臺上安裝SQL的網絡服務和ODBC驅動程序,以支持ODBC的運行。
4.2.1 創建ODBC數據源
通過打開控制面板——>管理工具——>數據源(ODBC),打開ODBC數據源管理器,添加數據源,選擇驅動程序為SQL Server,輸入數據源名稱ifix,選擇服務器,使用SQL方式驗證,輸入有效的登錄名稱GEUSER和口令,測試ODBC數據源連接成功!
4.2.2 在SCU內配置SQL
在SCU內通過菜單或按鈕進入SQL帳戶配置界面,點擊增加按鈕,填入相應信息,用戶名為GEUSER及密碼,數據庫ID選擇ifix,按確定。點擊配置SQL任務…按鈕,啟用SQL支持,并填入相應的信息,數據庫ID選擇ifix,SQL命令表輸入SQLLIB,錯誤記錄表輸入SQLERR。
4.2.3 創建SQT和SQD數據塊
在ifix應用平臺上打開數據庫管理器,創建布爾量數據塊DI_1(標簽名),驅動器選擇SIM,進入高級,選中允許輸出和手動選擇框,創建數據塊AR_1(I/O地址輸入RG)和AR_2(I/O地址輸入RA),將這兩個塊的數據保存到數據庫表data中。創建數據塊SQT(標簽名為SQT_1),然后輸入與之相匹配的下一塊為SQD_1,填寫SQL名為SQLLIB表中字段sqlname的值cmd1,數據庫ID為所創建的ODBC數據源的名稱ifix,在事件標簽中填寫DI_1.F_CV。創建SQD_1(數據塊類型為SQD),前一塊SQT_1已經顯示在對應的欄中,在數據定義中輸入標簽.域:AR_1.F_CV,AR_2.F_CV,保存數據庫管理器。設置完成后,打開任務控制,點擊SQL選項,驗證SQL服務是否啟動。此時會看到“版本4.0(Build 6192)成功啟動,注冊到iFix。”
4.2.4 觸發SQT
在數據庫管理器內更改DI_1的當前值,如將CLOSE改為OPEN,按Ctrl+R,觀察到SQT_1SQT_1的當前值增加1,意味著SQT被觸發一次。此時在任務控制中的SQL選項內可以看到增加了“正在執行SQT_1,命令:cmd1 Insert into data(COL1,COL2)Values(?,?)操作完成SQT_1”提示。在SQL SERVER企業服務器內打開表data,發現有新的數據記錄存儲到該表中。
5 結 語
平煤八礦綜合自動化平臺就是采用以上方法成功實現了數據的存儲。綜合自動化平臺通過對生產全系統的集成,實現對整個生產流程的控制,如果中間一個環節出現故障,或者某一個設備出現報警,就可以立即做出調整方便企業管理人員動態查詢生產中的各種數據,實踐表明,通采用此方法提升了企業的管理效率,為企業的生產和經營提供了決策支持。
參考文獻:
[1] 胡靜,方彥軍.基于ODBC的iFix工控組態軟件與關系數據庫通訊探討[J].微計算機信息,2003,(2).
[2] 龔偉平.基于ODBC技術實現iFix組態軟件與關系數據庫通訊接口[J].自動化博覽,2008,(3).
[3] 鐘洪,蘇輝貴,謝小君iFix與SQL通訊的設計與實現[J].微計算機信息,2006,(28).