基于WEB的工业网络数据平台的研究
2015-01-10杜纪魁
杜纪魁
(无锡商业职业技术学院物联网技术学院,江苏 无锡214153)
1 工业网络数据平台发展现状
随着信息技术和物联网技术的快速发展,施耐德电气公司出于保障用户投资金安全,顺应新技术发展的大趋势,首先推出了采用开放的TCP/IP以太网技术和Modbus TCP/IP协议应用于工业控制领域的工业网络数据技术。该技术应用了 TCP/IP协议,底层协议使用开放的Modbus协议,率先实现了信息网络和工业数据采集、控制网络融为一体,使用户摆脱了各种行业的数据采集技术与控制网络的限制和束缚,使工业控制技术进入到了一种新境界。
随着电子信息技术的快速发展,目前通过软硬件方式可以将TCP(UDP)/IP等相关通信协议嵌入到各种物理传感器中。目前网络智能化传感器在国内外应用日益广泛,并且交换式以太网技术的出现大大提高了网络的稳定性。利用数据交换技术,可以将一个大型的网络分隔成为各个相对独立的网络区域,使冲突限制在一个较小的范围内,这样就可以很明显地减少冲突的发生,从而保证和提高了网络的实时性和稳定性性。 目前来看以太网所已经能够满足数据采集和控制对实时、抗干扰和可靠性等方面的要求。它己经被证明是目前乃至未来数据采集与工业行业控制网络的较好的解决途径,而以太网应用在工业现场中设备监控方面也是工业控制网络发展的趋势。
2 系统设计
该项目综合了江苏省无线传感系统应用工程技术研究开发中心在物联网方面的各方面研发能力开发基于无线传感网的工业数据管理网络系统。该系统包括:工业设备(调试中可模拟)、设备数据采集节点、无线群控通信节点(基站)、群控服务器组成,系统组成如图1所示。
图1 系统整体结构图
通用工业网络的数据平台并不直接于硬件设备打交道,也不直接处理来自工业网络的数据信息,在基于Web的工业网络数据平台和工业现场传感网络之间(主要指下位机)加入中间件,中间件是连接两个独立应用程序或独立系统的软件。相连接相互通信的系统,即使它们具有不同的接口,但通过规范的中间件仍然能够进行信息的交换。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。通过中间件为工业网络数据平台屏蔽面向设备的流信息,提供相应的数据信息,以便平台数据的持久化。中间件在这里的主要作用在于数据格式的转换及与下位机的通信。
本项目的软件系统结构模式如图2所示。
图2 软件系统结构模式图
本项目的研究方法上根据信息系统的特点,从系统结构化分析,结构分层,逐层分析解决实施,Web应用实现结构、内容、表现分离,以便整个平台能够无缝嵌入具体的业务应用。根据在项目自身的特点,平台拟采用.NET为主要实现技术,使用数据库存放各类传感器信息。数据格式如表1所示:
表1 通信数据格式
数据实例:
总之,整个项目充分利用了软件分层来降低问题复杂性,并使整个系统的软件与硬件的耦合度降低,软件模块之间的耦合也降低,结合中间件技术构建了一个通用的Web网络数据平台。考虑今后工业网络的发展,肯定与业务系统会高度融合,因此在平台中提供相应的Web Service接口,可以对其他系统支持跨平台的调用,这也是平台可扩展性的一个。
3 使用到的主要软件技术
1)Ajax与 JQuery
JQuery是一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3。jQuery方便用户处理HTML、实践,并且能够实现动画效果,还能够为网站提供Ajax交互。jQuery较大优势还有各种参考资料齐全,应用示例广泛并且丰富,同时还有许多开源的成熟插件可以使用。Query能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。
Ajax是一种主要用于创建需要及时刷新页面数据的技术。这项技术通过在后台与相关服务器进行较少的通信,就可以使所创建的网页实现异步更新。即可以不用重新加载页面所有内容,而只对页面内部部分数据区域进行更新。
在数据展示方面,本项目利用Ajax技术实时刷新页面表格中的各个仪器终端的数据,提高也页面的稳定性,并利用JQuery技术提高了代码的可维护性和刷新效率。
2)数据库分页技术
在使用中间件处理数据存储在数据库中。由于实时数据量在积累一段时间后,如果每次直接进行数据查询耗时较多,因此使用数据库分页技术,同时把较新数据放在临时的数据集合里动态更新,提高数据检索效率。
比较常用的数据分页技术是ADO记录集进行分页。这项技术使用ADO自带的功能通过游标来达到分页的目的。现在流行的分页方法一般是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行。
根据该项目中的数据特点,采用top(max)及top min来进行分页。也就是现在通用的分页算法和分页存储过程的算法。
select top@PageSize*from (@strsql)a where@pk>(select max(@pk)from(select top@startpos@pk from(@strsql)order by@pk)a)and @pk<=(select min(@pk)from select top@endpos@pk from(@strsql)order by@pk)a)order by@pk
@PageSize每一页的条数。
@strsql,即选择数据的语句,如select*from aa。
@pk,即主键,或者唯一字段。
@startpos.分页下标。@startpos=(@pageNums)*(@page-1)
@endpos。分页上标 @endpos=(@pageNums*@page)-1;
该算法要求使用唯一字段来进行分页,适用于大量数据,并且是根本唯一值字段排序的地方。如果这些数据中有重复值,但是重复值数量较少,比如低于一页的记录数,那么也可以正常获取数据。在这个项目中由于主要区别数据值为数据发生时间,因此基本没有数据重复,非常适合采用这种方法。
经过测试,数据没有明显延迟。实时数据显示如图3所示。
图3 实时数据显示
4 总结与展望
随着网络技术的快速发展,基于网络通信的数据管理系统得到了大量应用,本课项目在查阅文献的基础上提出了基于WEB的工业网络通信的数据平台系统,通过中间件技术以及TCP/IP协议实现了工业现场传感器与后台服务器之间的网络通信,本课题研究具有较强的工程背景和实际价值。
本项目设计了基于WEB的工业网络通信数据平台的上位机软件。基于TCP/IP协议以及Windows Socket方法,在Visual Studio平台上开发工业网络通信数据平台的上位机软件,实现数据采集、显示和控制。对于工业电子设备网络化,实现远程监测和控制设备仪器的运行等方面具有借鉴和推广意义。
由于在进行图形化显示数据时采用了JavaScript编写实际显示效果,虽然执行效率较高,显示界面简洁,但是由于代码局限性显示效果的多样性上有所欠缺。因此如果有需要,可以在后续改进中使用第三方图形化控件来完成图形化显示功能。
[1]郝雅青.明渠污水智能流量计量WEB监测平台软件实现[D].太原:太原理工大学,2010.
[2]赵海艳.面向服务的传感器网络关键技术的研究[D].大连:大连理工大学,2011.
[3]徐辉.基于Internet技术的嵌入式数据采集与控制系统的研究[J].现在电子技术,2008:26-32.
[4]李运涛,王庸贵.一种实时数据采集系统网络接口设计[J].计算机测量与控制,2011:7-10.
[5]任泰明.TCP/IP协议与网络编程[J].西安电子科技大学出版社,2013,4:22-23.
[6]jQuery 1.11 and 2.1 Released .jQuery.2015-03-29[Z].
[7]Ajax.百度百科[OL].2015-9-22.
[8]http://blog.csdn.net/fibona/article/details/1519480[OL].2015-05-13.