基于嵌入式WEB服务器的SCADA系统实现
2018-04-16武汉铁路职业技术学院朱志伟
武汉铁路职业技术学院 朱志伟
本文阐述了一种基于嵌入式WEB服务器的SCADA系统的实现方式,主要剖析了嵌入式WEB服务器和浏览器WEB人机交互界面的设计与实现,并通过测试结果验证了该SCADA系统能够满足某些特定工业应用的需求且具有较好的实时性和可靠性,为小型嵌入式SCADA系统的推广与应用提供一个简单易行的解决方案。
1.SCADA系统发展现状
SCADA系统,即数据采集与监视控制系统,是工业控制系统的一种。目前,SCADA系统已发展到了第四代,第四代SCADA系统的一个重要技术要求是融合Internet。典型的SCADA系统,是一个由现场控制设备、数据服务器和监控计算机构成的3层控制系统,广泛应用在电气化铁路、电力、石油、化工等工业领域。[1]总之,SCADA系统的大型应用技术十分成熟,但小型嵌入式SCADA系统的应用未得到充分发展。
2.基于嵌入式WEB服务器的SCADA系统方案
基于嵌入式WEB服务器的SCADA系统,其实是一个小型的嵌入式的B/S模式SCADA系统。本文重点设计实现SCADA系统的上层结构,包含数据服务器、监控计算机及其构成的工作模式,不针对具体现场设备。方案设计目标:满足小规模远程数据采集与监视控制系统的应用需求,满足需要把数据服务器集成到现场设备中的SCADA系统的应用需求,满足成本低、易于维护和设备通用。据此设计SCADA系统方案:数据服务器选用性价比高的STM32F103单片机作为核心,监控计算机选用通用PC计算机,数据服务器和监控计算机通过工业交换机构成B/S模式,数据服务器数量可为1台以上。本文SCADA系统方案,有两个需要设计实现的关键部分:基于STM32F103单片机的嵌入式WEB服务器和基于PC计算机浏览器的WEB人机交互界面。
3.嵌入式WEB服务器的设计与实现
基于STM32F103C8T6单片机的嵌入式WEB服务器,需要完成两个设计任务:具备RJ45以太网接口,能够支持TCP/IP协议,并在此基础上实现HTTP协议,以完成WEB服务器的远程浏览器WEB访问功能;具备RS485总线接口、CAN总线接口、模拟量输入输出通道AI/AO和数字量输入输出通道DI/DO,能够支持常用现场总线通信、模拟量和数字量的输入输出,以完成WEB服务器对各类不同现场设备的数据采集与控制功能。
WEB服务器的远程浏览器WEB访问功能的实现,包含硬件和软件的具体实现。硬件具体实现:以太网硬件选用HR911105A以太网接口插座和高性能以太网接口芯片W5500,STM32F103C8T6单片机通过SPI与W5500接口,W5500连接HR911105A以太网接口插座;由于W5500内部集成全硬件TCP/IP协议栈,协议栈技术采用硬件逻辑门电路实现复杂的TCP/IP协议簇,所以TCP/IP协议通信应用实现具有简单快速、可靠性高、安全性好的优势。软件具体实现:在TCP模式下用socket函数打开一个80端口,socket初始化端口完成后用listen函数监听端口是否有远程监控计算机连接,如果有远程PC通过浏览器WEB建立连接,则WEB服务器与WEB人机交互界面启动双向数据通信;为了满足各种应用的需要,设计实现数字量和模拟量2种类型数据通信,WEB服务器用send函数按HTTP协议向WEB人机交互界面发送json格式数据信息,同时接收来自PC计算机 WEB人机交互界面发送过来的数据信息。在设计实现过程中,设计HTTP协议的json格式数据信息是实现嵌入式WEB服务器的关键。
WEB服务器对各类不同现场设备的数据采集与控制功能的实现简述:选用MAX485接口芯片,实现RS485总线通信功能;选用TJA1050高速收发器芯片,实现CAN总线通信功能;STM32F103C8T6单片机集成模拟量和数字量接口电路,实现数字量和模拟量数据采集功能,这些常用硬件电路的具体应用编程设计这里不重复描述。
4.WEB人机交互界面的设计与实现
基于PC计算机浏览器的WEB人机交互界面,要求具有监视控制现场设备的功能,即需要能够与WEB服务器完成双向各种数据信息通信。WEB人机交互界面的设计与实现,包括2各部分:WEB网页的设计与实现,WEB网页与WEB服务器的实时数据通信的设计与实现。
WEB网页的设计与实现。由于本设计由于不针对具体应用,只在WEB网页中设计了16个开关量采集测试、8个模拟量采集测试、16个开关控制量测试和4个参数设置测试这4个常用的代表性功能区,本设计完全可以依据用户的需要设计图形与文字更加丰富的动态WEB监控界面。WEB网页具体实现:用文本编辑器编写一个名为index的html文件,按照WEB人机交互界面的要求,在 body部分设计网页的结构和内容,在style部分设计网页的样式,这是WEB监控界面前端实现重要的两部分脚本。
WEB网页与WEB服务器的实时数据通信的设计与实现:用文本文件编辑器编写一个名为STM32_Script的JScript Script文件,此文件运行在网页的后台,当用浏览器打开index文件时,它会用window.makeRequest向远程WEB服务器发送连接请求,连接成功后接收WEB服务器发送来的json格式数据信息并上传给WEB,同时用xhttp.send向远程WEB服务器发送WEB网页最新的控制和参数设置信息。
5.基于嵌入式WEB服务器的SCADA系统调试
在嵌入式WEB服务器和WEB人机交互界面都设计实现后,用交换机连接它们构成B/S模式的SCADA系统,然后进行了反复测试。本SCADA系统调试结果表明:基于STM32F103单片机的嵌入式WEB服务器和基于PC计算机浏览器的WEB人机交互界面,能够构成B/S模式运行并且各项功能正常,WEB监控界面风格符合工业要求,WEB人机交互界面与WEB服务器之间的44个通道的数据通信能够在0.2秒内可靠完成,系统具有较高的实时性和可靠性,能够满足小型SCADA系统和嵌入式SCADA系统的应用需求。
6.总结和展望
工业控制系统的应用日趋广泛,在有些小规模的应用和需要嵌入式设计的场合,使用成熟的中大型SCADA系统显得既不经济也不适宜。鉴于此,本文设计实现的这种基于嵌入式WEB服务器的SCADA系统,能够满足这种小型简单数据采集与监视控制的应用需求。本文阐述的B/S模式SCADA系统,为了能够适应智能制造的需要,WEB人机交互界面可向3D方向发展,Web3D技术的发展应用将成为本SCADA系统下一步发展的关键。