第36卷 第12期2002年12月
西 安 交 通 大 学 学 报
JOURNAL OF XI′AN J IAO TON G UN IV ERSITY
Vol.36 №12
Dec.2002
文章编号:0253-987X(2002)12-1299-04
基于以太网的实时发布者/订阅者模型研究与实现
孙军平1,盛万兴2,王孙安1
(1.西安交通大学机械工程学院,710049,西安;2.电力科学研究院)
摘要:通过分析分布式网络控制系统通信的特点,在研究发布者/订阅者(Publisher/Subscriber)模型的基础上引入了控制参数和附加服务,以形成改进型嵌入式实时Publisher/Subscriber模型,这使得Subscribr具有主动询问、Publisher具有响应询问的功能,满足了工业控制实时性和可靠性的要求.用给出的实时P
ublisher/Subscriber模型研究了分布式网络控制系统中设备间异步、点对多点实时通信的方案,讨论了模型设计和执行原理,设计了基于32位嵌入式微处理器的实验模型.测试结果表明,该模型满足变电站自动化系统中点对多点实时通信的要求.
关键词:变电站自动化;以太网;分布式控制;通信
中图分类号:TM769;TM764.2 文献标识码:A
R earch on the R eal2Time Publisher/Subscriber Model
B ad on Ethernet and Its Implementation
S un J unpi ng1,S heng W anxi ng2,W ang S un′an1
(1.School of Mechanical Engineering,Xi′an Jiaotong University,Xi′an710049,China;2.Electric Power Rearch Institute)
Abstract:After rearching the communication characteristics of distributed network control system and publisher/subscriber model,an embedded real2time publisher/subscriber(ER TPS)model is pre2 nted by introducing control parameters and additional rvices.Through this model,subscriber can
actively inquire about datat,and the publisher will respon the inquiry in order to meet the require2 ment of real2time and reliability in industrial control.A scheme for asynchronous,point2multipoint communication between devices is provided,and the model structure and design principle are dis2 cusd.A experimental model is designed bad on the embedded micro2controller with32bits.The test results indicate that the model satisfies the requirement of real2time communication in substation automation,and provides uful information for solving the similar problems in industrial automation.
K eyw ords:substation autom ation;Ethernet;dist ributed cont rol;com m unication
随着计算机技术和通信技术的发展,尤其是网络技术的应用,系统网络化和体系开放性是工业控制技术发展的趋势,以太网(Ethernet)技术顺应这一趋势正被引入工业控制领域.纵观目前工业测控领域所使用的通信技术,都是自成体系、互不开放的.国际上对现场总线技术也长期争论不休,新颁布
收稿日期:2002-04-15. 作者简介:孙军平(1975~),男,博士生;王孙安(联系人),教授,博士生导师. 基金项目:国家“九七三”重点基础研究专项经费资助项目(G1998030405).
的IEC61158现场总线标准包括了8种不同的类
型,而且标准中的8种现场总线采用完全不同的通信协议,要使它们之间互相兼容和互可操作几乎是不可能的[1]. 积极采用以太网技术是现场总线的发展趋势,它一定能够延伸到现场总线的最底层[2,3],事实也证明了这一点.目前基于以太网的控制网络系统已成为全球自动化领域学者们关注的热点,这种系统进入过程层、嵌入传感器和执行器的技术条件已经具备.在采用以太网、TCP/IP 网络技术构成的分布式网络控制系统中,以太网传输的实时性随着快速以太网和交换式以太网技术的发展而得到了解决,但是底层网络的实时性传输只是为控制系统的实时性奠定了基础,而通信协议的执行策略仍然影响着系统的实时性和协调性,因此网络实时性和通信协议的性能是至关重要的因素.
1 分布式网络控制系统
分布式网络控制系统的简单结构如图1所示.图中,传感器和执行器位于过程层,控制和测量设备位于控制网络层.过程层的数据由智能I/O 收集后分发到控制网络,数字控制器及人机接口(HM I )通过智能I/O 控制过程层的执行器.对于支持数字接口的智能传感器和执行器(如智能电器)则不需要智能I/O 作为接口,可直接接入过程网
.
exist
图1 分布式网络控制系统
TCP/IP 协议是面向连接、基于数据流的可靠
pwi
网络通信协议,适用于客户/服务器模式的通信.对于传输需要对方返回校验信息的命令,如控制命令,一般采用基于TPC/IP 协议的客户/服务器模型,网络节点之间先建立连接,然后通过请求-指示-响应-确认来实现命令报文的可靠传输.对设备间状态信息和互锁信息的交换,则属于异步对等以及点对多点通信模式,采用TCP/IP 协议是无法有效实
现的,必须采用网络组播(multicast )的方式发送报文.为了提高报文传输的速度和性能,国际上提出了基于开放系统互连(OSI )参考模型的增强性能结构(EPA )模型[4].该模型的物理层和链路层采用以太网;应用层采用与控制网络数据对象兼容的过程层协议;信息传输服务用逻辑链路控制(LLC )协议的面向无连接的无确认服务DL -UN ITDA TA ,该服务在传输模式和速度上可满足要求,但服务是非确认性的,无流量控制和差错控制机制[5],无报文的重传机制,只能尽力传送报文,当传输失败后,会因为丢弃数据包而降低传输的可靠性.asrted
设备间数据通信按照所传报文的类型分为两种模型:①时间驱动的周期性数据传输,如采样数据传输,该模式对发送最新的数据比传输旧的数据更有价值,所以一般采取的策略是总传最新的数据,对丢包现象可以忽略,只保证传输的实时、快速性即可满足要求.②事件驱动的随机传输,如分布式网络环境下,设备之间状态信息、互锁信息的相互交换以及智能设备状态信息的发布等,具有随机性和异步传
输的特点.该模式不仅对数据传输实时性要求高,同时可靠性要求也高,如果单纯采用基于以太网的组播技术是无法满足系统的要求的.
基于无连接的传输服务,由于数据报文的传输可靠性与时间确定性是一对矛盾的因素,因此要满足系统的要求就必须采取建立在无确认服务之上的应用层机制,要在两个因素中找到平衡点,去控制报文的可靠、实时地传输.综合本节的阐述,本文提出基于实时发布者/订阅者(Publisher/Subscriber )模型来解决上述问题.
2 实时Publisher/Subscriber 模型
2.1 Publisher/Subscriber 模型
Publisher/Subscriber 模型是一种网络数据分发
式模型,现已经在分布式系统中得到了广泛的应用,如Web 数据发布、网络管理等[6],具有以下特点.
(1)信息与设备地址无关.信息按内容来标识,数据包无源地址位和目标地址位,要接收数据,仅需要识别与此信息相连的标识符.信息标识InfoRef 作为设备关注的对象,任何设备的热插拔并不影响系统的运行.
(2)点对多点传输.一个设备可同时与多个设备之间进行通信,使得通信效率高,占用网络资源少,而且可实现网络上Subscriber 节点之间的精确同
0031西 安 交 通 大 学 学 报第36卷
步.这在分散自治系统中是非常重要的,因为各控制单元要共同完成某个任务,必然存在单元之间的协调,所以要采用点到多点的通信.
(3)事件驱动传输.Publisher根据事件(信息的变化)驱动来更新要发布的信息缓冲区,Subscriber 则由异步触发事件来驱动接收信息,改变了传统Polling方式的数据传输模式,网络利用效率更高. 2.2 实时Publisher/Subscriber模型
实时分布式控制系统对数据的传输时间有一个定量的要求,即所传数据必须在规定的时间内传送到目的地,否则就会造成系统出错和功能失败.另外,考虑到无连接模式的非可靠性,有必要在数据流中引入控制机制,以确保数据可靠地传输.虽然市场上目前已有Publisher/Subscriber以及实时Publish2 er/Subscriber方面的中间件[6],但这些中间件是基于IP面向非嵌入式系统应用的,不能很好地应用到控制设备中.因此,针对基于Ethernet的三层EPA 增强性能结构协议栈,需要对Publisher/Subscriber 模型进行面向嵌入式环境设计,给所传信息报文引入控制参数,以控制数据流传输,使Subscriber具有主动询问的功能,使Publisher具有响应询问的功能,改进后的模型称之为嵌入式实时Publisher/Sub
2 scriber模型.
改进的模型必须运行在支持多线程优先级处理的实时操作系统(R TOS)环境下.Publisher输出端引入{SqNum,h Time,RtNum}三个参数,即在输出数据流中插入数据序列号SqNum、数据存活时间h Time,且设置重传计数器RtNum.Subscriber输入端引入超时时间TimeOut和数据序列号检验功能. Publisher第一次发布信息后信息重传间隔时间为t=4+(1.n)R-1 2≤n≤9(1)式中:R为重传次数,按照递减频率重发数据,直到时间t超过数据的存活期h Time.
在此期间,Subscriber按顺序接收缓冲区中的数据,一旦发现数据序列号混乱或出错,主动启动查询功能,并向Publisher端查询未收到的数据序列,因为Publishe端设置了记录缓冲区,按序列号SqNum 顺序记录了最近发布的数据,所以Publisher端会根据Subscriber请求查询的数据序列在记录中检查,并返回响应.
3 模型设计原理
基于改进的实时Publisher/Subscriber方法和工业应用的需要,设计了实时Publisher/Subscriber模型(图2所示).该模型中的客户端可通过设置SET 和取值GET命令服务对设备的数据流格式进行在线配置,或通过设备配置文件的修改进行离线配置,如发布数据对象的名称DataRef和数据生存时间TimeOut等参数
死机英文>喜欢的英文
.
图2 实时Publisher/Subscriber模型
Publisher由事件(数据值改变、数据质量变化等)触发后从数据集中收集所需数据,然后通过输出缓冲区发布出去.在数据流的出口处,设置记录缓冲区,为每个发布的数据添加数据序列号SqNum和存活时间h Tim等参数标志,并对发送的数据进行记录.Subscriber接收缓冲区的数据,如发现所接收数据存活期已过,则丢弃该数据;若发现数据的序列号错位,则认为网络传输中发生了数据包的丢弃,应立刻根据丢弃数据包的序列号通过服务向Publisher 查询.Publisher收到Subscriber的查询后,则知道网络传输中丢弃了数据包.Publisher查询记录缓冲区中的所发数据包,如果Subscriber要查询的数据包存在于记录缓冲区,则立刻重发该数据包.一般情况下,记录缓冲区的大小要设置得合理,要能够存储最近发送的数据包.若缓冲区无法再存入新的数据包,则会删除以前的数据包.
基于上述模型结构,具体设计实施时还应注意处理好以下关键技术.
(1)利用多线程机制且处理好线程优先级和共享数据的访问等问题,以提高系统本身的性能和服务的实时响应性能.
(2)缓冲区结构的设计和管理.对于一个设备而言,它可能既是Publisher也是Subscriber(大多数情况如此),那么必须设计好输入和输出流缓冲区,使两个缓冲通道并行运作且互不影响.
(3)记录缓冲区大小可根据实际内存空间大小和系统要求予以合理分配.
1031
第12期 孙军平,等:基于以太网的实时发布者/订阅者模型研究与实现
(4)事件驱动模块设计得是否合理,关系到Publisher 能否及时有效地收集到数据并予以发布,
gresso
以及Subscriber 能否被异步触发地接收数据.
(5)设备工作在嵌入式系统环境中,其资源是有限的(如内存、CPU 速度等),所以模型设计要考虑优化利用系统资源.
4 在变电站自动化系统中的应用
成绩英语在变电站自动化系统中,一些先进的线路和设备保护方案就是基于设备间快速通信提出的,而且继电保护设备通过互相协调形成的控制方案,需传送到控制设备予以执行.基于Ethernet 的通信模式,利用ER TPS 模型可以很容易地实现设备间直接通信,且连接简单,通信速度快.变电站自动化网络通信结构如图3所示
.
圆周率是什么图3 变电站自动化网络通信结构
图3中,过程层和间隔层设备之间(虚线连接)
都有信息的交互.其中,CT/PT 输出数据(周期性数据),并分发至间隔层保护和控制器设备.由于保护和测控需要的是不同的采样数据,所以可采取如加设单独的CP/PT 采样等一些措施.断路器与间隔层及间隔层设备之间,通过ER TPS 模型进行数据交换.Publisher 在启动发布信息时应考虑以下4种情况:①当设备加电后进入操作运行状态,应向其他Subscriber 通知其当前自身的状态参数;②当某个状态发生改变时,应启动发布通知相关设备;③当用户设置为周期性发布时,则应按照设定的周期间隔定期发布;④即使状态数据没有改变,也应定期发布信息,以确保最近激活的设备了解当前相关设备的状态值.
按照图3结构,我们设计了试验测试模型,并进行了试验.测试模型是基于主频为66MHz 的32位
嵌入式微处理器和嵌入式R TOS 平台,以太网接口
附和
为10BASE 2T ,测试结果如表1所示.在事件触发后,经实时Publisher/Subscriber 模型处理,多个Subscriber 可同时在3011μs 内收到Publisher 的报文信息,满足系统的要求,达到了国际标准上要求的性能指标[4].
表1 试验测试结果
系统处理延时/μs 事件触发87报文编码284Publishing 198Subscribing 2396报文解码
46
5 结 论
针对分布式网络控制系统通信的特点,本文研究了在Publisher/Subscriber 模型中引入控制参数和附加服务形成改进型实时模型,使Subscriber 具有主动询问、Publisher 具有响应询问的功能,并用实时Publisher/Subscriber 模型设计了分布式网络控制系统中设备间异步、点对多点实时通信的方案,并讨论了该模型的设计原理,阐述了在新一代变电站自动化系统网络通信中,应用该模型实现系统中智能电子设备之间的互相通信机制.研究结果表明,实时Publisher/Subscriber 模型能够很好地满足网络环境下的变电站自动化系统的要求,且实现简单.参考文献:
[1] 周 明.现场总线控制[M ].北京:中国电力出版社,
2002.
[2] 郑 萍.现场总线产品的技术创新[J ].测控技术,
2001(7):30~32.
[3] 吴钦炜,吴斌昌.信息时代的自动化仪表和装置[J ].
自动化博览,2001,18(增刊):109~112.
[4] IEC61850,Communication networks and systems in sub 2
stations :part 1~10[S].
草莓的英语
[5] 鲁士文.计算机通信网络基础教程[M ].北京:科学出
版社,2000.169~170.
[6] G erardo P C.The real 2time publish 2subscribe middleware
[A ].The 18th IEEE Real 2Time Syst Symp ,San Francis 2co ,1997.
(编辑 苗 凌 管咏梅)
2031西 安 交 通 大 学 学 报第36卷