现场总线集成技术在自动化控制系统中的应用_图文_第1页
现场总线集成技术在自动化控制系统中的应用_图文_第2页
现场总线集成技术在自动化控制系统中的应用_图文_第3页
现场总线集成技术在自动化控制系统中的应用_图文_第4页
现场总线集成技术在自动化控制系统中的应用_图文_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现场总线集成技术在自动化控制系统中的应用张玉春1,杨成峰2,曹海英1,孟峰峰3(1.国电南思系统控制有限公司,江苏南京211153;2.东南大学电气工程学院,江苏南京210096;3.三门峡黄河明珠集团,河南三门峡472000摘 要 详述了现场总线控制系统的发展背景、特点及目前状况,并在研究现场总线控制网络以及以太网络技术及其通信协议的基础上,针对以太网与现场总线控制网络集成存在的一些问题,给出了一些集成方法和解决方案,具体实现的实质就是以太网与现场总线的通信,并通过实际应用来验证给出方法的可行性。关键词 现场总线 以太网通信 集成技术1 前言随着信息技术的高速发展,工业自动化控制发生了巨大变

2、化,形成了开放式互连通信网络系统。现场总线控制技术是由过程控制网络化、数字化、现场化发展而来。过程控制技术由分离设备向共享设备发展、模拟仪表向数字仪表发展、网络技术向现场拓展,在拓展的过程中,大致经历了5个发展阶段:人工控制、模拟仪表控制、计算机集中控制、集散控制系统(DCS、现场总线控制系统(FCS。自动化控制系统多年来一直由集散控制系统(D istri b u ted Contro l Syste m,DCS占据主导地位。随着现代化工业的不断向前推进,人们对生产过程控制提出了更高的要求,对成本控制也日趋严格,这使得企业管理者、工程师需要获取更多来自现场的信息,需要实现从现场控制到监控、管理

3、、抉择、商务等各个层次的信息交换与集成,以提高生产的效率以及市场的竞争力。正是由于这种需求推动了现场总线技术的诞生。2 现场总线特点现场总线的特点主要表现在以下几个方面:a. 操作人员在控制室就能实现主控系统对现场设备的在线监视、诊断、校验和参数整定,从而提高了系统的精度、可监视性和抗干扰能力,节省了硬件数量与投资。b. 相对于传统的DCS三层结构而言,现场总线在结构上只有现场设备和操作管理站两个层次,将传统DCS的I/O控制站并入现场智能设备,从根本上改变了传统DCS集中与分散相结合的结构体系,实现了结构上的彻底分散。c. 现场总线网络系统是开放的。用户可以按自己的需要考虑,把来自不同供应商

4、的产品组成规模各异的系统。其开放性和互操作性体现在可以用不同厂家的现场仪表去替换出现故障的另一厂家的现场仪表。目前世界上出现了上百种各具特色的现场总线技术。由于各种现场总线都代表着不同公司的利益,最后在无奈的妥协中,I EC制定了以8种现场总线共存的混和国际现场总线标准。这些现场总线如下:基金会现场总线、控制器局域网总线 CAN、W orldFI P现场总线、P-NET现场总线、I N TERBUS 现场总线、PROFI B US。3 集成技术研究随着现场总线控制网络的发展,信息管理决策层需要了解的底层的信息会越来越多,如果采用以太网的TCP/I P技术,就会大大的提高数据的传输效率,从而提高

5、工业控制要求的实时性。以太网(E H TERNET是目前应用最为广泛的局域网,先进的技术,低廉的价格,高度的灵活性和可靠性,使其在当前的网络中变得颇为流行,现已成为现代计算机高速网络的支撑技术,同时,TCP/I P协议还确保了数据的完整性和可靠性,因此控制网络与以太网络的集成也就变得势在必行。3.1 存在问题现场总线控制网络与以太网络集成主要存在以下一些问题:a. 现场控制层的总线供电问题。现场总线控制可以不需要单独向现场设备铺设专门的电源电缆,从而减少设备的成本。而以太网是不具备这种条件的。52b. 现场控制层要求控制协议简单。TCP/I P 协议由于要求数据准确完整的传送,协议规则详细而复

6、杂,从而影响实时性。而现场总线是专门针对工业现场而设计的,它的通信协议简单而有效,从而提高数据传输的有效性。c. 数据传输过程中抗干扰的问题。由于以太网络是针对办公自动化设计的,因此它在恶劣的工业环境中是不能很好的进行工作的。而现场总线是有本质安全防爆的要求,它能适应恶劣的工业环境,能够抗各种电磁干扰,从而保证数据传输的正确性及可靠性。d. 数据的传输问题。以太网有着强大的数据传输能力,而现场总线系统输送的数据帧均是短帧,这是工业现场所限制的。e. 时间确定性问题。由于以太网的数据链路控制层采用了CS MA/CD介质访问技术,这使得信息的传输时间得不到保证。.f 网络的扩展。由于TCP/IP协

7、议已经成为了一种网络标准,所以使用以太网作为控制系统的信息层很容易进行进一步的升级。而现场总线到现在还没有一种统一的标准,而且现场总线的设备相对来说比较昂贵,所以使用现场总线作为网络的信息层是不适合的。g. 应用层扩展。由于多数操作环境下的信息层都可以使用SOCKET套接字同各种应用程序进行通信,从而使得控制系统能够进行复杂的实时控制。而现场总线却没有提供这样的接口,因此对于一些复杂的控制和进一步的网络扩展也就显得比较困难。3.2 解决方案现场总线技术使得控制系统向着分散化、网络化、智能化的方向发展,使控制技术与以太网技术更为紧密的结合在一起。本文就上述现场总线和以太网络集成的问题给出了一些解

8、决方案:a. 在现场总线控制网络和以太网之间加入一个转换接口。这种方式是通过硬件来实现的。转换接口的集成方式功能较强,但实时性较差。b. 在现场总线控制网络和以太网之间采用DDE(动态数据交换技术。当现场总线控制网络和以太网络之间具有中间系统或共享存储器工作站时,可以采用DDE方式实现二者的集成。其实质是各应用程序通过共享内存来交换信息。当涉及到复杂的协议转换时,DDE方式的软件费用比较大。因此这种方式适合配置简单的小系统。c. 现场总线控制网络和以太网采用统一的协议标准。这种方式将成为控制网络和以太网络完全集成的最终解决方案。由于控制网络和信息网络采用了面向不同应用的协议标准,因此二者集成时

9、总需要某种数据格式的转换机制,这将使系统复杂化,而且也不能确保数据的完整性。如果从底层设备到远程监控系统,都使用统一的协议标准,不仅确保了信息准确、快速、完整的传输,还可以极大地简化系统设计。3.3 系统结构采用上述的第二种方案进行网络的集成,即在现场总线控制网络和以太网之间采用DDE技术。以太网与现场总线控制网络集成的系统结构图如图1所示。从图1中可以看出,以太网通过多个数据网关和现场总线控制网络互连,可以访问和监控现场总线控制网络中的任何节点,从而实现以太网和现场总线控制网络的集成。图1 以太网与现场总线控制网络集成的系统结构现场总线控制网络与以太网络相互连接的网关的作用是:构成网间数据传

10、输的通道;实现不同网络通信协议的转换;有互连网络双方都能识别的统一寻址方式;具有统一的数据帧格式。现场总线的协议与通用的以太网协议相比,虽然在层次结构上相似,但在内容上却完全不同。因此,要将控制网络中的特定信息提取出来,又不影响原有系统的功能,只有在遵循现场总线的协议规范下,对现场总线的数据报文进行解释,提交给数据网关,通过数据网关进行解析出所需要的数据信息。对于从数据网关送来的信息,也必须依据现场总线的协议规范,转换为相应的现场总线控制报文,发送到现场总线控制网络系统中,实现对网络节点的访问控制。3.4 通信过程通信程序实现过程中主要是TCP/I P协议和PROFI BUS现场总线协议的转换

11、。以太网和现场总53线的通信过程简述如下:当以太网上的节点需要同现场总线控制网络中的节点进行数据交换时,首先需要从网络的配置系统中获取这些现场节点的信息,然后根据这些信息组成数据包发往需要进行通信的网络节点。具体操作是通过计算机的SOCKET 建立连接,然后将获得的初始化的现场节点的数据信息,通过SOC KET连接发往对方的数据网关,数据网关接收到这些数据信息后,放入一个固定大小的缓冲区,等待进一步处理。网关的现场总线接口不断的探测缓冲区里是否有数据,若有,则进行处理:首先将数据的TCP/I P报头进行剥离,提取出所需要的数据信息,然后交给专门处理现场总线的数据链路控制层的通信模块,在这一层加

12、上现场总线的数据链路控制层的帧头,再发往现场总线的物理层,传送到所需要的网络节点,从而完成一次数据传输。在以太网数据的传输过程中,为了适应现场总线的低速通信,采用了滑动窗口协议进行差错和流量控制。在传输的过程中必须使得双方的链路层同步,以免出现传送的数据帧丢失或出错。采用滑动窗口协议的关键在于:任意时刻发送方都保持一个连续的序号表,对应于允许发送的数据帧,这些数据帧出现在发送窗口内。同样,收方也保持一个接收窗口,对应于允许接收的数据帧。4 应用与实现根据上面的研究模型和集成方法,提出了一种切合实际的集成技术方案,应用于一个消防监控系统中,该系统采用数据网关加包裹法的综合方法,实现了以太网同PR

13、OFI B U S现场总线的集成。从实际应用的效果来看这种方案有使用方便、实时性好、数据可靠等优点。4.1 功能特点在此工程项目中的通信程序设计中,考虑到对数据信息要求具有很高的实时性问题,采用了一种数据网关和包裹法的综合方法对PROFI B U S现场总线数据帧和TCP/I P数据帧的相互转换,以便满足通信的实时性要求。用这种综合方法是考虑到单纯的网关法由于需要后台数据库的支持,使得数据的传输实时性受到明显的影响,不利于工业的控制,但是由于数据网关法具有简单方便易于实现等优势,所以采用了这种数据处理的形式,但是在数据进行处理的时候,不是采用传统的数据库进行处理,而是在内存中开辟出一块固定大小

14、的缓冲区对数据进行处理,具体就是采用包裹法,将接收到的数据帧按照数据帧的目的地址方的协议先进行解析,提取出所需要的数据,再加上对方所用协议的数据链路层的帧头,然后再发往对方。4.2 以太网通信程序实现采用W i n do w s Sockets关于原始套接字(R a w Socket的编程,以便更好的对现场总线控制网络和以太网通信进行控制。a. 创建一个原始套接字,并设置I P头选项SOCKET sock=socket(AF_I N ET,SOCK_RAW, I PPROTO_I P;或SOCKET s=W SASoccket(AF_I N ET,SOCK_ RAW,I PPROTO_I P,

15、NULL,0,W SA_FLAG_OVERLAPPED;在这里设置了SOCK_RAW,表明声明的是一个原始套接字类型。b. 设置套接字,以便能够自己构造I P报头BOOL blnFlag=TRUE;setsockopt(sock,I PPROTO_I P,I P_HDR I N CL, (char*&blnF lag,sizeo f(b l n Flag;在这里必须设置I P_H DR I N CL选项。c. 定义I P报头和TCP报头结构typedef struct_i p hdr/定义I P首部unsigned char h_lenver;/4位首部长度+4位I P 版本号unsi

16、gned short checksum;/16位I P首部校验和unsigned int sourceI P;/32位源I P地址unsigned int destI P;/32位目的I P地址I P_HEADER;typedef struct_tcphdr/定义TCP首部USHORT th_spor;t/16位源端口USHORT th_dpor;t/16位目的端口USHORT th_sum;/16位校验和USHORT th_urp;/16位紧急数据偏移量TCP_H E ADER;校验和功能函数:54USHORT checksu m(USHORT*buffer,i n t sizeunsign

17、ed long cksum=0;w hile(size>1cksum+=*bu ffer+;size-=sizeo f(U S HORT;cksum=(cksum>>16+(cksu m&0x ffff;定义这些结构主要是为了对现场总线控制系统中的数据进行打包时,加上这些数据报头信息,以便通过TCP/I P协议能够识别。d. 发送原始套接字数据报直接使用下面的函数进行数据发送。sendto(sock,(char*&tcpH eader,sizeof(tcp H eader,0,(sockaddr*&addr_i n,sizeof(addr_ i n;e

18、. 接收数据和发送原始套接字数据相比,接收就比较麻烦了。因为在W I N我们不能用recv(来接收ra w socket上的数据,这是因为,所有的I P包都是先递交给系统核心,然后再传输到用户程序,当发送一个ra w s socket包的时候,核心并不知道,也没有这个数据被发送或者连接建立的记录,因此,当远端主机回应的时候,系统核心就把这些包都全部丢掉,从而到不了应用程序上。所以,就不能简单地使用接收函数来接收这些数据包。要达到接收数据的目的,需要采用嗅探技术,接收所有通过的数据包,然后进行筛选,留下符合需要的数据包。因此可以再定义一个原始套接字,用来完成接收数据的任务,这时需要设置SI O_

19、RCVALL,表示接收所有的数据。SOCKET sn iffersock;sn iffsock=W SASocket(AF_I N ET,SOC K_RA W, I PPROTO_I P,NULL,0,W SA_FLAG_OVERLAPPED;D WORD l p vBu ffer=1;D WORD l p cbBytes R et u rned=0;W SA Ioctl(sn iffersock,SI O_RC VALL,&lpvBuffer, sizeof(l p vBuffer,NULL,0,&l p cbBy tes Returned, NULL,NULL;这样就创建了

20、一个专门用于接收数据的原始套接字,就可以通过接收函数来接收数据包了。然后再使用一个过滤函数达到筛选的目的,接收需要的数据包。上面介绍的技术是专门用来处理现场总线控制网络发过来的数据。对接收到的数据进行进一步处理,向远方的计算机进行通信,采用了面向连接的套接字进行通信。下面就是对基于面向连接的套接字进行讨论。在网络通信中,由于网络拥挤或一次发送的数据量过大等原因,经常会发生交换的数据在短时间内不能传送完,发送数据的函数不能及时返回等情况。对这些情况,SOCKET采用了两种处理方式:阻塞和非阻塞方式。在阻塞方式下,收发数据的函数在被调用后,一直等到数据被传送完毕后或出错才返回。而对于非阻塞方式,函

21、数被调用后立即返回,当传送完后,给进程发一个事先约定好的消息。基于TCP/I P网络通信的主要模式就是C/S通信方式。使用SOCKET进行网络通信程序设计和其它C/S模式应用程序设计过程一样,客户机进程发送请求给服务器进程,服务器进程对客户机进程作出相应,并产生结果。图2就是基于SOCKET的C/S结构应用 程序的基本流程图。图2 基于socket的客户机/服务器应用程序基本流程图由图2可以看出,客户机与服务器的关系是不55对称的。对于TCP的C/S结构模型,服务器首先启动,然后在某一时刻启动客户机与服务器建立连接。服务器与客户机开始都必须调用socket(建立一个套接字socke,t然后服务

22、器调用b i n d(将套接字与一个本地网络地址捆扎在一起,再调用listen(使套接字处于一种被动的准备接收状态,同时规定它的请求队列长度,之后服务器就可以调用accept(来接收客户端连接。客户端打开套接字之后,便可通过调用connect(和服务器建立连接。连接建立之后,客户机和服务器之间就可以通过连接发送和接收数据。最后,待数据传送结束,双方调用c l o sesock et(关闭套接字。根据给定的远方网络节点的I P地址和端口号进行远程连接并进行数据通信的功能子函数如下: SOCKET tongx in(unsi g ned long i p addr,i n t portf d=so

23、cket(AF_I N ET,SOC K_STREAM,0;/*创建一个通信端口*/des.si n_po rt=p;/*此端口号应与给定的服务器设置的端口号一致*/j=connect(fd,(struct sockaddr*&des,sizeof (struct sockaddr_i n;/*与服务器建立连接*/send(fd,&ka ish,i4,0;send(fd,s m sg,strlen(s m sg,0;recv(fd,rbu,f strlen(rbuf,0;return(f d;通过对这个子函数进行调用就可以实现和远程计算机进行网络通信,互相交换所需要的各种数据信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论