




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于TCP/IP的多数据流传输测控系统的设计与实现摘要:为保证子测控设备的独立测量、状态监控和实时数据的同步传输,设计基于tcp/ip的多数据流传输测控系统,对需求参数进行测量,采用基于多重事件的网络通信技术、数据采集技术及基于队列的多数据同步处理技术,利用现有的局域网资源,实现设备的控制,实现数据的实时获取、存储,数据流整合,实现信息、资源及任务的综合共享及管理。该系统经长期运行,稳定可靠,达到了设计的要求。关键词:测控系统;tcp/ip;多数据流;多重事件;数据队列引言随着工业的发展,工业现场的规模越来越大,几台甚至十几台计算机在不同的地理位置完成不同的工业测量或控制任务,体现出网络化、集
2、成化、分布化、节点智能化发展的趋势,伴随而来的是数据源的增多和设备监控复杂度的增加,为此设计一种多数据流网络传输测控系统。本系统以tcp/ip技术为基础而搭建的网络测控平台,实现了分布式的多台计算机的信息交互和设备控制,具有简单、高效、实时性高等优点。1系统原理与组成多数据流传输测控系统可以分为:数据源设备模块、数传与实时处理模块、远程控制台模块、控制台设备模块、前端单片机采集设备模块五个部分。系统组成如图1所示。在这个测控系统中各个测控部分相对独立,可完成电压、电流等多种参数的采集;结果以多个数据流方式发送到数据与实时处理设备或控制台设备实时接收存储和处理,并通过网络把数据传送到远程控制台监
3、控界面;远程控制台监控界面完成对前端数据的显示与综合,以便对前端设备状态进行分析。图1中,数据源设备和数传与实时处理设备之间采用tcp协议,数据源设备为服务器端(server),数传与实时处理设备为客户端(client),客户端向服务器请求数据成功后,将多个服务器提供的数据流进行存储、综合和发送到远程控制台。数传与实时处理设备同远程控制台之间采用udp协议通信。与此同时,用户通过远程控制台发送控制命令到控制台设备,完成对控制台设备远程命令控制,控制台设备完成动作后将通过rs 422串行通信接口将接收到的单片机测控模块的采集信号转用网络接口发送回远程控制台。控制台设备和远程控制台设备之间采用ud
4、p协议通信。下面分别介绍多数据流传输测控系统五个主要部分的基本组成及功能。1.1数据源设备模块和单片机模块数据源设备模块和单片机采集模块以两个独立模块作为前端数据采集设备。数据源设备为数传与实时处理设备提供多路tcp数据流,单片机为控制台设备提供串口数据帧。1.2教传与实时处理模块数传与实时处理模块作为客户端,数据源设备计算机作为服务器端。二者通过交换机连接到网络上,基于tcp协议与数据源设备模块进行多数据流通信,数据以二进制文件格式写人到本地磁盘。接收完成一次完整数据(定长tcp流数据)后将用户感兴趣的部分数据进行整合为一个数据帧,通过udp协议方式发送到远程控制台的监控界面。同时用户也可通
5、过手动或自动选择多条码流的部分数据进行本地数据曲线图形显示或数据柱状图形显示。1.3远程控制台模块远程控制台负责对数传与实时处理模块、控制台模块的网络唤醒和网络监控,以及完成对远程设备电源的相关操作。远程控制台接收相邻模块的网络数据帧(包括数传与实时处理模块对多数据流进行整合的数据帧和控制台模块转发的单片机采集数据帧),对控制台发送网络控制帧(完成参数设置、系统开启关闭、板卡操作、串口操作等任务),采用udp协议进行通信。1.4控制台设备模块控制台设备模块由cpci工控计算机和继电器板卡组成。供电电源继电器卡采用ni pxi-256416路5aspst开关模块,它是大功率继电器卡,可进行电源输
6、入和电源备份;断电及转电控制信号继电器卡采用adlink pxi-790116路通用spdt开关模块,可进行电源的控制切换。系统结构及外部接口关系如图3所示。系统采用agilent n6700系列模块电源供电,控制台由rs422串行通信接口连接到单片机测控模块、网络连接到远程控制台。为通信的稳定可靠,控制台与远程控制台间的千兆以太网通过光电转换器转为光纤连接。控制台接受远程控制台的控制,对来自单片机采集模块的数据进行解码及显示并传向远程控制台,通信采用udp协议。2软件设计与实现2.1多重事件方式实现网口及串口通信控制台模块需要接收远程控制台的远程控制命令帧和来自rs422串行通信接口(与单片
7、机采集模块相连)的串行数据,并把串行数据打包成既定格式udp数据帧转发送到远程控制台,为此控制台软件需建立后台管理器(ctconmanager)来开启网络监控线程、串口监控线程两个独立线程进行监控网口和串行口。二者流程图如图4所示。软件需要把串口数据进行协议转换为udp数据帧发送,所以网络监控线程采用等待多重事件的方式来处理由wsacreateevent函数创建的网络事件(m-evtnetwork)和串口事件(m-evtoverlappedseri-a1),串口监控流程采用异步事件模式监控串行口的数据接收。网络事件由wsaeventselect函数与当前的socket接口绑定,串口事件由串口接
8、收一个完整数据帧后设置到网络监控线程。当控制台网络可以接收到远程控制台的网络帧(即有网络事件发生)时,线程调用processnetworkevent函数来处理这个事件(即开始解析远程命令帧),相应串口事件调用网络监控线程的processserialevent函数来处理这个事件(即发送数据帧)。线程中的网络超时事件(wsa-wait-time-0ut)处理超时任务(processtimeoutevent)包括串口和板卡状态的循环检测以及状态数据包的发送。软件采用这种机制能及时响应多重事件,实现了串口和网络接口的对接,节省了设备资源,使系统效率得到了提高。2.2tcp多数据流整合同步处理根据系统要
9、求,数传与实时处理模块将多个tcp流的相同或不同字段的数据进行提取并整合为一个udp数据报文并发送至远程控制台。由于多个tcp数据流发送过程中很可能会出现某个数据流到达时间相对其他数据流有延迟,这就会造成在整合为udp数据报文的过程中数据的不同步。为解决这个问题,软件采用基于数据队列的方式实现码流同步首先将多个既定长度的tcp流数据(tcp-datavalue)加入(push)多个相应队列(cdataqueue),当所有队列的长度大于等于1,即所有队列有元素时,将队列中的第一个(即最先压入队列)元素弹出(get-firstdata),然后进行码流的数据提取。下面以三个数据流为例说明这种机制的实
10、现,主要代码如下:/获取指定索引号的元素bool getfirstdata(datavalue*pdatavalue);/获取队列第一个元素bool push(const datavaluevdata);/压人队列bool pop(datavalue*pdatavalue)0/弹出队列,清空元素protected:critical-section m_csqueue;/临界区控制cautolock mexclusiveloc/读/写控制互斥锁,防止多线程访问数据不同步/*声明变量*/cdataqueue m dataqueuel,m-dataqueue2,m-dataque-ue3;/声明三个
11、队列对象byte*tcpdatavaluel=new byte1024*8;byte*tcpdatavalue2=new byte1024*8;byte*tcpdatavalue3=new byte1024*8;/声明tcp流1,2,3数据缓存空间int tcpdatalenl=0;int tcpdatalen2=0;int tcp-datalen3=o;/声明所接收到tcp流的实际长度/*接收到tcp流数据后加入队列*/判断接收到是否为tcp数据l,2,3的既定长度if(tcpdatalenl=tcp-data-lenl)m dataque-uel.push(tcpdatavaluel);i
12、f(tcpdatalen2=tcp-data-len2)m-dataqueue2.push(tcpdatavajue2);)if(tcpdatalen3=tcp-data-len3)m-dataque-ue3.push(tcpdatavalue3);if(m-dataqueuel.getqueuesize()>o)&(m-dataque-ue2.getqueuesize()>0)&(m_dataqueue3.getqueuesize()>0)/判断所有队列是否都有元素poptoudpframe();/将所有队列的元素弹出并整合至udp数据包软件利用这种机制既保
13、证了多数据流数据的同步性,同时又不会对数据的实时性产生较大影响。3系统测试软件测试环境为装有系统硬件环境的工控机,工控机之间通过千兆以太网络以光纤连接。本系统现有插装继电器板卡的控制台设备一套;unksys(型号为srw2024)24端口千兆带宽交换机若干台;数据源设备3套,单一数据源设备的数据采集周期为20ms,整帧长度为4096b;单片机测控设备(32路数据通道)一套,数据采集周期为200ms,整帧长度为32b。将本系统进行一段时间的数据测试积累,来获取系统的吞吐量、命令响应时间、资源消耗和效率等。经过长时间的测试运行表明本系统网络能达到67mb/s的吞吐量,且数据稳定、可靠、同步性高,与
14、数据源对比没有出现乱序、丢包等现象;控制台设备可以较好地分配网口与串口的cpu调度处理时间,接收到远程控制命令可靠,硬件响应时间短;整个系统在一般配置计算机运行占用资源少,运行流畅,达到了设计的要求。4结语基于tcp/ip的多数据流传输测控系统实现了各数据采集系统设备的控制、数据的传输和处理。本系统利用tcp/ip技术、数据采集技术和面向对象的软件开发技术,利用现有的网络资源,以高性价比实现信息的实时获取存储、设备的高效控制和用户软件界面的直观显示。通过几个月的测试运行,稳定可靠,实时性高,达到了多数据流传输测控的目的。参考文献1李江全.现代测控系统典型应用实例m.北京:电子工业出版社,2010.2习友宝,古军.分布式网络化测试技术综述j.仪器仪表学报,2002,23(5):212-213.3自婷.基于tcp的集散式环境参数测量系统的设计与实现j.计算机测量与控制,2010,18(6):1234-1236.4李风保.基于ethernet的网络化测试技术研究j.仪器仪表学报。2001。22(4):261-262.5comer douglas e.用tcp/ip进行网际互联:原理、协议与结构m.林瑶,译.5版.北京:电子
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年牛皮纸嵌缝带电子打孔机项目投资价值分析报告
- 2025至2030年流量控制仪项目投资价值分析报告
- 2025至2030年油压自动上胶后帮机项目投资价值分析报告
- 2025至2030年汽车尾气净化装置项目投资价值分析报告
- 2025至2030年双开门式高温杀菌锅项目投资价值分析报告
- 2025至2030年卧式多级节段式离心泵项目投资价值分析报告
- 2025至2030年准妈妈奶粉项目投资价值分析报告
- 2025至2030年中国流态化煅烧机行业发展预测及投资策略报告
- 记账实操-付欧元合同的会计分录示例
- 预防呼吸道疾病教案第一
- 严重心律失常急救与护理课件
- 糖尿病病情评估与风险分级标准
- 检伤分类资料
- 储气罐使用注意事项培训
- 医务科依法执业自查表
- 建筑技术质量考核评分表
- 七年级心理健康期末考试试卷(含答案)
- 短视频编辑与制作全套教学课件
- 小学语文教学技能PPT完整全套教学课件
- 美国宪法全文(中、英文版)
- 初中历史课件:中国古代科技发展史
评论
0/150
提交评论