基于WSCN与E?Ethernet相结合的远程测控系统框架研究
摘 要: 深入分析远程测控系统的个性与共性,基于软硬件构件化的设计思想,提出了一个远程测控系统的基本通用框架。该框架具有无线传感器控制网络(WSCN)与嵌入式以太网(E?Ethernet)无缝结合、WSCN节点与PC机或移动终端透明通信的特点。给出了以KW01?ZigBee微控制器为WSCN节点的主控芯片、以K64微控制器为WSCN?Ethernet网关主控芯片的工业设备稼动率管理系统设计方案作为实例。设计实例经过实际运行表明,系统框架设计合理、软硬件可重用性高、稳定可靠,可为同类系统设计提供借鉴。
关键词: 无线传感器控制网络; 嵌入式以太网; 远程测控系统; 通用框架
中图分类号: TN915?34 文献标识码: A 文章编号: 1004?373X(2016)02?0053?05
Research of remote measurement and control system framework based on
WSCN and E?Ethernet
FAN Ningning, WANG Yihuai, CHEN Ruijie
(School of Computer Science and Technology, Soochow University, Suzhou 215000, China)
Abstract: Through a deep analysis on the universality and the individuality of remote measurement and control systems (RMCSs), a general framework for RMCS is proposed on the basis of component based design idea for software and hardware. This framework is characterized by seamless combination of WSCN and E?Ethernet, and the transparent communication between WSCN nodes and PC or mobile terminal. As an example, a design scheme of industrial equipment utilization management system is proposed, in which KW01?Zigbee microcontroller is taken as the main control chip of WSCN nodes and K64 microcontrollers as the main control chip of WSCN?Ethernet gateway. The actual operation of this system demonstrates that the design of the system framework is reasonable and its software and hardware is stable, reliable and of good reusability, which provided a reference for the design of similar systems.
Keywords: WSCN; embedded Ethernet; remote measurement and control system; general framework
0 引 言
远程测控系统是一种基于计算机技术的集软硬件为一体的复杂系统,是目前工业自动化领域的研究热点之一。近几年,诸多工业制造强国、大国为争当行业领头羊,先后提出信息物理融合系统(Cyber Physical System,CPS)、“工业4.0”、“中国制造2025”等国家级工业制造战略,标志着传统工业自动化领域已迈向信息化、智能化的道路,信息孤岛问题将不复存在[1],同时远程测控系统作为实现战略目标的重要途径,也将其研究层次推上了一个新的高度。但是,由于远程测控系统涉及的微控制器(Microcontroller Unit,MCU)种类繁多,而且不同系统的设计需求也不尽相同,如果每次开发新的系统都从头开始,那么就会重复很多不必要的工作,导致开发成本增加、开发周期延长、开发效率降低[2],违背了我国的工业智能化战略目标。统一软硬件接口、数据通信协议,提高软硬件构件的可复用性、可扩展性和可移植性,能够避免许多重复工作;同时,嵌入式、软件构件、信息融合等技术是不断向前发展的;因此对远程测控系统的理论与应用研究仍然是行业热点。
本文通过分析远程测控系统的个性与共性,在采用嵌入式以太网(Embedded Ethernet,E?Ethernet)、现代无线传感器控制网络(Wireless Sensor&Control Network,WSCN)、数据库、Web等技术的基础上,提出了一个基于WSCN与E?Ethernet相结合的远程测控系统框架,为工业制造业向信息化、智能化迅速转型升级提供统一框架。
1 系统框架总体设计方案
1.1 测控系统的一般结构分析
通过对各种应用系统的对比与分析可知,一个典型的测控系统通常包括:模拟量输入/输出部分、开关量输入/输出部分、其他信号输入/输出部分、数据通信部分[3]以及MCU工作支撑电路部分,如图1所示。
图1 一个典型的嵌入式测控系统结构框图
实际模拟信号一般来源于物理世界,如:光照、温度、压力等,通过各种类型的传感器从外界获取这些模拟信号并将其转换为电信号。但由于实际的电信号比较微弱,因此需要放大电路将微弱的电信号放大至MCU的可接收范围,并通过模/数(A/D)转换接口将电信号转换为数字信号,交给MCU进行处理;经过数/模(D/A)转换接口处理后的结果是无法直接驱动模拟量执行机构,必须通过相应的隔离和放大电路才可实现。
对于实际开关信号来说,只有开和关两种状态,状态可以用“0”或“1”进行表示,信号一般来源于开关类传感器(如:声控开关)或手动开关等,通过开关量转换电路调整信号范围,然后送到MCU进行处理;同样的,由于MCU引脚驱动能力有限,MCU送出的信号必须放大后方能驱动开关量执行机构。
MCU通过不同的通信接口与其他设备进行数据传输,常见的通信方式有:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)、串行外设接口(Serial Peripheral Interface,SPI)、无线、以太网等。由于以太网具有通信实时性强、稳定性高、传输数据量大等特点,能够满足工业级远程测控系统的需求;因此本系统框架采用以太网作为主通信方式。
MCU工作支撑电路是嵌入式测控系统的“心脏”,即MCU硬件最小系统,没有它不仅MCU无法正常工作,整个系统也无法正常运行,它主要由电源、滤波、晶振及复位等电路组成,也可以包含写入器接口电路。
1.2 远程测控系统框架模型
远程测控系统不仅要完成对实际物理数据的采集与控制,而且还要实现系统通用性,通过尽可能少地修改,便能将整个系统框架应用于多个不同企业的需求。远程测控系统框架主要分为三个部分:eWSCN节点(数据传输格式为以太帧的WSCN节点)、WSCN?Ethernet网关(使用以太网接口的网关)、服务器,如图2所示。
(1) eWSCN节点
eWSCN节点是整个系统框架中直接与物理世界接触的部分,处于框架最底层,其主要负责采集外界各种物理量信息并通过无线发送给WSCN?Ethernet网关,同时负责执行WSCN?Ethernet网关转发的控制指令。其无线数据帧格式为包裹MAC地址的以太帧格式,开发人员无需具有ZigBee相关项目经验,只要掌握以太网的基本知识,便可快速组建无线网络结构。
(2) WSCN?Ethernet网关
WSCN?Ethernet网关是基于eWSCN节点设计的具有嵌入式以太网功能的设备,其中无线模块与以太网模块通过串口进行数据交互,实现了WSCN与E?Ethernet的无缝结合,主要负责通过以太网模块发送具有以太帧格式的无线数据,同时服务器发送给以太网模块的以太帧,可以通过无线模块发送至各eWSCN节点。
图2 远程测控系统框架图
(3) 服务器
服务器端主要由Web程序和侦听软件组成。Web程序是服务器前端,提供实时远程监控、配置节点信息、数据上传等功能,用户通过Internet可以从数据库中查询到各个eWSCN节点、WSCN?Ethernet网关的实时状态及详细信息,还能通过图形化的界面直观地获取各节点当前和历史的实际物理量信息,同时用户可根据需要作出相应操作,以控制、管理各节点及网关。侦听软件是服务器后端,利用异步Socket机制,实现与WSCN?Ethernet网关之间的通信功能,对以太帧数据进行一系列逻辑处理并将结果上传至数据库,同时负责给网关发送用户通过Internet下发的控制指令。Web程序和侦听软件之间的数据接口通过数据库来实现。
2 基于硬件构件的远程测控系统硬件框架设计
测控系统的基础是位于系统底层的嵌入式硬件节点部分,它负责获取和控制物理世界中实际的物理信号量,这些目标信号量类型各不相同,在设计硬件电路时会花费相当多的时间去重复相同或类似的工作,因此设计出具有可复用性的硬件构件,设计人员只需根据规范进行构件组装来绘制硬件电路图,便可省去很多时间和麻烦。
硬件构件是指一个可复用的硬件实体,其封装了一个或多个硬件模块、支撑电路以及相应的功能描述,同时对外提供一系列规范的输入/输出接口和功能实现,易于复用和组装。基于此本文提出一个硬件构件模型,如图3(a)所示。硬件构件的类型一般可分为三种:核心构件、中间构件和终端构件[4]。核心构件是MCU的硬件最小系统;中间构件则连接了核心构件和终端构件;而终端构件在嵌入式系统中最为常见,例如:键盘构件。然而,不论硬件构件的类型是什么,都可以利用本模型作为理论指导对电路原理图进行绘制。
硬件支撑电路主要包含电容、电阻、电感、晶振、二极管等元器件。硬件功能模块就是该构件的具体功能实现部分,模块描述主要包含构件的中文名称、英文引用名、使用说明等。接口由接口网标和接口注释组成,是整个构件的精髓所在,是与外界交互的惟一部分,应从服务与需求(即输入与输出)的角度考虑接口如何设计。进一步考虑,可以将常用的硬件构件收集、保存为一个硬件构件库,使用时只需从中选择用到的硬件构件,通过构件接口之间的对应关系、修改接口网标,将各构件组装为一个整体,从而缩短开发测控系统用于硬件部分的时长,提高开发效率。
3 基于软件构件的远程测控系统软件框架设计
远程测控系统的硬件部分和软件部分设计是相辅相成、息息相关的,软件部分主要包括eWSCN节点、WSCN?Ethernet网关中的嵌入式软件和位于服务器端的上位机软件。
3.1 构件化嵌入式软件设计方法概述
嵌入式软件构件主要分为底层驱动构件和高层软件构件[5]。底层驱动构件是与硬件构件密不可分的,是实现硬件功能的软件端最小执行单位,而高层软件构件与硬件无关,是对底层构件的调用。嵌入式软件构件一般由两个部分组成:头文件(.h)和源文件(.c)。头文件通常包含:构件功能概要、公共要素头文件、宏定义以及函数声明等,而源文件则主要包含内部变量定义及函数的具体实现语句。
为实现各模块的通用性,本文根据构件设计的封装性、描述性、可移植性和可复用性四大基本原则,提出了软件构件模型,如图3(b)所示。将对软件构件功能的实现、头文件中函数定义及源文件中函数实现都封装在可复用的构件中,合理设计函数对外交互接口部分,使得开发人员通过构件中文件描述便可获知该构件实现的功能,而不必在意函数内部如何实现。
图3 嵌入式软、硬件构件模型
远程测控系统中涉及到的模块主要有:串口通信模块、无线射频模块、以太网模块、模拟量输入/输出模块和开关量输入/输出模块等。其中最后一项又称为通用I/O模块(General Purpose Input/Output,GPIO)。本文将系统所用到的常用软件构件列表进行说明,见表1。
因此,实现嵌入式软件的构件化,用户可以在不同的测控系统中根据需要调用相应的嵌入式软件构件,只需对构件头文件进行略微的修改甚至无需任何改动,便可轻松地移植到同系列MCU内,减少重复工作。
3.2 eWSCN节点设计
eWSCN节点是具有采集和控制功能,并且采用以太帧格式进行无线数据的发送与接收的终端设备;因此,以太帧格式的WSCN节点(ethernet Wireless Sensor&Control Network Node)又称作eWSCN节点。
eWSCN节点选用飞思卡尔公司于2013年正式推出的ARM Cortex?M0+内核Sub?1 GB射频微控制器MKW01Z128(简称KW01?ZigBee)作为主控芯片。KW01?ZigBee运行速率高达48 MHz,功耗低达40 μA/MHz,
其包含128 KB FLASH和16 KB SRAM[6],且工作频率范围十分宽广,涉及工业、科学和医疗等频段[7]。
表1 远程测控系统常用嵌入式软件构件列表
设计时秉持着合理利用资源的理念,硬件方面,除实现数据无线收发外,也预留了常用的接口,如:AD、GPIO等,供连接各类型传感器,采集和控制不同物理量时使用,软件方面,调用3.1节所述的嵌入式软件构件。此外,为避免不同无线局域网互相产生干扰,特地将固定的MAC地址/端口映射表存储在KW01?ZigBee的FLASH区域中,实现了虚拟端口,保证了发送节点和目的节点同属一个无线局域网,同时为提高无线局域网的整体性能,距离很近的节点之间就不进行存储和转发。图4(a)给出eWSCN节点的模型。
3.3 WSCN?Ethernet网关设计
WSCN?Ethernet网关是在eWSCN节点的基础上搭载带有以太网模块芯片的设备;因此,带有以太网功能的WSCN网关(Wireless Sensor&Control Network?Ethernet Gateway)又称作WSCN?Ethernet网关。它通过标准的以太网接口能够延伸WSCN的覆盖范围,实现了WSCN与以太网的交织与融合。WSCN?Ethernet网关选用飞思卡尔公司于2014年正式推出的ARM Cortex?M4内核的微控制器MK64FN1M0VLL12(以下简称K64)作为主控芯片。K64主要面向物联网、以太网及工业控制领域,其拥有1 MB FLASH、256 KB SRAM、66个I/O接口[8],包含UART、I2C、SPI、以太网等丰富的通信接口[9]。
设计时考虑到eWSCN节点若不采用以太网帧格式的无线数据,K64会出现还未处理完数据便接收新的无线数据这种情况,进而引发缓冲区溢出甚至数据丢包等异常,为避免这些情况的发生,实现WSCN?Ethernet网关的稳定可靠,将无线数据分成以太网帧格式,因此WSCN?Ethernet网关中的以太网模块不需要对接收到的数据进行处理,直接转发即可,同时,能够使得WSCN?Ethernet网关通过路由器等网络互联设备便可实现eWSCN节点与PC机或移动设备之间进行的透明通信。另外,考虑到串口是MCU最常用的通信方式、抗干扰能力强且较为简单,因此WSCN?Ethernet网关中无线模块与以太网模块之间选用串口作为通信方式。WSCN?Ethernet网关的模型如图4(b)所示。
图4 eWSCN节点及WSCN-Ethernet网关模型
3.4 服务器端设计
鉴于C/S结构适用面窄、安装步骤繁琐、后期维护成本高等缺点。本系统框架服务器端采用B/S结构,其具有适用面广、交互性强等特点[6],用户不论是使用PC机还是移动设备仅仅需要一个Web浏览器即可完成相应的线上浏览、查询、配置、控制、告警等操作。服务器端的侦听软件主要发挥着WSCN?Ethernet网关与Web程序之间交互的桥梁作用,利用Socket中与编程语言无关性的特质,通过设置协议类型和端口号,建立自顶向下式和自底向上式的数据传输方式,即一方面接收到来自Web程序的命令,解析命令后,转发给WSCN?Ethernet网关交由其控制下挂的eWSCN节点,另一方面接收到来自WSCN?Ethernet网关的数据,对数据进行处理后,上传至Web程序,以便远程监控。侦听软件工作流程如图5(a)所示。Web程序除能实现一些基本的功能外,关键是用户可根据各应用系统的不同需求进行个性化定制,如对界面信息(包括企业名称、LOGO、界面主题等)、节点及网关等进行配置,从而实现通用框架到具体应用系统的转换。Web程序工作流程如图5(b)所示。
4 应用实例
在工业设备稼动率管理系统的研发过程中,应用了本文提出的远程测控系统框架,取得了研发周期短、运行稳定等良好的效果。整个系统工作流程为:eWSCN节点负责采集和控制车间光照度,同时获取车间各设备实时状态数据,将数据进行转发,WSCN?Ethernet网关接收到数据后将其转发至服务器中,服务器的侦听软件将数据进行处理后上传至数据库,管理人员可通过PC机、平板或手机浏览Web页面进行远程访问,获取设备实时运行信息,也可获得各生产部门、各类生产设备的利用率、故障率及生产率的日报、周报和月报,同时可以进行人工干预节点的灯控操作。工业设备稼动率管理系统的应用结构如图6所示。
图6 工业设备稼动率管理系统结构图
5 结 语
为实现现代工业制造产业向智能制造的快速转型升级,本文对一般测控系统进行深入分析,在总结其个性与共性的基础上,对嵌入式软硬件构件进行建模,提出一个具有可复用性、可扩展性、可配置性等特点的远程测控系统基本通用框架。该框架实现了WSCN与E?Ethernet的网络互联、eWSCN节点与WSCN?Ethernet网关的透明通信。该框架已成功应用于工业设备稼动率管理系统中,为现代远程测控系统开发提供了一个快速开发原型,对读者有一定的参考价值。当然,系统框架还存在不足之处,今后将着力提高系统的稳定性和安全性。
参考文献
[1] 缪学勤.智能工厂与装备制造业转型升级[J].自动化仪表,2014,35(3):1?6.
[2] 杨芙清,梅宏,李克勤.软件复用与软件构件技术[J].电子学报,2004,27(2):68?75.
[3] 王宜怀,朱仕浪,郭芸.嵌入式技术基础与实践[M].3版.北京:清华大学出版社,2013.
[4] 王宜怀,蒋银珍,王加俊.基于硬件构件的原理图绘制规则研究[J].微计算机信息,2010,26(11):15?16.
[5] 王志超,王宜怀.基于硬件构件的嵌入式底层编程方法[J].单片机与嵌入式系统应用,2010(12):66?67.
[6] Freescale. MKW01Z128 Sub 1 GHz low power transceiver plus microcontroller data sheet [EB/OL]. [2014?05?03]. http://www. cache.freescale.com/files/microcontrollers/doc/data_sheet/01Z128.
[7] Freescale. MKW01Z128 Sub 1 GHz Low power transceiver plus microcontroller reference manual [EB/OL]. [2012?10?03]. http://www.cache.freescale.com/files/microcontrollers/doc/ref_manual/MKW01xxRM.
[8] Freescale. Kinetis K64F sub?family data sheet [EB/OL]. [2011?04?01]. http://www.cache.freescale.com/files/microcontrollers/doc/data_sheet/K64P144M120SF5.
[9] Freescale. K64 sub?family reference manual [EB/OL]. [2010?06?25]. http://www.cache.freescale.com/files/microcontrollers/doc/ref_
manual/K64P144M120SF5RM.
[10] 郑洪静,徐丽华,祝叶.基于MCF52233的通用远程测控系统平台的研究[J].电子技术应用,2010,36(3):79?82.