潘启勇,王宜怀,范宁宁
(1.常熟理工学院物理与电子工程学院,江苏常熟215500;2.苏州大学计算机科学与技术学院,江苏苏州215006;3.软件新技术与产业化协同创新中心,江苏南京210046)
“互联网+智能制造”技术框架研究
潘启勇1,王宜怀2,3,范宁宁2
(1.常熟理工学院物理与电子工程学院,江苏常熟215500;2.苏州大学计算机科学与技术学院,江苏苏州215006;3.软件新技术与产业化协同创新中心,江苏南京210046)
“互联网+智能制造”的技术体系及系统,涉及传感器应用设计、微控制器编程、无线传感器与控制器网络组网、WSCN与GPRS互联、数据库设计、侦听程序设计及WEB设计等.针对其技术开发涉及知识要素多、实现难度高、知识融合度复杂等特点,通过梳理抽象共性、合理分解知识要素、厘清共性与个性的衔接关系,提出了构件化可移植与可复用的“互联网+智能制造”技术框架及数据上行与下行基本流程.为缩短开发周期、明确人员职责定位,提高可移植性、可复用性及开发效率,降低开发成本,增强系统稳定性,提供了软硬件模板及技术基础.
“互联网+智能制造”;技术框架;底层构件;知识要素;共性与个性
人类经历过18世纪60年代以蒸汽机为标志的第一次工业革命(工业1.0)、20世纪初以电动力为标志的第二次工业革命(工业2.0)及20世纪70年代以电子信息为标志的第三次工业革命(工业3.0).目前,已经进入以现代信息技术为标志的第四次工业革命(工业4.0)时代[1].工业4.0的突出特点是“互联网+智能制造”,即充分利用互联网技术、数据库技术、嵌入式技术、无线传感器网络、机器学习等多种技术融合实现制造业智能化、远程化测控[2].
要实现一个具体的“互联网+智能制造”的技术体系及系统,涉及传感器应用设计、微控制器编程、无线传感器与控制器网络(Wirelesssensor and Controller Network,WSCN)组网、WSCN与GPRS互联、数据库设计、侦听程序设计及WEB设计等,还可能涉及嵌入式以太网、手机APP编程技术.研发“互联网+智能制造”系统涉及知识要素多、实现难度高、知识融合度复杂,存在开发周期长、人员分工不明确、开发效率低等问题.研究“互联网+智能制造”技术框架,梳理抽象共性、合理分解知识要素、厘清共性与个性的衔接关系、封装底层驱动构件对缩短开发周期、明确人员职责定位、提高开发效率、降低开发成本具有重要意义,同时为提高可移植性与可复用性提供技术基础.需要指出的是,就“互联网+智能制造”技术框架本身而言,国内外对其的研究尚属于概念和探索阶段,缺乏这方面的相关文献,而对于物联网的体系架构研究则非常广泛,具有一定借鉴意义[3].本文在系统分析“互联网+智能制造”共性与个性基础上,提出了构件化可移植与可复用的“互联网+智能制造”技术框架及数据上行与下行基本流程.以嵌入式硬件构件、底层驱动构件为基础[4-6],基于开源免费的嵌入式实时操作系统MQXLite,提出了WSCN节点的编程框架.同时基于软件工程的基本原则及软件分层基本思想,给出了GPRS-WSCN网关、侦听程序及WEB技术框架,为快速应用开发提供了软硬件的模板[7].本文将阐述技术框架总体设计的基本思路,WSCN节点硬件功能抽象、软件编程技术框架及可移植与可复用分析,GPRS-WSCN网关功能抽象,侦听程序及WEB程序分层共性与个性分析,最后对本框架的应用方法给出简要介绍.
“互联网+智能制造”技术框架不仅要完成对实际物理数据的采集与具体设备的控制,而且还要实现可复用性,通过尽可能少地修改,便能将整个技术框架应用于多个不同企业的工程项目.人们常用感知层、网络层及应用层的物联网三层框架[8].本文对该框架稍做改动,将原来的感知层改为感知控制层,其功能也由原来的综合识别与感知改为感知与控制,以体现终端节点的感知与控制功能,并为数据上行与下行提供理论依据.参照此框架,本文把“互联网+智能制造”主要分为4个部分:WSCN节点、GPRS-WSCN网关、侦听程序及WEB程序.本技术框架与物联网框架的各层对应关系如图1所示.
图1 本技术框架与物联网框架各层次对应关系图
在此给出技术框架各部分公共知识要素抽象及
简明功能.
(1)WSCN节点.WSCN节点是指具有计算能力和无线通信接口,可连接各种类型传感器及控制器的电子设备.在整个技术框架中,WSCN节点位于框架的最底层,对应于物联网三层框架的“感知控制层”,是最重要的环节,是终端设备的基本最小智能单元,主要负责终端数据的实时采集、处理、短距离无线组网、与GPRS-WSCN网关的通信,一般还包含对终端对象的控制.WSCN节点与GPRS-WSCN网关通信包括数据上行与数据下行.
(2)GPRS-WSCN网关.GPRS-WSCN网关是指连接感知网络与互联网的桥梁、实现两网深度融合的智能化电子设备. GPRS-WSCN网关处于整个技术框架的中间层,是数据传输的中转站,起到数据“上传下达、下传上达”的作用,实现长距离的数据通信模式.从技术角度来看,GPRS-WSCN网关还涉及通信协议,包括对WSCN节点与GPRS-WSCN网关组成的网络及GPRSWSCN网关与服务器组成的网络之间的通信协议转换.
(3)侦听程序.侦听程序是运行于服务器端的软件,在整个技术框架中起到承上启下的重要作用,负责完成与GPRSWSCN网关的数据传输及数据处理,同时负责将用户通过WEB程序下达的命令发送给GPRS-WSCN网关,交由GPRS-WSCN网关进行处理.
(4)WEB程序.WEB程序同样是运行于服务器端的软件,是用户下发命令的通道、是收集并显示实时状态信息的窗口,主要负责以友好的图形化界面提供用户管理、系统维护、设备管理和信息管理等基本功能.
依据数据双向流通的方式,提出数据事务概念.数据事务是指数据流从一个端点传送到另一个端点.本技术框架所设计的数据事务根据数据流向分为上行数据事务和下行数据事务,如图2所示.
图2 技术框架数据事务简图
上行数据事务(图中虚线表示):WSCN节点通过传感器采集环境中的相关数据,按照通信协议将数据以无线方式传送给GPRS-WSCN网关,GPRS-WSCN网关以GPRS方式将数据上传至服务器,位于服务器的侦听程序接收到数据之后将数据插入服务器的数据库中,WEB程序从数据库中获取数据并将其显示出来.
下行数据事务(图中实线表示):WEB程序对GPRS-WSCN网关或WSCN节点下达命令同时会将命令插入数据库,侦听程序从数据库中获取命令并通过GPRS发送给GPRS-WSCN网关,GPRS-WSCN网关执行命令或者发送命令给WSCN节点执行.
3.1硬件功能抽象
通过分析及总结应用在不同领域的WSCN节点所实现的硬件功能,将WSCN节点按照功能抽象成5个硬件模块,分别为微控制器模块、感知模块、控制模块、无线射频模块和电源模块.其中微控制器模块是WSCN节点的核心,包括CPU、存储器、输入/输出接口等,负责任务调度、数据整合及处理等工作;感知模块负责采集外界实时物理信息,并将物理信息转换成电信号;控制模块负责对外接设备执行控制;无线射频模块负责数据的无线收发;电源模块则为其他各模块提供动力.
从哲学认识论的角度来看,“从抽象到具体”是认识事物的首要环节,因此,在抽象出WSCN节点硬件基本功能的前提下,接着要完成对其实例化的过程,才能对其进行深入理解.本文遵循低成本、低功耗、接口丰富、具有一定的数据处理和存储能力等硬件选型原则,选用MKW01Z128(简称KW01)作为WSCN节点的硬件实例[9].KW01是NXP公司于2012年10月正式推出的基于32位ARM Cortex M0+内核的主要面向智能家居、智慧城市等各种物联网应用的一款超低功耗微控制器.KW01的运行速率高达48MHz,功耗低达40 μA/MHz,拥有128 KB Flash和16 KBsRAM,提供了高性能的无线电和高达600 Kbps的传输速率,可以在290~1020 MHz的频率范围内的多个频率上运行使用,支持多个国家ISM频带.KW01可提供的模块功能有RF、16位ADC、GPIO、定时器(PWM、输入捕捉、输出比较等)、UART、IIC、SPI等,能够基本满足系统实际需求[10].
3.2软件编程技术框架
随着嵌入式应用领域的进一步扩展,新的嵌入式产品对系统的功能、实时性、可靠性和稳定性的需求也越来越大,对嵌入式系统的开发提出了缩短开发周期、提高软件质量等要求[11].此时,不基于操作系统的开发模式便难以满足日益复杂的嵌入式应用的需要.而由于嵌入式实时操作系统具有体积小、实时性高、稳定性强、可裁剪性、可移植性、多任务处理能力等特点,基于嵌入式实时操作系统的开发模式成为嵌入式技术发展的必然趋势[12-13].为此,通过分析目录名、文件名、文件内容的共性,进行归纳分类,同时,提取构件的共有属性、开发对外接口函数,形成可移植的软件构件,并以KW01为例搭建了基于MQXLite实时操作系统的WSCN节点工程框架.框架遵守CMSIS(Cortex Microcontrollersoftware Interfacestandard,ARM Cortex微控制器软件接口标准)标准.工程框架包括<01_Doc>(说明文档)、<02_CPU>(CPU内核)、<03_MCU>(微控制器)、<04_Linker_File>(链接文件)、<05_Driver>(底层驱动)、<06_App_Component>(应用构件)、<07_Soft_component>(软件构件)、<08_Source>(源程序)和<09_MQXLite>(实时操作系统)等几个部分[13].
使用RTOS设计嵌入式软件的好处在于,可以将复杂的系统功能分解成独立性较高的各个任务[14].因此,实现WSCN节点功能的关键工作,便是依据其软件功能描述来划分任务.根据WSCN节点实现的基本功能,为WSCN节点程序设计了不同的相对独立的任务,如表1所示.表中给出了不同的任务函数名、优先级及任务功能说明等.
表1 WSCN节点功能任务列表
3.3软件框架可移植与可复用分析
复用WSCN节点工程框架时,由于<02_CPU>、<03_MCU>、<04_Linker_File>、<05_Driver>、<07_Soft_component>仅与硬件有关或为通用部分,而与实际项目无关,因此在不改变WSCN节点硬件实例的前提下这些文件夹不需要改动,仅需要及时更新<01_Doc>中的readme文件,对项目功能、开发备忘进行详细说明.在<08_Source>中的中断服务例程也需要根据实际情况进行设计和“注册”.最后关注<09_MQXLite>中app文件夹中的TASK_HANDLE和TASK_ADC两个任务,根据不同的传感器类型,将采集到的AD值转换成对应的实际物理量,对于通信协议中不同的命令字和命令内容进行相应处理.另外,根据实际项目功能来看是否需要增加新的任务.
根据智能制造实际应用的需求,GPRS-WSCN网关需要具备网络接入、协议转换、数据转发等基本功能.互联网接入方式不只GPRS一种,为了给用户提供多种选择、满足用户多样需求,还实现了以太网接入方式的WSCN网关,即ETH-WSCN网关,在此不再赘述,仅以GPRS-WSCN网关作为示例.
4.1硬件体系框图
GPRS-WSCN网关主要负责将WSCN节点采集的数据转发至互联网,同时接收来自互联网的远程控制命令,并将该命令转发给WSCN节点执行.GPRS-WSCN网关主要由主控系统模块、WSCN节点通信模块、GPRS模块和电源模块4部分组成,如图3所示.
图3 GPRS-WSCN网关硬件模块组成
4.2GPRS-WSCN网关任务
GPRS-WSCN网关程序同样采用与WSCN节点一致的工程框架,在此便不再对GPRS-WSCN网关工程框架作过多说明.根据GPRS-WSCN网关实现的软件基本功能,对GPRS-WSCN网关程序划分了多个独立任务.
(1)初始化任务.初始化任务TASK_MAIN是MQX的自启动任务,主要负责芯片初始化、缓冲区链表初始化、安装用户中断服务例程、启动GPRS模块、创建其他任务及创建各消息池等工作.当初始化任务完成以后将被阻塞,不再获得系统调度.
(2)指示灯任务.指示灯任务TASK_LIGHT用来检测GPRS-WSCN网关是否运行正常,以0.2s为周期改变指示灯的亮暗状态.
(3)WSCN节点通信模块数据处理任务.WSCN节点通信模块数据处理任务TASK_ZigbeeData中主要包含两个处理函数:Zigbee数据发送处理函数和Zigbee数据接收处理函数.
(4)GPRS模块数据处理任务.GPRS模块数据处理任务TASK_GPRSData中主要包含两个处理函数:GPRS数据发送处理函数和GPRS数据接收处理函数.
(5)心跳包任务.心跳包任务TASK_ComHeart主要负责轮询同属一个网络地址的所有WSCN节点的信息,每60s轮询一次,以心跳包的方式将网关和节点的相关信息发送给服务器,服务器以此判断网关和节点是否都还在线,保证连接和服务的正常.
复用GPRS-WSCN网关工程框架时,仅需要关注TASK_ZigbeeData和TASK_GPRSData两个任务,根据实际项目要求对数据帧进行解析和处理后,向互联网或无线传感器网进行数据转发.
侦听程序运行于服务器端,在“互联网+智能制造”技术架构中起到承上启下的重要作用,负责完成与GPRS-WSCN网关的数据传输及数据处理,同时负责将用户通过WEB程序下达的命令直接发送给GPRS-WSCN网关,交由GPRS-WSCN网关进行处理.
根据软件分层的设计思想,从逻辑业务上将侦听程序分为3层:网络通信层、数据处理层和应用层,如图4所示.
图4 侦听程序分层结构
5.1网络通信层
侦听程序采用基于会话的多线程异步Socket方法完成网络通信任务,使得服务器的同一个端口可以与多个GPRSWSCN网关进行通信.本层主要负责与GPRS-WSCN网关的连接与通信,与通信协议和用户需求无关,因此在复用侦听程序时本层不需要任何改动.
5.2数据处理层
数据处理层主要负责处理上行数据包和下行数据包,分别交由上行数据包处理模块和下行数据包处理模块来处理.技术框架应用在不同的项目中时,由于项目的差异导致通信协议中的命令字发生增加或修改,因此侦听程序仅需修改本层,根据新的命令字处理数据即可,其他两层不需任何改动.
5.3应用层
应用层是与具体项目直接相关的,可以根据不同项目的多样化需求对功能进行有针对性地扩展.例如,设计短信告警模块便可以实现在GPRS-WSCN网关或WSCN节点出现故障时及时使用短信通知相关人员.当用户提出新的需求时,仅需修改本层便可实现功能的添加,其他两层不需要任何改动.
WEB程序同样运行于服务器端,是用户下发命令的通道、是收集并显示实时状态信息的窗口,主要负责以友好的图形化界面提供用户管理、系统维护、设备管理和信息管理等基本功能.
为提高整体技术框架最大程度的可复用性和可扩展性,构建了具有层次结构且面向对象的WEB程序框架.本框架采用ASP.NET动态网页技术与数据库技术相结合的方法进行搭建,选用B/S设计模式,简洁易懂,遵循软件工程设计思想,符合程序框架结构清晰、文件内容安排合理的要求,具有易修改、易扩展的特点.WEB程序框架内含4个层次,分别为实体层、业务逻辑层、数据访问层、表示层,各层之间的关系如图5所示,各层之间执行严格分层、不能跨层访问[15].
图5 WEB程序框架层次关系图
(1)实体层
实体层(Model)主要负责对需要用到的数据库中的每个表创建一个类,类中的属性对应表中的字段,其他层便可以对这个类声明一个具体的对象,并通过这个具体的对象访问其各个属性.
(2)数据访问层
数据访问层(WebDAL)主要实现了持久化逻辑,主要负责与数据库的交互并按照业务流程对数据库中数据进行增、删、改、查等基本操作.
(3)业务逻辑层
业务逻辑层(WebBLL)主要实现用户的业务流程、实现业务中的各种验证逻辑和业务规则,处于WebUI层和WebDAL层的中间,在数据交互中起到了承前启后的作用.
(4)表示层
表示层(WebUI)是WEB程序框架中最重要的部分,主要用于数据的显示和接收用户输入的数据,为用户提供了一种交互式业务操作界面.
由于本技术框架与具体项目无关,为验证数据帧“上传下达、下传上达”是否正常,因此在WEB程序中设计了通路测试模块,同时添加新的命令字,如:0x1200,表示目标节点对命令内容值进行加一操作,相应地,添加应答帧命令字,如:0xA200,表示目标节点执行加一操作的结果,用以区分其他应答帧,如图6所示.为方便理解,特将发送的整帧数据和接收到的整帧数据全部显示在页面上,只留命令内容部分给用户进行修改.
图6 数据通路测试模块界面
实际项目应用中,以数据采集模块和设备控制模块来替代通路测试模块,采集的数据类型及控制的设备种类依据具体项目而定.但无论何种物理量、何种设备,数据帧“上传下达、下传上达”的核心思想与通路测试模块一致,参照通路测试模块进行修改即可.
本文通过对“互联网+智能制造”技术开发所涉及的知识要素进行抽象与分解、对共性与个性的衔接关系进行合理划分,形成“互联网+智能制造”技术框架,实现了传感器、微控制器编程、WSCN组网、WSCN与GPRS互联、数据库、侦听程序及WEB程序等多领域技术的深度融合,同时具有构件化、可移植性与可复用性等技术优势,能够有效缩短开发周期、明确人员职责定位、提高开发效率、降低开发成本,从而增强系统稳定性,为智能制造相关系统的开发提供了新思路及实现途径.具体实现细节与使用方法,可从苏州大学嵌入式学习社区网站(http://sumcu.suda.edu.cn)获得.利用该框架提供的软件硬件资源,可以快速实现一个具体的“互联网+智能制造”应用系统的数据上行与数据下行,即WSCN节点采集的数据直接被解析的WEB网页,WEB网页数据可以直接传送到WSCN节点,实现通过WEB网页干预WSCN节点,从而实现远程控制目标对象.文中给出的GPRS-WSCN网关,若实际需要,也可以改为通过有线以太网的NET-WSCN网关,技术框架一致.
致谢:本文工作得到“软件新技术与产业化协同创新中心”部分资助.
[1]李金华.德国“工业4.0”与“中国制造2025”的比较及启示[J].中国地质大学学报(社会科学版),2015,15(5):71-19.
[2]SALDIVAR A A F,LI Y,et al.Industry 4.0 with cyber-physical integration:A design and manufacture perspective[C].Proceedings of the 21st International Conference on Automation&Computing,2015:1-6.
[3]侯瑞春,丁香乾,陶冶,等.制造物联及相关技术架构研究[J].计算机集成制造系统,2014,20(1):11-20.
[4]荐红梅.基于硬件构件的嵌入式底层软件开发方法研究及其应用[D].苏州:苏州大学,2008.
[5]LEDNICKI L,PETRICIC A,AGAR MARIO.A Component-Based Technology for Hardware andsoftware Components[C].Proceedings of 35th Euromicro Conference onsoftware Engineering and Advanced Applications(SEAA),Service and Component Basedsoftware Engineering(SCBSE)Track,IEEE,2009:450-453.
[6]张伟,梅宏.面向特征的软件复用技术:发展与现状[J].电子学报,2014,59(1):21-42.
[7]FOWLER M.Patterns of Enterprise Application Architecture[M].Addison-Wesley Professional,2002:17-24.
[8]杨金翠,方滨兴,翟立东,等.面向物联网的通用控制系统安全模型研究[J].通信学报,2012,11:49-56.
[9]席冬冬.基于WSN水环境监测节点设计[D].天津:天津工业大学,2013.
[10]FREEESCALEsEMIONDUCTOR,INC.NKWO1Z128 Highly-integrated,cost-effectivesingle-packagesolution forsub-1 GHz applications[R].NKWO1Z128 REV.5,Netherlands:NSPsemiconductors,2014.
[11]ANH TRAN NGUYEN BAO,TANsU LIM.Real-time operatingsystems forsmall microcontrollers[J].IEEE Micro,2009,29(5): 30-45.
[12]苏勇.嵌入式实时操作系统MQX应用框架研究[D].苏州:苏州大学,2013.
[13]王宜怀,朱仕浪,姚望舒.嵌入式实时操作系统MQX应用开发技术[M].北京:电子工业出版社,2014:1-26.
[14]罗蕾.嵌入式实时操作系统及应用开发[M].北京:北京航空航天大学出版社,2011:137-175.
[15]马燕,王文发,李红达.基于.NET的四层结构研究及其应用[J].微电子学与计算机,2008,25(11):188-190,194.
A Research on“Internet+Intelligent Manufacturing”Technical Framework
PAN Qiyong1,WANG Yihuai2,3,FAN Ningning2
(1.School of Physics and Electronic Engineering,Changshu Institute of Technology,Changshu 215500;2.School of Computerscience and Technology,Soochow University,Suzhou 215006;3.Collaborative Innovation Center of Novelsoftware Technology and Industrialization,Nanjing 210046,China)
The technology architecturesystem of“Internet+Intelligent manufacturing”covers a great many aspects,such assensor application designing,microcontroller programming,wirelesssensor and controller networking,interconnection of WSCN and GPRS,database designing,monitor program designing and the WEB designing,etc.Aiming at the characteristics of technology development,for example,more knowledge elements,very difficult and complexed knowledge fusion,a component-based,transportable,reusable“Internet+Intelligent manufacturing”technical framework and the basic data upward and downward process are proposed by extracting the common part,reasonably decomposing knowledge factors and clarifying the relationship of universality and individuality.Besides,a hardware andsoftware template and technology foundation are provided with a view toshortening the development cycle,clearing personnel responsibilities,improving the portability,reusability and development efficiency,reducing the developing cost and increasingstability of thesystem.
“Internet+Intelligent manufacturing”;technical framework;underlying components;knowledge elements;universality and individuality
TP393
A
1008-2794(2015)04-0075-06
2016-04-10
国家自然科学基金项目“无线网传感器网络中紧急事件信息发布的可靠性研究”(61070169)
王宜怀,教授,博士,博士生导师,研究方向:嵌入式系统、传感网与智能控制技术,E-mail:Yihuaiw@suda.edu.cn.