基于移动通信的微监控平台设计
2018-03-07,,
,,
(许昌许继风电科技有限公司,河南 许昌 461000)
0 引言
随着IT技术和通信技术的发展,远程监控系统也得到了飞跃式的发展。目前远程监控已经渗透到各行各业,并且市场需求剧增。在此,所介绍的微监控平台功能灵活、支持二次工程开发、便于部署。除了具备常规监控系统的功能外,在如下场景具有更高的优越性。
a.特别针对受限于基础网络建设而无法接入以太网的设备(如偏远的、孤立的及其他特殊环境),提供基于移动网络接入的解决方案及技术手段。
b.精巧的原型及便捷的二次开发接口,使其部署的经济成本和人工成本及技术要求远低于大型的集控系统,尤其在试验研究、分布式光伏监控[1]等环境应用广泛。
1 微监控系统拓扑结构
首先通过微监控系统的拓扑结构对该系统有个感性的认知。微监控系统拓扑结构如图1所示,可以看出,整个系统的数据流如下:
a.终端设备通过串口和DTU[2]设备通讯。
b.DTU设备通过移动网络基于透传[3]功能和具备静态IP的网关进行连接。
c.网关上配置NAT把DTU连接请求映射到监控主机侦听端口。
d.监控主机监听预配置的端口,通过接收透传的连接请求实现和终端设备建立通信信道。
e.通信信道建立后,监控主机通过DTU设备向终端设备发送指令、接收终端上送的报文、继而进行数据解析、实时数据处理、实时数据监视、数据存储、报表服务等一系列应用业务的处理。
图1 微监控系统拓扑结构
2 系统程序模块设计
程序架构设计如图2所示。
图2 程序架构
由图2可以看出,该系统提供了基于计算机的操作人员应用接口;提供了基于计算机、平板电脑、移动终端的其他相关人员的应用接口。整个系统自下而上分为通讯链路、配置库、内存库、组态模块、数据转存、历史库、监控界面、Web服务器8大部分。
2.1 通信链路的方案及设计
介绍的通讯链路要实现终端设备和监控主机之间的通讯,传统模式和4G透传模式链路差异如图3所示。
图3 传统模式和4G模式通信链路
由图3可以看出,传统模式的通讯链路一般采用协议转换[4]模块,实现串口通信和以太网通信的链路转换,该模式下程序设计时监控后台设计为以太网链路的主站(客户端),协议转换模块设计为以太网链路的从站(服务端);协议转换模块设计为串行链路的主站(客户端),终端设备设计为串行链路的从站(服务端)。
4G透传模式使用DTU模块实现串口通信和4G网络之间的链路转换,该模式下程序设计时监控后台设计为4G链路的从站(服务端),监听DTU模块的连接请求,DTU模块则设计为主站(客户端),向监控后台发起连接;4G模块设计为串行链路的主站(客户端),终端设备设计为从站(服务端)。
DTU模块通过配置透传参数,发起向目的IP的连接请求,监控后台在链路设计的时候设计为socket监听模式,在监听到DTU模块的连接请求后建立对应的连接对象,并基于该连接发送终端设备可识别的指令(数据召唤或者参数设置等),DTU模块会把指令报文原封不动的通过串口下达给终端设备,接收终端设备反馈的数据并传递给监控后台,从而实现监控系统和终端设备的数据交互。
2.2 配置库及内存库程序设计
配置库主要实现2大功能:应用配置和数据建模[5]配置,如图4所示。
图4 配置库功能
应用配置主要用来配置应用程序运行所需要的信息,比如通讯参数相关信息(监听端口等)、界面参数相关信息(标题、背景、风格、logo等)等。
数据建模配置主要用来根据被监控的终端设备的特性,建立终端设备的数据对象模型,实现现实世界到虚拟世界的映射,并根据此模型动态的初始化内存库和历史库数据结构。数据建模配置主要在项目部署前有系统分析人员确定对象模型,然后根据对象模型进行数据模型构建并实施。本方案配置库基于SQLite[6]数据库开发,SQLite数据库是轻量级数据库,具有无需安装和管理配置、没有额外依赖、提供便捷的API开发接口、体积小响应速度快等优势。配置库的数据模型为内存库的构建和数据库服务器数据结构设计提供支撑。
内存库是受控终端设备在内存的映像,用来结构化存储终端设备的信息,作为监控界面和终端设备之间通讯的中转站。同时内存库为历史库数据储备提供数据源。
如图5所示,监控界面下达给终端设备的指令先进入内存库对应的对象结构,然后再由内存库映像对应下达给终端设备;同样,终端设备上送的采样数据也需要经过内存库映像后传递到监控界面。另外历史库里面存储的终端设备相关的历史数据也通过内存库获取。
图5 内存库功能
2.3 组态模块程序设计
组态是监控系统应该具备的一个重要功能,用来提供给工程人员进行监控界面的工程开发。通过组态,把内存库的数据和监控界面对象元素关联起来。监控界面的风格、要显示的数据信息以及数据的展现方式基本都通过组态提供的二次开发功能实现。本方案基于“运行时设计”的理念,采用智能窗体结合数据源与界面分离的技术实现组态模块的设计。为了更好地支撑二次开发,在设计中引入脚本解释器[7],提供简单程序控制,以便更灵活地操控界面对象,实现组态功能。
2.4 数据转存模块设计
根据数据转存模块后台工作的特性,为了安全,设计为无界面运行模式。
如图6所示,数据转存模块从配置库读取存储规则及存储原型等信息,然后按照存储规则从内存库定期读取特定的数据存入历史库。这里的存储规则主要定义为特定数据存储分辨率等情况。比如根据数据的特性和重要性,分为1 min到1天等不同的存储分辨率。
图6 数据转存功能
为了实现长周期(十年甚至更多)存储,数据转存模块设计了历史数据梳理功能,可以根据配置策略对历史数据记录进行筛选,根据时间轴进行调整已经存储的数据的存储分辨率,比如1 min分辨率的数据一旦超过一年整理为5 min分辨率存储;超过10年整理为60 min分辨率存储。
2.5 数据库服务器设计
数据库服务器采用MySQL数据库[8]。MySQL是一种关系型数据库管理系统。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言、加上体积小、速度快、总体拥有成本低,开放源码、可移植等特点,故该数据库作为本方案的首选数据库。
数据库结构的设计基于SQLite库中的配置模型,数据来源于监控主程序的数据存储模块。数据库服务器主要为基于Web的报表系统提供数据支撑。
2.6 监控界面设计
监控界面设计的目的都是为了提供应用操作的人机接口。
监控界面通过配置库的特性配置,结合组态模块二次开发构建。软件技术上设计为客户端模式,通过安装进行部署,运行环境为桌面PC。它根据权限规则提供给站级操作人员使用,用来实时监视和控制终端设备,及时发现设备异常,保障设备的正常运行。
2.7 报表系统设计
报表系统设计的目的也是为了提供人机接口,它可以把数据信息以安全可靠格式化的方式,有针对性的呈现给各级管理者和运行人员。
报表系统的数据基于历史库提供的数据。系统程序设计采用微软MVC[9]架构开发。MVC架构通过控制业务逻辑,把数据和界面显示分离。这样在改进和个性化定制界面及用户交互改变的时候,不需要重新编写业务逻辑。比如一旦确定数据集,就可以分别用柱状图、线状图、列表等各种方式显示而不需要修改业务逻辑代码,增强程序扩展性,提高系统维护效率。
为了便于报表的分发,方便各级人员查看,本方案报表系统设计为基于.Net的Web服务,采用Bootstrap[10]前端架构,流式响应布局,使其报表系统可以运行在计算机、平板电脑、手机等多种终端设备上,满足随时随地办公需求。
3 结束语
阐述了基于4G透传的微监控平台,整个开发过程经过严格的测试,包括单元测试、集成测试、系统测试和用户测试,满足安全稳定可靠要求。便捷的部署方式、低廉的运行成本,使其在多个户用型新能源电站得到推广,为设备的安全经济运行提供保障。
[1] 郑鹏. 分布式光伏发电智能远程监控系统的设计与实现[D].青岛:中国海洋大学,2015.
[2] 贾超. 基于3G DTU的外辐射源雷达数据传输方案设计与实现[D].西安:西安电子科技大学,2016.
[3] 于洪涛,吴迪,朱齐山,等. 一种基于无线透传传感网络的分布式环境监测系统的设计[J]. 现代电子技术,2015,38(18):128-132.
[4] 任兆亭. 基于RS-232/485与HomeBus总线的协议转换模块的研究与实现[D].济南:山东大学,2010.
[5] 申晓留,张广月. 配电GIS数据建模的应用和研究[J]. 电网技术,2006(增刊2):575-578.
[6] 唐敏,宋杰. 嵌入式数据库SQLite的原理与应用[J]. 电脑知识与技术,2008(4):600-603.
[7] 屈景怡,陈钟玉,吴仁彪. 基于自定义脚本的适配参数系统的设计与实现[J]. 计算机工程与设计,2015,36(11):3134-3139.
[8] 邢志峰. MySQL主从复制的研究与应用[J]. 电子技术与软件工程,2017(15):188-188.
[9] 黎永良,崔杜武. MVC设计模式的改进与应用[J]. 计算机工程,2005,31(9):96-97.
[10] 谢建华. 基于Bootstrap技术的企业网站设计与实现[J]. 计算机时代,2017(8):17-19.