B/S架构工控设备数据采集系统的实验与设计

2018-03-11 14:02刘敏杰
广西教育·C版 2018年11期
关键词:S架构

刘敏杰

【摘 要】本文论述B/S架构工控设备数据采集系统的实验与设计,数据采集系统被广泛应用于工控设备的运行状态监测,随着互联网的普及,迫切需要一种升级维护方便,可以跨平台并方便接入互联网的数据采集系统;探索B/S架构下用户以WEB模式通过Browser直接对设备访问,同时在WEB服务器端实现控制浏览,在嵌入式端实现数据采集和保存的一套数据采集系统。

【关键词】B/S架构  WEB服务器  数据采集系统

【中图分类号】G  【文献标识码】A

【文章编号】0450-9889(2018)11C-0188-03

一、研究背景

随着嵌入式设备、互联网和嵌入式远程控制相互结合更加紧密,利用网络来访问网络的嵌入式设备进行远程控制已成为科学和技术在工业控制领域的发展趋势。实验设计使用B/S结构系统,可很好解决工业控制在不同的网络互联问题,改善现有的嵌入式设备的信息化水平,促进传统工业控制系统的发展。嵌入式互联网技术是实现B/S架构数据采集系统的核心,用户只需要使用Web浏览器就可以通过访问html网页的方法远程登录工控设备进行监视和控制。

实验设计采用B/S结构开发数据采集系统,嵌入式系统采集数据并上传,用户通过访问服务器端,嵌入式识别上传设备情况,用户可以实时获取目前工业控制设备的运行情况,实时掌握工控设备的运行参数设置,使用户直接通过浏览器实现远程对嵌入式设备进行监控和对参数进行远程设置。

二、系统实验设计方案

实现数据的远程采集和监控可以理解为这样的一个过程:无线采集模块通过TCP协议或者UDP协议连接云端服务器,将用户设备从USART端口传过来的数据保存在内部的储存空间,当云端服务器发出浏览申请时,可以把存储的数据内容发送到云端服务器。同样,无线采集模块也可以接收来自云端服务器的控制命令、参数配置,然后对工控设备进行控制。其中无线数据采集设备就是整个采集系统的软硬件设计核心。

图1为应用嵌入式无线采集设备构建一个B/S架构的远程数据采集的示意图。用户设备通过无线采集模块提供的网络连接功能,比如TCP client,连接到云端平台的服务器,比如YeeLink,那么工控设备通过无线采集模块就可以将自身的运行状态、采集到的数据等上传至云端服务器,移动设备通过访问服务器就可以获知设备的最新运行状态,以及查看采集到的数据;对于用户来说,来自移动终端的控制命令,也可以借助云端服务器的转发,将控制命令下发到用户设备上,实现反向控制。

嵌入式MCU的种类繁多,从低端到高端,目前主流为以ARM为代表的32位单片机,在一些行业仍保留有如8051老式的八位单片机。对于不同级别的单片机,实现网络接口的方式有很多种。如ARM等高端处理器可以有足够的资源直接运行嵌入式操作系统,Linux是一种,对于不具备操作系统要求的单片机,也有实现网络访问的具体方法。在物联网高速发展的今天,以网络远程管理产品是一种有效的方法,常使用的方法包括SNMP(UDP)、HTTPelnet和TCP等,都要求具有网卡和对应的软件协议。

(一)实验分析软件TCP/IP协议栈方案。TCP/IP协议栈是一系列网络协议的通用名称。除了TCP协议和IP协议外,也包括不同层的SMTP协议、FTP协议、DNS协议、HTTP协议、UDP协议、ARP协议、IGMP协议、ICMP协议等。

如图2所示,实现以太网的成功连接,则是由MCU、MAC、PHY加入网络物理接口,而实现通信及上层应用是将TCP/IP协议以代码的形式植入主控芯片内部完成。

MAC协议在数据接收的时候,会对数据的正确性进行校验,对输入信息进行传输错误的判定。如通过无误,则删掉控制信息,发送至LLC层。反之在数据发送的时候,数据发送与否则通过MAC协议预先对其进行判断。如判定可以传送,则在数据增加控制数据信息,最后把数据及控制信息传送投至物理层;以太网MAC由IEEE-802.3以太网标准定义。

PHY是物理層接口。物理层传输数据时,尤其是MAC PHY上,只有数据和地址的概念,没有数据帧的概念。在传输过程中,每一帧都经过CRC校验,1位错误检测代码被插入到每一位数据。同时将并行数据转变成串行流数据,采用物理层的编码规则将数据编码转变成帧,能实现接口中接收信号线与传送信号线功能自动互相交换。

物理层能够检测网络上是不是有数据正在传输,当检测到网络空闲时就发送等待的数据。反之,当网络繁忙时就继续等待。这是该层实现CSMA/CD的一些关键功能的体现。

如果同时传送两个数据的时候发生数据冲突,在这样的情况下应如何解决,其工作的原理是等待随机节点再重新传输数据信息。这正是冲突检测单元发挥的功能。随机绝非是恒定不变的,是在不同的节点推算产生。实验分析如果使用TCP/IP协议栈方式,目前比较成熟的有自带MAC+PHY的解决方案STM32F107。同时还有DM9000、ENC28J60等。

因为软件协议栈的操作需要主控制器的连续响应,这在很大程度上占用了微控制器的时钟资源。经实验分析发现,微控制器在单线程操作的情况下数据和运行速度的处理速率刚能满足基本需求,然而,随着线程数量的增加,微控制器的工作效率会直线下降,这将严重影响通信质量。考虑到代码量,就算使用LWIP协议,它也会给主控芯片带来大于40KB的代码量,这不仅降低了程序的可读性,还给内存资源有限的MUC带来了负担。

在网络安全性实验分析,设备连接入网络以后一定要提升在互联网上的防护能力,像这样的软件协议栈的配置方案万一遭受网络攻击,微控制器很可能发生停止响应的故障,对工控行业带来较大的风险。虽然目前网络技术不断发展,各类新的加密技术试图让通信变得更加安全,但是还会出现各种各样的漏洞。

(二)实验分析硬件协议栈芯片方案。硬件协议栈芯片方案由微控制器加硬件协议栈芯片,内含MAC和PHY,直接加网络接口,便可方便地实现单片机联网,所有处理TCP/IP协议的工作都交给硬件协议栈芯片来完成。这套方案是由WIZnet首次提出,并成功推出以太网系列芯片:W5100、W5200、W5300和W5500。所谓硬件协议栈就是指通过把传统的软件TCP/IP协议栈改成用硬件化的逻辑门电路来实现。

以太网芯片的内核可以分为以下几个层次:

物理层PHY和外围寄存器、存储器和SPI接口;链路层的MAC结构;网络层的IP、ARP、PPPoE等协议;传输层中的TCP、UDP和其他协议。上述部分构成一个完整的硬件以太网解决方案。即硬件TCP/IP协议栈取代了以前的MCU来处理这些中断请求,也就是说,处理只需要处理面向用户的应用层数据。外围芯片将完成物理层、链路层、传输层、网络层。该方案从硬件开销和软件开发两个方面简化了上述网络模型,并简化了产品开发方案。这样开发人员不必面对复杂的通信协议代码,只专注理解简易的Socket编程函数就可以完成网络功能开发部分的产品开发工作。

因为硬件协议栈帮助MCU处理几乎所有的TCP/IP协议任务,它不仅大大减少了中断的数量,还让单片机腾出足够的资源来做其他重要的工作,并且电路处理协议的硬件将更加快速和稳定。在单个线程之中,随着线程的增加,该方案的通信速度大约是软件协议的10倍,所以硬件协议栈是通过独立的Socket通信,使通信速度增加了;并且单个芯片的效率仍然保持在高水平。

从代码量实验分析,因为程序主要是完成寄存器和Socket的编程的调用,所以对于STM32和其他小内存来说只需大约10K的代码,远远小于软件協议。

从成本角度来看,硬件协议栈芯片的价格几乎与MAC+PHY相同。硬件协议栈芯片简单易用,可以在短时间内完成产品开发过程。此外,官方例行程序库和主机程序丰富,这也缩短了测试过程,并且在后期基本上不需要维护。

在网络安全性实验分析,病毒和网络攻击对它不起作用,很好弥补网络协议在安全性存在不足的问题。正由于这个突出的优点,硬件协议栈技术在将来互联网和智能设备领域发展很有潜力,降低了开发门槛的同时提高安全性和可靠性。

论证了两种TCP/IP的实现方式,WIFI接入对于实现接入物联网的数据采集系统来所十分重要。对于嵌入式Linux就支持TCP/IP的协议栈,在MDK下使用RL-RTX+RL-TCPNet构建应用十分合适。注意RL-TCPnet是不开源的,本文设计的数据采集系统最终选择了硬件协议栈芯片作为TCP/IP实现方案。

总之,现代的数据采集系统的发展方向是与嵌入式技术、物联网技术结合。文中从软件协议栈和硬件协议栈的处理方式的分析、代码量、成本角度、网络安全性等几个方面对比,总结出采用不同设计方案的优缺点,为最后系统采用硬件协议栈作了充分论证。高效的工控设备数据采集系统,不仅需要一个稳定的控制系统,更需要友好便捷的人机互交界面。在实验设计系统的研究过程中,验证了远程网络控制的功能,收获了数据采集系统和互联网开发的技术和能力。

【参考文献】

[1]王琼.基于嵌入式Linux数据采集系统的软件设计与实现[D].西安:西安电子科技大学,2013

猜你喜欢
S架构
基于ASP.NET校园电子商务的系统设计
B/S架构下的学生信息管理系统的设计
学生会管理系统的设计与实现
基于ASP技术下的大学生跳蚤书街平台的设计与实施
基于B/S架构的高校实验管理平台的设计与实现
基于Web 的测控工程项目管理系统研究及其应用
基于B/S架构的煤矿安全监控系统设计
C/S架构下的中职教学辅助系统的新探索
基于SSH的教室信息管理系统设计与实现
基于B/S架构的通信公司营销管理系统的设计与实现