利用IFIX的數據庫技術實現電爐的爐報信息采集
2006/12/20 9:54:00
一、前言
1、iFIX簡介
Proficy HMI/SCADA - iFIX 是GE FANUC公司開發的業界內優秀的人機界面軟件之一。IFIX運行于Windows 2000、NT、XP平臺,采用Win32標準和32位代碼,使用客戶/服務器體系結構。IFIX組態軟件有許多優點:畫面編輯簡單易用,內嵌大量常用工業圖庫,便于快速生成畫面。其數據功能也很強大,可以與SQL、Access或Oracle數據庫配合使用。很方便的將PLC報警、事件、過程數據等實時地記錄到這些數據庫中。iFIX軟件提供各種業內流行PLC驅動程序可與數百種第三方廠家的PLC、DCS互連。IFIX還是一個開放性很強的HMI,它全面支持微軟操作系統的ODBC(開放式數據庫連接)。可以利用第三方支持ODBC接口的應用程序從數據庫中獲取數據。
2、iFIX®數據庫:SCADA的基本功能
iFIX軟件是以SCADA(supervisory control and data acquisition)組件為核心。SCADA的基本功能是數據采集和數據管理,保證數據的完整性,并且提供完整的分布式網絡功能。
數據采集就是從OPC服務器或現場過程硬件— 主要包括生產所必須的控制器、傳感器、馬達、開關和其它設備獲取過程數據信息存入SCADA。iFIX也可以向現場下位機寫數據,這樣就建立了控制軟件所需要的雙向連接。IFIX通過OPC(OLE for process control)方式來獲得和利用現場數據,OPC是一個具有公用接口的客戶/服務器模塊,它允許iFIX與標準的對象、方式和屬性通信。IFIX不需要用特別的硬件來獲得數據,而是通過一個I/O驅動器的軟件接口同已經存在的I/O設備直接通訊。在大多數情況下,iFIX可以使用現場已經裝配的I/O硬件來工作,即使在現場的同一網絡上使用不同廠家的I/O設備,I/O驅動器都可以兼容它們,這在現場應用中顯得尤為重要。在本應用中就是利用OPC方式來獲取電爐各過程控制PLC中的數據信息,并匯總形成爐報信息。
數據管理包括通過掃描、報警和控制程序(SAC, scan alarm control)從驅動程序映像列表(DIT, diver image table)中讀取數據,對數據進行處理,再將數據傳送到過程數據庫(PDB, process data base)以及通過建立SQD和SQT觸發器把采集的數據存儲到數據庫(如:SQL、ORACLE)相應的表中,來進行對數據的統計、分析。
3、VB6.0簡介
VB6.0是微軟公司推出的優秀的Windows應用程序快速開發工具。它以先進的可視化面向對象開發技術。簡單易學的編程語言、靈活的數據庫操作等優點吸引了廣大程序員的青睞。利用VB6.0的新一代數據庫引擎—ADO,可以方便的和SQLSERVER數據庫連接,快速的在數據庫綁定控件與數據之間建立連接,實現對數據庫的操作。
本文探索并實踐如何將IFIX SCADA數據存入SQLSERVER,并用VB6.0通過ODBC訪問SQL數據,形成電爐爐報信息的匯總與查詢。其原理圖如下:

二、將IFIX SCADA數據記錄通過ODBC保存到SQL SERVER
IFIX組態軟件中提供iFIX SQL接口選項(即iFIX ODBC)和VBA編程兩種方法來訪問SQL數據源, iFIX ODBC配置相對簡單,所以本應用中采用iFIX ODBC方便地將IFIX SCADA數據存入SQL數據庫。iFIX ODBC由SQL觸發塊(SQT)、SQL數據塊(SQD)、SQL任務三部分組成,其中SQL觸發塊用于制定SQL命令的名稱,并確定數據傳輸觸發的時間或事件,SQL數據塊用于指定采集和傳送的數據以及數據傳送的方向。SQL任務除去處理和ODBC驅動的通訊外,還和SQT塊、SQD塊通訊。數據通訊原理圖如下:

圖二
實現過程如下:
1、 打開SQL Server2000企業管理器,在security內增加可以訪問數據庫的用戶,并將該用戶登錄進數據庫DB1,在數據庫內創建應用來保存數據的表。
2、 創建ODBC數據源,通過控制面板增加數據源,并指定該數據源連接的SQL SERVER。使用SQL方式驗證,輸入有效的登錄名和口令,測試ODBC數據連接是否成功。如不成功,從新檢查ODBC數據源配置。
3、 運行iFIX下的系統配置SCU,并在SCU界面菜單選擇“配置“下拉菜單選擇SQL賬戶或快捷圖標按鈕進入SQL帳戶配置界面,單擊配置SQL任務按鈕彈出SQL任務組態對話框,在“SQL支持“選項中選中啟用。在關系數據庫選項中正確填入數據庫ID:DB1、SQL命令表、錯誤記錄表名稱。
4、 打開iFIX數據庫管理器創建SQT和SQD數據塊。將所需的SCADA數據保存到相應的SQD數據表中。定義SQT中的SQL名和數據庫ID,數據庫ID和ODBC名稱應相同。保存數據庫管理器;
5、 打開iFIX任務控制器,點擊SQL,驗證SQL服務是否啟動。如正常,當數據庫中SQT被觸發,則將相應過程數據庫文件存入SQL數據庫中。
三、 用VB6.0 實現電爐爐報信息數據庫的連接和綁定
在VB6.0查看該爐報數據庫操作過程如下
1、 運行VB6.0新建工程,在VB界面中執行“視圖”菜單的“數據視圖窗口“彈出該界面;
2、 在該界面中選中“數據鏈接“文件夾,單擊鼠標右鍵,出現快捷菜單,執行菜單項“添加數據鏈接“界面,在“提供者“選項卡中選擇OLE DB提供者為“Microsoft OLE Provider for SQL Server”(或Microsoft OLE DB Provider for ODBC Drivers);
3、 選擇“連接“選項卡,輸入數據庫服務器名稱、用戶登錄名、密碼及登錄的數據庫。
4、 設計相應窗體應用界面,設計應用程序代碼,用程序實現數據庫的連接。具體操作過程如下:
模塊Modeule1的設計
Option Explicit
Public SQLUserName As String 用戶登錄賬戶
Public SQLPassword As String 用戶登錄密碼
Public MyConnection As New ADODB.Connection 建立數據庫連接
窗體裝載事件中加入下列代碼,加載主窗體時,通過代碼與數據庫DB1建立連接。
Private Sub From_load ()
MyConnection.ConnectionString ="driver={SQL Server};"_ 驅動程序名
&"server=server;uid="&SQLUserName_ 服務器名及用戶登錄賬戶號
&";pwd="&SQLPassword & ";"_ 用戶登錄密碼
&"database=db1"
MyConnection.Open
End sub
在窗體上添加相應數據庫表內數據連接,將所需數據顯示在窗體上。編譯VB工程項目,生成可執行文件EAF_Repoter.EXE,.運行該程序。所示如下圖:

四 、結束語
以上我們介紹了利用IFIX組態軟件中提供iFIX SQL接口選項(即iFIX ODBC)方法將過程數據庫數據存入SQL數據庫,實現了電爐爐報信息采集。對于電爐的生產信息、時間信息做匯總存檔。用VB6.0 做界面,方便了生產人員的查詢和比對分析。在實際應用中生產技術人員可以根據爐報的相關信息指導調整電爐的生產和操作。
本文作者創新點:利用iFIX過程數據庫,配置SQL觸發塊和SQL數據塊將SCADA(過程數據庫)數據寫入關系數據庫SQL Server 2000匯成電爐爐報信息。
參考文獻:(1)《SQL Server使用教程》電子工業出版社,鄭阿奇。
(2)《Visual Basic 6.0 程序設計》,中國鐵道出版社,林建仁。
(3)《IFIX3.5 電子書》
(4)王 宏.用Delphi6創建Cimplicity HMI日志數據庫報表[J].微計算機信息,2003,1-1:67-69。
作者簡介:
李大吉 男
1、iFIX簡介
Proficy HMI/SCADA - iFIX 是GE FANUC公司開發的業界內優秀的人機界面軟件之一。IFIX運行于Windows 2000、NT、XP平臺,采用Win32標準和32位代碼,使用客戶/服務器體系結構。IFIX組態軟件有許多優點:畫面編輯簡單易用,內嵌大量常用工業圖庫,便于快速生成畫面。其數據功能也很強大,可以與SQL、Access或Oracle數據庫配合使用。很方便的將PLC報警、事件、過程數據等實時地記錄到這些數據庫中。iFIX軟件提供各種業內流行PLC驅動程序可與數百種第三方廠家的PLC、DCS互連。IFIX還是一個開放性很強的HMI,它全面支持微軟操作系統的ODBC(開放式數據庫連接)。可以利用第三方支持ODBC接口的應用程序從數據庫中獲取數據。
2、iFIX®數據庫:SCADA的基本功能
iFIX軟件是以SCADA(supervisory control and data acquisition)組件為核心。SCADA的基本功能是數據采集和數據管理,保證數據的完整性,并且提供完整的分布式網絡功能。
數據采集就是從OPC服務器或現場過程硬件— 主要包括生產所必須的控制器、傳感器、馬達、開關和其它設備獲取過程數據信息存入SCADA。iFIX也可以向現場下位機寫數據,這樣就建立了控制軟件所需要的雙向連接。IFIX通過OPC(OLE for process control)方式來獲得和利用現場數據,OPC是一個具有公用接口的客戶/服務器模塊,它允許iFIX與標準的對象、方式和屬性通信。IFIX不需要用特別的硬件來獲得數據,而是通過一個I/O驅動器的軟件接口同已經存在的I/O設備直接通訊。在大多數情況下,iFIX可以使用現場已經裝配的I/O硬件來工作,即使在現場的同一網絡上使用不同廠家的I/O設備,I/O驅動器都可以兼容它們,這在現場應用中顯得尤為重要。在本應用中就是利用OPC方式來獲取電爐各過程控制PLC中的數據信息,并匯總形成爐報信息。
數據管理包括通過掃描、報警和控制程序(SAC, scan alarm control)從驅動程序映像列表(DIT, diver image table)中讀取數據,對數據進行處理,再將數據傳送到過程數據庫(PDB, process data base)以及通過建立SQD和SQT觸發器把采集的數據存儲到數據庫(如:SQL、ORACLE)相應的表中,來進行對數據的統計、分析。
3、VB6.0簡介
VB6.0是微軟公司推出的優秀的Windows應用程序快速開發工具。它以先進的可視化面向對象開發技術。簡單易學的編程語言、靈活的數據庫操作等優點吸引了廣大程序員的青睞。利用VB6.0的新一代數據庫引擎—ADO,可以方便的和SQLSERVER數據庫連接,快速的在數據庫綁定控件與數據之間建立連接,實現對數據庫的操作。
本文探索并實踐如何將IFIX SCADA數據存入SQLSERVER,并用VB6.0通過ODBC訪問SQL數據,形成電爐爐報信息的匯總與查詢。其原理圖如下:

二、將IFIX SCADA數據記錄通過ODBC保存到SQL SERVER
IFIX組態軟件中提供iFIX SQL接口選項(即iFIX ODBC)和VBA編程兩種方法來訪問SQL數據源, iFIX ODBC配置相對簡單,所以本應用中采用iFIX ODBC方便地將IFIX SCADA數據存入SQL數據庫。iFIX ODBC由SQL觸發塊(SQT)、SQL數據塊(SQD)、SQL任務三部分組成,其中SQL觸發塊用于制定SQL命令的名稱,并確定數據傳輸觸發的時間或事件,SQL數據塊用于指定采集和傳送的數據以及數據傳送的方向。SQL任務除去處理和ODBC驅動的通訊外,還和SQT塊、SQD塊通訊。數據通訊原理圖如下:

圖二
實現過程如下:
1、 打開SQL Server2000企業管理器,在security內增加可以訪問數據庫的用戶,并將該用戶登錄進數據庫DB1,在數據庫內創建應用來保存數據的表。
2、 創建ODBC數據源,通過控制面板增加數據源,并指定該數據源連接的SQL SERVER。使用SQL方式驗證,輸入有效的登錄名和口令,測試ODBC數據連接是否成功。如不成功,從新檢查ODBC數據源配置。
3、 運行iFIX下的系統配置SCU,并在SCU界面菜單選擇“配置“下拉菜單選擇SQL賬戶或快捷圖標按鈕進入SQL帳戶配置界面,單擊配置SQL任務按鈕彈出SQL任務組態對話框,在“SQL支持“選項中選中啟用。在關系數據庫選項中正確填入數據庫ID:DB1、SQL命令表、錯誤記錄表名稱。
4、 打開iFIX數據庫管理器創建SQT和SQD數據塊。將所需的SCADA數據保存到相應的SQD數據表中。定義SQT中的SQL名和數據庫ID,數據庫ID和ODBC名稱應相同。保存數據庫管理器;
5、 打開iFIX任務控制器,點擊SQL,驗證SQL服務是否啟動。如正常,當數據庫中SQT被觸發,則將相應過程數據庫文件存入SQL數據庫中。
三、 用VB6.0 實現電爐爐報信息數據庫的連接和綁定
在VB6.0查看該爐報數據庫操作過程如下
1、 運行VB6.0新建工程,在VB界面中執行“視圖”菜單的“數據視圖窗口“彈出該界面;
2、 在該界面中選中“數據鏈接“文件夾,單擊鼠標右鍵,出現快捷菜單,執行菜單項“添加數據鏈接“界面,在“提供者“選項卡中選擇OLE DB提供者為“Microsoft OLE Provider for SQL Server”(或Microsoft OLE DB Provider for ODBC Drivers);
3、 選擇“連接“選項卡,輸入數據庫服務器名稱、用戶登錄名、密碼及登錄的數據庫。
4、 設計相應窗體應用界面,設計應用程序代碼,用程序實現數據庫的連接。具體操作過程如下:
模塊Modeule1的設計
Option Explicit
Public SQLUserName As String 用戶登錄賬戶
Public SQLPassword As String 用戶登錄密碼
Public MyConnection As New ADODB.Connection 建立數據庫連接
窗體裝載事件中加入下列代碼,加載主窗體時,通過代碼與數據庫DB1建立連接。
Private Sub From_load ()
MyConnection.ConnectionString ="driver={SQL Server};"_ 驅動程序名
&"server=server;uid="&SQLUserName_ 服務器名及用戶登錄賬戶號
&";pwd="&SQLPassword & ";"_ 用戶登錄密碼
&"database=db1"
MyConnection.Open
End sub
在窗體上添加相應數據庫表內數據連接,將所需數據顯示在窗體上。編譯VB工程項目,生成可執行文件EAF_Repoter.EXE,.運行該程序。所示如下圖:

四 、結束語
以上我們介紹了利用IFIX組態軟件中提供iFIX SQL接口選項(即iFIX ODBC)方法將過程數據庫數據存入SQL數據庫,實現了電爐爐報信息采集。對于電爐的生產信息、時間信息做匯總存檔。用VB6.0 做界面,方便了生產人員的查詢和比對分析。在實際應用中生產技術人員可以根據爐報的相關信息指導調整電爐的生產和操作。
本文作者創新點:利用iFIX過程數據庫,配置SQL觸發塊和SQL數據塊將SCADA(過程數據庫)數據寫入關系數據庫SQL Server 2000匯成電爐爐報信息。
參考文獻:(1)《SQL Server使用教程》電子工業出版社,鄭阿奇。
(2)《Visual Basic 6.0 程序設計》,中國鐵道出版社,林建仁。
(3)《IFIX3.5 電子書》
(4)王 宏.用Delphi6創建Cimplicity HMI日志數據庫報表[J].微計算機信息,2003,1-1:67-69。
作者簡介:
李大吉 男

提交
查看更多評論
其他資訊
CIP網絡技術在板坯連鑄機控制系統中的應用
110噸交流電弧爐自動化系統控制概述