技术频道

利用IFIX的数据库技术实现电炉的炉报信息采集

一、前言
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汇成电炉炉报信息。

文章版权归西部工控xbgk所有,未经许可不得转载。