ifix组态软件在某化工合成中的应用毕业设计论文内容摘要:

数据库的访问宜采用 ADO 对象模型,已获得更好的性能和更大的灵活性。 IFIX 是一种功能强大的自动化软件,它将许多先进的技术融于其中。 而 ADO 以其易于使用、功能强、速度快、内存开销低的特点成为现今数据库应用开发的一种潮流,并代表了未来的发展方向。 在使用 ADO 前,必须做一定的准备工作,如进行声明,指定各 自的版本,这项工作成为引用。 IFIX 软件是基于 VBA 语音的,在 IFIX 中, ADO 的引用是通过代码编辑界面中的工具、引用菜单,然后再相应的对话框中选择需要版本的 Microsoft active data objects 选项即可,如图所示: 在画面中添加 data 控件,用以连接 Access 数据库。 双击 DATA 控 件 弹 出 如 下 图 对 话 框。 在“提供者”选项卡中选择 Microsoft Jet OLE DB Provider,表示选择连接 Access 数据库。 在“数据库”选项卡中选择数据库文件路径: F:\IFIX\测试数据库 \历史数据 .mdb。 点击测试连接后弹出测试连接成功,则表示连接已建立。 在“记录源”选项卡中可以选择要进行的操作,比如 SQL 语言手动编辑。 当然,也可以使用 SQL 向导,点击“ Run SQL Wizard”,根据设置自动生成想要的 SQL 语句。 ,如下图所示: 使用向导生成 SQL 语句方便了用户,用户不必要熟悉 SQL 语句便可以 通过点击鼠标生成符合要求的 SQL 语句。 在 data 控件设置好后,便连接到了 Access 数据库相应的表格中。 如果想要显示数据库的内容,则只需要添加一个 Grid 控件,将 Grid 控件绑定 DATA 控件即可。 右键 Grid 控件,选择“动画”,弹出如下图所示对话框,在“行为”选项卡中作如下设置 : Access 数据库 ( 1) 要想把实时数据读入 Access 数据库,则先要连接 IFIX 实时数据和 Access 数据库。 下面是利用 ADO 访问 Access 数据库源程序: Option Explicit ‘通用变量声明 Dim ad As New Dim mrst As New Recordset Dim ad1 As New Dim mrst1 As New Recordset Private Sub CommandButton1_Click() ‘单击触发函数 Dim connect As String Dim connect1 As String connect1 = provider =。 Data source=F:\IFIX\测试数据库 \历史数据 .mdb ‘连接 Access 数据库 connect = provider =。 data source=fix dynamics real time data ‘连接 IFIX 实时数据库 connect = adUseClient select * from fix, ad, adOpenKeyset, adLockOptimistic connect1 = adUseClient km, ad1, adOpenKeyset, adLockOptimistic ( 2)读取 实时 数据 采用按时间读取实时数据 ,先设置好想要读取的时间长度,按确定键便开始读取实时数据。 程序如下: Dim i As Integer Dim a(10000) As Double Dim dat1 As Date ‘读取后的时间 Dim dat2 As Date ‘读取前的时间 Dim n As Integer 39。 时间间隔总秒数 i = 0 a(0) = 0 n = * 3600 + * 60 + dat1 = DateAdd(s, n, Now) dat2 = Now If MsgBox(确定要读取。 , vbYesNo, 测试 2) = vbYes Then ‘弹出对话框,点击确定进行下面操作 ,点取消跳出函数 Do Until dat2 = dat1 ‘循环读取, 直到 时间到了 a(i + 1) = If a(i) a(i + 1) Then With mrst1 ‘ with 语句将数据对应读入 km 表中 .AddNew !化学罐 1 = !化学罐 2 = !收集罐 = + If = 0 Then ‘判断阀门 1 是开还是关 !阀门 1 = CLOSE Else !阀门 1 = OPEN End If If = 0 Then ‘判断阀门 2 是开还是关 !阀门 2 = CLOSE Else !阀门 2 = OPEN End If !时间 = Now .Update End With i = i + 1 End If dat2 = Now Loop ‘循环 End If 通过上面的程序便可以将实时数据读入数据库的表 km 中。 并且可以在 Grid 控件中显示出来,如下图所示: 在 Access 数据库的表 km 中这些数据也已经读入。 这样就实现了实时数据和 Access 数据库的连接,实时数据库的初步建立。 实时数据处理 上面已经初步创建了实时数 据库,但仅这样是不够的,我们还需要一些设计,方便用户操作这个数据库。 最为常见的就是记录的查询和删除。 当实时数据渐渐变多,想要查看某些数据时,查找起来很不方便。 所以需要一个查询按钮实现这一功能,以方便用户。 常见的查询方式是按时间查询。 在画面中添加两个 DTPicker 控件,分别用于设置 要查询的起始时间和结束时间。 DTPicker 控件的时间格式可以使用系统给的 3 种格式,但也可以自定义格式,一般我们选择的格式为“ yyyyMMdd HH: mm: ss”,其中要注意 几点: M 要用大写,而分钟的m 要小写; H 如果大写则表示是 24 小时制,小写就是 12 小时的 ,分钟的 m 要用小写。 如下图: 设置好 DTPicker 控件后,使用按钮,给按钮编辑脚本,采用 SQL 查询语句便能很方便的查询到想要查询的记录。 脚本如下: Private Sub CommandButton6_Click() = True ‘自动刷新 = Format(, yyyyMMdd hh:mm:ss) ‘设置起始时间 = Format(, yyyyMMdd hh:mm:ss) ‘设置结束时间 = SELECT , 1, 2, 1,2, FROM km WHERE = {ts 39。 QP139。 } and = {ts 39。 QP239。 } ‘ SQL 语句查询 ‘刷新 data 控件 End Sub 查询结果如下: 上述程序有一点需要注意的地方, vxData1 的 QP1 和 QP2 属性是 vxData1 的自带属性, 上述 SQL 语句的编写可以采用 Data 控件属性中的“记录源”选项卡生成,要注意过滤时选择时间,过滤上下限选择 QP1 和 QP2,点确定后便可看到生成的 SQL 语句,复制到脚本中就可以了,注意不要保存对 Data 控件的这一设置,这一设置只是为了生成 SQL 语句,还是应该回归原来的设置。 在查询数据后,如果想要查看全部数据,则需要再添加一个按钮,采用 SQL 语句,只是SQL 语句中不包含限定语句 WHERE,即: = SELECT , 1, 2, 1,2, FROM km 按时间段删除和按时间段查询很类似,都是使用相同两个 DTPicker,两个 DTPicker 的作用也一样。 按时间段删除的程序如下: Private Sub CommandButton7_Click() Dim As String Dim 1 As String Dim 2 As String Dim i As Integer Dim num As Integer 1 = Format(, yyyyMMdd HH:mm:ss) ‘转换起始时间为字符串 2 = Format(, yyyyMMdd HH:mm:ss) ‘转换结束时间为字符串 num = num = num – 1 ‘ num 记录数据总条数 If MsgBox(确定要删除。 , vbYesNo, 测试 2) = vbYes Then ‘弹出对话框,询问是否确定要进行删除操作 For i = 0 To num ‘循环 num 次 = Format(mrst1!时间 , yyyyMMdd HH:mm:ss) ‘ 为当前记录的时间,并转换为字符串 If = 1 And = 2 Then ‘判断 在不在要删除的时间范围内 ‘如果在则删除该记录 End If ‘移向下一条记录 Next i ‘进入下个循环 End if ‘刷新 Data End Sub 删除操作是直接对 Access 数据库进行删除,删除后的数据将消失,删除后点击“查看全部”按钮效果如图: 由图可见, 17: 00:16 到 17:00:25 间的数据已被删除。 本章小结 本章主要介绍了使用 ADO 技术实现 IFIX 组态软件与 Access 数据库之间的通讯。 将 IFIX的实时数据传送到 Access 数据库中,并能够再将 Access 数据库中的数据回调到 IFIX 画面中显示 出来。 从而方便了 IFIX 对进入 Access 数据库的数据进行访问和一些基本查询、删除操 作。 这样一个简单的为 IFIX 制作的实时数据库便制作成功。 用户便可以对实时的数据进行查看, 方便用户对化工过程的监控。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。