CN102413035A - 一种实现快速数据采集的方法 - Google Patents

一种实现快速数据采集的方法 Download PDF

Info

Publication number
CN102413035A
CN102413035A CN2011102353269A CN201110235326A CN102413035A CN 102413035 A CN102413035 A CN 102413035A CN 2011102353269 A CN2011102353269 A CN 2011102353269A CN 201110235326 A CN201110235326 A CN 201110235326A CN 102413035 A CN102413035 A CN 102413035A
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.)
Granted
Application number
CN2011102353269A
Other languages
English (en)
Other versions
CN102413035B (zh
Inventor
胡丕俊
蒋学军
李亮举
沈会良
左永红
李彦斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shougang Automation Information Technology Co Ltd
Original Assignee
Beijing Shougang Automation Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shougang Automation Information Technology Co Ltd filed Critical Beijing Shougang Automation Information Technology Co Ltd
Priority to CN2011102353269A priority Critical patent/CN102413035B/zh
Publication of CN102413035A publication Critical patent/CN102413035A/zh
Application granted granted Critical
Publication of CN102413035B publication Critical patent/CN102413035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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所示:
Figure BDA0000083760170000021
其次是建立数据块,用于存储这些快速数据。数据块里信息是不断更新变化的,依据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为报文尾。其余部分用于存储过程数据组。
这样数据块的格式就成为:
Figure BDA0000083760170000041
从上表看出,此时我们可以保存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将每个循环周期所采集的过程值以数据缓冲池内数据结构的顺序存放在存储区内,数据包中包含了采样值的信息开始标志、信息结束标志,不会因为数据管理***收到数据包的时刻不同而产生采样值的时间标记误差;经过类型压缩后的数据块如下:
Figure FDA0000083760160000011
Figure FDA0000083760160000021
其次是建立数据块,用于存储这些快速数据;数据块里信息是不断更新变化的,依据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再次提出连接请求。
CN2011102353269A 2011-08-16 2011-08-16 一种实现快速数据采集的方法 Active CN102413035B (zh)

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 true CN102413035A (zh) 2012-04-11
CN102413035B CN102413035B (zh) 2013-11-20

Family

ID=45914894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102353269A Active CN102413035B (zh) 2011-08-16 2011-08-16 一种实现快速数据采集的方法

Country Status (1)

Country Link
CN (1) CN102413035B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724279A (zh) * 2012-05-15 2012-10-10 北京首钢自动化信息技术有限公司 一种实现日志保存和管理的***
CN104080014A (zh) * 2013-03-28 2014-10-01 浙江大华技术股份有限公司 一种实时视频处理方法和装置
CN104503407A (zh) * 2014-12-20 2015-04-08 北京首钢自动化信息技术有限公司 一种工业生产过程中数据采集回放***和方法
WO2015131700A1 (zh) * 2014-10-15 2015-09-11 中兴通讯股份有限公司 文件存储方法及装置
CN112270147A (zh) * 2020-10-29 2021-01-26 国核自仪***工程有限公司 板卡及其控制方法
CN113282063A (zh) * 2021-05-13 2021-08-20 北京大豪工缝智控科技有限公司 缝制产线的配置方法及装置
CN115792437A (zh) * 2021-11-18 2023-03-14 苏州工业园区科佳自动化有限公司 一种避雷器数字化监测方法与***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352866A (zh) * 1998-12-18 2002-06-05 艾利森电话股份有限公司 在无线电通信***中过区切换的动态阈值调整的方法和***
US20080292002A1 (en) * 2004-08-05 2008-11-27 Siemens Aktiengesellschaft Coding and Decoding Method and Device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352866A (zh) * 1998-12-18 2002-06-05 艾利森电话股份有限公司 在无线电通信***中过区切换的动态阈值调整的方法和***
US20080292002A1 (en) * 2004-08-05 2008-11-27 Siemens Aktiengesellschaft Coding and Decoding Method and Device

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724279A (zh) * 2012-05-15 2012-10-10 北京首钢自动化信息技术有限公司 一种实现日志保存和管理的***
CN102724279B (zh) * 2012-05-15 2014-12-31 北京首钢自动化信息技术有限公司 一种实现日志保存和管理的***
CN104080014A (zh) * 2013-03-28 2014-10-01 浙江大华技术股份有限公司 一种实时视频处理方法和装置
CN104080014B (zh) * 2013-03-28 2018-09-28 浙江大华技术股份有限公司 一种实时视频处理方法和装置
WO2015131700A1 (zh) * 2014-10-15 2015-09-11 中兴通讯股份有限公司 文件存储方法及装置
CN104503407A (zh) * 2014-12-20 2015-04-08 北京首钢自动化信息技术有限公司 一种工业生产过程中数据采集回放***和方法
CN104503407B (zh) * 2014-12-20 2017-06-06 北京首钢自动化信息技术有限公司 一种工业生产过程中数据采集回放***和方法
CN112270147A (zh) * 2020-10-29 2021-01-26 国核自仪***工程有限公司 板卡及其控制方法
CN113282063A (zh) * 2021-05-13 2021-08-20 北京大豪工缝智控科技有限公司 缝制产线的配置方法及装置
CN113282063B (zh) * 2021-05-13 2023-06-23 北京大豪工缝智控科技有限公司 缝制产线的配置方法及装置
CN115792437A (zh) * 2021-11-18 2023-03-14 苏州工业园区科佳自动化有限公司 一种避雷器数字化监测方法与***
CN115792437B (zh) * 2021-11-18 2024-01-26 苏州工业园区科佳自动化有限公司 一种避雷器数字化监测方法与***

Also Published As

Publication number Publication date
CN102413035B (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN102413035B (zh) 一种实现快速数据采集的方法
CN111277672B (zh) 一种基于非阻塞输入输出模型的能源物联网数据采集方法
CN1078798C (zh) Mpeg2传送译码器
CN104503407B (zh) 一种工业生产过程中数据采集回放***和方法
CN101707544B (zh) E1信道多向网桥透传方法
CN113810791B (zh) 一种提高智能网卡/dpu网络遥测技术性能的方法
US7941229B2 (en) High-speed sequential sampling of I/O data for industrial control
CN101645832B (zh) 一种基于fpga的虚拟机网络数据包处理方法
CN105490876A (zh) 发包联动并发监控自动化测试服务器性能的方法
CN112751788B (zh) 一种支持多类型帧混合传输的双平面交换方法
CN106657029A (zh) 一种基于白名单实现多网口共享ip地址的冗余通信方法
CN114090472A (zh) 基于ddr实现大规模fifo数据处理的***、方法、装置、处理器及其存储介质
CN107579894B (zh) 一种基于fpga的ebr1553总线协议实现装置
CN101464675B (zh) 无限点plc开关量输入扩展模块
CN110287023A (zh) 消息处理方法、装置、计算机设备和可读存储介质
CN108667706A (zh) 串口数量动态可调的以太网串口服务器及其数据传输方法
CN109164793A (zh) 一种实时读取与监测旋变解码芯片数据的方法
CN108696393A (zh) 一种基于大数据的网络流量分析***
CN107783926B (zh) 基于PowerPC与网口的FPGA与PC的通信方法
CN103514132B (zh) 一种用于大数据量高速率通讯的数据优化方法
CN102843380A (zh) 一种解决基于modbus的串口通信瓶颈的方法
CN114281725A (zh) 一种高速数据处理***及高速数据处理方法
CN209264017U (zh) 一种多接口油化试验仪器数据采集***
CN204652526U (zh) 一种基于fpga的视频采集存储电路
CN108183550B (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