基于ISA100.11a协议的终端设计及隧道传输方法

2018-01-18 09:20,,
计算机工程 2018年1期
关键词:管理器终端设备网关

,,

(1.中国航天科工集团第六研究院 西安航天自动化股份有限公司,西安 710065; 2.陕西省物联网与智能控制工程技术研究中心,西安 710065)

0 概述

ISA100.11a协议[1]在2014年由国际电工委员会(IEC)批准[2],使之成为目前业内最新的一种无线传感器网络(Wireless Sensor Network,WSN)协议标准。该协议相对于ZigBee Pro、WirelessHART、WIA-PA等其他协议而言具备更加优异的综合性能,如可扩展性、可靠性、健壮性[3];并且该协议还具有多径路由、隧道传输等其他协议所没有的丰富功能[4]。对于终端设备这一WSN最基本的组成单元而言,ISA100.11a协议标准的高要求与多功能也进一步带来了许多研究与实践的挑战。

在性能方面,ISA100.11a的综合性能优势是其复杂的通信机制所换取的。包括终端设备和路由设备在内,任何网络节点在时隙开始时都要先查看链路表,再根据链路所属超帧和时隙偏移查找下一跳所使用的信道,最后根据所选链路在信道上进行具体的收发工作,如此则可以保证通信的抗干扰能力和较高的带宽使用率[5]。但此类机制反过来会对网络节点和系统管理器的处理能力造成很大的压力,甚至在网络规模过大时可能造成网络节点丢包率过高而重新入网[6]。针对此类问题,文献[6]提出了令路由设备分担一部分系统管理器职责的分散管理方法,文献[7]则从终端设备的角度采取了减少可选信道数量、空闲信道快速筛选等方法。这些方法都对ISA100.11a协议的原始机制做出了调整和改变,虽然能够获得局部的性能突破,但也付出了通用性方面的牺牲,并且有可能造成其他负面影响。

在功能方面,日益增长的多样化需求对WSN的终端设备提出了具备灵活搭载多种传感器和控制器的能力要求[8]。文献[9]对WSN的终端设备在功能划分上给出了理论上的体系结构,并通过实践证明了功能划分的设计减少了传感器与其他功能的互相影响。以应用最为广泛的ZigBee协议为例,为了应对更为复杂的实际需求,终端设计也从传统的嵌入式单片机方式[10]转变为通信与控制分离部署的设计方式[11]。

综合以上分析,同时考虑到ISA100.11a协议应用层面向对象的结构特点[12],以及应用层与ISA100.11a网络内部的入网、路由等通信功能的弱相关特性,本文提出一种用户应用进程(User Application Process,UAP)与其他通信协议相分离的终端设计。在性能上,该设计优先保证终端设备通信功能的需要,不受传感器和控制器的负载影响,提高终端设备的在线稳定性;在功能上,独立的应用层可以更灵活地向外提供标准的I/O接口,不需要考虑多个传感器和控制器的负载对通信资源的占用。此外,由于隧道对象在ISA100.11a协议标准内也属于应用层的范畴,因此终端设计还可方便实现兼容外部协议的隧道传输功能。

1 ISA100.11a协议特点分析

ISA100.11a协议的结构继承于传统的OSI七层模型,但只使用了物理层、数据链路层、网络层、传输层和应用层这5个层次,如图1所示。为了论述方便,图1并未描绘出ISA100.11a协议的所有结构细节。

图1 ISA100.11a协议结构

ISA100.11a协议的应用功能体现在具备面向对象特征的应用层,具体分为上部应用层(Upper Application Layer,UAL)和应用子层(Application Sub Layer,ASL)。上部应用层由不同的UAP组成,除固定的设备管理器之外,所有UAP均可根据需要增删;每个UAP中包含若干对象,每个对象负责不同的具体工作并作为外部用户的访问接口。应用子层负责将传输层的端到端通信传递至与传输层端口一一对应的UAP访问点,具体的传递方式体现为应用子层向UAP中的对象提供一般性服务;这些一般性服务只有对象访问、数据发布、警报报告和隧道4种,可以认为应用子层的少数一般性服务通过有序结合衍生出了功能各不相同的具体UAP对象。

ISA100.11a协议的通信功能集中体现在数据链路层和网络层这2个部分。由于数据链路层只提供了16位的短地址,故而限制了数据链路子网的范围。网络层提供了对IPv6的支持,使得网关可以通过骨干路由器将多个数据链路子网整合起来,并通过网络层对终端设备进行快速定位,如图2所示。

图2 多个数据链路子网的ISA100.11a网络拓扑

数据链路层除提供数据链路子网内的无线路由之外,最重要的则是通信调度的能力。所谓通信调度指ISA100.11a系统管理器对每个设备的超帧、时隙、链路等通信资源进行配置,在时间同步的基础上保证不同设备之间无线通信的有序、稳定,进而提高通信带宽使用率以及实现跳信道抗干扰等动态通信功能[5]。

从上述分析可知,基于面向对象的设计特点,ISA100.11a协议的应用层可以根据需要提供灵活多变的应用接口,每个终端设备的UAP数量和其中的对象数量并无定数;同时ISA100.11a协议为了支持大规模和高性能的网络通信,提供了IPv6寻址、时隙和超帧配置以及跳信道等能力,尤其是数据链路层的超帧、时隙、无线路由表和跳信道序列等资源配置会定时由系统管理器进行评估与优化以维持最佳的动态无线通信状况。因此,传统的嵌入式单片机平台难以在维持复杂通信管理的前提下同时兼顾处理外部变化多端的I/O接口。本文在考虑ISA100.11a协议的完整性前提下,仅将按需可变的UAP从协议中独立出来并专门设计应用模块以动态管理UAP及其对象,同时将协议的其他部分作为通信模块以保证终端设备在网络中的基本通信功能和性能不受影响。

2 终端设计

2.1 结构设计

根据上述ISA100.11a协议特点可知,传统的嵌入式单片机平台将所有终端协议内容全部实现于其中的方式已经难以兼顾复杂通信性能的保障和多样化I/O接口的灵活部署。同时考虑到ISA100.11a协议的应用层具备典型的面向对象特征从而与其他协议层不同这一特点,这就为协议在功能实现方面提供了天然的差异化思路,容易使应用层和其他协议部分之间形成互相独立并且低耦合的结构关系。因此,结构设计的核心思路是将UAP从ISA100.11a协议结构中提取出来独立管理。具体为定义应用模块和通信模块作为终端的2个部分,UAP作为应用模块的主体,协议其他部分作为通信模块的主体,两者之间按照协议规定的应用子层的一般性服务来定义交互接口,如图3所示。

图3 终端结构设计

需要强调的是,应用模块和通信模块更多的是软件实体上的概念,在实现时可以分别部署于2个不同的嵌入式硬件平台上,但不可集中于同一个嵌入式单片机平台,否则将失去终端分离UAP的设计意义。ISA100.11a协议将设备管理器定义为一种特殊的UAP,内含设备管理相关的多个标准对象,在设备的入网、通信、退网过程中负责与ISA100.11a网络进行基础交互,是协议结构不可分割的部分,但和终端设备执行具体的采集控制功能关系不大。因此,通信模块的设计中包含了除动态可增删的UAP之外的所有协议结构,最大限度保持了终端设备在网络通信过程中协议的完整性,使基本的通信交互不受影响。假设没有应用模块,单纯的通信模块也可以作为一个无实际功能的终端设备加入ISA100.11a网络。

应用模块主要负责动态建立UAP和其中的对象,具体由UAP管理器根据终端设备所需要搭载的传感器、控制器和外部协议接口的实际情况而创建。为了保证通信模块维持终端在网络中的稳定在线,UAP管理器必须通过状态监控器定时获取该终端设备的状态,在基本网络通信稳定的前提下才允许UAP管理器按需申请新的UAP及其对象。成功建立的对象将负责具体的终端数据传输工作,应用子层服务管理器会将该对象的待传输数据按照协议规定封装为应用子层服务数据,并根据该对象所在的UAP找到与之一一对应的传输层端口号以便继续向协议下层传递。

2.2 交互设计

终端结构设计将通信模块与应用模块作为不同的实体分离部署,并优先保证通信模块的稳定运行,因此需要解决2个模块之间的交互设计问题。交互设计的核心问题在于保证通信模块和应用模块之间能够顺利提供对方所需要的信息,同时又要保证交互信息的简单化,如果交互信息繁多复杂就失去了结构设计的分离化设计意义。考虑到基础通信功能是终端在网络中运行的基础,因此交互设计的原则在于,所有应用模块的活动都必须建立在通信模块状态正常的基础上,即UAP管理器对终端各个UAP和对象的管理活动都要依赖于状态监控器所代表的通信模块状态,故交互设计的核心内容是围绕着通信模块的状态属性展开的。

ISA100.11a协议规定了设备管理器中的设备管理对象(Device Management Object,DMO)可以反映设备当前在线状态、重启次数、设备资源列表等详细信息。定义状态监控器的意义就在于通过设备管理对象给应用模块提供通信模块的状态,并对交互内容做出归纳以降低交互成本。对应用模块而言,重要的通信模块状态可归纳为离线、在线和Contract资源这3种。所谓Contract资源,是ISA100.11a协议规定的不同设备之间进行数据通信的契约,由预备通信的设备向系统管理器申请,系统管理器根据网络总体状况批准,代表系统管理器允许设备之间进行数据传输。一般而言,一个Contract资源仅支持一个具体的对象到对象的数据传输,如果需要传输多种数据则必须申请额外的Contract资源。

当通信模块状态为离线时,应用模块的UAP管理器会保持其所含的UAP数量为0;当通信模块状态为在线时,UAP管理器的工作才会被激活,并根据应用模块所负担的I/O任务来决定申请多少个UAP以及每个UAP所包含的负责具体I/O工作的对象;UAP中的每个对象建立之后即通过状态监控器告知设备管理器,后者的设备管理对象按照ISA100.11a协议的规定向系统管理器申请所需的Contract资源,通信模块会将申请结果送于应用模块的状态监控器查阅,若Contract资源申请成功,则该对象就可以开始其数据传输任务了。

以带传感器的终端设备向网关上传采集数据为例详述其交互过程,如图4所示。假设终端设备初始为离线状态,第1步,通信模块的设备管理器向系统管理器发送入网请求,系统管理器根据网络总体状况批准其是否入网以及何时入网。第2步,通信模块收到入网许可后,代表该终端设备已经加入到ISA100.11a网络中,因此立即通过状态监控器通知应用模块来创建UAP及对象。第3步,对象创建完成后,应用模块通知通信模块开始申请Contract以取得对象在网络中传输数据的许可,系统管理器批准Contract的申请后,通信模块立即通知对象以告知可以开始数据传输。第4步,对象作为终端设备的I/O接口来访问传感器或控制器,本例的情况是对象访问传感器以收集数据并形成数据集;数据集由UAP利用应用子层服务管理器封装为符合应用子层数据发布服务的格式,并直接送给对象所在UAP对应的应用子层访问点,进而找到传输层端口,最后通过与网关之间的端到端通信将数据发布送给网关。需要强调的是,只要对象所需要的Contract资源持续有效,则相关通信可以一直循环进行,不需要重新申请额外的Contract资源,但对象的I/O任务有变化时就必须重新申请相匹配的新Contract。

图4 终端设备向网关上传采集数据的示意图

从图4还可以看出,如果终端不需要进行数据传输或者暂时停止数据传输时,应用模块与通信模块之间除了后者向前者反映在线状态之外是没有任何交互的。如此则可以最大限度减少通信模块维持在线的业务处理负担,同时保证了终端设备的协议完整性和轻量化。

2.3 I/O接口设计

2.3.1 I/O接口管理逻辑

在终端设备中,I/O接口本质上就是负责与传感器、控制器或外部协议接口直接沟通的UAP中的对象,ISA100.11a协议规定了具备不同功能的多种类型的对象,也允许用户根据需要自行定义对象。一般情况下,集中器对象(Concentrator Object,CO)负责与单个或多个传感器对接;接口对象(Interface Object,IO)负责与单个控制器对接,这是因为控制器面临的往往是突发性通信要求,与持续性通信要求的传感器不同;隧道对象(Tunnel Object,TUN)负责与外部协议接口进行对接。当使用隧道对象和外部协议进行I/O通信时,隧道对象本身只是负责协议转换的工作,转换后的数据上传或控制信息下发还是需要由集中器对象或接口对象来继续处理。本文所设计的终端结构使UAP在实现时减少了ISA100.11a协议框架的影响,可专注于对象的分布与搭配。图5所示为上述种类的对象在UAP中的一种典型分布,图中的IO代表接口对象而不是一般意义上的输入输出。

图5 UAP中的对象分布

但对象的分配管理并非随意而不受约束的,否则有限的I/O接口资源将很快不堪重负。因此在管理这些不同对象代表的众多I/O接口时,UAP管理器必须提供一种管理逻辑,据此在每次UAP创建时决定应该给各个UAP分配多少传感器、控制器和外部协议接口。ISA100.11a协议规定了UAP可以使用的传输层的端口号范围是0xF0B2到0xF0BF,这意味着终端设备中同时存在的UAP数量最多不能超过14个。因此,I/O接口管理逻辑的设计原则是,尽可能少地创建UAP并尽量将所需的I/O接口集中至同一个UAP中,这样既节省了端口资源又方便了UAP内部对象之间的交互(如隧道对象与集中器对象或接口对象之间的交互),除非UAP的UAP管理对象(UAP Management Object,UAPMO)侦测到了通信拥塞。

2.3.2 隧道传输设计

隧道传输的意义在于使用ISA100.11a网络兼容传输外部协议数据,在这种情况下ISA100.11a网络起到一种信息传递者的作用,很适合与其他类型的总线或网络组成有针对性的混合物联网,使无线网络与外部系统的无缝对接成为可能[13]。以上传采集数据为例,隧道传输的主要方式是在终端设备中输入外部协议的采集数据并转换为ISA100.11a协议格式的隧道数据包,再通过ISA100.11a网络转发至网关,最后由网关将包裹着外部协议数据的隧道数据包解析之后送给可以识别外部协议数据的现场网络。图6显示了ISA100.11a隧道传输外部ZigBee采集数据的过程,其中网关的离散器对象与终端的集中器对象相匹配以解析数据发布的内容。

图6 隧道传输兼容ZigBee数据的示意图

隧道数据的打包和解析都由隧道对象负责,因此,在终端设备和网关之间的隧道传输实质上是一种隧道对象到隧道对象的传输,而ISA100.11a协议规定了一个Contract资源只支持一条对象到对象的数据传输。此外,I/O接口管理逻辑在原则上也要求尽量减少额外新对象的建立与分配。综合以上要求,为了节省通信资源,必须尽量充分利用每条隧道对象之间的隧道传输通路,故应在终端的隧道对象中设计缓存及其管理机制。

隧道传输所涉及的一对设备中,每个设备的隧道对象都设计2个消息缓存,每个缓存分别和对方设备中的一个缓存进行消息交互。当隧道对象所在设备作为请求端时,2个缓存分别负责发送请求消息和接收响应消息;当隧道对象所在设备作为响应端时,2个缓存则分别负责接收请求消息和发送响应消息。图7以网关向终端发送基于隧道的请求消息为例进一步详述了隧道对象缓存的管理机制。假设网关需要通过隧道传输向某个终端所接的外部网络发送请求消息以获取外部网络的信息,首先由网关UAP的隧道对象令其中一个负责发送请求消息的缓存生成为隧道传输数据,并由该缓存发送至终端;终端收到请求消息后,终端UAP的隧道对象令其负责接收请求消息的缓存并送入外部网络;外部网络处理请求内容后,终端UAP的隧道对象令其中负责发送响应消息的缓存向网关发回响应消息;最后在网关UAP的隧道对象中,负责接收响应消息的缓存得到整个请求活动的结果。

图7 隧道传输的消息缓存机制

为隧道对象设计2个消息缓存的意义在于,当2个设备之间需要大量隧道传输时,众多的请求响应消息可以在缓存中组成队列依次处理。此外,额外的缓存有助于快速处理掉因超时或其他原因造成的请求失败或无响应消息,并对这些有问题的待处理消息根据需要进行其他调整,如重新评估消息内容的负载并分段重发。

3 性能测试

本文所设计的终端最突出的特点是UAP从ISA100.11a协议栈中的分离,优先保证终端在网络中的基础通信,按需逐步启动终端应用,最大限度维持终端的通信稳定性。因此,选用丢包率作为衡量终端通信稳定性的性能指标。同时为了避免单个终端可能造成的不可控性能差异的影响,最终采用网络总丢包率作为性能测试的参考,总丢包率可以通过ISA100.11a系统管理器所提供的网络健康报告服务获取。如图8所示为本文的依托项目所完成的Web监控系统[12]呈现的网络健康报告页面截图,图中可见DPDU的总发送量和总丢失量。

图8 网络健康报告监控总丢包率

为了测试全面,除骨干路由器外,分别以10、20、30、40、50为总的组网终端数量,每次组网持续一周。同时,将以横河电机YTA510[14]为基础开发的旧版终端进行同样方式的组网来作为对比测试组。其中,本文所设计的终端方案采用了飞思卡尔的MC13224芯片为通信模块,LPC1114芯片作为应用模块搭载传感器;旧版终端参照横河YTA510,以STM32L162RD芯片搭载完整ISA100.11a协议栈及传感器,CC2520芯片只负责物理层的射频发送。

如图9所示为新旧终端组网测试总丢包率的结果。从图中可知,虽然总丢包率会随着节点数量的提高而大幅增加,但本文所设计的终端能够明显减少同样条件下的丢包率,提升网络通信质量。

图9 终端在网络中的总丢包率测试

4 实地应用

将本文所设计的终端研制完成后应用于陕西周至佰瑞猕猴桃研究院的农业物联网系统升级,将原有的ZigBee网络变更为以ISA100.11a网络为主体并兼容ZigBee节点农业墒情采集的混合网络,拓扑结构如图10所示。考虑到ZigBee设备虽然在性能上要弱于ISA100.11a设备,但其在面向农业等非极端环境下仍然具有更好的适应性[15],因此并没有将原有农业物联网全盘替换为ISA100.11a网络。该拓扑方案的核心思路是,借助ISA100.11a优异的通信能力和方便的外部协议兼容能力,将原有的多个较分散的ZigBee采集网络组合为统一的大规模网络。

图10中的ZigBee集中器即为终端在该系统中的名称,其主要任务是将ZigBee数据经隧道对象转换为ISA100.11a数据后,由集中器对象整合并发送至网关设备,网关设备的隧道对象将其还原为ZigBee数据并送给监控中心查看。

新系统在半年的使用过程中,网络运行稳定、可靠,十分适应关中地区同类作物离散化种植的现状,解决了原有农业物联网系统存在的覆盖面积小、无线传输不稳定等实际问题。

实际上,本文所设计终端的隧道传输方法可以应用于任何基于其他协议的网络或总线系统的兼容性升级。例如工厂内可以使用ISA100.11a网络替换ModBus等有线网络的传输部分,即在原有的ModBus节点和网关之间将具有较高部署维护成本的ModBus总线替换为ISA100.11a无线网络,ModBus节点的数据将通过ISA100.11a终端的隧道传输方法无线传送至ModBus网关,如此既可以降低部署维护成本又可以减少有线线路的物理安全隐患。但工业领域的无线传输在数据可靠性和安全性方面仍然有待进一步的突破。

图10 隧道传输拓扑结构

5 结束语

本文提出了一种基于ISA100.11a协议的终端设计,将UAP从协议栈中分离出来作为应用模块独立管理,其他协议内容作为通信模块保证终端基本通信,2个模块之间主要以状态监控器进行交互。经长期测试研究证实,本文所设计的终端能够显著降低网络的丢包率,此外能够通过隧道传输灵活兼容其他总线或网络协议的数据,并且终端已经在大规模混合型农业物联网场景中得到应用实践,效果良好。在下一步的研究中,将重点解决应用模块通信实时性和双模块终端低功耗的问题。

[1] International Society of Automation.ISA-100.11a-2011 Wireless Systems for Industrial Automation:Process Control and Related Applications[EB/OL].(2011-06-01).https://www.isa.org/store/products/product-detail/?productid=118261.

[2] SAVAZZI S,RAMPA V,SPAGNOLINI U.Wireless Cloud Networks for the Factory of Things:Connectivity Modeling and Layout Design[J].IEEE Internet of Things Journal,2014,1(2):180-195.

[3] ZAND P,CHATTERJEA S,DAS K,et al.Wireless Industrial Monitoring and Control Networks:The Journey so Far and the Road Ahead[J].Journal of Sensor and Actuator Networks,2012,1(3):123-152.

[4] PETERSEN S,CARLSEN S.Wireless HART Versus ISA100.11a:The Format War Hits the Factory Floor[J].IEEE Industrial Electronics Magazine,2011,5(4):23-34.

[5] 王 平,刘其琛,王 恒,等.一种适用于ISA100.11a工业无线网络的通信调度方法[J].仪器仪表学报,2011,32(5):1189-1195.

[6] ZAND P,MATHEWS E,DAS K,et al.ISA100.11a*:The ISA100.11a Extension for Supporting Energy-harvested I/O Devices[C]//Proceedings of the 15th International Symposium on a World of Wireless,Mobile and Multimedia Networks.Washington D.C.,USA:IEEE Press,2014:1-8.

[7] DAS K,MATHEWS E,ZAND P,et al.Efficient I/O Joining and Reliable Data Publication in Energy Harvested ISA100.11a Network[C]//Proceedings of IEEE International Conference on Industrial Technology.Washington D.C.,USA:IEEE Press,2015:2184-2191.

[8] KOO B,HAN K,PARK J J,et al.Design and Implementation of a Wireless Sensor Network Architecture Using Smart Mobile Devices[J].Telecommunication Systems,2013,52(4):2311-2320.

[9] NATHESWARAN S,ATHISHA G.Remote Reconfiguration Wireless Sensor Node Design for Wireless Sensor Network[C]//Proceedings of International Conference on Communications and Signal Processing.Washington D.C.,USA:IEEE Press,2014:649-652.

[10] 张永梅,杨 冲,马 礼,等.一种低功耗的无线传感器网络节点设计方法[J].计算机工程,2012,38(3):71-73.

[11] 李 伟,王 利,易子川,等.一种鲁棒的ZigBee智能插座扩展系统[J].计算机工程,2016,42(8):305-310.

[12] 成斐鸣,王鼎衡,刘志刚.基于ISA100.11a的Web监控系统的设计与实现[J].计算机工程与设计,2016,37(8):2042-2049.

[13] KUMAR R,RAY A,KANDE M.Wireless HART Device Integration Challenges and Solutions in Industrial Automation[C]//Proceedings of the 18th Conference on Emerging Technologies & Factory Automation.Washington D.C.,USA:IEEE Press,2013:1-4.

[14] YAMAMOTO S,EMORI T,TAKAI K.Field Wireless Solution Based on ISA100.11a to Innovate Instrumentation[J].Yokogawa Technical Report,2010,53(2):69-74.

[15] WAGNER R S,BARTON R J.Performance Comparison of Wireless Sensor Network Standard Protocols in an Aerospace Environment:ISA100.11a and ZigBee Pro[C]//Proceedings of IEEE Aerospace Conference.Washington D.C.,USA:IEEE Press,2012:1-14.

猜你喜欢
管理器终端设备网关
基于MAC 认证的终端网络准入控制系统方案*
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
视频监视系统新型终端设备接入方案
Windows文件缓冲处理技术概述
信号系统网关设备的优化
行车记录仪通信连接方法、行车记录仪及终端设备
车站信号系统终端设备整合及解决方案
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”