工业以太网实时通信的实现.docx
- 文档编号:30008933
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:40
- 大小:359.43KB
工业以太网实时通信的实现.docx
《工业以太网实时通信的实现.docx》由会员分享,可在线阅读,更多相关《工业以太网实时通信的实现.docx(40页珍藏版)》请在冰豆网上搜索。
工业以太网实时通信的实现
新疆大学毕业论文(设计)
题目:
工业以太网实时通信的实现
指导老师:
阿里木江.依明
学生姓名:
张浩群
所属院系:
电气工程学院
专业:
自动化专业
班级:
071班
完成日期:
2011年5月30日
声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
学生签名:
2011年5月30日
新疆大学
毕业论文(设计)任务书
班级:
自动化071姓名:
张浩群
论文(设计)题目:
工业以太网实时通信的实现
专题:
要求完成的内容:
1.了解工业以太网的特点以及所采用的媒体访问控制方式;
2.掌握工业以太网的通信模型的结构;
3.开发一个可用于工业控制网络实时通信的工业以太网通信协议;
4.在实验室进行模拟调试;
5.撰写论文
发题日期:
年月日完成日期:
年月日
实习实训单位:
地点:
论文页数:
页;图纸张数:
指导教师:
教研室主任:
院长:
摘要
本论文主要讨论的是如何设计并实现一种实用的工业以太网硬实时通信协议。
随着企业信息化管理的进一步推广,原来的企业信息孤岛的情况正有所改善,这其中起着重要作用的便是普通以太网与控制网络的结合,而实时以太网的实现将更进一步地推动企业信息化的建设,提高企业的生产效率。
本论文包括以下一些主要内容:
现有的几种实时通信的方法与技术及其各自的利弊、TCP/IP协议的简介及其与以太网通信的关系、工业以太网的CSMA/CD通信机制等等。
关键词:
TCP/IP;实时以太网;CSMA/CD
ABSTRACT
ThisthesismainlydiscusshowtodesignandimplementakindofpracticalindustrialEthernetinhardcommunicationprotocols.Alongwiththefurtherexpansionofenterpriseinformationmanagement,thesituationofquondamenterpriseinformationislandisimproved,whoinwhichplaysanimportantroleisthecombinationofcommonEthernetandcontrolnetwork,andtherealizationofreal-timeEthernetwillfurtherpromotetheenterpriseinformationconstruction,enhancestheenterprise’productionefficiency.Thispaperincludesthefollowingmaincontents:
someexistingreal-timecommunicationmethodandtechnologyandtheiradvantagesanddisadvantages,TCP/IPprotocolintroductionanditsrelationshipwithEthernetcommunication,theCSMA/CDcommunicationmechanismofindustrialEthernet,etc.
keywords:
TCP/IP;Real-TimeEthernet;CSMA/CD
1概述
1.1研究背景
21世纪是信息化的社会,作为人类生存重要依靠的工厂、企业等也面临着信息化带来的挑战和机遇。
以前,在诸如“网络”、“信息化”这类词汇刚进入我们的社会时,工业行业往往是作为一个“信息孤岛”而独立存在着,或者只是小范围的局域网在工业上的应用。
现在,社会对管理和效率的要求越来越高,许多厂家也看到了在工业上开发网络产品,实现企业信息化的商机。
许多应用于工业领域的现场总线产品比如:
Profibus、Modbus等相继被开发出来。
但它们都或多或少的存在些问题,加之各自厂家对自己投资和产品的保护,它们的开放性都不是很好[1]。
在上述问题产生之后,许多专家把眼光投向了被广泛应用的以太网。
以太网的优势体现为以下几个方面。
第一,以太网在全球的广泛应用体现了其本身的开放性;第二,以太网具有更高的带宽,10/100Mbps已成为以太网的标准配置,而且千兆以太网已经成为企业的主干网络。
第三,Internet飞速发展的主要原因在于以太网和TCP/IP协议的广泛应用,TCP/IP协议是极其灵活的,几乎所有的网络底层技术都可用TCP/IP协议实现通信。
然而要满足严格苛刻的工业现场要求,工业以太网要解决的问题是多方面的,包括通信的实时性、可靠性问题、总线供电以及本质安全等[2]。
而在这些问题中,通信的实时性是工业以太网必须解决的关键技术所在,这是以太网应用于工业控制领域的主要障碍。
以太网采用CSMA/CD(CarrierSenseMultipleAccess/CollisionDetection)介质访问机制,这是一种非确定性或随机性通信方式,导致了网络传输延时和通信响应的不确定性[3]。
对于工业控制网络,以太网的这种通信不确定性会导致系统控制性能下降,控制效果不稳定,甚至会引起系统振荡;在有紧急事件发生时,还可能因报警信息不能得到及时响应而导致灾难事故的发生。
为了满足高实时性能应用的需要,提出提升以太网实时性的技术解决方案,具有重要的意义和应用价值。
1.2以太网简介
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用最广的通信协议标准。
以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/s的速率运行在多种类型的电缆上。
以太网符合IEEE802.3系列标准[6]。
以太网不是一种具体的网络,是一种技术规范。
它定义了在局域网(LAN)中采用的电缆类型和信号处理方法。
以太网在互联设备之间以10~100Mbps的速率传送信息包,双绞线电缆10Base-T以太网由于其低成本、高可靠性以及10Mbps的速率而成为应用最为广泛的以太网技术,许多制造供应商提供的产品都能采用通用的软件协议进行通信,开放性良好。
目前又出现了诸如千兆以太网、万兆以太网等,它们与标准以太网的最大区别就是它们的传输速率更快。
如上所述,以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。
以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。
以太网的工作过程如下[7]:
1、监听信道上收否有信号在传输。
如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。
2、若没有监听到任何信号,就传输数据
3、传输的时候继续监听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送一个拥塞序列并返回到监听信道状态。
注意:
每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)
4、若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。
影响以太网在工业控制领域应用的另一个重要原因就是冲突的产生。
冲突是指:
在以太网中,当两个数据帧同时被发到物理传输介质上,并完全或部分重叠时,就发生了数据冲突。
当冲突发生时,物理网段上的数据都不再有效。
由于冲突的存在使得传统的以太网在负载超过40%时,效率将明显下降。
产生冲突的原因有很多,如同一冲突域中节点的数量越多,产生冲突的可能性就越大。
此外,诸如数据分组的长度(以太网的最大帧长度为1518字节)、网络的直径等因素也会影响冲突的产生。
因此,当以太网的规模增大时,就必须采取措施来控制冲突的扩散。
通常的办法是使用网桥和交换机将网络分段,将一个大的冲突域划分为若干小冲突域[4]。
1.3课题的研究目的和研究内容
1.3.1课题的研究目的
本课题研究的主要目的是设计一种简单实用的以太网实时通信协议,从而提高以太网的实时性能,以增强其在工业控制领域应用的能力。
1.3.2课题研究内容
本课题主要研究内容为:
TCP/IP协议的分析及其旁路(为实时消息提供快速通道)、一种新的硬实时通信协议的设计及其实现,具体内容在后面章节将详细介绍。
2实时及其与以太网的关系
2.1实时系统
实时系统贵在实时,要求在规定的时间内完成某种操作。
主要用在工业控制中,实时系统中一般任务数是固定的,有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在系统设计时保证的;软实时则没有那么严,只要按照任务的优先级,尽可能快地完成操作即可。
我们通常使用的系统在经过一定改变之后就可以变成实时系统。
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。
在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。
在“软”实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢。
一些实时操作系统是为特定的应用设计的,另一些是通用的。
一些通用目的的操作系统称自己为实时操作系统。
但某种程度上,大部分通用目的的操作系统,如微软的WindowsNT或IBM的OS/390有实时系统的特征。
这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。
通常,实时操作系统必须有以下特征:
(1)多任务;
(2)有线程优先级
(3)多种中断级别
小的嵌入式操作系统经常需要实时操作系统[8]。
内核要满足实时操作系统的要求。
但其它部件,如设备驱动程序也是需要的,因此,一个实时操作系统常比内核大。
2.2以太网实时通信
工业以太网的实时性有两层含义:
一是指基本控制器的实时性,通常每一台控制器要具备一定的实时性,一般来说,一台控制器所要承担的任务不止一项,但每项任务对实时性均有一定要求,且可能会各不相同,每项任务对实时性的要求将由配置在基本控制器中的“实时多任务管理程序”来承担;二是指通信网络的实时性,工业通信网络中具有通信功能的基本单元通过通信网络联系在一起,这些单元称为“站”,当某个站向通信网络请求通信时,它对“响应时间”是有要求的,不同的站对实时性的要求可能不同,同一站中的不同通信任务对实时性的要求也可能不同。
一般来说,以太网的实时性主要与以下几个方面有关:
(1)网络本身的硬件性能:
包括网络的拓扑结构、通信媒体、网络接口的传送速率等。
通信媒体的传送速率越高、网络接口的传送速率越快、网络的实时性就越高。
(2)网络的通信协议:
包括媒体的访问控制方式、网络通信协议的层次结构、传输的可靠性、有无连接控制等等。
层次结构越简单,系统的实时性就越高。
而可靠性与实时性是相互矛盾的,对于无连接、无应答的通信方式要比有连接、有应答的通信方式的实时性要高,但可靠性差。
(3)网络的信息量:
也称为网络的负载,是指网络在一定时间内需要传送信息的多少。
网络传送信息量越少,其实时性就越高。
(4)实时性与通信子网的信道利用率是相互矛盾的:
在工业控制网络中,为了提高系统的实时性,不得不牺牲一部分信道利用率。
2.3实时以太网的实现
在工业通信网络中,同步和数据交换一般要经过消息传递,而消息在传递的过程中往往存在着各种消息传递延迟。
消息传递延迟是指发送节点通信对象开始发送消息到接收节点通信对象完全收到消息之间的时间间隔,主要包括以下几个部分:
(1)消息在各节点通信对象内的等待延迟:
报文在每个通信对象上被阻塞的时间量是因为多条报文同时到达一个通信对象所致。
(2)报文发送延迟:
节点对象发送一个报文所需时间,它依赖于报文大小和发送率,一般为常数。
(3)链路上的传播延迟:
一个数据位在链路上的传播时间。
只要能够设计一种以太网通信协议,让它能很好地解决以上各个方面的问题,那么就可以实现以太网的实时性。
3硬实时通信协议TTEP的设计
3.1设计目标
目前,时分多路技术是较好的能够保证硬实时要求的技术之一,而且是效率最高的。
其特点是:
把总线时间分成一个个等长的周期EC(ElementaryCycles),在EC内对网络进行调度。
本文提出了一种基于时分多路技术和主-从模式的适合硬实时通信的方案:
TTEP(TimeTriggeredEthernetProtocol)。
TTEP协议的设计目标是:
支持事件触发消息和时间触发消息传输,支持非实时数据传输,带宽利用率高,节点可以动态加入和移除,消息可以动态加入和移除,在线调度消息传输,在线进行可调度性判定,适应通信请求的动态变化,严格满足通信时限要求,使用COTS组件。
3.2协议描述
在实时以太网的诸多方法中,效率和灵活性都很高的是使用了带有主从模式的TDMA(TimeDivisionMultipleAddress)方法[9],这种方法称作FTT(flexibleTimeTrigger),FTT代表的意思是灵活的时间触发模式。
传统Ethernet不能保证实时性的原因是以太网的不确定性。
TTEP协议中对于实时数据消息的传输,避免了冲突发生。
TTEP协议工作在以太网上,采用主从式传输方式。
网络中节点分为主站和从站,主站只有一个,其他是从站。
主站负责整个网络的调度,从站负责按照调度信息进行消息的生产和传输。
TTEP协议的特点概括为:
(1)采用主-从的触发/响应方式进行多路传输,是一种灵活的时间触发式的通信。
(2)支持在线调度和在线接纳控制,节点和消息流可以动态加入和移除。
(3)是一种面向消息的协议,主站调度消息传输。
(4)支持时间触发和事件触发。
(5)周期实时消息是由主节点统一触发生产的,异步实时消息由从节点事件触发的。
(6)对于非实时数据传输和新节点的入网申请,采用CDMA/CD机制;对于实时消息,包括用于维护系统运行的消息,采用TDMA机制传输。
TTEP协议采用源地址模式进行实时通信。
一个实时帧发送时,它不包含目的节点信息,只是包含源节点号和消息号。
这样的好处是:
方便了多个接收者同时接收。
为了达到这个目的,TTEP协议中的实时消息采用广播方式传输。
3.3EC和MC(MacroCycle)
TTEP协议中,总线时间的基本组成单位是EC,EC是大小固定的。
该协议把总线时间看成是由一系列的EC组成[5]。
如图3.1所示,每个EC分为3个阶段:
SYN阶段、CSMA/CD阶段、TDMA阶段。
图3.1TTEP协议中的EC
SYN阶段,主站发出一个SYN同步帧,该帧包含生产控制信息,传输控制信息,关于新节点入网的信息,系统当前状态和配置的信息等等。
各从节点接收SYN后同步,并且开始生产消息。
新节点根据SYN中的确认信息,判断自己是否成功入网,并且更新本地的一些配置。
CSMA/CD阶段,各从站在这个阶段内发送非实时数据,新节点可以发送节点入网申请,这个阶段采用的是CSMA/CD机制访问总线。
γ是时间隔离区,不允许有数据在总线上传输,目的是保护下一个阶段的实时数据传输不受本阶段的影响。
TDMA阶段,节点在这个阶段传输实时消息,访问总线采用的是TDMA机制。
其中的Aperiodic子阶段,是用来发送非周期实时消息的。
Periodic子阶段,是用来传输周期实时消息的,
α是保护实时消息之间不受影响的时间隔离区,β是用来保护下一个SYN消息不受当前消息影响的隔离区。
从站在接收并且解析SYN帧后,开始计时,此后将由SYN阶段进入CSMA/CD阶段。
当记录CSMA/CD阶段大小的定时器超时时,系统由CSMA/CD阶段进入TDMA阶段。
在可调度性判定时,还用到了宏周期MC的概念,如图3.2所示。
MC由多个EC组成,数量为各周期消息周期的最小公倍数,总线时间是由一系列MC组成的。
周期消息的生产是按MC为一个周期重复出现的,只要传输在一个MC内是可以调度的,那么在所有的MC上都是可以调度的。
图3.2TTEP协议中的MC
3.4 生产与传输
本文中把消息的存在分为3个阶段:
生产,传输和消费。
生产,指从站调用生产函数创建消息的帧;传输,指从站把消息放在总线上传播:
消费,指接收者把接收到的消息交给消费函数处理。
对于周期消息,何时生产和何时传输由主站调度;而对于非周期消息,主站不调度生产,只调度传输。
TTEP协议中,主站调度消息的生产和传输,生产和传输都放在一个消息周期内,这样生产和传输的时间差肯定在一个周期内,所以能够保证消息的时限要求。
另外,每个从站上消息的生产是依次执行的,执行的顺序是由主站决定的,这里避免了复杂的调度算法。
并且调度机制会确保完成生产的时刻小于传输的时刻,这样能够确保消息的传输。
既然周期消息是周期性产生的,就可以由主站周期性的触发生产。
这样主站就能明确的知道消息在什么时刻生产、在什么时刻生产结束(最大的结束时刻)、以及应该在什么时间段内进行调度。
调度算法采用EDF(EarliestDeadlineFirst)算法,即最早截止时间优先算法,也称为截止时间驱动调度算法(DDS),是一种动态调度算法。
EDF在调度时,任务的优先级根据任务的截止时间动态分配。
截止时间越短,优先级越高。
EDF调度算法已被证明是动态最优调度,而且是充要条件。
处理机利用率最大可达100%。
图3.3单节点上的传输和生产
图3.4两个节点上的消息传输和生产
协议中,生产与传输的关系如图3.3和图3.4所示。
A(x,y)代表X节点上的非周期消息Y。
s(x,y)代表X节点上的周期消息Y。
Pr_S(x,y)代表消息S(x,y)的生产。
图3.3展示了一个单独节点的情况,Slave4在解析主站的SYN帧后开始生产(创建)消息。
按照调度结果,slave4传输了3个消息,消息3、消息6、消息7。
其中消息6的传输安排在前,因为它不是在当前EC生产的,而是前一个EC生产的。
消息的传输必须安排在它生产结束后,但是消息a的传输可以在消息b的生产时期,图中S(4,3)就是在Pr_S(4,7)中传输的。
关于如何安排传输,更多的信息在可调度判定一节中。
图3.4展示了两个节点的情况,在EC(i)里既生产又传输了消息S(1,1)和S(4,3),S(4,7)得到了生产,但是由于实时带宽的限制,S(4,7)没有得到传输,而是在EC(i+1)里得到了传输。
3.5 α、β、γ的计算
图3.5α与β
如图3.5所示,假定系统中有2个从站slave1和slave2,一个主站master。
从站1传输消息S(1,8),从站2传输消息S(2,8)。
Bus(theory)是主站经过调度计算得到的S(1,8)和S(2,8)的传输安排,tSYN0是调度算法计算时为SYN帧保留的时间。
Bus(actual)是实际总线上S(1,8)和S(2,8)的传输情况。
EC开始时,master广播一个SYN帧,tSYN是SYN帧的实际传输时间。
tmaxi和tmini是网卡的最大和最小中断响应时间。
中断响应后,从站开始计时,从站之间就此同步,从站接收SYN,启动用以发送消息的定时器。
在Bus(theory)上安排消息S(1,8)和S(2,8)之间的传输间隔是α,但是由于各从站可能不是同时响应网卡中断,这就造成了各从站上的计时不是完全一致,最终导致在Bus(actual)上消息S(1,8)和S(2,8)之间的间隔不是α,如图3.5所示,这个间隔小于α。
在本文中使用以下定义。
网卡中断响应时间,是指网卡发出中断直至网卡中断处理程序开始执行之间的时间。
APIC定时器响应时间,是指定时器中设定的时刻与定时器执行完网卡发送函数的时刻之差。
协议中的一些重要参数:
网卡接收中断处理时间tnrt,网卡错误中断处理时间tnwt,网卡发送中断处理时间tntt,APIC定时器中断处理时间ttrt,和时钟中断处理时间tott。
由于在实际传输时消息之间的间隔可能变化,如果间隔消失了,就可能造成冲突,所以有必要设置合理的α,来避免间隔的消失。
消息之间间隔的变化受网卡中断响应时间和定时器响应时间的影响。
要求α的取值必须满足式(3.1):
α>(tmaxi-tmini)+(tmaxt-tmint)(3.1)
其中,tmaxi和tmini是网卡的最大和最小中断响应时间,tmaxt和tmint是定时器最大和最小响应时间。
主站在前一个EC结束后进入后一个EC,再次广播帧,如果此时有从站在总线上传输消息,就会造成冲突;如果从站正在接收消息,则可能影响接收SYN帧,因为接收消息时会关闭中断。
所以要求主站在发下一个SYN帧之前,所有消息接收完毕,保证SYN帧发送时从站系统不处于网卡中断中。
基于以上原因,在每一个EC的尾部设置一个隔离区β,隔离区β内不安排消息传输。
β的大小由网卡的最大中断响应时间、定时器最大响应时间和网卡接收中断处理时间决定。
此次EC开始时,从站接收到SYN帧可能存在最大网卡中断响应时间;此次EC尾部,主站接收到的最后一个实时包也可能存在最大网卡中断响应时间;这最后一个包发送时,从站上可能存在最大APIC定时器中断响应时间;最后一个包来到时,主站可能还没有处理完前一个包,所以最多有两个网卡接收过程;另外EC是由APIC定时器实现的,所以EC也可能存在最大APIC定时器中断响应时间。
β的取值要求必须满足式(2.2):
β>2(tmaxi+tmaxt+tnrt)(3.2)
γ是时间隔离区,在此期间不允许有数据在总线上传输,目的是保护TDMA阶段的实时数据传输不受CSMA/CD机制的影响。
由于从CSMA/CD机制向TDMA模式转换是通过重启网卡实现的。
而重启网卡需要几十微秒,所以要求γ必须要大于这个值。
3.6TTEP帧格式
TTEP协议有3种帧:
SYN帧,数据帧,节点入网申请帧。
SYN帧格式如图2.7所示。
SYN帧的类型是TTEP_Type,TTEP_Type是一个常量,用于区别于其它协议(例如IP、ARP协议)。
Mtype=l用于标明这个TTEP帧是SYN帧。
flags用于表示主站的要求,例如指示此CSMA/CD阶段只允许节点入网申请帧的发送,而不允许一般IP包的发送。
域csmacd_us指示此CSMA/CD阶段的大小。
ECindex是SYN帧的序号。
np指示此EC要生产的消息的个数,具体情况由后面的前np个(nodeid,mid)说明。
nt指示此EC要传输的消息的个数,具体情况由后面的后nt个(nodeid,mid,us)说明。
域nack指示此SYN帧中含有多少个对节点入网申请帧的确认信息,具体情况由后面的nack个(mac,nodeid)说明。
域nodeid是节点号,mid是消息号,us是传输时刻,mac是从站的MAC地址。
图3.6SYN帧
图3.7节点入网申请帧
图3.8数据帧
图3.9消息0和1的数据帧
节点入网申请帧,如图2.8所示,它用于新节点向主站申请入网,帧的Mtype是4,nodeid是从站希望申请到的节点号,inout总是设为1。
帧中还包含从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业 以太网 实时 通信 实现