CN102413035B - 一种实现快速数据采集的方法 - Google Patents
一种实现快速数据采集的方法 Download PDFInfo
- Publication number
- CN102413035B CN102413035B CN2011102353269A CN201110235326A CN102413035B CN 102413035 B CN102413035 B CN 102413035B CN 2011102353269 A CN2011102353269 A CN 2011102353269A CN 201110235326 A CN201110235326 A CN 201110235326A CN 102413035 B CN102413035 B CN 102413035B
- Authority
- CN
- China
- Prior art keywords
- data
- plc
- block
- send
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000005070 sampling Methods 0.000 claims abstract description 11
- 239000000872 buffer Substances 0.000 claims abstract description 9
- 238000003860 storage Methods 0.000 claims abstract description 8
- 238000013480 data collection Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 241001269238 Data Species 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000008859 change Effects 0.000 claims description 2
- 238000013523 data management Methods 0.000 claims description 2
- 239000003550 marker Substances 0.000 claims description 2
- 230000000306 recurrent effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 abstract 2
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009749 continuous casting Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Programmable Controllers (AREA)
- Computer And Data Communications (AREA)
Abstract
一种实现快速数据采集的方法,属于对流程工厂中的过程数据进行采集的技术领域。工艺步骤为:对PLC数据缓冲池内的数据进行基本数据类型的压缩;利用PLC控制程序的功能块,首先开辟两块固定大小的数据缓冲区,两个网络通路,用于保存PLC一侧10ms快速变化数据;采用系统功能块AG SEND对缓冲区内的数据发送到接收端,当程序写完第一组信息采样值后,就完成了整个数据块的数据采集、存储,这时调用发送程序AG SEND,将数据块发送给快速数据接收端;开发专用服务,通过以太网接收PLC周期发送的数据包。优点在于,开发专用服务,通过以太网接收PLC周期发送的数据包。
Description
技术领域
本发明属于对流程工厂中的过程数据进行采集的技术领域,特别是提供了一种实现快速数据采集的方法,实现了对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为工业生产过程数据采集分析整体架构示意图。
图2为两块数据缓冲池交替发送数据示意图。(请将该图外框去掉)
图3为数据接收服务模块功能示意图。
具体实施方式
下面我们结合附图对该过程实施方法进行详细的说明。
如图1所示,是典型的工业生产过程数据采集分析整体架构示意图。PLC一侧作为数据的采集侧,通过工业以太网与数据采集分析侧通讯。我们在每个PLC侧开辟两块数据块,两个网络通路,交替对采集到的快速数据进行发送。以S7400,快速数据采集周期为10ms,快速数据点该数为5个为例,10个快速数据均为float类型,下面对该5个数据的快速压缩采集过程进行说明。
首先对该五个数据进行类型的压缩,将float类型在存储的时候转换成short类型。这样每个过程数据占用2字节存储。
其次我们定义一个大小为210字节的数据块,数据块的0-3字节定义为报文头部,206-209为报文尾。其余部分用于存储过程数据组。
这样数据块的格式就成为:
从上表看出,此时我们可以保存20组数据,根据10ms的采样周期,这样每200ms发送一次给数据接收端即可。第一组写完后立即发送给接收端,同时第二组数据块开始进行数据采集。如图2所示,两个数据块交替进行数据的采集和发送。
数据接收服务具有图3示的功能模块。在数据接收侧,首先启动PLC数据接受线程1和线程2,用于交替接收PLC发送过来的报文并进行解析。线程1和线程2作为监听端,时刻等待PLC侧发起连接请求后接收PLC侧发送的数据。当网络异常或者报文格式不正常的时候,线程1或者线程2对该连接进行中断,PLC侧则根据机制一定的时候后发起重新连接请求。至此完成对PLC数据的接收。
Claims (1)
1.一种实现快速数据采集的方法,其特征在于,工艺步骤如下:
(1)对PLC数据缓冲池内的数据进行基本数据类型的压缩
对于BOOL型数据,按照一个字节进行存储,对于float型和long型数据,在精度允许范围内,转换成short类型进行存储,将存储空间从4字节有效的降低为2字节,经过这样的处理,在开辟的固定大小的存储区中能够尽可能多的存储数据采集点,以满足有些数据采集点稍多的情况;
(2)利用PLC控制程序的功能块,首先开辟两块固定大小的数据缓冲区,两个网络通路,用于保存PLC一侧10ms快速变化数据;具体步骤为:
首先对数据块格式和顺序进行定义,S7-400发送给快速数据采集系统的数据块是按照数据的类型和采集的先后顺序的格式和顺序进行定义的存储区,其原理是利用PLC将每个循环周期所采集的过程值以数据缓冲池内数据结构的顺序存放在存储区内,数据包中包含了采样值的信息开始标志、信息结束标志,不会因为数据管理系统收到数据包的时刻不同而产生采样值的时间标记误差;经过类型压缩后的数据块如下:
第一组信息:
第二组信息:
其次是建立数据块,用于存储这些快速数据;数据块里信息是不断更新变化的,依据10ms的采样周期,程序必须被放在OB35循环中断组织块里调用;首先填写每个变量的头文件信息,为保证时间的准确性,该信息必须在第一个采样周期内写入;
程序依次将数值写入第一组信息的数据块,写入第1个变量的第1个数值以后,就将指针跳转到下一个变量的第1个数值的地址,写完最后一个变量第1个数值后,循环写入第1个变量第2个数值,依次类推当程序写完第20组变量后,这时开始写入第二组信息,两组信息交替被写入,完成两组信息数据块的数据采集、存储,完成数据块的建立;
(3)采用系统功能块AG_SEND对缓冲区内的数据发送到接收端,当程序写完第一组信息采样值后,就完成了整个数据块的数据采集、存储,这时调用发送程序AG_SEND,将数据块发送给快速数据接收端;第一组数据块完成数据采集后,立刻对第二组数据块进行信息采样,写完后开始调用发送程序AG_SEND,这样两组信息交替发送给数据接收端,完成数据发送;两组信息交替发送解决了数据采集过程中经常发生的丢帧问题,突破了单个过程值采样对实时性的要求,达到了高速数据采集的目的;
(4)开发数据接收专用服务,通过以太网接收PLC周期发送的数据包
针对发送方PLC侧采用双通道发送数据块的模式,对于每一个PLC,在PC侧启动两个监听线程,在指定的两个端口上进行监听;服务采用C++语言,在VS2008下开发,通过SOCKET和windows API函数对该服务进行编写;服务具有对PLC发送过来的快速数据和普通数据进行接收;对网络情况进行判断,当网络出现异常的时候,停止和PLC的当前连接,等待PLC再次提出连接请求的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102353269A CN102413035B (zh) | 2011-08-16 | 2011-08-16 | 一种实现快速数据采集的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102353269A CN102413035B (zh) | 2011-08-16 | 2011-08-16 | 一种实现快速数据采集的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102413035A CN102413035A (zh) | 2012-04-11 |
CN102413035B true CN102413035B (zh) | 2013-11-20 |
Family
ID=45914894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102353269A Expired - Fee Related CN102413035B (zh) | 2011-08-16 | 2011-08-16 | 一种实现快速数据采集的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102413035B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724279B (zh) * | 2012-05-15 | 2014-12-31 | 北京首钢自动化信息技术有限公司 | 一种实现日志保存和管理的系统 |
CN104080014B (zh) * | 2013-03-28 | 2018-09-28 | 浙江大华技术股份有限公司 | 一种实时视频处理方法和装置 |
CN105573921A (zh) * | 2014-10-15 | 2016-05-11 | 中兴通讯股份有限公司 | 文件存储方法及装置 |
CN104503407B (zh) * | 2014-12-20 | 2017-06-06 | 北京首钢自动化信息技术有限公司 | 一种工业生产过程中数据采集回放系统和方法 |
CN112270147A (zh) * | 2020-10-29 | 2021-01-26 | 国核自仪系统工程有限公司 | 板卡及其控制方法 |
CN113282063B (zh) * | 2021-05-13 | 2023-06-23 | 北京大豪工缝智控科技有限公司 | 缝制产线的配置方法及装置 |
CN115792437B (zh) * | 2021-11-18 | 2024-01-26 | 苏州工业园区科佳自动化有限公司 | 一种避雷器数字化监测方法与系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352866A (zh) * | 1998-12-18 | 2002-06-05 | 艾利森电话股份有限公司 | 在无线电通信系统中过区切换的动态阈值调整的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004038110B3 (de) * | 2004-08-05 | 2005-12-29 | Siemens Ag | Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung |
-
2011
- 2011-08-16 CN CN2011102353269A patent/CN102413035B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352866A (zh) * | 1998-12-18 | 2002-06-05 | 艾利森电话股份有限公司 | 在无线电通信系统中过区切换的动态阈值调整的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102413035A (zh) | 2012-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413035B (zh) | 一种实现快速数据采集的方法 | |
CN104503407B (zh) | 一种工业生产过程中数据采集回放系统和方法 | |
CN113810791B (zh) | 一种提高智能网卡/dpu网络遥测技术性能的方法 | |
CN105490876A (zh) | 发包联动并发监控自动化测试服务器性能的方法 | |
CN102929620B (zh) | 一种柔性测控平台系统及开发方法 | |
CN105573711B (zh) | 一种数据缓存方法及装置 | |
CN114090472A (zh) | 基于ddr实现大规模fifo数据处理的系统、方法、装置、处理器及其存储介质 | |
US20220343047A1 (en) | Method and system for processing simulation data | |
CN106657029A (zh) | 一种基于白名单实现多网口共享ip地址的冗余通信方法 | |
CN111917753B (zh) | 一种基于位域的Modbus TCP报文解析方法 | |
CN111913445B (zh) | 数据采集方法、设备、存储介质、数据传输方法和网关 | |
CN107579894B (zh) | 一种基于fpga的ebr1553总线协议实现装置 | |
CN109164793A (zh) | 一种实时读取与监测旋变解码芯片数据的方法 | |
CN206922784U (zh) | 智能网关 | |
CN113050558A (zh) | 一种5g工业物联网智能数据采集终端、系统及方法 | |
CN102843380B (zh) | 一种解决基于modbus的串口通信瓶颈的方法 | |
CN103514132B (zh) | 一种用于大数据量高速率通讯的数据优化方法 | |
CN116400622A (zh) | 一种可组网高精度数据采集监控系统及方法 | |
CN109408246A (zh) | 一种工控网络自适应审计方法 | |
CN106254540B (zh) | 一种适用于分布式系统的节点服务监控系统及实现方法 | |
CN104079658A (zh) | Web环境下基于池技术的环保物联网实时控制方法 | |
CN108183769B (zh) | 一种基于LabVIEW的多通道多采样率CAN总线数据解析方法 | |
CN108183550B (zh) | 一种港口岸电数据采集系统 | |
CN111654886A (zh) | 一种限制用户带宽的方法和装置 | |
CN111507053A (zh) | 集成电路仿真中数据通信的方法、模块、存储介质及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |