实时以太网 Ethernet PowerLink技术综述
- 格式:doc
- 大小:602.00 KB
- 文档页数:10
工业以太网通信协议研究及应用摘要:在绝大多数工业控制通信方面都是采用现场总线技术方式来实现的。
但长期以来现场总线种类繁多、同时又没有统一标准而导致互不兼容,使得系统集成和信息集成面临着巨大挑战,所以引入了应用广泛、高速率、低成本的以太网技术。
但以太网的可靠性和实时性比较差,难以适应工业控制的要求,故相关组织对以太网进行了一些扩展,称为工业以太网。
随着工业4.0的发展,相信工业以太网技术将越来越重要。
本文就常见工业以太网通信协议简介及应用作出阐述。
关键词:现场总线技术、工业以太网、EtherCat、Ethernet/IP、ProfiNet、Modbus/TCP、Ethernet/PowerLink、MechatroLink1常见工业以太网通信协议1.1、Modbus/TCPModbus/TCP是用于控制和管理自动化设备的Modbus系列通讯协议的派生产品。
由此可见,它覆盖了使用TCP/IP协议的Intranet企业内部网和Internet互联网环境中Modbus报文的用途。
该协议的最常见用途是为例如I/O、PLC模块以及连接其它简单域总线或I/O模块的网关服务的。
Modbus/TCP协议是作为一种实际的自动化标准发行的。
既然Modbus已经广为人知,该规范只将别处没有收录的少量信息列入其中。
然而该规范力图阐明Modbus中哪种功能对于普通自动化设备的互用性有价值,哪些部分是Modbus作为可编程的协议交替用于PLC的多余部分。
Modbus/TCP 在美国比较流行,它由两部分组成,即IDA分散式控制系统的结构与Modbus/TCP 的信息结构的结合。
Modbus/TCP定义了一个简单的开放式又广泛应用的传输协议网络用于主从通讯方式。
1.2.、Ethernet/IPEthernet/IP是一个面向工业自动化应用的工业应用层协议,这里的IP表示Industrial-Protocal。
它建立在标准UDP/IP与TCP/IP协议之上,利用固定的以太网硬件和软件,为配置、访问和控制工业自动化设备定义了一个应用层协议。
R e W o r k s 的P OW E R L I N K主站设计与解决方案*黄河,杜坚,任见,钱晨,方国好(上海华元创信软件有限公司,上海200062)*基金项目:国家科技重大专项(2017Z X 010********);上海市软件和集成电路产业发展专项(190241)㊂㊂摘要:本文基于国产嵌入式实时操作系统锐华(R e W o r k s )设计并实现了P OW E R L I N K 实时以太网主站解决方案,并在龙芯2K 1000平台的网关控制器上进行应用,支持P OW E R L I N K 组网实时通信和双网冗余㊂基于R e W o r k s 的P OW -E R L I N K 主站控制器具有高可靠性㊁高实时性且方便开发调试等特性,可满足高安全实时控制与通信的工业控制㊁轨道交通㊁机器人运动控制等领域需求㊂测试结果表明,可满足安全工业互联网对实时稳定㊁自主可控㊁安全可靠的较高要求㊂关键词:嵌入式实时系统;实时以太网;P OW E R L I N K ;双网冗余;锐华中图分类号:T P 393 文献标识码:AD e s i gn a n d S o l u t i o n o f P O W E R L N K M a s t e r B a s e d o n R e W o r k s H u a n g H e ,D u J i a n ,R e n J i a n ,Q i a n C h e n ,F a n g Gu o h a o (S h a n g h a i H u a y u a n C h u a n g x i n S o f t w a r e C o .,L t d .,S h a n gh a i 200062,C h i n a )A b s t r a c t :B a s e d o n t h e d o m e s t i c e m b e d d e d r e a l -t i m e o p e r a t i n g s y s t e m r e w o r k s ,t h i s p a p e r d e s i g n s a n d i m pl e m e n t s t h e s o l u t i o n o f r e a l -t i m e E t h e r n e t m a s t e r s t a t i o n o f P OW E R L I N K ,w h i c h i s a p p l i e d o n t h e g a t e w a y c o n t r o l l e r o f L o o n g s o n 2K 1000p l a t f o r m.I t s u p po r t s r e -a l -t i m e c o mm u n i c a t i o n a n d d u a l n e t w o r k r e d u n d a n c y o f P OW E R L I N K n e t w o r k .P OW E R L I N K m a s t e r s t a t i o n c o n t r o l l e r b a s e d o n r e -w o r k s h a s t h e c h a r a c t e r i s t i c s o f h i g h r e l i a b i l i t y ,h i g h r e a l -t i m e a n d c o n v e n i e n t d e v e l o p m e n t a n d d e b u g g i n g ,w h i c h c a n m e e t t h e r e qu i r e -m e n t s o f i n d u s t r i a l c o n t r o l ,r a i l t r a n s i t ,r o b o t m o t i o n c o n t r o l a n d o t h e r f i e l d s o f h i g h s a f e t y an d r e a l -t i m e c o n t r o l a n d c o mm u n i c a t i o n .K e yw o r d s :e m b e d d e d r e a l -t i m e s y s t e m ;r e a l t i m e e t h e r n e t ;P OW E R L I N K ;d u a l n e t w o r k r e d u n d a n c y ;R e W o r k s 0 引 言随着工业4.0时代高速㊁高精度㊁分布式的自动化控制系统的发展,传统现场总线技术的通信周期和吞吐量已无法满足高速㊁高实时㊁大数据量传输的工业控制需求㊂标准以太网使用带碰撞检测的载波监听多路访问协议(C S MA /C D )引起网络传输的不确定性[1],无法满足高安全装备领域实时性和确定性的要求[2-3]㊂P OW E R L I N K实时以太网[4-5]基于标准以太网硬件,在数据链路层以上自定义数据报文调度模块,采用时间槽网络通信管理协议的数据链路层,支持菊花型㊁星型㊁树型物理拓扑结构,满足复杂应用系统要求㊂在媒体访问层采用高精度时间戳,增强全局时钟同步的能力㊂在应用层采用C A N o pe n 协议作为网络配置和实时数据的接口,符合工业易用性[6]㊂通过网络状态机实现对网络设备和状态的统一管理㊂鉴于P OW E R L I N K 安全可靠的实时以太网通信功能和锐华嵌入式实时操作系统(R e W o r k s)的国产化广泛应用[7],本文采用F P G A 硬核方案,基于R e W o r k s 对P OW -E R L I N K 协议栈进行适配集成㊂在龙芯2K 1000国产硬件平台[8]上实现了P OW E R L I N K 实时以太网双网冗余主站,并提供更符合工控应用开发㊁调试的工控运行时软件㊂R e W o r k s 是华东计算技术研究所自主研制的国产高性能㊁可裁剪的嵌入式实时操作系统[9-10]㊂产品通过了工业和信息化部赛宝软件测评中心㊁信息产业部华东工程软件测评中心以及总装备部测评机构的第三方软件测试,支持P o w e r P C ㊁X 86㊁A R M ㊁龙芯㊁飞腾㊁C s k y 等主流处理器架构,目前广泛应用于国防电子㊁工业控制以及轨道交通领域㊂1 P O W E R L I N K 实时以太网主站设计1.1 P O W R E L I N K 实时以太网主站开发系统P OW E R L I N K 实时以太网主站开发系统采用国产冗余实时以太网主站控制器硬件平台,基于锐华嵌入式实时操作系统,装载华元创信工业控制器运行时环境软件,配套华元创信工业控制应用软件集成开发环境A u t o X ,可面向自动化控制㊁机器人和C N C 系统等工业领域应用㊂主站硬件平台采用龙芯2K 1000处理器,可支持多种工业现场总线协议和实时以太网㊂P OW E R L I N K 实时以太网双网冗余主站开发系统总体架构如图1所示㊂图1 R e W o r k s实时以太网主站开发系统架构图图2 基于R e W o r k s 的P O W E R L I N K 双网冗余主站示意图华元创信工业控制器运行时环境软件基于锐华嵌入式实时操作系统的实时内核㊁R M S 定时器㊁C L B 协同总线㊁动态加卸载等基础服务,集成P OW E R L I N K 应用层C A N o pe n 协议栈,对外提供周期任务管理㊁变量运行时监控㊁远程变量映射和故障管理服务㊂华元创信工业控制应用软件集成开发环境A u t o X 主要面向工业应用开发,通过与运行时软件通信可以提供下装㊁任务与变量管理和运行时调试等功能㊂1.2 P O W R E L I N K 实时以太网主站架构基于R e W o r k s 的P OW E R L I N K 双网冗余主站实时网络通信协议包括物理层㊁数据链路层和应用层㊂物理层由两个符合I E E E 802.3标准以太网的P H Y 控制器和R J 45连接器构成㊂数据链路层主要通过F P G A 实现,包含冗余网络多路数据选择器㊁以太网MA C 控制器㊁数据缓存区㊁P OW E R L I N K 状态机和控制寄存器㊂缓存区分为同步数据缓存区和异步数据缓存区;P OW E R L I N K 状态机由D L L 数据链路层状态机㊁寄存器命令解析㊁事件缓存队列㊁接收数据帧解析和NM T 主站网络管理状态机构成;寄存器包括P OW E R L I N K 协议栈状态机控制寄存器组㊁数据包统计寄存器组和发送接收控制寄存器组㊂应用层包括在R e W o r k s 操作系统中实现的C A N o p e n 协议栈和工控运行时软件,其中,C A N o p e n 协议栈主要由对象字典㊁P D O 通信㊁S D O 通信和NM T 状态机管理构成,工控运行时软件提供变量监控/记录/强制㊁网络日志服务㊁双缓冲远程变量映射和周期/非周期/同步任务等服务㊂基于R e W o r k s 的P OW E R L I N K 双网冗余主站示意图如图2所示㊂主站运行时软件通过周期任务管理实现过程控制,中断同步任务与P OW E R L I N K 网络通信中断同步可以处理P OW E R L I N K 周期内的数据㊂用户自定义的输入输出变量通过双缓冲远程变量映射,在每个应用运算周期将数值同步到远程I /O 地址㊂为方便用户调试周期任务中快速动态变化的变量,提供运行时变量监控㊁变量追踪和变量强制功能㊂主站控制器运行过程中的异常故障信息将通过网络日志服务上传给上位机㊂C A N o pe n 协议栈初始化时需要通过解析C D C 配置文件对从站组网进行配置,包括NM T 状态机管理和服务数据对象S D O ㊂变量映射的数据都是C A N o p e n 协议栈中对象字典里的过程数据对象P D O ㊂P OW E R L I N K 协议栈的状态机控制寄存器组用于C P U 控制网络管理状态机的转换,数据包寄存器组统计主站当前接收到的各种类型数据帧的个数,发送接收控制寄存器组用于C P U 获取当前接收数据帧状态,控制同步及非同步数据的发送㊂事件缓存队列存放D L L 状态机切换事件㊁接收网络数据帧通信事件和由寄存器组传来的控制命令事件,NM T 网络管理状态机从事件缓存队列中取出事件进行处理,完成状态跳转㊂同步数据缓存区用于保存C P U 需要发送的同步数据及主站接收到的同步数据;异步数据缓存区用于保存C P U 需要发送的异步数据及主站接收到的异步数据㊂HU B /多路数据选择器同时将数据帧分发到两个网口P H Y 进行发送㊂接收数据时,通用主站的HU B 将数据帧分别转发到以太网MA C 控制器和另一个网口P H Y ,双网冗余主站的多路数据选择器将选择其中一路有效数据帧转发给以太网MA C 控制器㊂1.3 冗余实时以太网协议(1)P O W E R L I N K 实时以太网通信P OW E R L I N K 采用主从控制方式,指定一个具有网络管理功能的主站管理节点(节点号240),其他节点称为从站受控节点(节点号为1~239)㊂数据链路层采用时间槽网络通信管理协议将通信周期划分为不同的时间段,并且把这些专用时间段分配给异步数据和等时同步数据信道㊂网络的通信周期可以划分为三个阶段:等时同步阶段㊁异步阶段和空闲阶段㊂等时同步阶段用来传输周期性的实时数据,从管理节点以广播方式向受控节点发送周期起始报文(S o C )开始,到异步起始报文(S o A )准备发送截止,主要用于启动新周期和同步各个受控节点的时间,以周期的方式交换数据,为确保周期时间的一致性,由主站进行实时监控,实时以太网周期通信图如图3所示㊂图3 实时以太网通信周期图时间槽网络通信管理协议提供请求/应答模式(P r e q/P r e s 模式)进行等时同步数据通信㊂首先需要在主站中配置等时同步的受控节点,以及每个等时同步受控节点要发送和接收的周期性数据㊂管理节点发布同步帧同步所有受控节点,各个受控节点收到S o C 同步帧后进入数据通信等待状态㊂在进入等时同步阶段后,管理节点单播发送轮询请求(P r e q )数据帧,根据配置窗口中相应的从节点接收数据帧,从节点以广播形式上报一个轮询响应(P r e s)数据帧,完成一次数据通信,而其他从节点不响应这个P r e s 数据帧㊂以此类推,管理节点将所有的从节点扫描一次,即完成一个等时同步阶段㊂异步阶段是在等时同步阶段完成后,由管理节点向受控节点广播异步起始报文(S o A )触发开始,用来发送非周期且实时性要求不高的数据㊂P OW E R L I N K 实时以太网报文类型如表1所列㊂表1 P O W E R L I N K 实时以太网报文类型表报文类型标识I D 说明周期起始S o C主站发出同步通信开始广播数据轮询请求P R e q 主站发出的同步请求单播数据轮询响应P R e s 从站发出的同步响应广播数据异步开始S o A 主站发出异步通信开始广播数据异步发送A S n d 主站和从站发送的异步广播数据P OW E R L I N K 协议的数据链路层和多路选择器通过F PG A 实现㊂协议栈设置硬件定时器的时间间隔,周期触发中断通知协议栈开始通信周期㊂P OW E R L I N K 双网冗余协议栈在R e W o r k s 系统中主要包含对象字典与C D C文件解析㊁S D O 服务数据对象通信㊁P D O 过程数据通信和双网冗余多路数据选择器㊂(2)对象字典与C D C 文件解析C A N o pe n 协议对象字典是P OW E R L I N K 协议栈和用户交互的主要方式㊂P OW E R L I N K 协议栈将从网络上接收的数据放入对象字典,将用户应用层需要输出的数据从对象字典中取出并发送到网络㊂对象主要包括通信对象和设备对象,其中通信对象是设备与应用之间统一的访问方式,设备对象则是根据具体不同的设备协议定义不同的对象㊂对象字典是由主对象索引表和子索引表构成㊂主对象索引表提供快速定位,子对象索引表提供具体对象的定义㊂对象字典主索引数据结构如下:t y pe d ef s t r u c t { U I N T i n d e x;/*对象索引标识*/ t O b d S u b E n t r yP t r p S u b I n d e x ;/*对象子索引区域*/ U I N T c o u n t;/*子索引数量*/t O b d C a l l b a c k p f n C a l l b a c k;/*对象访问回调函数*/}t O b d E n t r y;对象字典子索引数据结构如下:t y pe d ef s t r u c t { U I N T s u b I n d e x;/*对象子索引标识*/t O b d T y p e t y pe ;/*对象数据类型*/t O b d A c c e s s a c c e s s;/*对象访问类型*/ C O N S T v o i d R OM*p D e f a u l t ;/*默认数据区域*/ v o i d M E M*p C u r r e n t;/*内存数据区域*/}t O b d S u b E n t r y;对象字典初始化参数数据结构如下:s t r u c t _t O b d I n i t P a r a m {t O b d E n t r y P t r p G e n e r i c P a r t ;/*对象字典通用区域*/ U I N T 32n u m G e n e r i c;/*通用区域对象条目数量*/t O b d E n t r yP t r p M a n u f a c t u r e r P a r t ;/*制造商自定义区域*/U I N T 32n u mM a n u f a c t u r e r; /*自定义区域对象条目数量*/ t O b d E n t r yP t r p D e v i c e P a r t ;/*对象字典设备区域*/ U I N T 32n u m D e v i c e;/*设备区域对象条目数量*/};通过解析上位机生成的网络C D C 配置文件来配置网络拓扑㊁主站的通信参数㊁各从站的通信和映射及循环周期等参数,完成应用层用户变量和对象字典中对象的链接㊂从站配置参数主要包括从站节点个数㊁各节点配置的P D O 个数以及P D O 的映射参数㊁从站节点中当前应用变量与过程镜像的绑定等信息㊂(3)S D O 服务数据对象通信C A N o pe n 协议的S D O 服务数据对象通信用于P OW E R L I N K 主站和从站进行异步数据通信,使用P OW E R L I N K 模式通信中的非周期通信过程完成㊂S D O 模块负责访问受控节点的对象字典,需要非周期性传输㊁实时性要求不高的数据,S D O 通过异步阶段A S n d 通信方式传输配置㊂S D O 通信主要发生在预运行通信状态中,S D O 服务数据对象通信流程如图4所示㊂图4 S D O服务数据对象通信流程图图5 P D O 过程数据对象通信流程图(4)P D O 过程数据对象通信C A N o pe n 协议的P D O 过程数据对象通信负责管理组装和分派过程通信数据到链路层,传输需要周期性㊁实时传输的数据㊂在每个通信周期内,循环驱动会通知数据链路层提供数据,需要P D O 模块进行过程数据组装㊂数据交换完成后,从受控节点返回的数据则是由P D O 模块进行映射和分发㊂P D O 过程数据对象通信流程如图5所示㊂(5)双网冗余多路数据选择器冗余网络拓扑结构符合高安全领域对通信可靠性的要求㊂基于R e W o r k s 的P OW E R L I N K 双网冗余主站,采用数据选择器收发冗余网络数据,数据发送时,选择器自动复制数据帧在两个网络中同时发送;接收数据时,选择器通过分析网络报文的时间戳㊁数据缓存㊁网络状态,根据策略选择正确的报文,保证数据帧的正确性,数据选择器工作示意图如图6所示㊂图6 数据选择器工作示意图2 P O W E R L I N K 主站功能验证2.1 测试环境搭建本文设计的基于锐华(R e W o r k s)嵌入式实时操作系统的P OW E R L I N K 主站方案已应用于华元锐华工业网关控制器,硬件配置如表2所列,实物如图7所示㊂表2 华元锐华工业网关控制器硬件参数表项 目说 明C P U 龙芯2K 1000内存2G B以太网2路100M /1000M存储32G B 电子盘,支持D O S F S 文件系统串口1路R S 232调试串口1路R S 422/485串口,支持M o d B u s R T UP OW E R L I N K 2路P OW E R L I N K 网口,支持双网冗余E t h e r C A T 1路E t h e r C A T 网口,支持主站C A N 1路,符合C A N 2.0B ,支持C A N o p e n D I O 8路D I 隔离,输入电压24V8路D O 隔离,输出电压5V ,100m A显示V G A 1600ˑ1200高分辨率,支持Q T 5.5U S B2路U S B 2.0H O S T为验证华元锐华工业网关控制器P OW E R L I N K 主站组网通信与开发调试等综合功能,并体现高安全领域的有效性,给出典型双网冗余参考设计㊂采用基于R e W o r k s图7 基于R e W o r k s 的P O W E R L I N K 主站控制器实物图的P OW E R L I N K 主站控制器,通过两个专用HU B 组网,分别连接M C U 冗余从站㊁i M X 6冗余从站㊁I /O 和伺服控制器等,搭建安全关键领域冗余架构的参考设计及其测试环境,形成P OW E R L I N K 双网冗余运动控制系统㊂2.2 功能测试(1)P O W E R L I N K 网络初始化P OW E R L I N K 网络通信分为初始化状态和周期同步通信状态㊂P OW E R L I N K 网络通信初始化可以通过W i r e -s h a r k 抓包工具,查看分析网络报文㊂根据P OW E R L I N K协议标准,在网络初始化过程中可以看到以下过程:①主站发送异步广播指令S o A ,请求将网络上的从站状态切换到P R E _O P E R A T I O N A L _1状态,A S n d 获取网络上的从站信息,W i r e s h a r k 抓包如图8所示㊂图8 主站广播请求从站切换P r e O P 1状态W i r e s h a r k 抓包截图②从站接收到主站的广播指令,将状态切换到P R E _O P E R A T I O N A L _1后,向网络上广播从站信息㊂截图如图9所示㊂图9 从站2广播切换到P r e O P 1状态后W i r e s h a r k 抓包截图③主站接收到从站信息后,根据配置向指定节点发送S D O 数据配置从站,W i r e s h a r k 抓包如图10所示㊂图10 主站向从站2发送S D O 配置报文W i r e s h a r k 抓包截图④从站接收到配置数据,完成配置,从站状态切换到P R E _O P E R A T I O N A L _2,并向网络上广播从站状态数据,W i r e s h a r k 抓包如图11所示㊂⑤主站开始广播周期起始同步通信命令S o C ,并在异步通信阶段,发送广播数据请求从站切换到O P E R A -T I O N 状态,W i r e s h a r k 抓包如图12所示㊂图11 从站2广播切换到P r e O P 2状态W i r e s h a r k抓包截图图12 主站广播请求从站切换O P 状态W i r e s h a r k 抓包截图⑥从站接收到命令,完成O P 状态切换并发送P r e s 广播状态,W i r e s h a r k 抓包如图13所示㊂图13 从站2广播切换O P 状态W i r e s h a r k 抓包截图(2)P O W E R L I N K 网络周期同步通信P OW E R L I N K 网络初始化完成后进入同步通信状态㊂网络周期同步通信分为等时同步阶段㊁异步阶段和空闲阶段,同步阶段以主站发送S o C 广播指令开始,异步阶段以主站发送S o A 指令开始,通过K U N B U S 网络分析仪同时抓取两个网络的通信报文,P OW E R L I N K 网络周期同步通信W i r e s h a r k 抓包如图14所示㊂图14 P O W E R L I N K 周期同步通信W i r e s h a r k 抓包截图双网冗余的相同帧在两个网络中能同步抓到,从一组S o C 到下一组S o C 为完整的一个网络通信周期,从W i r e -s h a r k 抓包数据可以看出,等时同步阶段:从主站发送S o C 广播指令开始,主站依次发送P r e q 单播指令数据到从站,从站响应发送P r e s 广播指令㊂异步阶段:主站发送A S n d 广播指令数据,无应用请求㊂由图14可知,基于R e W o r k s的P OW E R L I N K 主站带8个从站组网通信周期最短可达到600μs㊂(3)双网冗余切换P OW E R L I N K 主站控制器正常启动后,可以看到图14中P OW E R L I N K 周期同步通信W i r e s h a r k 抓包截图中存在两条同时到达的相同的数据包㊂拔掉一根与HU B 与K U N B U S 网络分析仪之间的网线,通过W i r e s h a r k 抓包查看存在一个网络中的单条数据包交互,并且在1m s 的通信周期内完成了网络切换,说明P OW E R L I N K 网络仍然在正常通信㊂P OW E R L I N K 双网冗余切换W i r e -s h a r k 抓包截图如图15所示㊂图15 P O W E R L I N K 双网冗余切换W i r e s h a r k 抓包截图3 结 语本文设计实现了一种基于国产锐华(R e W o r k s)嵌入式实时操作系统的P OW E R L I N K 双网冗余实时以太网主站方案,并在国产龙芯2K 1000网关控制器上进行功能验证测试㊂测试结果表明,该主站方案及网关控制器具有高可靠性㊁高实时性且方便开发调试等特性,为高安全实时控制与通信的工业控制㊁轨道交通㊁机器人运动控制等领域提供基础平台㊂下一步可结合边缘计算与人工智能等技术对实时以太网数据进行分析整合,为 新基建 智能制造提供有力支撑㊂参考文献[1]代飞,吴金勇.基于V x W o r k s 操作系统的P OW E R L I N K 研究与实现[J ].机车电传动,2016(1):6770.[2]林志祥,张天宏.A RM 的嵌入式以太网通信分析与实时性改进[J ].单片机与嵌入式系统应用,2018,18(3):2328.[3]伍一帆,石旭刚,黄秀珍,等.解决以太网协议实时性的几种方案[J ].单片机与嵌入式系统应用,2008(10):811.[4]崔惠珊.基于P o w e r L i n k 的计算机联锁系统执行层设计[J ].铁道通信信号,2020,56(10):710.[5]赵赛,张凯龙.工业实时以太网E t h e r n e t P OW E R L I N K 机制研究[J ].自动化仪表,2020,41(6):5256.[6]E t h e r n e t P OW E R L I N K C o mm u n i c a t i o n P r o f i l e S pe c if i c a t i o n -V e r s i o n l .10.E P S G D r a f t S t a n d a r d 301,2008.[7]何小庆.国产嵌入式操作系统发展思考[J ].单片机与嵌入式系统应用,2019,19(12):45,10.[8]徐意泊,陈富浩,丁振华,等.基于国产龙芯2K 1000龙芯派的内核系统启动[J ].现代信息科技,2018,2(12):2934.[9]王帅,杜刚,杨超.国产平台的机载嵌入式软件仿真验证技术[J ].单片机与嵌入式系统应用,2020,20(2):57,11.[10]王帅,杜刚,陈琪.国产化操作系统R e w o r k s 的嵌入式网关软件设计[J ].单片机与嵌入式系统应用,2017,17(3):1822.黄河(工程师),主要研究方向为嵌入式系统㊁工业控制㊁机器人;杜坚(工程师),主要研究方向为工业控制;任见㊁方国好(助理工程师),钱晨(高级工程师):主要研究方向为嵌入式系统设计㊂通信作者:黄河,ye l l o w r i v e r @n t e s e c .c o m.c n ㊂(责任编辑:薛士然 收稿日期:2021-02-25)表1 进程㊁容器㊁虚拟机之间比较特性进程容器虚拟机空间隔离支持,一级MMU 支持,一级MMU支持,两级MMU进程隔离不支持支持支持文件/网络隔离不支持支持支持操作系统共享O S 共享O S独立O S 虚拟程度轻型轻型重型性能好接近宿主机本地进程弱于宿主机容器镜像小,启动速度快,部署便捷,相比虚拟机更适用于嵌入式系统㊂但是由于容器共享操作系统内核,因此安全隔离性不如虚拟机,而且稳定性还处于发展中,更新频繁㊂在强调实时性㊁安全可靠性的嵌入式系统中,需要深入研究容器实时性能及安全技术㊂参考文献[1]汪恺,张功萱,周秀敏.基于容器虚拟化技术研究[J ].计算机技术与发展,2015,25(8):138141.[2]吴松,王坤,金海.操作系统虚拟化的研究现状与展望[J ].计算机研究与发展,2019,56(1):5868.[3]张礼庆,郭栋,吴绍岭,等,一种最大化内存共享与最小化运行时环境的超轻量级容器[J ].计算机研究与发展,2019,56(7):15451555.[4]谷德贺,顾乃杰,刘博文,等.基于L X C 的A n d r o i d 系统虚拟化技术[J ].计算机系统应用,2017,26(12):5863.[5]L X C L i n u x C o n t a i n e r s [E B /O L ].[202012].h t t ps ://l i n u -x c o n t a i n e r s .o r g/.[6]王鹃,胡威,张雨菡,等.基于D o c k e r 的可信容器[J ].武汉大学学报(理学版),2017,63(2):102108.通信作者:虞保忠,y u b a o z h o n g @z ju .e d u .c n ㊂(责任编辑:薛士然 收稿日期:2020-12-28)。
各种工业以太网的区别其实就是协议的区别,其中最主要的还是应用层协议的区别.都是以太网通讯,只是每个公司的叫法不一样,西门子用PROFINET、AB用EthernetIP、施耐德的MODBUSTCP/IP.取个例子,以太网就像高速公路,Ethernet/IP、Profinet、ModbusTCP/IP分别像高速公路上的宝马、奔驰、奥迪车,都可以从一个城市把物品运送到另一城市.但是每个车上安装的零件无法和另一车上的零件进行更换.EtherCAT以太网控制自动化技术是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomationTechnology控制自动化技术首字母的缩写.最初由德国倍福自动化有限公司BeckhoffAutomationGmbH研发.EtherCAT为系统的实时性能和拓扑的灵活性树立了新的标准,同时,它还符合甚至降低了现场总线的使用成本.EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议SIL3. Ethernet/IP是一个面向工业自动化应用的工业应用层协议.它建立在标准UDP/IP与TCP/IP协议之上,利用固定的以太网硬件和软件,为配置、访问和控制工业自动化设备定义了一个应用层协议西蒙公司开发Ethernt/IP属于ODVA组织,Rockwell只是其中一个推广力度比较大的公司而已.施耐德也是ODVA组织的成员,施耐德所有PLC都可以支持Ethernt/IP协议.Ethernt/IP协议是十大总线之一,和Controlnet、Devicenet一起称为CIP总线.可以实现协议间路由,但是需要Rslinx软件进行配置.通讯时需要设置RPI参数,没有任何客户端的反馈信息,因此不管现场客户端是否收到数据,数据一致由服务器不断的发,缺少相应的检测.PROFINET由PROFIBUS国际组织PROFIBUSInternational,PI推出,是新一代基于工业以太网技术的自动化总线标准.作为一项战略性的技术创新,PROFINET为自动化通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技术,可以完全兼容工业以太网和现有的现场总线如PROFIBUS技术,保护现有投资.PROFINET是适用于不同需求的完整解决方案,其功能包括8个主要的模块,依次为实时通信、分布式现场设备、运动控制、分布式自动化、网络安装、IT标准和信息安全、故障安全和过程自动化.MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品.显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS 报文的用途.协议的最通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O 模块的网关服务的.MODBUS/TCP协议是作为一种实际的自动化标准发行的.既然MODBUS已经广为人知,该规范只将别处没有收录的少量信息列入其中.然而,本规范力图阐明MODBUS中哪种功能对于普通自动化设备的互用性有价值,哪些部分是MODBUS作为可编程的协议交替用于PLC’s的“多余部分”.它通过将配套报文类型“一致性等级”,区别那些普遍适用的和可选的,特别是那些适用于特殊设备如PLC’s的报文.ModbusTCP/IP由ModbusIDA组织提出,有施耐德旗下的Modicon公司主推,在目前施耐德所有PLC产品中都支持,同时也支持Ethernet/IP协议,ModbusTCP/IP是免费的、全开放协议,可以用VB等高级编程语言调用winsock控件即可实现与PLC的数据通讯,因此,很多产品都支持该协议.同时利用该协议进行通讯时,可以得到客户端的数据校验返回,因此可靠性和安全性较高,当然牺牲了数据量.POWERLINK=CANopen+Ethernet鉴于以太网的蓬勃发展和CANopen在自动化领域里的广阔应用基础,EthernetPOWERLINK融合了这两项技术的优点和缺点,即拥有了Ethernet的高速、开放性接口,以及CANopen在工业领域良好的SDO和PDO数据定义,在某种意义上说POWERLINK就是Ethernet上的CANopen,物理层、数据链路层使用了Ethernet介质,而应用层则保留了原有的SDO和PDO对象字典的结构虽然这些工业以太网都是国际标准,但是指的是IEC61784里的标准,但是这些工业以太网不都是标准的以太网.即这些工业以太网并不都是符合IEEE802.3U的标准,这当中只有Modbus-TCP和EtherNet/IP是符合IEEE802.3U的,只有符合IEEE802.3U标准的,才能与IT 和以太网将来的发展相兼容.而不符合IEEE802.3U标准的,基本上可以讲不是以太网,它们都对以太网进行了修改,或者是硬件或者是软件,已经不是以太网了.a.ModbusTCP和EtherNet/IP的区别主要是应用层不相同,ModbusTCP的应用层采用Modbus 协议,而EtherNet/IP采用CIP协议,这两种工业以太网的数据链路层采用的是CSMA/CD,因此是标准的以太网,另外,这两种工业以太网的网络层和传输层采用TCP/IP协议族.还有一个区别是,Modbus协议中迄今没有协议来完成功能安全、高精度同步和运功控制等,而EtherNet/IP有CIPSafety、CIPSync和CIPMotion来完成上述功能,所以才有Schneider 加入ODVA,成为ODVA的核心成员来推广EtherNet/IP.由于这两种网络都是标准的TCP/IP 以太网,所以所有标准以太网节点都可以接入这两种网络.b.PROFINET分为原来划分为v1,v2,v3,现在一般称为ProfiNetCBA、ProfiNetIO和ProfiNetIRT.也就是通过以太网来实现对等通讯、实时控制和运动控制.v1采用TCP/IP协议,采用标准的以太网,而V2和V3不采用tcp/ip协议,这两种都绕过tcp/ip协议,采用另外的网络层和传输层协议,开发ProfiNet采用开发人员人员认为tcp/ip协议增加了数据在网络中的传输延迟,其实这是一种误解,据美国密歇根大学的教授研究后认为数据在TCP/IP 中的传输延迟很小,他们研究得出数据在经过TCP,IP栈时延迟只有不到100微秒,如果采用UDP/IP时就更小,同时他们研究也得出数据在不同应用层延时比较大,不同的协议延迟不一样,但是相差不是很大,从200us-800us不等,他们经过实验后认为以太网的基础设施指交换机、网卡等和TCP/IP协议并不是影响工业以太网实时性的主要原因,而认为应用层协议才是主要原因.所以密歇根大学的教授认为绕开TCP/IP协议没有丝毫的意义,反而由于缺少了TCP/IP协议,使得设备也就缺少了IT功能,与其它现场总线没有区别.ProfiNetV3就更特别了,它不完全采用标准以太网的数据链路层,有一不时间采用以太网的数据链路层CSMA/CD,而另外一部分时间采用自己的数据链路层,通过一个高精度的时间来完成.所以ProfiNetV3也就不是标准的以太网了,也就给Profinetv3带来如下的问题:不能采用标准的交换机、不能采用标准的以太网芯片、与企业网相连可能会出现问题,与标准以太网相连还要特殊的网关、添加和删除一个节点都需要重新组态网络和重新启动网络、至今没有千兆网络,还有最重要的是,当标准以太网以后发展了后,它不能与标准以太网相兼容,不具有将来以太网所应具有的功能.c.EtherCat这种工业以太网也很奇怪,它们不使用标准的芯片,一般不使用交换机,软件也不是标准的,对以太网的数据帧进行了一些修改,我们知道一个数据帧只有一个源节点,但是对于EtherCat一个数据可能有多个源节点,即一个数据是由多个节点发送的数据组合而成的.所以对于这样的网络,标准的以太网设备也不能接入这样的网络.我认为Ethernet/IP和ProfiNet这两种工业以太网都适合各个行业.首先这两种工业以太网都用于传输非实时数据,还可传输实时数据,即可以用于离散控制,也可用于过程控制当然现在还不能用于本安应用.其次,这两种工业以太网都可用于网络功能安全传输,Ethernet/IP有CIPSafety协议,而ProfiNet有Profisafe协议,还有在运动控制方面ProfiNet有ProfiNetIRT,而EtherNet/IP则有CIPSafety,二者都可以用于中高端的运动控制.最后两者都有基于IEEE1588的高精度时钟同步.而ModbusTCP,EtherCat和PowerLink,都只能完成部分控制任务,如ModbusTCP一般只作常规IO实时和非实时数据.而EtherCat 和PowerLink则更象是为运动控制而开发的,这二者好像没有功能安全、在PLC和DCS控制方面也没有得到大自动化公司的支持,况且这两者又对以太网进行修改,一个在软件,另一个在软件和硬件方面都进行了修改,都不能兼容标准的以太网设备,个人认为这样做得不偿失,为满足运动控制而不能兼容已有的标准的以太网设备而开发的工业以太网并不是以太网,与其说是工业以太网还不如说是另一种现场总线.我认为工业以太网的竞争将会在Ethernet/IP和ProfiNet间进行,其中EtherNet/IP以后将由罗克韦尔自动化、Omron、施耐德和思科公司来推动,而ProfiNet将由业界老大西门子公司带领,不知谁将引导未来.最后一定是大西洋两岸的两大巨人之间的角力,就像以前的现场总线战争,最后还不是Profibus和DeviceNet,别的都只能当陪衬的角色当然,现在大家都在看中国这个大西洋两岸以外的单一最大市场,中国把砝码放在谁这一边,可能会使天平倾斜一点.但最后,肯定两者都会存在的.现实中选择什么厂家的PLC,建议选择对应的以太网协议,除了施耐德和Rockwell的PLC都支持Ethernet和ModbusTCP/IP协议外施耐德在两个协议支持上做的更好,目前都没有任何网关产品可以实现Profinet与其它协议的转换.即便有相应的网关,不论成本增加了多少,还牺牲了实时性.因此,建议选择什么PLC,选择相应的以太网即可.性能在目前的所有控制系统中差别不大.。
EPL工业以太网协议性能分析及其在DCS系统中的应用的开题报告1. 研究背景与意义随着工业自动化技术的不断发展,工业以太网协议作为数据传输的重要手段,在工控系统中得到了广泛应用。
其中,EPL(Ethernet Powerlink)工业以太网协议以其高实时性、高可靠性和灵活性等优点,成为DCS(分散控制系统)系统中广泛使用的通讯协议。
EPL工业以太网协议的性能分析,对于了解其通讯机制、接口设计、网络拓扑结构以及误码率等指标,对于提高其稳定性和性能具有极大的实际意义。
因此,在现代制造业的发展中,EPL工业以太网协议的建设和研究是必不可少的。
2. 研究内容(1)EPL工业以太网协议了解EPL协议的技术背景、工作原理、通讯机制和特点,对网络架构及通讯速度、误码率等指标进行分析。
对与EPL协议相关的标准进行研究。
(2)EPL在DCS系统中的应用探讨EPL在DCS系统中的应用,阐述其使用场景、通讯需求以及应用优势。
(3)EPL协议性能测试设计并实现EPL协议性能测试,针对误码率、通讯速度、通讯稳定性等指标进行分析和测试。
(4)EPL协议的应用案例通过对现有DCS系统中EPL协议的应用案例进行分析,了解其实际应用情况,以及存在的优点和不足。
3. 研究方法(1)文献资料法通过查阅大量文献、标准和规范,了解EPL协议的相关知识和技术特点。
(2)模拟仿真法利用EPL协议通讯模拟软件,对协议性能进行模拟分析,并进行仿真实验。
(3)实验测试法设计并实施实验室测试环境,对EPL协议的性能进行测试分析。
4. 研究计划(1)文献调查与资料整理(1个月)阅读相关文献,了解EPL协议的技术背景、工作原理、通讯机制和特点,总结其使用场景、通讯需求以及应用优势。
(2)EPL协议性能测试设计(2个月)设计和实现EPL协议的性能测试,包括误码率、通讯速度、通讯稳定性等指标的测量和分析。
(3)仿真模拟与数据分析(2个月)利用EPL协议通讯模拟软件,对协议性能进行模拟分析,并通过数据分析进行结果的整理和统计。
实时以太网Ethernet PowerLink技术综述一、工业控制中对实时以太网的需求工业中对实时以太网的需求主要有两个指标:一是实时性,二是抖动性能。
1.1实时性什么是实时性,实时性不等于高性能。
在工业控制领域,实时可定义为系统对某事件的响应可以再可预测的时间内完成。
即实时性是指系统可以在一个预定的时间范围内做出相应的响应。
至于预定的时间范围则和具体的应用相关。
根据应用需求一般把实时性划分为四个级别,如下表1所示。
表1 工业自动化领域中各应用场合对实时性的要求应用场合实时响应时间信息集成度较低的过程自动化应用场合>100ms绝大多数的工厂自动化应用场合1-100ms高性能的运动控制应用100us-1ms高动态同步过程<100us如表1所示,信息集成度较低的过程自动化应用场合(如化工工程工业)中,一般响应在秒级/()100ms)就可以满足系统的实时性要求;而在绝大多数工厂自动化应用场合一般5-10ms响应时间就可以满足要求了;但是在在高性能同步运动控制(高速过程、机器人)中一般是需要小于1ms的实时响应时间才能满足系统的要求;另外将高动态同步过程等实时性要求更高(<100us)的应用划为第四个等级。
1.2抖动抖动即同样过程每次完成时间的偏差。
可以理解为时间精度,如下图1所示。
图 1 抖动时间示意图根据工业自动化开放网络联盟(IAONA)的定义实时性中网络抖动可以分为四个级别,如下表2.2所示表2.2 IAONA规定的网络抖动时间等级1.3通信周期一般来说,控制系统程序都是以周期循环的方式运行,在一个周期内,获取数据,然后完成计算任务,接着输出数据,这样进入下一个周期。
显然,控制系统时间周期是由被控对象来确定的,对于化工过程控制以1秒作为时间周期基本上就能满足要求了,可是对于高速过程就得以小于1ms的时间作为周期才能满足系统要求。
对于联网设备来说,一般系统的运行周期与通信周期相对应是比较合适的。
因为对于化工过程控制400us的通信周期显然并不比1s的通信周期能提高系统的整体性能。
但是在位置控制、多轴联动等过程中,更快的数据交换速率显然是可以提高系统的整体性能的。
二、PowerLink的技术特点PowerLink主要有两方面的技术特点:一是实现了与IT技术的无缝连接,可以继续使用IP协议族;另一方面是开发了新的网络协议栈取代了传统的TCP/IP 协议栈,从根本上实现了网络数据的实时有效管理。
这两方面并不矛盾,在下一节再作说明。
2.1实现与IT技术的无缝连接PowerLink通信模型采用3层结构,其与ISO参考模型的对照如下图2所示。
ISO参考模型PowerLink通信模型由于PowerLink的底层是并采用IEEE802.3u标准,所以在中间层、以及顶层,可以实现IT技术的链接。
通过中间层的管理,系统可以在规定的时间内使用FTP、HTTP等非实时模块协议来通信。
2.2新的网络协议栈PowerLink底层使用的是快速以太网标准,但是快速以太网不能避免数据的碰撞。
为此,PoweLink使用SCNM(Slot Communication Network Management)机制来避免数据碰撞。
如下PowerLink的协议栈示意图,数据链路层的逻辑链路子层、NMT模块、SDO序列以及UDP、TCP、IP组成了协议栈的中间层(数据传输服务层)。
应用层数据分三类到达数据链路层的逻辑链路子层,即:PDO、SDO和IP数据包。
PDO属于实时数据,会立即经由数据链路层发出;SDO属于网络网管理数据,首先到达SDO序列,然后在规定时间直接发往数据链路层,或者由UDP在异步阶段发往数据链路层;IP数据包(包括TCP和UDP)一律中异步阶段发送。
数据的接受也是遵循类似的优先级。
图3 POWERLINK 通信栈结构示意图三、 PowerLink 的报文格式由于PowerLink 底层采用IEEE802.3u 标准,所以PowerLink 帧具有标准的以太网头部和尾部(14+4字节)。
另外PowerLink 首部有3字节,分别是:SID 、DA 和SA 。
SID 即Server Identity ,指明PowerLink 的服务类型,可取值为:SoC 、PReq、PRes 、SoA 、ASnd (其具体的含义参见下一节)。
DA ,SA 分别为目标地址、源地址(即节点号)。
图 4 PowerLink 帧格式应用层数据之后还有四字节的CRC (及以太网标准尾部)。
下面分别说明SoC 、PReq 、PRes 、SoA 、ASnd 帧格式,以整个帧的第14位()为0偏移位来说明这五种帧。
所以,对于第0、1、2字节(即EPL首部)不再重复说明。
3.1SoC (Start of Cyclic)帧格式SoC帧格式如下图5所示。
图 5 SoC帧格式MS:即Multiplexed Cycle Completed,复用循环完成时翻转(未理解)PS:即Prescaled Slot,此标志为用于慢速节点(即并不是每个周期都动作的节点)NetTime:可选项,为网络时钟,在采用IEEE1558协议时可采用。
RelativeTime:实时时钟,每生成一个SoC就加一次循环时间,在NMT状态机为NMT_GS_INITIALISING状态时归0.3.2PReq(PollRequest)帧格式PReq帧格式如下图6所示。
MS:即Multiplexed Slot。
EA:Exception Acknowledge,错误信号。
RD:Ready,若负载有效,则该位由MN值位。
PDOVersion:负载所使用的PDO编码版本Size:负载的字节数Payload:负载数据图 6 PReq帧格式3.3PRes(PollResponse)帧格式PRes帧格式如下图7所示。
图7 PRes帧格式NMTStatus:报告CN节点现阶段NMT状态机状态。
MS:Multiplexed Slot,其他CN可以获知这一信息。
EN:Exception New,错误信息。
RD:Ready,若负载有效,则该位由MN值位。
PR:Priority,声明异步阶段需发送的信息的优先级。
RS:Request To Send,声明异步阶段需发送的帧数目。
PDOVersion:负载所使用的PDO编码版本。
Size:负载的字节数。
Payload:负载数据。
3.4SoA(Start of Asynchronous)帧格式SoA帧结构如下图8所示。
图8 SoA帧格式NMTStatus:报告MN节点现阶段NMT状态机状态。
EA:Exception Acknowledge,错误信息。
ER:Exception Reset,错误信息。
RequestedServiceID:指明下一个允许发送的异步信息的类型RequestedServiceTarget:指明那个节点允许发送异步信息。
EPLVersion:声明MN的EPL版本号。
3.5ASnd (Asynchronous Send )帧格式ASnd帧结构如下图9所示。
ServiceID:异步帧的类型。
Payload:当前类型的异步帧的负载。
图9 ASnd帧格式四、PowerLink的工作原理4.1拓扑结构一般来说,PowerLink网络可以通过Hub来实现任意拓扑结构,由于任一时刻网络中至多只有一个节点发送数据,所以理论上Hub的数目是不限的(但只允许最多10个Hub级联)。
EPL(Ethernet PowerLink)网络一般不使用网络交换器,因为网络交换器使用网络层协议,会产生更高的系统延时和抖动(Jitter)。
EPL网络的逻辑拓扑结构是环形的,这是由EPL网络的轮询分时机制决定的。
4.2工作模式EPL工作模式分为保护模式、开放模式和基本以太网模式。
保护模式保护模式下,标准以太网设备与EPL网络之间设置网关进行隔离。
这种模式下系统可以适应更为苛刻的实时性要求。
由于存储转发及切换时间的迟延和不确定性,保护模式不允许使用以太网交换机,只能使用基于数据链路层的集线器(要求为单速集线器)。
●开放模式开放模式下允Powerlink 网络中直接连接标准以太网设备,即不需要与以太网分离。
标准以太网设备可以直接访问Powerlink 节点。
当然这种模式仅适合于对实时性要求不高的应用场合。
这种模式网络中下可以使用快速以太网交换机。
●基本以太网模式这时候Powerlink 节点就成为标准以太网设备。
4.3工作原理PowerLink为避免数据冲突(及两个或两个以上节点同时访问总线),采取SCNM机制给个节点分配时间槽。
PowerLink在通信管理上为主从式(M/S)网络中只能有一个主节点(MN)和至多253个控制节点(CN)。
时间槽通信周期包括起始阶段、同步阶段、异步阶段和空现阶段四个阶段,如下图10所示。
四个阶段的时间有MN预先设定,可以不同。
MN负责监督各阶段循环时间,以防止不同阶段发生冲突,一旦发生冲突,MN自动延续到下一循环的开始为止。
●起始阶段起始阶段,MN广播发送SoC(Start of Cyclic)帧,其他CN将接收到此帧的时间作为本节点的时序基础,就此同步。
整个通信周期中,只有SoC帧是时间驱动的,其他的都是事件驱动。
●同步阶段同步阶段,所有节点进行同步信息交换,MN以轮询方式按照预先定义的顺序依次单向的向个CN节点发送PollReq(PollRequest)帧,CN节点响应广播PollRes(PollResponse)帧,其他所有节点(当然也包括那些应该接收此帧的节点)都可以接收、监督此PollRes帧。
所有激活的CN都轮询完毕后,MN 发送EoC(End of Cyclic)帧,结束同步阶段。
●异步阶段异步阶段,节点间交换非实时信息。
MN发送SoA(Start of Asynchronous)帧。
SoA帧用来标记非激活的帧,若某CN有响应,此相应的标记为激活CN。
若某个已激活的节点需要发送非实时信息,则在之前同步阶段的PollRes帧中向MN节点声明,这样MN异步调度器就会安排此节点发送异步信息的时间。
空现阶段空现阶段是异步阶段结束和下一循环开始之间的时间间隔,时间间隔长度是个变量,可以设置为0。
.同步阶段异步阶段空闲阶段图10 EPL通信周期四阶段示意图MN配置有所有网络中的节点列表,MN启动时,所有CN被设置为非激活状态(InActive),在异步阶段的IdentRequest帧(一种特殊的SoA帧)访问所有InActive状态的CN,CN接收到此帧后,在同一异步周期返回identResponse 帧,MN接收到此帧后,将此节点标记为Active状态。
同样新设备的添加或替换标识都是在异步阶段完成的。