[发明专利]一种实现快速数据采集的方法有效
申请号: | 201110235326.9 | 申请日: | 2011-08-16 |
公开(公告)号: | CN102413035A | 公开(公告)日: | 2012-04-11 |
发明(设计)人: | 胡丕俊;蒋学军;李亮举;沈会良;左永红;李彦斌 | 申请(专利权)人: | 北京首钢自动化信息技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/26;G05B19/418 |
代理公司: | 北京华谊知识产权代理有限公司 11207 | 代理人: | 刘月娥 |
地址: | 100041*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 快速 数据 采集 方法 | ||
技术领域
本发明属于对流程工厂中的过程数据进行采集的技术领域,特别是提供了一种实现快速数据采集的方法,实现了对PLC一侧快速数据采集的一种方法,可以实现对少量快速数据点10ms采集周期的采集需求。
背景技术
对于流程工厂来说,过程数据采集系统设备运行过程中和生产过程中的过程数据,对设备的调试、生产过程数据的优化、生产过程故障问题的再现和分析都起着不可或缺的作用。一般来说,对于一般的过程数据,不论是用于生产过程分析还是过程优化,500ms的采样周期已经足够。但是在某些特殊情况下,例如在连铸系统中对结晶器设备的前期调试过程,会需要采集周期为10ms甚至周期更短的快速数据。而对于PLC数据采集,如果采用常用第三方的通讯技术,采样周期最快只能达到50ms,无法满足此类数据10ms的周期要求。同时,即便PLC可以按照10ms采样周期或者1ms的周期完成对该部分数据的采集,对PLC数据频繁进行发送的同时,还会给网络带来很大的负载,造成网络的不稳定。
发明内容
本发明提供一种在不增加硬件设备的前提下对PLC数据实现高速采集的一种方法,其可以实现少量点10ms的快速数据采集需求,而且不会给网络带来很大的负载从而影响网络的稳定性。
本发明解决上述问题工艺步骤如下:
步骤1:对PLC数据缓冲池内的数据进行基本数据类型的压缩
对于BOOL型数据,按照一个字节进行存储,对于float型和long型数据,在精度允许范围内,转换成short类型进行存储,将存储空间从4字节有效的降低为2字节,经过这样的处理,在开辟的固定大小的存储区中能够尽可能多的存储数据采集点,以满足有些数据采集点稍多的情况;
步骤2:利用PLC控制程序的功能块,首先开辟两块固定大小的数据缓冲区,两个网络通路,用于保存PLC一侧10ms快速变化数据;
为了实现以上方法,首先对数据块格式和顺序进行定义,S7-400发送给快速数据采集系统的数据块是按照一定(数据的类型和采集的先后顺序的)的格式和顺序进行定义的存储区,其原理是利用PLC将每个循环周期所采集的过程值以一定(数据缓冲池内数据结构的)的顺序存放在存储区内,数据包中包含了采样值的信息开始标志、信息结束标志,不会因为数据管理系统收到数据包的时刻不同而产生采样值的时间标记误差。经过类型压缩后的数据块如表1所示:
其次是建立数据块,用于存储这些快速数据。数据块里信息是不断更新变化的,依据10ms的采样周期,程序必须被放在OB35循环中断组织块里调用。首先填写每个变量的头文件信息,为保证时间的准确性,该信息必须在第一个采样周期内写入。
程序依次将数值写入第一组信息的数据块,写入第1个变量的第1个数值以后,就将指针跳转到下一个变量的第1个数值的地址,写完最后一个变量第1个数值后,循环写入第1个变量第2个数值,依次类推当程序写完第20组变量后,这时开始写入第二组信息,两组信息交替被写入,完成两组信息数据块的数据采集、存储,完成数据块的建立。
步骤3:然后采用系统功能块(AG_SEND)对缓冲区内的数据发送到接收端。当程序写完第一组信息采样值后,就完成了整个数据块的数据采集、存储,这时调用发送程序(AG_SEND),将数据块发送给快速数据接收端;第一组数据块完成数据采集后,立刻对第二组数据块进行信息采样,写完后开始调用发送程序(AG_SEND),这样两组信息交替发送给数据接收端,完成数据发送。两组信息交替发送解决了数据采集过程中经常发生的丢帧问题,突破了单个过程值采样对实时性的要求,达到了高速数据采集的目的。
步骤4:开发专用服务,通过以太网接收PLC周期发送的数据包。
针对发送方(PLC侧)采用双通道发送数据块的模式,对于每一个PLC,在PC侧启动两个监听线程,在指定的两个端口(与PLC约定好端口号)上进行监听。服务采用C++语言,在VS2008下开发,通过SOCKET和windows API函数对该服务进行编写。服务具有如下功能:对PLC发送过来的快速数据和普通数据进行接收;对网络情况进行判断,当网络出现异常的时候,停止和PLC的当前连接,等待PLC再次提出连接请求。
本发明取得了以下效果:在不增加专用硬件设施的前提下,不仅实现了少量10ms快速数据的采集,而且有效降低了数据的丢失率,避免了由于高频率、数据量大降低整个系统的应用性能和稳定性的情况。
附图说明
图1为工业生产过程数据采集分析整体架构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京首钢自动化信息技术有限公司,未经北京首钢自动化信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110235326.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种镍铬硅青铜合金材料
- 下一篇:一种采用萃取方法去除钙和镁的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置