《Ethernet/IP协议简介(共32页).doc》由会员分享,可在线阅读,更多相关《Ethernet/IP协议简介(共32页).doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录专心-专注-专业1 现场总线控制技术与工业以太网20世纪90年代以后随着现场总线控制技术的逐渐成熟,智能化与功能自治性的现场设备的广泛应用,嵌入式控制器、智能现场测控仪表和传感器等方便地接入了现场总线。现场总线控制系统(FCS)是顺应智能现场仪表而发展起来的。它的初衷是用数字通讯代替4-20mA模拟传输技术,但随着现场总线技术与智能仪表管控一体化(仪表调校、控制组态、诊断、报警、记录)的发展,在控制领域内引起了一场前所未有的革命。控制专家们纷纷预言:FCS将成为21世纪控制系统的主流。然而在控制界对FCS进行概念炒作的时候,却注意到它的发展在某些方面的不协调,其
2、主要表现在迄今为止现场总线的通讯标准尚未统一:8种现场总线经过14年的纷争,最后IEC的现场总线标准化组织经投票,通过以下这8种现场总线成为IEC61158现场总线标准,即:FF H1,Control Net,ProfiBus,InterBus,PNet,World FIP,Swift Net,FF之高速EtherNet即HSE。这8种现场总线互不兼容,这也使得各厂商的仪表设备难以在不同的FCS中兼容。此外,FCS的传输速率也不尽人意,以基金会现场总线(FF)正在制定的国际标准为例,它采用了ISO的参考模型中的3层(物理层、数据链路层和应用层)和极具特色的用户层,其低速总线H1的传输速度为31
3、25kbps,高速总线H2的传输速度为1 Mbps或25Mbps,这在有些场合下仍无法满足实时控制的要求。又如广泛用于汽车行业的Can总线系统,其最高的传输速率为1 Mbps40米;这些现场总线受通讯距离制约较大。由于上述原因,使FCS在工业控制中的推广应用受到了一定的限制。以太网具有传输速度高、低耗、易于安装和兼容性好等方面的优势,由于它支持几乎所有流行的网络协议,所以在商业系统中被广泛采用。但是传统以太网采用总线式拓朴结构和多路存取载波侦听碰撞检测(CSMACD)通讯方式,在实时性要求较高的场合下,重要数据的传输过程会产生传输延滞,这被称为以太网的“不确定性”。研究表明:商业以太网在工业应
4、用中的传输延滞在230ms之间,这是影响以太网长期无法进入过程控制领域的重要原因之一。因此对以太网的研究具有工程实用价值,从而产生了一种新型的针对工业控制领域的以太网一工业以太网。由于以太网具有应用广泛、价格低廉、通信速率高、软硬件产品丰富、应用支持技术成熟等优点,目前它已经在工业企业综合自动化系统中的信息层与控制层得到了广泛应用,并呈现向下延伸直接应用于工业控制现场的趋势。从目前国际、国内工业以太网技术的发展来看,目前工业以太网在控制层已得到广泛应用,并成为事实上的标准。未来工业以太网将在工业企业综合自动化系统中的现场设备之间的互连和信息集成中发挥越来越重要的作用。工业以太网技术作为后起之秀
5、,迅速抢占着其它总线形式的市场,推动其发展的两大动力是:光纤环网的应用、分布智能装置仪表。光纤环网解决了两大问题:第一,轻松解决了在化工、矿业等极端条件的本质防爆问题,这一下子将以太交换设备向前推动了一个层次,使以太网可以到达工业现场层,第一次成为真正的FieldBus;第二,通过环网的冗余提高以太交换的可靠性,从而使工业以太网第一次可以应用对可靠性要求较高的应用环境中。而分布智能的装置仪表,解决了所谓以太传输时滞不确定性的诟病。首先,光纤环网的千兆交换速度,已经使绝大部分工业控制数据在可接受的时间内交换,对于大部分的工业生产信息,在100ms的时滞都是可以接受的。而如果所有的控制均需要通过集
6、中的方式进行,显然这个时滞又太大了。可喜的是,工业控制装置和智能仪表正在向分布式发展。这种发展趋势,导致大量的本地控制指令不需要通过冗长的总线来传输,而是由仪表或装置的本地计算完成,这就不需要通过数据交换的方式苛刻地要求工业以太网的确定时延。2 工业以太网实时性问题工业以太网有着许多令人所信服的优点。但是传统商业以太网技术应用到工业现场仍然有着或多或少的不足和缺陷,经过许多研究机构和工程技术人员的不懈努力和对关键技术的研究,使传统以太网技术不断改进来满足工业现场控制要求。这些关键技术包括通信确定性和实时性技术、系统稳定性技术、系统互操作性技术、网络安全性技术、总线供电及本质安全与安全防爆技术等
7、。下面就确定性和实时性做一些介绍。2.1 通讯确定性和实时性技术传统以太网采用总线式的拓扑结构和多路存取载波侦听碰撞(CSMAC通讯方式,即网络上的每个节点都通过竞争的方式来获取发送信息报文的权利,节点通过监听信道,当发现信道空闲时则把待发的信息报文发送出去,如果信道忙则处于等待状态。在发送信息后检测是否发生了碰撞,如果出现则退出信道等待重发。不难想象当网络负荷比较重的时候大量节点都在尝试重发进而导致网络堵塞,使一些节点的信息长时间得不到发送,这种特性称为以太网的不确定性。研究表明:传统以太网在工业控制中的传输延迟,对数据传送要求很高的场合是不能够应用的,这也影响了以太网技术在工业底层控制网络
8、中的应用。随着以太网技术的不断发展,工业以太网在确定性和实时性方面已经基本达到了工业现场实时控制的要求。首先,在网络拓扑结构上采用了星形连接代替总线型连接。图1示意了两种不同的网络拓扑结构。其中的星形连接用网桥或路由器等设备将网络分割成多个网段(Segment),在每个网段上以一个多口集线器为中心,将若干个设备或节点连接起来,这样挂接在同一网段上的所有设备形成一个冲突域(Collision)。每个冲突域均采用CSMACD机制来管理网络冲突。这种分段方法可以使每个冲突域的网络负荷减轻、碰撞几率减小。图1 以太网网络拓扑结构的比较3 EthernetIP协议简介现场总线国际标准IEC 61158经
9、过十几年的争论和斗争后,放弃了其制定单一现场总线标准的初衷,最终发布了包括8种(第3版修订后增加了两种类型,而成为10种类型)类型总线的国际标准。这说明各大总线各具特点、不可互相替代的局面得到世界工控界的认可。目前有Modbus-IDA工业以太网,EthernetlP工业以太网,FF HSE工业以太网,ProfitNet工业以太网,Controlnet工业以太网,PNet工业以太网,Swift Net工业以太网,World FIP工业以太网等几种协议。下来我们就各协议进行介绍。3.1 EthernetIP工业以太网EtherNetIP(EtherNet Industry Protoco1)是适
10、合工业环境应用的协议体系。它是由两大工业组织ODVA(OpenDeviceNet Vendors Association)ControlNet International所推出的最新的成员。和DeviceNet以及ControlNet一样,它们都是基于CIP(Control and Informalon Protoco1)协议的网络。它是一种是面向对象的协议,能够保证网络上隐式的实时I0信息和显式信息(包括用于组态参数设置、诊断等)的有效传输。EtherNetIP采用和DevieNet以及ControlNet相同的应用层协CIP(Control and Information Protoco1
11、),因此,它们使用相同的对象库和一致的行业规范,具有较好的一致性。EtherNetIP采用标准的EtherNet和TCPIP技术来传送CIP通信包,这样,通用且开放的应用层协议CIP加上已经被广泛使用的EtherNet和TCPIP协议,就构成EtherNetIP协议的体系结构。协议的各层结构如图2所示。图2 应用CIP的EtherNet/IP3.1.1 EthernetIP协议模型及协议内容1.物理层和数据链路层EtherNetIP在物理层和数据链路层采用以太网。其主要由以太网控制器芯片来实现。从图2可看出,不久的将来会出现更合适的物理层和数据链路层协议,会出现相应的芯片。但是上面的协议无须改
12、变。2.网络层和传输层EtherNetIP在网络层和传输层采用标准的TCPIP技术。对于面向控制的实时I0数据,采用UDPIP协议来传送,而对于显式信息(如组态、参数设置和诊断等)则采用TCPIP来传送过程监控层流通的数据基本是显式信息,采用TCPIP来传送,其优先级较低。而将来采用工业以太网EtherNetIP协议的现场设备层,流通的数据基本是实时IO数据,采用UDPIP胁议来传送,其优先级较高。3.控制及信息协议(ClP)控制及信息协议(CIP)是一种为工业应用开发的应用层协议,被DeviceNet、ControlNet、EtherNetIP等3种网络所采用,因此这3种网络相应地统称为CI
13、P网络.(1)CIP的特点有以下几点报文CIP协议最重要的特点是可以传输多种类型的数据。工业应用中所需要传输的数据类型有IO、互锁、配置、故障诊断、程序上载或下载等。这些不同类型的数据对传输服务质量的要求是不同的。重要的传输服务质量评价指标有确定性、单位时间内有通信行为的节点所占的比例、响应时间等。CIP根据所传输的数据对传输服务质量要求的不同,把报文分为两种:显式报文和隐式报文。显式报文用于传输对时间没有苛求的数据,比如程序的上载下载、系统维护、故障诊断、设备配置等。由于这种报文包含解读该报文所需要的信息,所以称为显式报文。隐式报文用于传输对时间有苛求的数据,如IO、实时互锁等。由于这种报文
14、不包含解读该报文所需要的信息,其含义是在网络配置时就确定的,所以称为隐式报文。由于隐式报文通常用于传输IO数据,隐式报文又称为IO报文或隐式IO报文。在网络底层协议的支持下,CIP用不同的方式传输不同类型的报文,以满足它们对传输服务质量的不同要求。DeviceNet给予不同类型的报文不同的优先级,隐式报文使用优先级高的报头,显式报文使用优先级低的报头。ControlNet在预定时问段发送隐式报文,在非预定时问段发送显式报文。而EthemetIP用TCP来发送显式报文,用UDP来发送隐式报文。面向连接CIP还有一个重要特点是面向连接,即在通信开始之前必须建立起连接,获取惟一的连接标识符(conn
15、ection ID)。如果连接涉及到双向的数据传输,就需要两个CID。CID的定义及格式是与具体网络有关的,比如,DeviceNet的CID定义是基于CAN标识符的。通过获取CD,连接报文就不必包含与连接有关的所有信息,只需要包含CID即可,从而提高了通信效率。不过,建立连接需要用到未连接报文。未连接报文需要包括完整的目的地节点地址、内部数据描述符等信息,如果需要应答,还要给出完整的源节点地址。对应于两种CIP报文传输,CIP连接也有两种,即显式连接和隐式连接。建立连接需要用到末连接报文管理器(unconnected Message ManagerUCMM),它是CIP设备中专门用于处理未连接
16、报文的一个部件。如果节点A试图与节点B建立显式连接,它就以广播的方式发出一个要求建立显式连接的未连接请求报文,网络上所有的节点都接收到该请求,并判断是否发给自己的,节点B发现是发给自己的,其UCMM就做出反应,也以广播的方式发出一个包含CID的未连接响应报文,节点A接收到后,得知CID,显式连接就建立了。隐式连接的建立更为复杂,它是在网络配置时建立的,在这一过程中,需要用到多种显式报文传输服务。CIP把连接分为多个层次,从上往下依次是应用连接、传输连接和网络连接。一个传输连接是在一个或两个网络连接的基础上建立的,而一个应用连接是在一个或两个传输连接的基础上建立的。生产者消费者模型在传统的源目的
17、通信模式下,源端每次只能和一个目的地址通信,源端提供的实时数据必须保证每一个目的端的实时性要求,同时一些目的端可能不需要这些数据,因此浪费了时间,而且实时数据的传送时间会随着目的端数目的多少而改变。而在EtherNeLIP所采用生产者消费者通信模式下,数据之间的关联不是由具体的源、目的地址联系起来,而是以生产者和消费者的形式提供,允许网络上所有节点同时从一个数据源存取同一数据,因此使数据的传输达到了最优化,每个数据源只需要一次性的把数据传输到网络上,其它节点就可以选择性地接收这些数据,避免了浪费带宽,提高了系统的通信效率,能够很好地支持系统的控制、组态和数据采集。(2) CIP 协议功能及特征
18、EtherNet/IP 其特色就是被称作控制和信息协议的CIP 部分。CIP 一方面提供实时I/O 通信,一方面实现信息的对等传输。其控制部分通过隐形报文来实现实时I/O 通信,信息部分则通过显性报文来实现非实时的信息交换。CIP 协议的一个重要的特性,是其介质无关性。即CIP 作为应用层协议的实施与底层介质无关。这就是人们可以在控制系统和I/O 设备上灵活实施这一开放协议的原因。同样,当未来新型的通讯手段出现时,人们一样可以方便地将其移植到更高性能的网络上实施,并且提供全部的网络功能,保证与原有现场总线或者以太网技术的透明性和一致性。3.1.2 EtherNet/IP 的通信机制1. 通信模
19、式不同于源/目的通信模式,EtherNet/IP 采用生产/消费模式,它允许网络上的节点同时存取同一个源的数据。在生产/消费模式中,数据被分配一个唯一的标识,每一个数据源一次性的将数据发送到网络上,其他节点选择性的读取这些数据,从而提高了系统的通信效率。2. CIP 报文通信CIP 报文定义了显式报文和隐式报文两种报文类型, 隐式报文是对时间有苛刻要求的I/O信息(时间触发、控制器互锁等等),此时数据量不大但需要高的速度或需要较长的源节点和其他节点连接时间,所以这部分采用的是速度较快的UDP 协议;显式报文数据量较大但不需要一直连接所以这部分采用TCP 协议。CIP 报文的通信分为无连接的通信
20、和基于连接的通信。无连接的报文通信是CIP 定义的最基本的通信方式。设备的无连接通信资源由无连接报文管理器UCMM 管理。无连接通信不需要任何设置或任何机制保持连接激活状态; 基于连接的报文通信是CIP 网路传递报文的另一种方式,可用来传递I/O数据和显式报文。这种通信方式支持生产者/消费者模式的多点传输关系, 一次向多个目的节点进行高效的数据传输。3.2 ProfitNet工业以太网3.2.1 基本介绍随着现场设备智能程度的不断提高,自动化控制系统的分散程度也越来越高。工业控制系统正由分散式自动化向分布式自动化演进,因此,基于组件的自动化(Component Based Automation
21、,CBA)成为新兴的趋势。工厂中的相关的机械部件、电气/电子部件和应用软件等具有独立工作能力的工艺模块抽象成为一个封装好的组件,各组件间使用PROFINET连接。通过SIMATIC iMap软件,即可用图形化组态的方式实现各组件间的通讯配置,不需要另外编程,大大简化了系统的配置及调试过程。通过模块化这一成功理念,可以显著降低机器和工厂建设中的组态与上线调试时间。在使用分布式智能系统或可编程现场设备、驱动系统和I/O时,还可以扩展使用模块化理念,从机械应用扩展到自动化解决方案。另外,也可以将一条生产线的单个机器作为生产线或过程中的一个标准模块进行定义。作为设备与工厂设计者,工艺模块化能够更容易、
22、更好地对您的设备与系统进行标准化和再利用。使您能够对不同的客户要求更快、更具灵活性地作出反应。您可以对各台设备和厂区提前进行预先测试-极大地缩短系统上线调试阶段。作为系统操作者,从现场设备到管理层,你都可以从IT标准的通用通讯中获得好处。对现有系统进行扩展也很容易。3.2.2 实时通信1)折叠TCP/IP标准通讯PROFINET基于工业以太网技术,使用TCP/IP和IT标准。TCP/IP 是IT 领域关于通信协议方面事实上的标准,尽管其响应时间大概在100 ms的量级,不过,对于工厂控制级的应用来说,这个响应时间就足够了。2)折叠实时(RT)通讯对于传感器和执行器设备之间的数据交换,系统对响应
23、时间的要求更为严格,大概需要510ms的响应时间。目前,可以使用现场总线技术达到这个响应时间,如PROFIBUS DP。对于基于TCP/IP的工业以太网技术来说,使用标准通信栈来处理过程数据包,需要很可观的时间,因此,PROFINET提供了一个优化的、基于以太网第二层(Layer 2)的实时通讯通道,通过该实时通道,极大地减少了数据在通讯栈中的处理时间,因此,PROFINET获得了等同、甚至超过传统现场总线系统的实时性能。3)折叠同步实时(IRT)通讯在现场级通讯中,对通讯实时性要求最高的是运动控制(Motion Control),PROFINET的同步实时(Isochronous Real-
24、Time, IRT)技术可以满足运动控制的高速通讯需求,在100个节点下,其响应时间要小于1ms,抖动误差要小于1s,以此来保证及时的、确定的响应。3.2.3 PROFINET1)折叠分布式现场设备通过集成PROFINET接口,分布式现场设备可以直接连接到PROFINET上。对于现有的现场总线通讯系统,可以通过代理服务器实现与PROFINET的透明连接。例如,通过IE/PB Link(PROFINET和PROFIBUS之间的代理服务器)可以将一个PROFIBUS网络透明的集成到PROFINET当中,PROFIBUS各种丰富的设备诊断功能同样也适用于PROFINET。对于其他类型的现场总线,可以
25、通过同样的方式,使用一个代理服务器将现场总线网络接入到PROFINET当中。2)折叠运动控制通过PROFINET的同步实时(IRT)功能,可以轻松实现对伺服运动控制系统的控制。在PROFINET同步实时通讯中,每个通讯周期被分成两个不同的部分,一个是循环的、确定的部分,称之为实时通道;另外一个是标准通道,标准的TCP/IP数据通过这个通道传输。在实时通道中,为实时数据预留了固定循环间隔的时间窗,而实时数据总是按固定的次序插入,因此,实时数据就在固定的间隔被传送,循环周期中剩余的时间用来传递标准的TCP/IP数据。两种不同类型的数据就可以同时在PROFINET上传递,而且不会互相干扰。通过独立的
26、实时数据通道,保证对伺服运动系统的可靠控制。3)折叠网络安装PROFINET支持除星形、总线形和环形拓扑结构。为了减少布线费用,并保证高度的可用性和灵活性,PROFINET提供了大量的工具帮助用户方便的实现PROFINET的安装。特别设计的工业电缆和耐用连接器满足EMC和温度要求,并且在PROFINET框架内形成标准化,保证了不同制造商设备之间的兼容性。3.2.4 安全1)折叠标准与网络安全PROFINET的一个重要特征就是可以同时传递实时数据和标准的TCP/IP数据。在其传递TCP/IP数据的公共通道中,各种业已验证的IT技术都可以使用(如http、HTML、SNMP、DHCP和XML等)。
27、在使用PROFINET的时候,我们可以使用这些IT标准服务加强对整个网络的管理和维护,这意味着调试和维护中的成本的节省。PROFINET实现了从现场级到管理层的纵向通讯集成,一方面,方便管理层获取现场级的数据,另一方面,原本在管理层存在的数据安全性问题也延伸到了现场级。为了保证现场级控制数据的安全,PROFINET提供了特有的安全机制,通过使用专用的安全模块,可以保护自动化控制系统,使自动化通讯网络的安全风险最小化。2)折叠故障安全在过程自动化领域中,故障安全是相当重要的一个概念。所谓故障安全,即指当系统发生故障或出现致命错误时,系统能够恢复到安全状态(即零态),在这里,安全有两个方面的含义,
28、一方面是指操作人员的安全,另一方面指整个系统的安全,因为在过程自动化领域中,系统出现故障或致命错误时很可能会导致整个系统的爆炸或毁坏。故障安全机制就是用来保证系统在故障后可以自动恢复到安全状态,不会对操作人员和过程控制系统造成损害。PROFINET集成了PROFISafe行规,实现了IEC61508中规定的SIL3等级的故障安全,很好的保证的整个系统的安全。3)折叠过程自动化PROFINET不仅可以用于工厂自动化场合,也同时面对过程自动化的应用。工业界针对工业以太网总线供电,及以太网应用在本质安全区域的问题的讨论正在形成标准或解决方案。PROFIBUS国际组织计划在2006年的时候会提出PRO
29、FINET进入过程自动化现场级应用方案。通过代理服务器技术,PROFINET可以无缝的集成现场总线PROFIBUS和其它总线标准。今天,PROFIBUS是世界范围内唯一可覆盖从工厂自动化场合到过程自动化应用的现场总线标准。集成PROFIBUS现场总线解决方案的PROFINET是过程自动化领域应用的完美体验。作为国际标准IEC61158的重要组成部分,PROFINET是完全开放的协议,PROFIBUS国际组织的成员公司在2004年的汉诺威展览会上推出了大量的带有PROFINET接口的设备,为PROFINET技术的推广和普及起到了积极的作用。随着时间的流逝,作为面向未来的新一代工业通讯网络标准,P
30、ROFINET必将为您和您的自动化控制系统带来更大的收益和便利。3.3 Modbus-IDA工业以太网Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控
31、制任务。3.3.1 基本信息为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在中国,Modbus已经成为国家标准GB/T19582-2008。据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为
32、一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检
33、测的方法。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。3.3.2 特点Modbus具有以下几个特点:(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。1)折叠
34、Modbus网络传输标准的Modbus口是使用RS-232-C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。控制器通信使用主-从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回
35、应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。2)折叠其它类型传输在其它网络上,控制器使用对等技术通信,故任何控制器都能初始化和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。在消息位,Modbus协议仍提供了主-从原则,尽管网络通信方法是对等。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器
36、。3)折叠查询回应周期(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。(2)回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:像寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。3.3
37、.3 传输方式在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。在其它网络上(像MAP和Mo
38、dbus Plus)Modbus消息被转成与串行传输无关的帧。1)折叠传输模式特性ASCII可打印字符便于故障检测,而且对于用高级语言(如Fortran)编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。用RTU模式传输的数据是8位二进制字符。如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符都是十六进制字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译码和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间
39、可产生长达1s的间隔,以适应速度较慢的机器。控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。2)ASCII模式当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为一个ASCII码(两个十六进制字符)发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。代码系统 十六进制,ASCII字符0.9,A.F 消息中的每个ASCII字符都是一个十六进制字符组成每个字节的位 1个起始位 7个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无1个停止位(有校验时),2个Bit(无校验时)错误
40、检测域 LRC(纵向冗长检测)3)折叠RTU模式当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的 十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。代码系统8位二进制,十六进制数0.9,A.F消息中的每个8位域都是一或两个十六进制字符组成每个字节的位1个起始位8个数据位,最小的有效位先发送1个奇偶校验位,无校验则无1个停止位(有校验时),2个Bit(无校验时)3.3.4 CRC1)折叠CRCCRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CR
41、C,并与接收到的CRC域中的值比较,如果两值不同,则有误。CRC是先调入一值是全1的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。CRC产生过程中,每个8位字符都单独和寄存器内容相异或(XOR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。CRC添加
42、到消息中时,低字节先加入,然后高字节。CRC-16错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位(MSB)首选发送。报文先与X16相乘(左移16位),然后看X16+X15+X2+1除,X16+X15+X2+1可以表示为二进制数11000,0000,0000,0101。整数商位忽略不记,16位余数加入该报文(MSB先发送),成为2个CRC校验字节。余数中的1全部初始化,以免所有的零成为一条报文被接收。经上述处理而含有CRC字节的报文,若无错误,到接收设备后再被同一多项式(X16+X15+X2+1)除,会得到一个零余数(接收设
43、备核验这个CRC字节,并将其与被传送的CRC比较)。全部运算以2为模(无进位)。习惯于成串发送数据的设备会首选送出字符的最右位(LSB-最低有效位)。而在生成CRC情况下,发送首位应是被除数的最高有效位MSB。由于在运算中不用进位,为便于操作起见,计算CRC时设MSB在最右位。生成多项式的位序也必须反过来,以保持一致。多项式的MSB略去不记,因其只对商有影响而不影响余数。生成CRC-16校验字节的步骤如下:装如一个16位寄存器,所有数位均为1。该16位寄存器的高位字节与开始8位字节进行异或运算。运算结果放入这个16位寄存器。把这个16寄存器向右移一位。若向右(标记位)移出的数位是1,则生成多项
44、式10,1000,000,0000,001和这个寄存器进行异或运算;若向右移出的数位是0,则返回。重复和,直至移出8位。另外8位与该十六位寄存器进行异或运算。重复,直至该报文所有字节均与16位寄存器进行异或运算,并移位8次。这个16位寄存器的内容即2字节CRC错误校验,被加到报文的最高有效位。另外,在某些非ModBus通信协议中也经常使用CRC16作为校验手段,而且产生了一些CRC16的变种,他们是使用CRC16多项式X16+X15+X2+1,单首次装入的16位寄存器为0000;使用CRC16的反序X16+X14+X1+1,首次装入寄存器值为0000或FFFFH。2)折叠LRCLRC错误校验用
45、于ASCII模式。这个错误校验是一个8位二进制数,可作为2个ASCII十六进制字节传送。把十六进制字符转换成二进制,加上无循环进位的二进制字符和二进制补码结果生成LRC错误校验(参见图)。这个LRC在接收设备进行核验,并与被传送的LRC进行比较,冒号(:)、回车符号(CR)、换行字符(LF)和置入的其他任何非ASCII十六进制字符在运算时忽略不计。3.4 Controlnet工业以太网ControlNet是近年来推出的面向控制层的实时性现场总线网络,在同一物理层介质链路上提供时间关键性I/O数据和报文数据,包括程序的上载/下载,组态数据和端到端的报文传递等通讯支持,是具有高度确定性、可重复的高
46、速控制和数据采集网络,I/O性能和端到端通讯性能都较传统网络有较大的提高。3.4.1 原理ControlNet是基于生产者/消费者模式(Producer/ConsumerModel)的网络。ControlNet允许在同一链路上有多个控制器共存,支持输入数据或端到端的多路发送,这就大大的减少了网络上的交通量,提高了网络效率和网络性能。ControlNet是高度确定性、可重复性的网络。ControlNet能预见数据何时能够可靠传输到目标的能力,同时数据的传输时间不受网络节点添加/删除情况或网络繁忙状况而保持恒定的能力。在实际应用中,通过网络组态时选择性设定有计划I/O分组或互锁时间,这些要求能得到
47、更进一步的保证。生产者/消费者模式允许网络中所有的节点同时获取来自同一数据源的数据。最终,该模式提高了效率,因为数据只发送一次,而与数据使用者(Consumer)的数量无关,并且具有精确的同步性。因为数据将同时到达每一个节点。生产者-消费者模式的优点在于:多个节点可以同时消费(Consume,即读取)来自同一个生产省(Producer,即数据源)所提供的数据。节点间易于同步,可以获得更为精确的系统性能,设备可以实现自主通信,无需系统主站。ControlNet提供了简单、高度确定而且灵活的传输数据方式。ControlNet在执行操作、数据实时监控时不会影响到I/O控制的性能。因此,ControlNet非常适用于一些控制关系有复杂关联、要求控制控制信息同步、协调实时控制、数据传输速度要求较高的应用场合。ControlNet的明显优点是:同一链路上满足I/O数据、实时互锁、端到端报文传输和编程/组态等信息应用的多样要求;是确定性、可重复性的控制网络,适合离散控制和过程控制;同一链路上允许有多个控制器同时共存;输入数据和端到端信息的多路发送支持;可选的介质冗余和本征安全;安装和维护的简单性;网络上节点居于对等地位,可以从任意节点实现网络存取;灵活的拓扑结构(总线型、树型、星型等)和介质选择(同轴电缆、光纤和其它)。3.4.2 ControlNet网络
限制150内