《基于工业以太网的数据收集方案实现.docx》由会员分享,可在线阅读,更多相关《基于工业以太网的数据收集方案实现.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于工业以太网的数据收集方案实现ronggang导语:针对工业数据收集领域的现状,提出一种新的基于工业以太网的数据收集方案,在工业经过控制中实现基于Socket套接字的实时数据通讯摘要:针对工业数据收集领域的现状,提出一种新的基于工业以太网的数据收集方案,在工业经过控制中实现基于Socket套接字的实时数据通讯。介绍了Socket套接字的根本概念和工业以太网技术的最新开展,采用基于Rabbit2000高性能单片机扩展的带有以太网通讯接口的核心模块BL2100及其所时应的DynamicC开发环境,实现了基于Socket套接字的工业以太网数据通讯,并且给出了比拟具体的流程。系统已经有数十套成功地应
2、用于实际消费中,知足了工业数据通讯要求的实时性和准确性。关键词:工业数据通讯;Socket;工业以太网工业经过控制中需要测量和控制的变量很多,以往基于PC机外接的数据收集卡,收集的点数有限,而且要直接和PC机的串口或并口相连,极大限制了PC机资源的充分利用。工业以太网的出现为构成开放式的模块化的数据收集奠定了根底,本工程开发一个基于工业以太网的嵌入式智能模块的开放式数据收集系统。以太网是目前应用最广泛的网络,它不但应用于商用网络,同时在近年来大举进军工业控制领域,获得了宏大的经济效益。以太网最初得到应用时,它采用带有冲突检测的多路载波侦听协议CSMA/CD和二进制指数回退算法1。在这种协议和算
3、法下,当网络繁忙时,它的非实时性和不确定性大大增加。因此,以太网在很长的一段时间只能用于对实时性和确定性要求不是很高的办公网络,它在工业数据通讯领域的应用受到很大限制。随着交换技术和全双工数据通讯技术的开展,工业以太网已经大大进步了在数据通讯中的实时性和确定性,而且在很多工业领域得到成功应用。2以太网用于工业数据通讯的技术根底以太网的交换技术和全双工通讯技术的支持。以太网的交换技术由原先的端对端的网桥连接开展到了如今的以太网交换机。在数据发送的经过中,目前广泛应用存储转发技术,先把输入端口的数据包存储起来,然后进展CRC检查,在对错误包处理后才取出数据包的目的地址,通过查找表转换成输出端口送出
4、包2。正因如此,存储/转发方式在数据处理时延时大,这是它的缺乏,但它可以对进入交换机的数据包进展错误检测,尤其重要的是它可以支持不同速度的输入输出端口间的转换,保持高速端口与低速端口间的协同工作。全双工Full-Duplex技术也是随着以太网技术的开展而被广泛地用于以太网交换机的。如今各大厂家都有基于IEEE802.3X全双工通讯协议的机型,这种交换机集成了目前以太网技术的最新成果。有了交换技术和全双工技术的支持,以太网的不确定性和实时性差确实定得到很大的改观,在工业数据通讯领域得到了诸多厂商的认可。网络单片机的开展和相对应的软件开发环境随着以太网通讯技术的进步,各大厂商纷纷推出基于嵌入式以太
5、网的处理器,本系统所用的Rabbit2000就是其中的一种。Z-World公司推出的BL2100核心模块使用了Rabbit2000处理器,它是专门应用于嵌入式领域的以太网通讯智能模块,支持各种网络协议如TCP,HTTP,FTP,SMTP,PPP等,开发经过中使用的是基于TCP/IP协议的Socket编程系统3。对应于硬件配置,Z-World公司提供了相应的软件开发环境,即DynamicC语言,它去掉了普通C语言中不符合实时性要求的局部,参加了适用于实时控制的功能,提供了诸多功能丰富的函数库,包括数学函数库、I/O函数库、串口通讯函数库、数据收集和数据输出函数库,还有基于各种网络协议的网络通讯所
6、需要的函数库4。BL2100在系统编程ISP,程序开发调试方面非常方便。3系统的总体设计系统设计为三层的网络构造,最上层为PC监控机,中间层为网络通讯模块BL2100,现场层为MSP430智能控制节点。PC机和BL2100之间的通讯是基于工业以太网,BL2100和MSP430之间的通讯是用RS-485总线来实现的。监控PC机采用组态软件开发出相应的监控界面,可以实现多种多样的数据处理功能,包括历史数据存储、实时数据动态显示、报警信息输出等。同时操纵人员根据不同的控制要求可以发出不同的控制命令。BL2100网络模块带有工业以太网接口和RS-485接口,多个网络模块可以通过以太网交换机来连接PC监
7、控机,在局域网内可以充分利用丰富的IP地址资源而不受外网的限制,合适于工厂内部环境。MSP430智能节点主要作用是接收收集命令,进展现场数据收集,通过RS-485总线传给BL2100。根据不同的硬件配置,可以在每条总线上挂接多达128个MSP430智能节点。BL2100一方面通过RS-485和MSP430进展数据通讯获得各个节点的采样数据,另一方面把数据处理打包以Socket套接字通讯的方式发送给PC监控机。系统构造示意如图1所示。align=center图1系统连接构造示意图/align4系统软件开发网络模块程序总体框图如图2所示。align=center图2网络模块程序总体框图/align
8、网络模块BL2100运行经过中,程序首先进展必要的硬件初始化,然后接收PC监控机发送的命令,确定系统各个采样通道的配置,包括采样周期、滤波参数设置等,然后通过RS-485总线发出命令,MSP430接到命令进展数据收集,收集完毕发送给BL2100,再通过工业以太网发送给PC机。在本系统使用的DynamicC语言开发环境中,提供了基于TCP/IP协议的Socket网络通讯编程所需的全部库函数。Socket通讯首先要创立套接字,其次给套接字赋予地址信息,再建立Socket连接,最后进展数据通讯。通讯经过中还要有网络状况侦听功能和网络错误处理子程序。本系统的通讯有实时数据和非实时数据两局部信息流,实时
9、数据包括采样得到的数据流,非实时数据主要是各种各样的采样控制参数流。数据通讯以实时数据流为主兼之以非实时数据流,程序设计按照Server/Client的形式,网络模块BL2100为效劳器,PC机为客户机。下面以运行在网络模块上的数据发送程序来讲明Socket通讯设计的主要流程:首先定义Socket套接字,它是基于TCP协议的,必须包含一个完好的TCP连接所需要的全部信息。但是它还不是一个详细的针对某一连接的,只是一个定义;其次初始化Socket套接字开发环境,主要是在DynamicC语言的编译环境中声明,获得开发环境的支持。该函数载入Rabbit2000关于TCP,Socket的相关驱动程序,
10、它必须在所有的TCP,Socket相关函数调用之前调用;最后调用发送实时数据的子程序,在这里面要详细的创立套接字,建立、连接、发送数据。子程序的局部源码如下:VoidRealTimeDataSendtcp_Socketsock,longbuff,intstate,wordmy_portswitchstateCase0:iftcp_open!=0/侦听网络建立连接printf“Connectsuccess;elsesock_tick;/套接字治理,完毕后转往sock_err函数timer_2=MS_TIMER;/定时器state+;break;Case1:ifsock_establishedso
11、ck/建立本连接的套接字/建立套接字成功state=2;Printf“Socketsuccessestablish!;elseifMS_TIMER-time_2OUT_TIME/超时处理state=3;Case2发送数据ifsend_start=0/是第一次发送数据发送全部的实时和非实时参变量sock_fastwritebuff;/往发送缓冲区写入数据send_start=1;elseifsend_start=1/只发送实时变量sock_fastwritebuff;state=2;break;Case3:sock_abortsock;/关闭套接字break;sock_err;/套接字错误处理以
12、上介绍的是网络模块向PC机发送数据的流程。但是这只是单方向的数据流动,如上所述,如今的工业以太网技术支持全双工的通讯,即数据的双向流动可以完美地实现,基于此,现场的智能节点在不断向PC机发送收集数据的同时也可以随时承受来自PC机的控制信息及其对应的数据流。本文设计了相应的数据接收子程序。函数定义如下:UnRealTimeDataReceivetcp_Socketsock,longbuff,intstate,wordmyportCase2:sock_fastreadbuff;/从接收缓冲区读取数据参数的定义和接收子程序相比,只有在state即是2时有所不同,此时网络模块接收数据,它根据缓冲区第一
13、个数据获得所要接收的参数的索引号,将缓冲区第二个数据赋给详细的参数变量。还有一点要讲明的是,工作人员进展监控操纵,这个经过不是实时进展的,带有很强的随机性。因此控制信息流不是实时存在的,而是随机的,各个网络模块会不断地侦听网络来查看有没有对应本模块的数据包,假如有那么进入接收子程序。5完毕语本文结合数据收集系统讨论了工业以太网在工业数据通讯中的应用,介绍了在DynamicC环境下基于TCP协议的Socket网络编程。本系统开发以后,用于一套皮革喷漆自动控制系统中,得到了成功的应用。理论证实,基于工业以太网的通讯运行很稳定,延迟很小,在一台PC监控机同时和多台皮革喷漆系统连接工作的情况下,运行同
14、样稳定,实时性和确定性都得到了有效的保证。可以预见,工业以太网在工业数据通讯中的应用必将日益广泛,基于TGP/IP协议的Socket套接字通讯方式作为实现的方法简单实用稳定,已经获得了大多数工业监控开发软件的支持。目前集治理和控制于一体的工业消费经过计算机集成控制系统CIPS正在快速地开展,工业以太网技术使CIPS进人工厂企业的步伐大大加快,这极大地促进制造业的信息化进程。本文作者创新点:针对工业数据收集领域的现状,提出一种新的基于工业以太网的数据收集方案,采用基于Rabbit2000高性能单片机扩展的带有以太网通讯接口的核心模块BL2100及其所时应的DynamicC开发环境,实现了基于So
15、cket套接字的工业以太网数据通讯,并成功地应用于实际消费中,知足了工业数据通讯要求的实时性和准确性。1冯晔,冯忠义.基于Socket网络编程接口实现局域网视频传输的应用研究J.微计算机信息,1998,14:5:17-20.2TarerbaumAS.潘爱民译.ComputernetworksfourtheditionM.北京:清华大学出版社,2004.3Z-WorldInc.DynamicCpremierforsemiconductormicroprocessorsintegratedCdevelopmentsystemusersmanualM.California:Z-worldCorporation,1999.4Z-WorldInc.DynamicCTCP/IPusersmanualM.California:Z-worldCorporation,2001.0