首页 基于VB和组态王的远程环境监测平台

基于VB和组态王的远程环境监测平台

举报
开通vip

基于VB和组态王的远程环境监测平台 自动化与仪表 2010(5) 计算机应用 基于 VB和组态王的远程环境监测平台 文章编号:1001-9944(2010)05-0039-04 陈立定,林子杰 (华南理工大学 自动化科学与工程学院,广州 510641) 摘要:远程监测平台负责远程数据的接收和转发,同时要给用户提供丰富的界面及信息管 理功能。 如果采用单一的开发工具通常不能很好地兼顾两方面需求。 文中介绍了一种使用 Visual Basic和组态王混合编程的技术方案,不仅能保证可靠地满足功能需求,并且能够大 大缩短开发周期。 基于此技术...

基于VB和组态王的远程环境监测平台
自动化与仪表 2010(5) 计算机应用 基于 VB和组态王的远程环境监测平台 文章编号:1001-9944(2010)05-0039-04 陈立定,林子杰 (华南理工大学 自动化科学与工程学院,广州 510641) 摘要:远程监测平台负责远程数据的接收和转发,同时要给用户提供丰富的界面及信息管 理功能。 如果采用单一的开发工具通常不能很好地兼顾两方面需求。 文中介绍了一种使用 Visual Basic和组态王混合编程的技术方案,不仅能保证可靠地满足功能需求,并且能够大 大缩短开发周期。 基于此技术组合构建的远程环境监测平台目前已投入实际运行,实践表 明本技术方案在相关的应用领域具有一定借鉴意义。 关键词:远程监测;数据收发;VB;组态王 中图分类号:TP273.5 文献标志码:A Remote Enviromental Monitoring Platform Based on Visual Basic and KingView CHEN Li-ding, LIN Zi-jie (College of Automation Science and Engineering, South China University of Technology,Guangzhou 510641, China) Abstract:The remote monitoring platform is responsible for receiving and sending remote data, meanwhile,it needs to supply the nice interface and the function of information management for the users. The single development tools usual- ly doesn’t meet the needs above, so we propose a solution basing on Visual Basic and KingView. This solution not only meets the functional requirement effectively,but also reduces the development period. It has been found that the proposal may be helpful in some similar fields. Key words:romote monitoring; data transfer; Visual Basic(VB); KingView 收稿日期:2010-01-18;修订日期:2010-01-22 基金项目:广东省科技 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 项目(2006B12301002);佛山市产学研专项资金项目(2007CB009);佛山市南海环境保护局项目 (2007B08D8073570) 作者简介:陈立定(1964-),男,副教授,硕士生导师,研究方向为网络化控制系统理论与应用;林子杰(1986-),男,在读硕士 研究生,研究方向为网络控制与智能化集成系统。 国家环境保护“十一五”科技发展规划明确指 出要加强环境监测、 控制与信息管理系统的建设。 在国家政策的指引下, 随着移动通讯技术的发展, 基于 GPRS 的分布式远程环境测控技术已经得到了 较好的发展。 在该系统中,远程环境监测平台负责 接收终端采集仪数据和对数据的进一步处理和转 发,扮演了中间数据节点的角色,在整个系统中起 着至关重要的作用。 目前,实现监测平台的技术方案有多种。 本文 介绍了一种基于 VB 和组态软件构建远程监测平台 的技术组合, 一方面利用 VB 强大易用的数据收发 和数据库操作功能,一方面则利用组态王软件方便 快捷的界面设计功能,二者相结合,不仅有效保证 了软件稳定性,而且大大缩短了软件开发周期。 目 前该平台已投入实际应用,长时间的运行结果表明 该平台能够连续、 可靠地收发远程采集仪数据,并 且该平台简便实用、功能强大,收到了良好的预期 效果。 39 Automation & Instrumentation 2010(5) 计算机应用 1 远程监测平台的设计 1.1 监测平台的功能 一个省份的环境监控系统通常采用分布式和 集中式的架构相结合[1]。 如图 1 所示。 本文所指远程环境监测平台即为每个市独立 的污染源自动监控系统。 因此,该平台所需要实现 的功能主要有[2,4]: (1)接收多个采集仪终端通过 GRPS 网络实时 报送上来的数据;对接收到的数据进行解析,存入 数据库; (2)按照信息交互规范对相应的数据进行封装, 通过 HTTP与省级监控平台进行通讯; (3)在监测平台上建立管理信息系统用户界 面,包括登录、设置、实时查询、历史查询和报警功 能等; (4)管理信息系统采用 WEB 发布,支持移动办 公等。 1.2 监测平台的结构 监测平台的系统结构示意图如图 2 所示。 采用上述系统结构的优点是显而易见的。 VB 具备强大的网络通讯和数据处理能力, 将数据接 收、存储和转发的功能交由 VB 后台程序负责,然后 以 SQL SERVER数据库为中介,在组态王中实现用 户界面及各种统计记录功能。 组态王具有丰富的图 库和图库开发工具,能够模拟现场运行情况;而且组 态王将统计和报警功能封装成控件,只需做简单设 置即可实现预定功能; 另外组态王能够实现 WEB 发布,用户在浏览器端就可以访问该系统,进行移动 办公。 VB和组态王的相互结合,可以弥补二者各自 的不足;并且这种方案在给用户提供良好简便可靠 的功能之外,软件开发周期也大大缩短。 2 技术上的实现 2.1 数据收发和存储 2.1.1 使用 Winsock接收数据 现场采集仪通过 GPRS 模块(DTU)与监测平台 VB后台程序的 Winsock进行通信。由于采集仪有多 台,所以在 VB 中必须通过 Winsock 控件数组实现, 其中一个 Winsock 专门负责侦听下位机的请求,一 旦有连接请求则触发连接请求事件 ConnectionRe- quest,VB 程序中载入新的 Winsock 数组成员,调用 Winsock(i)_Accept 接受连接请求,这样就建立了监 测平台与监控终端的数据通信链路。 通信链路建立 后, 一旦有数据到达则触发数据到达事件 DataAr- rival, 接着调用 GetData 接收数据或调用 SendData 发送数据。 程序流程图如图 3所示。 2.1.2 使用 ADO操作数据库 ADO(ActiveX data objects,ActiveX 数据对象) 是 Microsoft 提出的应用程序接口(API)用以实现访 问关系或非关系数据库中的数据。 在 VB 中使用 ADO 对象服务数据库, 必须先建立对 ADO 对象库 的引用,接着照如下步骤使用: (1)创建 Connection 对象,建立数据库源连接, 图 2 远程环境监测平台结构 Fig.2 Architecture of remote monitoring system 现场采集仪 DTU 现场采集仪 DTU GPRS 网络 省级服务器 HTTP-POST DOM 封装 XML SQL SERVER ADO Winsock 数组 (后 台 程 序 ) VB 数 据 收 发 远程环境监测平台 WEB 访问 登录 查询 统计 报警 监测平台界面 (组态王) 图 1 省级环境监控系统 Fig.1 Architecture of whole system 污染源 1 污染源 2 污染源 3 重度污染源 广东省环境保护广 域网数据主动报送 深圳市环境 监测平台 广州市环境监测平台 佛山市环境监测平台 域域网 数据收集 …… 40 自动化与仪表 2010(5) 图 3 Winsock控件数组工作流程 Fig.3 Flow chart of Winsock arrays 计算机应用 代码如下: Set conn = New ADODB.Connection Conn open "Provider =SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False; Initial- Catalog=monitor" (2)创建数据 Recordset对象,获得记录集,代码 如下: Set rstRD = New ADODB.Recordset rstRD.CursorLocation = adUseClient ‘设置临时 表位置 rstRD.Open "select*from RealData where Mo_Code='" & Mo_Code & "' ORDER BY Eq_ID Asc", conn, adOpenKeyset, adLockOptimistic 获得记录集之后即可以进行插入、查询、删除、 更新等操作 (3)数据库使用完毕,断开连接,释放对象,代 码如下: conn.Close Set rstRD=Nothing 2.1.3 使用 DOM封装 XML数据 XML DOM(document object modal,文档对象 模型)使开发者能够以编程方式读取、操作和修改 XML 文档, 是最常见的 XML 工具之一。 由于是 W3C 的标准,DOM 被许多的开发平台所支持,结合 使用这些平台提供的数据库操作工具,可以有效准 确地生成符合统一格式的 XML文档。 在 VB 中生成一个 XML 文件,必须先创建一个 DOMDocument 实例,再使用 createProcessingInstruc- tion设置 XML 文档的头,标识编码和版本号;在元 素和节点的操作中,必须先创建一个根元素,一般使 用 createElement 创建顶层(根)元素,使用 createN- ode创建子节点(元素),使用 SetAttribute 设置属性, 使用 text 设置节点 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 , 将创建的节点使用 Ap- pendChild 插入到合适的位置, 最后使用 save 方法 保存该 XML实例,则一个 XML就创建完毕。 2.1.4 使用 XMLHTTP对象报送 XML数据 本监测平台采用 HTTP-POST 方式将封装好的 XML 文件主动报送到省级监控中心,数据发送发生 类似于文件上传方式[3]。 上传一个 XML 文件时,先 使用一个 ADO流对象将文件内容读出,再将读出的 内容 POST 到指定 URL。 在 VB 中的代码实现过程 如下: Dim oStream Dim strText As String Set oStream =CreateObject("ADODB.Stream") With oStream .Type=2 .Charset="utf-8"‘以 UTF-8的方式来读取文件 .Open .LoadFromFile (strFileName) strText=.ReadText .Close End With Dim ClientHTTP As MSXML2.XMLHTTP60 Set ClientHTTP= CreateObject("Msxml2.XMLHTTP") On Error Resume Next ClientHTTP.Open "POST",url,False‘指定 POST 的目标 URL ClientHTTP.setRequestHeader"Content -Type", "multipart/form-data;‘设置 HTTP协议头 On Error Resume Next ClientHTTP.send strText‘开始发送 2.1.5 后台运行的实现 本 监 测 平 台 中 可 以 调 用 一 个 API 程 序 Shell_NotifyIcon(即托盘程序)实现 VB 程序作为一 41 Automation & Instrumentation 2010(5) ���������������������������������������������� � � � � � � ����������������������������������������������� � � � � � � � 计算机应用 个后台程序运行。 在调用该函数之前,必须先对函 数和结构类型进行定义,代码如下: 函数声明: Public Declare Function Shell_NotifyIcon Lib " shell32.dll" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long 结构类型定义: Public Type NOTIFYICONDATA cbSize As Long'该数据结构的大小 hWnd As Long'处理任务栏中图标的窗口句柄 uId As Long'定义的任务栏中图标的标识 uFlags As Long' 任务栏图标功能控制,可以是 以下值的组合(一般全包括) '&H1表示发送控制消息; '&H2表示显示控制栏中的图标; '&H4表示任务栏中的图标有动态提示。 uCallBackMessage As Long' 任务栏图标通过它 与用户程序交换消息, 处理该消息的窗口由 hWnd 决定 hIcon As Long'任务栏中的图标的控制句柄 szTip As String*64'图标的提示信息 End Type 具体调用过程略。 2.2 组态王实现用户界面 组态王提供了丰富的图库和函数控件,可以快 速实现用户界面。 其中最关键的一步是将组态王和 SQL SERVER 连接起来, 通过调用数据库中的变 量,在组态王界面中将该变量所代表的含义形象地 表现出来。 要实现组态王和数据库的连接,需要实现如下 步骤: (1)将本监测平台使用的数据库定义为 ODBC 数据源; (2)建立 BIND 记录体,将数据库中的表格字段 和组态王定义的变量一一对应; (3)使用 SQLConnect函数连接该数据库; (4)使用 SQLSelect 函数调用每一个组态王变 量在数据库中对应的变量。 界面的具体实现过程与通常的组态过程相类 似,这里不做赘述。 图 4为界面的一个截图范例。 3 结语 本文的创新点在于采用 VB 和组态王混合编程 来构建一个远程环境监测平台。 该平台在整个环境 监控系统中实际上是作为一个数据中间节点,因此 其稳定性和可靠性决定了整个系统的性能。 该平台 目前已投入实际运行,经过长时间测试表明,该平台 完全能够实现需求功能, 收到了良好的预期效果。 在其他具有复杂数据处理功能的远程工业监控领域 中,本技术方案也具有一定的借鉴意义。 参考文献: [1] 国家环保总局.HJT352-2007 环境污染源自动监控信息传输、交 换技术规范(试行)[S].北京:中国环境科学出版社,2007. [2] 陈立定,章慧锋,梁联冠.一种嵌入式环保数据监控系统的设计 与实现[J].自动化与仪表,2009,24(5):37-40. [3] Mark Wilison,Tracey Wilson.XML 编程:使用 VB 和 ASP[M].健 莲科技,译.北京:中国电力出版社,2001. [4] 刘连浩,杜兆东.污染源水质在线自动监测系统[J].计算机工程, 2009,35(12):208-210. ■ 邮箱变更通知 《自动化与仪表》自 1981 年创刊以来,深受广大读者厚爱,为了更加便利地与读者交流,快捷地为 企业做好服务,现增加一个邮箱 zdhyyb@vip.sina.com;原邮箱 zdhyyb@eyou.com 延用至 2010 年 6 月 1 日,届时将停止使用;其他邮箱将正常使用,特此通知! 《自动化与仪表》编辑部 图 4 监测平台界面截图 Fig 4 Screenshot of monitoring platform 报警查询历史记录系统实时状态 返回主画面 42
本文档为【基于VB和组态王的远程环境监测平台】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_233521
暂无简介~
格式:pdf
大小:559KB
软件:PDF阅读器
页数:4
分类:建筑/施工
上传时间:2011-07-11
浏览量:32