基于ODBC技术实现ifix组态软件与关系数据库Access的通信

合集下载

CITECT与数据库通讯

CITECT与数据库通讯

Citect、WINCC、RSView32、iFix与关系型数据库的通讯实例摘要:在自动化项目的实施中,组态软件越来越多地要求与数据库特别是关系型数据库交换数据,但是不同的组态软件实现的方式不同,大多要使用其自己的脚本语言或使用VBA进行编程,而大多数控制系统开发人员对计算机编程语言并不熟悉,这就给项目开发造成一定困难。

本文详细介绍了几种常用的组态软件,包括Citect、WINCC、RSView32以及iFix如何通过ODBC接口来实现与数据库的通讯连接,并提供详细的编程代码。

关键词:组态软件;ODBC;数据库;Citect;WINCC;RSView32;iFix1、前言:组态软件是一种面向工业自动化的通用数据采集和监控软件,即SCADA(Supervisory Control And Data Acquisition)软件,亦称人机界面或HMI/MMI(Human Machine Interface/Man Machine Interface)软件,在国内俗称“组态软件”。

它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具,是工业应用软件的重要组成部分。

随着现代计算机软硬件技术的发展和企业信息化建设的需要,控制层与管理层信息系统的结合越来越密切。

在自动化项目的实施中,组态软件越来越多地要求与数据库特别是关系型数据库交换数据,实现诸如生成生产报表、与其它控制系统数据库通讯、与管理层数据库通讯等功能。

但是不同的组态软件实现的方式不同,大多要使用其自己的脚本语言或使用VBA进行编程,同样是与数据库通讯,不同的组态软件具有不同的实现方法。

而大多数控制系统开发人员对计算机编程语言并不熟悉,这就给项目开发造成一定困难。

笔者多年从事自动化项目开发工作,在多个工程项目中使用过多种组态软件实现了与数据库的通讯及操作。

本文总结了几种常用的组态软件,包括Citect、WINCC、RSView32以及iFix如何通过ODBC 来实现与数据库的通讯连接。

基于iFix组态软件的数据通讯接口开发

基于iFix组态软件的数据通讯接口开发

基于iFix组态软件的数据通讯接口开发
叶彦斐;王柏林;刘光辉;曹圣民
【期刊名称】《微型电脑应用》
【年(卷),期】2008(24)11
【摘要】以iFix组态软件为基础,提出实时数据库与关系数据库的多种数据通讯方式,详细介绍了通过开放数据库连接(ODBC)方式开发的一种通用数据通讯接口,该
接口在多个自动化系统中得到成功应用.
【总页数】3页(P34-36)
【作者】叶彦斐;王柏林;刘光辉;曹圣民
【作者单位】河海大学电气学院自动化系,南京,210098;河海大学电气学院自动化系,南京,210098;南京富岛信息工程有限公司,南京,210061;南京富岛信息工程有限公司,南京,210061
【正文语种】中文
【中图分类】TP393.03
【相关文献】
1.基于ifix组态软件实现装车系统 [J], 阮铁林
2.基于iFIX组态软件的PLC虚拟控制对象设计分析 [J], 林礼辉
3.基于IFIX组态软件的低压电流互感器检定流水线运行监控系统的设计与实现 [J], 葛福菀;王兆军;张曼
4.基于ODBC技术实现iFix组态软件与关系数据库通讯接口 [J], 龚伟平
5.基于IFIX组态软件和西门子PLC的应用系统 [J], 郑武胜;庄志嘉
因版权原因,仅展示原文概要,查看原文内容请购买。

组态王与数据库连接的实现方法

组态王与数据库连接的实现方法
图10
4.设置完毕后关闭此对话框,利用按钮的弹起时命令语言实现数据库查询,操作设置如图11:
图11
5.
设置完毕依次点击确定。保存画面并且换到运行系统可看到如图12效果。
图12
6.用同样方法创建一个“清除记录”按钮用于清除数据库表格中的记录,命令语言如下:
SQLClearTable( DeviceID, "biaoge1");
图5
1.3
注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量(ziduan1、ziduan2、ziduan3)。
2.找到工程浏览器窗口左侧“SQL访问管理器\记录体”选项,双击右侧“新建”图标建立名为“jiluti1”的记录体,对话框设置如图6所示:
2.在数据库操作画面中添加一个名为“字段一”的文本
3.在“字段一”的动画连接中添加对应类型的值输入和值输出并关联到变量:ziduan1。
4.添加文本“字段二”、“字段三”,分别关联变量“ziduan2”、“ziduan3”并添加值输入、值输出动画连接。
5.添加一按钮,按钮文本为“插入记录”在按钮的弹起事件中输入如图6所示命令语言。
图6
依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。
2
2.1
1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量:
变量名:DeviceID
变量类型:内存整型
2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入命令:
SQLConnect( DeviceID, "dsn=yuan;uid=;pwd=");

Python使用pyodbc连接Access数据库操作Access2016

Python使用pyodbc连接Access数据库操作Access2016

Python使用pyodbc连接Access数据库操作Access2016# -*-coding:utf-8-*-'''Access数据库连接网上大致有两种方法,一种是使用pyodbc,另一种是使用win32com.clientI(此处方法一安装,win32com下次有空再试试)方法一:一、安装第三方库 pyodbcPip install pyodbc二、检验是否可以正常连接数据库检查是否有一个Microsoft Access ODBC驱动程序可用于你的Python环境(在Windows上)的方法:# >>> import pyodbc# >>> [x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]如果你看到一个空列表,那么您正在运行64位Python,并且需要安装64位版本的“ACE”驱动程序。

如果您只看到['Microsoft Access Driver (*.mdb)']并且需要使用.accdb文件,那么您需要安装32位版本的“ACE”驱动程序三、安装64位的ODBC 驱动器:1.Microsoft Access 2016 数据库引擎可再发行程序包1.Microsoft Access Database Engine 2016 Redistributablehttps:///en-us/download/details.aspx?id=549202.Microsoft Access 2010 数据库引擎可再发行程序包2.Microsoft Access Database Engine 2010 Redistributablehttps:///en-us/download/details.aspx?id=13255右击文件accessdatabaseengine_X64.exe(约79.5Mb大小)选择以管理员模式运行即可安装【此处使用版本为2016】[报错:Microsoft office Click-to-Run Service (Process ld: 4240) 解决:打开任务管理器,可以看到在后台有一个Microsoft Office Click-to-run(SXS)的进程。

IFIX通过VB脚本调用ACCESS数据库制作报表

IFIX通过VB脚本调用ACCESS数据库制作报表

IFIX通过VB脚本调用ACCESS数据库数据制作报表作者的前一篇文章已经详细介绍了,如何通过调度将数据保存在access数据库中,今天分享一下,通过脚本调用数据库中的数据形成报表。

步骤01:建立报表模板1.使用Excel根据实际报表样式建立报表模板2.将报表模板另存为(*.htm,*.html)格式文件,文件打开如下图所示:步骤02:新建报表查询画面1.通过IFIX工具箱中的插入OLE对象,插入控件Microsoft date and timecontrol,控件属性中,将customformat值修改为yyyy/MM/dd HH:mm:ss,控件名称默认为DTPicker1;2.同样通过IFIX工具箱中的插入OLE对象,插入Microsoft Web Broswer控件,用于显示报表;3.通过工具箱插入按钮,用于进行报表查询;如下图所示:步骤03:VB脚本开发,调用ACCESS数据库中的历史数据,填写到报表模板中;具体脚本如下:Private Sub CommandButton4_Click()'On Error Resume NextDim OutReportFile As String '定义打开的报表模板路径和名称变量Dim InReportFile As String '另行保存报表的路径和名称变量Dim cn As ADODB.ConnectionDim res As ADODB.RecordsetDim StrSQL As StringDim i As IntegerDim row As IntegerDim MyDateMyDate = Format(Now(), "yyyy-MM-dd")Dim msexcel As Excel.ApplicationSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = False '如为FALSE,则不显示EXCEL。

基于ODBC实现AUTHORWARE与数据库的通信

基于ODBC实现AUTHORWARE与数据库的通信

更 新数 据库 的技 术 越来越 受到 人们 的关 注 ,这 项技术 也 给人 们带来 了很 多方 便 ,同时 也使 多媒 体技术 有 了很
大 的进 步 。在 A t la uh ' r ow e里动 态 的导 人数 据库 的数 据 和 向数据 库 里写 入 数据 ,将会 给 用 户提 供 很 大 的方 便 ,
【 收稿 日期 ]20 —0 0 07 7— 5 【 作者简 介]付 景芳 (9 8 ,女 ,吉林长春人 ,江苏广播 电视大 学教师 ,从 事计算机教 育研 究。 17 一)

18 ・ 0
维普资讯
I D 2 金 陵 饭 店 3金 属 攒 店 4莓来 萎丈 湖 去 s希尔镇文疆庙 8状元镁丈酒店 7 额世 耋大 ' 店 己 疆 9商裒玄熬饭店 1 0恬华般曰懑店 1 1中 心 稽 庙 1 2中 山 大 厦 l 品 掰 酒 店 3 l 4吉南郁大葱店 l 8玲 瑰 饭 店 1 悦 华 酒 店 9 2 4虹 挢 饭 店 2 7雷 瑞 酒 店 ∞ 和 翻 饭 店 轩辕 摆 大灞 店 3 3侮 苑 饭 店 ☆☆ ☆ ☆☆ 12 . 63D O ☆☆☆☆☆ 9 8 D 9. O ☆☆ ☆ ☆☆ T 6 D I O ☆☆ ☆ ☆☆ 4 0 D 8 O ☆☆ 呐 黼 5 8 D 2. O ☆ ☆☆ ☆ 8 O D 8 O ☆ ☆☆ ☆ 6 0 D 9. O ☆ ☆☆ ☆ 9 t D 9. 5O ☆ ☆ ☆ ☆ 13 ∞ 05 ☆ ☆☆ ☆ 59 o 3 0 ☆ ☆☆ ☆ 6 0 ∞ 0, ☆ ☆☆ ☆ 6 7 ∞ 6.
l 任 务 说 明

利 用 A t rae u owr 开发 多媒 体导 游导 购演示 系统 。在介 绍宾馆 信息 、旅行 社信 息和 购物 信息 时 需将 A t r h u o- h

组态王与数据库连接实现方法

图 11
7 / 12
5. 设置完毕依次点击确定。保存画面并且换到运行系统可看到如图 12 效 果。
图 12
6. 用同样方法创建一个“清除记录”按钮用于清除数据库表格中的记录, 命令语言如下: SQLClearTable( DeviceID, "biaoge1");
8 / 12
3 选择并读取已有记录
2.2 插入记录 1. 新建一个画面,名称为:数据库操作画面。 2. 在数据库操作画面中添加一个名为“字段一” 的文本 3. 在“字段一”的动画连接中添加对应类型的值输入和值输出并关联到变 量:ziduan1。
4 / 12
4. 添 加 文 本 “ 字 段二 ”、 “ 字 段 三 ” ,分 别关 联 变 量 “ ziduan2 ” 、 “ziduan3”并添加值输入、值输出动画连接。
11 / 12
图 17
3.3.4 添加读取记录按钮 在画面中添加“读取记录”按钮并写入弹起时命令语言: string str="ziduan1="+"'"+\\本站点\xiala+"'"; SQLSelect( DeviceID, "biaoge1", "jiluti2", str, "" );
12 / 12
3.1 新建变量
在工程浏览器左侧数据库\数据词典中双击“新建”新建如下变量:
变量名
变量描述
变量类型
xiala
关联下拉控件
内存字符串型
duqu1 用于显示读取的记录 内存字符串型
duqu2 用于显示读取的记录 内存字符串型
duqu3 用于显示读取的记录 内存字符串型

用VBA实现excel与access数据库交互

⽤VBA实现excel与access数据库交互1、将access中数据导⼊excelPublic Sub ImportData()Dim mydata As String, mytable As String, SQL As StringDim cnn As ADODB.ConnectionDim rs As ADODB.RecordsetActiveSheet.Cells.Clearmydata = ThisWorkbook.Path & "\成绩管理.mdb" '指定数据库mytable = "考试成绩" '指定'建⽴与数据库的连接Set cnn = New ADODB.ConnectionWith cnn.Provider = "microsoft.jet.oledb.4.0".Open mydataEnd WithSQL = "select 班级,avg(数学) as 数学平均,avg(语⽂) as 语⽂平均," _& "avg(物理) as 物理平均,avg(化学) as 化学平均,avg(英语) as 英语平均, " _& "avg(体育) as 体育平均,avg(总分) as 总分平均 " _& "from " & mytable & " group by 班级"Set rs = New ADODB.Recordsetrs.Open SQL, cnn, adOpenKeyset, adLockOptimistic'复制字段名For i = 1 To rs.Fields.CountCells(1, i) = rs.Fields(i - 1).NameNext i'复制全部数据Range("A2").CopyFromRecordset rsrs.Closecnn.CloseSet rs = NothingSet cnn = NothingEnd Sub2、将excel数据导⼊accessSub 把Excel数据插⼊数据库中()'*******************************************'时间:2010-06-28'作者:bengdeng'功能:把当前⼯作表的数据增加到在同⼀⽬录下表数据库中'注意:要在⼯具/引⽤中引⽤microsoft activex date objects x.x' 其中x.x为版本号,可能会因为你安装的office的版本不同⽽不同,本例引⽤了2.5版'发布:'*******************************************Dim conn As ADODB.ConnectionDim WN As StringDim TableName As StringDim sSql As StringDim tStr As String'数据库名,请⾃⾏修改,路径与当前在同⼀⽬录WN = "表.mdb"'数据库的表名与当前⼯作表名⼀致TableName = Set conn = New ADODB.Connectionconn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _"Extended Properties=Excel 8.0;" & _"Data Source=" & ThisWorkbook.Path & "\" & conn.OpenIf conn.State = adStateOpen ThensSql = "Insert Into [;DataBase=" & ActiveWorkbook.Path & "\" & WN & "]." & TableName & " Select * From [" & & "$]" conn.Execute sSqlMsgBox "成功把数据插⼊到“" & TableName & "”中!", , ""conn.CloseEnd IfSet conn = NothingEnd Sub。

基于OPC技术的iFIX与S7-200PLC的通讯实现


准之 上 的功能 强大的组 态软件 , 有 极大 的易用性 和 可扩 展性 , 方便 系统集成 , 广泛应 用于工业 现场 。i F I X 集成
了C O M/ DCO M、O P C等先进 的现代软件技术 。
户 端标 准方 式 从服 务器 获取 数 据 并将其 传 递给 任何 客
户应用程序 。这样 , 只要 生产商开发一套遵循 OP C规范 的服 务器与 数据进 行通信 , 其他 任何客 户应用程序 便能 通 过服 务器 访 问设 备 。
Co mmu n i c a t i o n Pr a c t i c e b e t we e n I f i x An d S7 . 2 0 0 PL C
B a s e d o n t h e OP C T e c h n o l o g y
ZH ENG Li a n- g a n g XU Ti a n - l o ng
《 自 动 化 技 术与 应 用 》 2 0 1 3 年 第3 2 卷 第5 期
行 业 应 用 与 交 流
nd u s t r i al Ap pl i c a t i on s a n d COmm u n { c a t i on s
基于 O P C技 术 的 i F I X与 S 7 ・ 2 0 0 P L C的通 讯 实现
及过 程 。
足 的进步 。然 而 , 由于 生产 规模 的扩大和 过程复 杂程 度 的提 高 , 工业控 制 软件 设计 面临着 巨大 的挑 战 , 那 就是 要 集成 数 量和 种 类不 断增 多 的现场 信 息 。传 统 的方 式 是 通 过 开 发 设备 专有 驱 动 程 序 来 实 现对 数 据 的访 问 。
DOO M ( D i s t r i b u t e d C OM) 技术 为基础 , 基于 Wi n d o ws

使用JDBC-ODBC桥接器连接ACCESS数据库

使用JDBC-ODBC桥连接ACCESS数据库首先,创建Access数据库student.mdb,并在数据库中创建student表。

创建成功后,在该中插入几条测试数据。

接下来配置一个ODBC数据源,操作步骤为:单击开始按钮→设置→控制面板→管理工具→数据源(ODBC),出现数据配置窗口如图:选择“系统DSN”选项卡,然后单击“添加(D)”按钮,出现创建数据源窗口,首先选择数据源的驱动程序,在此选择Driverdo Microsoft Access(*.mdb),如果要连接SQL数据库则选择SQL Server,然后选择“完成”按钮。

随后出现创建数据源窗口,如图所示:在“数据源名(N)”文本框中输入数据源的名称,这个名称由程序员命名。

在这里输入了“testDB记住这个名称,下面的应用程序中将会用到它。

单击“选择(S)”按钮,选择Access数据库所在的目录,选择完毕后,单击“确定”按钮。

至此便完成了整个配置过程。

在数据源配置完成后,利用J2SDK中的JDBC-ODBC桥驱动程序,并通过系统数据源来建立与数据库的连接。

在进行连接时使用Class.forName方法来加载驱动程序类。

语法格式如下:C lass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);驱动程序加载后,将自动由Java Driver Manager注册加载驱动程序,使驱动程序处于可用的状态。

下一步,利用DriverManager类来建立与Access数据库的连接,数据源的名称为stuacc法结构如下:Connection con=DriverManager.getConnection(“jdbc:odbc:stuacc此时,JSP便已经建立了与数据库之间的连接。

以下就可以通过con对象操作数据库了。

实例:access数据库文件名为testDatabase.mdb,数据源名称为,testDB,selectUserTable1.jsp程序代码如下:<%@ page contentType="text/html;charset=GB2312" %><%@ page import="java.sql.*" %><HTML><BODY><% Connection con;Statement sql;ResultSet rs;try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException e){out.print("类找不到!");}try {con=DriverManager.getConnection("jdbc:odbc:testDB");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM userTable");out.print("<Table border>");out.print("<TR><td colspan=2 align=center>用户数据</TD></TR>"); out.print("<TR>"+"<Td width=100 >"+"用户ID号");out.print("<Td width=50 >"+"用户名"+"</TR>");while(rs.next()){ out.print("<TR>");out.print("<TD >"+rs.getLong(1)+"</TD>");out.print("<TD >"+rs.getString(2)+"</TD>"+"</TR>"); }out.print("</Table>");con.close();}catch(SQLException e1){out.print("SQL异常!"); }%></BODY></HTML>。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4期2006年8月工矿自动化

IndustryandMineAutomationNo.4Aug.2006

文章编号:1671—251X(2006)04一0030一03基于ODBC技术实现iFIX组态软件与关系数据库Access的通信

耿乙文,伍小杰(中国矿业大学信电学院,江苏徐州221008)

摘要:介绍了用ODBC技术实现iFIX组态软件与关系数据库Access通信的原理和方法,增强了iFIX报表制作的功能,并给出了在某工程中的应用实例。关键词:通信;iFIX组态软件;ODBC;Access数据库中图分类号:TP311.132.3文献标识码:B

TheCommunicationbetweeniFIXConfigurationSoftwareandRelationalDatabaseAccessBasedonODBCTechnology

GENGYi—wen。WUXiao—jie(CollegeofInformationandElectricalEngineeringofCUMT.,Xuzhou221008,China)

Abstract:ThispaperintroducedtheprincipleandmethodofusingODBCtechnologytorealizecommu-nicationbetweeniFIXconfigurationsoftwareandrelationaldatabaseAccess.Thismethodcanbuildup

iFIX'sabilityandimproveagilityofmakingreports.Intheend,apracticalprojectwasgiven.

Keywords:communication,iFIXcofigurationsoftware,0DBC,Accessdatabase

0引言iFIX是IntellutionDynamics自动化软件产品家族中HMI/SCADA最重要的组件,它是基于WindowsNT/2000平台上功能强大的自动化监视与控制软件解决方案。iFIX可以精确地监视、控制收稿日期:2006一04一05作者简介:耿乙文(1977一),男,江苏徐州人,在读硕士研究生,主要研究方向为计算机监控、谐波分析及治理。生产过程,并优化生产设备和企业资源管理。它能够对生产事件快速反应,减少原材料消耗,提高生产率,从而加快产品对市场的反应速度。它集中了控制技术、人机界面技术、数据库技术、网络技术,可实现数据采集、实时过程监控、报警和报警管理、趋势分析等功能,借助于ODBC(OpenDatabaseCon—

nectivity,开放式数据库互连)技术,将iFIX采集的现场数据传送到关系数据库Access中,以实现信息的共享、报表的制作。文中给出了通信的原理及具体实现方法,最后给出的实例证实了该方法能够准

4结论2004年5月10日在江苏徐州矿务集团权台煤矿东大井原煤一部胶带运输机上安装控制器进行试验,胶带宽度为1m,倾角为18。,电动机功率为22kW。测试结果表明,该控制器运行正常,年节电可达23100kW·h。通过对电动机原理和运行特性的研究,确定利

用单片机和电力电子技术对电动机的输入电压进行控制。在电动机轻载运行状态下能够使电动机处于高效率运行和提高电动机的功率因数,降低能耗,并通过启动和停止时间的设定,对机械设备实现软启动和软停车。该控制器安装简单,不需闭环控制的外围传感器,操作方便,既可近控,也可远控和遥控。运行至今未出现故障,基本达到免维护。

 万方数据2006年第4期耿乙文等:基于ODBC技术实现iFIX组态软件与关系数据库Access的通信·31·

确、实时地传递数据。1iFIX与Access通信的原理在iFIX的开放式结构中,数据可以从广泛的数据源取得,如OLE、OPC、ACTIVEX、ODBC和DDE。由于有了真正的客户机和服务器结构的支持,iFIX可以对下列数据源进行读写:第三方应用程序、其它的iFIX数据库、I/O驱动器。正因为这一广泛的数据连接能力,赋予了iFIX强大的功能。由于iFIX和Access都支持ODBC标准,可以通过ODBC接口实现SCADA(SupervisoryControlAndDataAcquisition,数据采集与监视控制系统)节点和数据库服务器之间的数据通信。ODBC是一个编程接口,它允许程序访问和使用结构化查询语言(SQL)作为数据访问标准的数据库管理系统中的数据。ODBC技术的最大优势是开放的互操作性,通过安装多种ODBC驱动程序,以动态链接库(DDI。)的形式使用,可实现访问来自多种数据库管理系统的数据[1]。在iFIX中可以通过2种ODBC结构(多层ODBC驱动和单层ODBC驱动)来实现通信。本文介绍通过如图1所示的单层ODBC驱动实现的通信。单层ODBC通常直接在数据库文件上运行,单层ODBC驱动可处理oDBC调用和实际SQL命令。多数情况下,数据库和应用存在于同一台计算棚.匕。SCADA节点(iFIX)IODBC应用IIODBC驱动管理器IODBC驱动程序l数据库文件图1单层ODBC结构图iFIX组态软件中提供了iFIXSQI。接口选项和VBA编程2种方法来访问SQI。数据源。iFIX到SQL数据源的路径图如图2所示。这2种选项允许系统处理5个方面的事件:(1)采集并写实时过程数据到一个或更多的关系数据库;(2)读关系数据库内储存的数据并将数据写回到iFIX过程数据库内;(3)删除关系数据库表内的数据;(4)如果服务器故障或维护与服务器连接的网络故障时备份数据和SQI。命令;(5)当与服务器的连接重新建立后自动执行备份SQL命令。

蘑幸

ODBCAPIlSQLDataSource

图2iFIX到SQI。数据源的路径图

尽管可以使用VBA[33或iFIXODBC访问SQL数据源,当做决定时应根据它们各自的独特功能而决定取舍。用VisualBasicEditor(VBE)写脚本可以更快和更容易地访问和处理SQL数据源,但是需要书写大量的代码。iFIXODBC不需要具备VBA脚本知识,就能执行所有的SQL任务,配置简单、方便。本文介绍采用iFIXSQL接口选项来实现数据访问。iFIXSQI。接口选项由sQI。触发块(SQT)、SQI。数据块(SQD)、SQI。任务3部分组成。其中SQL触发块用于指定SQI。命令的名称,并确定数据传输触发的时间或条件;SQL数据块用于指定要采集和传输的数据及方式;SQL任务用于与ODBC驱动、SQT块和SQD块通信。数据的传输过程如图3所示,可分为3个阶段:(1)通过时间或事件触发SQI。触发块(SQT),把要执行的SQI.命令和数据源韵名称传给sQL任务;(2)SQL任务根据传送过来的信息到关系数据库的SQL库表检索与命令对应的SQL命令,关系数据库引擎以字符串的形式返回SQL命令;(3)SQI。任务依据获得的SQI。命令和SQL数据块(SQD)中的数据对关系数据库进行操作,由数据库引擎把数据写入数据表中。

FIX过程数据库关系数据库

I!里!垫卜_●lSqllib表J

SQL=匝叵k匦西

●任务Sqlerr

一l数据表I

图3数据传输过程框图2iFIX与Access通信的具体实现方法2.1Access数据库的配置在Access数据库中先创建2个表‘2|:SQI。命令 万方数据32工矿自动化2006年8月表Sqllib和错误记录表Sqlerr。Sqllib表用来存放要执行的SQL命令,该表中只能有Sqlname和sql—cmd字段,用来存放SQL命令的名称和内容。Sqlerr表用来记录所有SQL运行的错误消息,表中有td(时间)、node、tag、sqlname、fix-err、sql—err、prog-err等字段。2.2ODBC数据源的配置通过Windows控制面板上管理工具中的OD—BC数据源管理器完成ODBC数据源的配置。在系统DSN或用户DSN中添加Access驱动,然后再配置数据源名称和数据库。2.3iFIX的配置(1)添加SQI。帐户。在iFIX的系统配置中添加SQL帐户,此处的数据库类型为Access,填写的用户名和密码必须具有访问SQI。库表和数据表的权限,数据库ID要与ODBC中的数据源名称一致。(2)配置SQL任务。SQL支持选择启用,数据库ID要与SQI。帐户的数据库ID一致,SQL命令表是Sqllib,错误记录表是Sqlerr。(3)SQT块和SQD块的定义。在iFIX数据库管理器中添加SQT块和SQD块。在SQT块中定义标签名和描述,下一块选择与之相匹配的SQD块,填写的SQL名要与Access的Sqllib表中的Sqlname字段的内容一致,定义命令执行的时间或事件。在SQD块中定义要采集的数据及方向。3应用实例本方法已应用于某选煤厂的集控系统中。洗煤厂集控系统设有1个主站、1个分站及1个分站的远程站。主站在主洗调度室,在破碎间调度室设有1个分站,另外在筛分车间设有1个远程站。通过iFIX组态软件与关系数据库Access通信实现了将iFIX采集的现场数据传送到关系数据库Access中,在关系数据库Access中制作报表,实现了可随时调阅、打印年度任意一天的有关数据,自动生成数据库并可人工查找、增删、修改,输出方式采用洗煤厂提供的报表格式,从而达到了有效地调度生产、合理地配置资源、提高生产效益的目的。本应用中iFIX组态软件与关系数据库Access通信的具体实现方法配置如下:(1)Access数据库的配置在Access数据库中先创建1个名称为ximeichang的数据库,然后在该数据库中创建3个表:SQL命令表Sqllib、错误记录表Sqlerr和数据表cjb。在Sqllib表中创建Sqlname和sqlcmd字段,在Sqlname中填写insertl命令,在sqlcmd中填写“insertintocjb(tmdt)values(?);”,在Sqlerr表中创建td(时间)、node、tag、sqlname、fix-err、sql—err、prog-err等字段。(2)ODBC数据源的配置打开Windows控制面板上管理工具中的OD—BC数据源管理器。在系统DSN和用户DSN中添加driverdoMicrosoft

driver驱动,数据库名称为

test,数据库选择为ximeiehang。(3)iFIX的配置先在iFIX系统配置中添加SQL帐户,此处的数据库类型为Access,数据库ID为test。再配置SQL任务,SQL支持选择启用,数据库ID为test,SQI。命令表是Sqllib,错误记录表是Sqlerr。然后定义SQT块和SQD块,在iFIX数据库管理器中添加SQT块和SQD块。在SQT块中定义标签名和描述,下一块选择与之相匹配的SQD块,填写的SQL名为insertl,数据库ID填写test,定义时间事件的开始时间为00:00:oo,结束时间为23:59:59;扫描时间为2S;定义日期选项的开始时间为all;结束时间为none;事件类型选择值变化。在SQD块中定义要采集的数据为TMDT及方向OUT。以上配置完成后就可以把TMDT的数据写到表cjb(略)中。其它要采集的数据配置方法相同。

相关文档
最新文档