基于VB与Access数据库的InTouch报表系统的研究与实现 精灵论文

上传人:少*** 文档编号:67957827 上传时间:2022-04-01 格式:DOC 页数:5 大小:137KB
返回 下载 相关 举报
基于VB与Access数据库的InTouch报表系统的研究与实现 精灵论文_第1页
第1页 / 共5页
基于VB与Access数据库的InTouch报表系统的研究与实现 精灵论文_第2页
第2页 / 共5页
基于VB与Access数据库的InTouch报表系统的研究与实现 精灵论文_第3页
第3页 / 共5页
点击查看更多>>
资源描述
基于 VB 与 Access 数据库的 InTouch 报表系 统的研究与实现邹孝付1,杜岗2,韩芳成35(1. 中国矿业大学信息与电气工程学院,江苏 徐州 221116;2. 连云港职业技术学院,江苏 连云港 222006;3. 神华宁煤双马煤矿筹建处机电处,银川 750000) 摘要:本文以河北省岳城水库自动化监控系统为工程背景,研究了基于 VB 与 Access 的 Intouch 报表系统的开发。针对 Intouch 报表功能的不足和相关资料在这方面介绍的不多、不10细的情况,本文详细介绍报表制作的细节和工程应用;实际工程的成功应用证明了此种报表 开发的正确。关键词:VB;Access;Intouch;报表;PLC中图分类号:TP2915Study And Implement Of InTouch Reporting System BasedOn VB And Access DatabaseZOU Xiaofu1, DU Gang2, HAN Fangcheng3(1. School of Information and Electrical Engineering, China University of Mining andTechnology,Jiangsu Xuzhou 221116;202. Lianyungang Technical College, Jiangsu Liangyungang 222006;3. Electromechanical Department of Shuangma Coal-mine in Shenhua Ningxia Coal-mine, Yinchuan 750000)Abstract: This paper taking Yuecheng reservoir automation monitoring system for engineeringbackground, study a development of InTouch reporting system based on VB and Access database .25This paper introduce detailedly in the details of report draft and engineering applications contraposed the shortcomings of InTouch reporting system and the fewer and superficial relative information . The actual engineering of successful application prove this report development is correct.Key words: VB;Access;Intouch;report forms;PLC300引言随着工业自动化的发展,组态软件和 PLC 得到了很大的应用,组态软件的实用性和易 操作性也越来越得到工程师的重视。Intouch 作为业界组态软件的领跑者在数据报表这方面 做的很不够,这令很多工程师感到困惑,不清楚具体怎么去实现 Intouch 报表,本文就以工 程为背景,详细介绍 Intouch 报表的制作与实现。351工程背景介绍河北省岳城水库是国家的一个大型水库,但年代久远,设备落后、老化,对其进行自动 化改造已不可避免。系统需要控制 18 道闸门,采用两个控制柜,每个控制柜采用施奈德的 Premium PLC,并通过现地触摸屏和远方监控室的工控机对系统进行监控。工控机采用 Intouch 组态软件,但由于 Intouch 报表功能不足,因此就需要通过 VB 开发基于本地 Access40数据库的报表系统,这一报表系统的原理如图 1:作者简介:邹孝付(1987-),男,硕士,控制理论与控制工程专业. E-mail: hpuwindy图 1 报表原理图Fig 1 Statements principle diagram452报表功能简介系统共需控制 18 到闸门,采集 110 个模拟量,由于采集的量多,报表的操作必须简单 高效。此系统的报表实现的功能:对每一道闸门的模拟量进行记录,能够查询某一天、某一 月、某一年的记录;对上游水位进行记录,能够查询某一天、某一月、某一年的水位最大、 最小值和产生最值的时间;报表的打印。报表系统结构如图 2:50图 2 报表结构图Fig 2 Statements structure diagram3Intouch 与 Access 数据库的链接553.1 单闸门数据的记录打开 Access,创建一个名为“数据报表.MDB”的数据库1;建立一个表,命名为“闸 门 1 报表”;点击“开始”-“管理工具”-“数据源(ODBC)”,在“用户 DSN”项点击 添加,选择“Microsoft Access Driver(*.mdb)”;输入“数据源名”为“datareport1”和“说 明”为“datareport2”,点击“选择”,选择刚才建立的数据库。60打开 Intouch,点击左边列表中的“SPC”,再双击“数据库”,选择“ODBC 数据源” 为“datareport1”并保存,最后点击“验证”,如果“连接状态”为绿色则连接正常。本报表实现单闸门数据记录的要求是:如果数据有变化则记录,否则每小时记录一次。65707580859095100在 Intouch 的“脚本”-“应用程序”中的“启动时”输入语句“code=SQLConnect(ConnectionId, DSN=”datareport1”);”这条语句实现在 Intouch 启动时通过 ODBC 建立与 Access 数据库的链 接。可通过判断“code”的值来查询链接与否,为零则链接正常,否则链接有误2。点击“SQL 访问管理器”-“绑定列表”,新建一个名为“datareport3”的绑定列表,在 这里对数据库中的列与 Intouch 标记名字典中的标记进行连接;再点击“表模板”,命名为 “datareport4”,在这里定义数据库中每一列数据对应的数据类型:时间类型的为“date/time”, 数字类型的为“data”,字符串类型的为“text”。为了实现数据改变时记录和数据不变时每小时记录一次的功能,在 Intouch 的“脚本”- “数据改变”中对某些标记名和$Hour 进行标记并输入脚本程序“code1=SQLInsert(Connecti onId,”闸门 1 报表”,”datareport3”),其中 ConnectionId 是 Intouch 启动时与数据库建立的链接 脚本返回的句柄,“闸门 1 报表”是 Access 中的表的名字,“datareport3”是 Intouch 中的 绑定列表的名字。这句脚本的功能是当数据改变或每小时把 Intouch 中的数据按照绑定列表 中的对应关系写入链接成功的数据库中的表中,从而达到记录的功能。3.2 上游水位的日、月、年最值的记录在 Intouch 中的数据改变脚本中标记上游水位,输入如下脚本:IF shangyoushuiwei shuiweidaymaxTHEN shuiweidaymax=shangyoushuiwei ; riqidaymax = $DateString;shidaymax = $Hour; fendaymax = $Minute; miaodaymax = $Second;ENDIF;此段脚本实现对上游水位最大值和发生最大值时间的记录,由于上游水位实际值大于 零,故当 Intouch 启动时上游水位发生改变执行此段脚本。IF shangyoushuiweishuiweidayminTHENshuiweidaymin=shangyoushuiwei ; riqidaymin = $DateString; shidaymin = $Hour;fendaymin = $Minute;miaodaymin= $Second; ENDIF;由于 内存 变 量 shuiweidaymin 在 Intouch 启动时 初始 值是 零, 不可 能大 于shangyoushuiwei,故此段脚本永远不被执行,故需要在起始脚本中另 i 变量为 1,并在上游 水位改变脚本中输入如下脚本:IF i=1THENshuiweidaymin = shangyoushuiwei;i=0; ENDIF;这样当 Intouch 启动后,shangyoushuiwei 值发生变化执行上面的脚本,从而把此时的上游水位的值赋予内存变量 shuiweidaymin。 在$Day 数据改变脚本中输入如下脚本:code2 = SQLInsert( ConnectionId, 水位最大值日报表, datareport5 );105110115120125130135140145IF code2 = 0THEN shuiweidaymax = shangyoushuiwei; riqidaymax = $DateString; shidaymax=$Hour;fendaymax = $Minute;miaodaymax = $Second; ENDIF;code3 = SQLInsert( ConnectionId, 水位最小值日报表, datareport7 ); IF code3 = 0THENshuiweidaymin = shangyoushuiwei; riqidaymin= $DateString; shidaymin=$Hour;fendaymin = $Minute; miaodaymin = $Second; ENDIF;此段脚本实现水位最值和产生最值时间的记录,当水位不变化时,上游水位变化脚本中的程序不会执行,此时需要对产生最值的时间进行刷新,上面 IFTHEN 中的脚本实现时间 刷新功能。上游水位月、年最值数据记录原理与上游水位日最值数据记录原理一样,改变一 些变量即可。4VB 从 Access 中读取数据通过前面的步骤,Intouch 实现了与 Access 数据库的链接并记录相关数据到数据库中的 表中,现在通过 VB 从 Access 中读取数据。新建一个 VB 工程,建立窗体。点击“工程”-“添加 Data Environment”,此时在右边 的设计器下添加了一个 Data Environment1 控件,双击 Data Environment1,再右击 Connection1 选择“属性”-“Microsoft Jet 4.0 OLE DB Provider”,点击“下一步”选择刚才创建的 Access 数据库。再次右击“Connection1”-“添加命令”,右击出现的 Command1 选择“属性”- “SQL 语句”,输入“Select * From 闸门 1 报表 Where riqi=?”。此语句实现从 Access 数据库的“闸门 1 报表”表中读取“riqi=?”的所有数据,“riqi”是“闸门 1 报表”的日 期列。继续添加“Data Report”,把“Data Environment1”中的列拖拽到“Data Report1”中, 形成报表的外观3。在窗体中添加按钮和文本输入框,双击按钮输入如下语句:Private Sub Command1_Click() Dim ca As StringIf DataEnvironment1.rsCommand1.State adStateClosed ThenDataEnvironment1.rsCommand1.CloseEnd Ifca = select * from 闸门 1 报表 where riqi like % & Text1.Text & % DataEnvironment1.Commands(Command1).CommandText = ca DataReport1.RefreshDataReport1.ShowEnd Sub现在可通过在 Text1 中输入日期查询闸门 1 报表,例如输入“2011-1-1”、“2011-1”、150155160“2011”可查询闸门 1 数据的日、月、年记录。另外 Text1 中输入空白,直接点击按钮可查 询闸门 1 数据的所有记录4。图 3 单闸门报表查询界面Fig 3 Inquires interface of singular gates statements对于上游水位最值的日、月、年的查询的思路与上面完全一样,可继续填加“DataEnvironment”和“Data Report”,从 Access 中的不同表中读取数据。 最后生成.EXE 可执行程序。5Intouch 对报表的调用在 Intouch 中新建一个按钮,输入脚本:“StarApp “F:PLCDataReport.exe”,其中 “F:PLCDataReport.exe”是报表程序的绝对路径。6总结图 4 Intouch 调用报表可执行程序界面Fig 4 Interface of intouch calls program165170175经过实际工程的使用,证明了基于 VB 与 Access 数据库的 Intouch 报表的可用性与实用 性,可以很方便的按日、月、年查询单闸门的数据,并且可以查询单闸门数据的全部记录; 对于上游水位最值和最值产生时间的查询也在本报表系统中得到实现,可以查询每一天、月、 年的最值,也可以查询每一月中所有天产生的最值、每一年中所有月产生的最值。参考文献 (References)1 巫张英.Access 数据库基础与应用教程M.北京:人民邮电出版社,2009.2 马正午,周德兴.过程可视化组态软件 InTouch 应用技术M.北京:机械工业出版社,2006. 3 敬铮,于英杰.Visual Basic 6.0 数据库开发与专业应用M.北京:国防工业出版社,2002. 4 求是科技.Visual Basic 6.0 数据库开发技术与工程实践M.北京:人民邮电出版社,2004.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!