CN100359517C - 高速过程数据采集、存储分析的方法 - Google Patents
高速过程数据采集、存储分析的方法 Download PDFInfo
- Publication number
- CN100359517C CN100359517C CNB031418309A CN03141830A CN100359517C CN 100359517 C CN100359517 C CN 100359517C CN B031418309 A CNB031418309 A CN B031418309A CN 03141830 A CN03141830 A CN 03141830A CN 100359517 C CN100359517 C CN 100359517C
- Authority
- CN
- China
- Prior art keywords
- data
- high speed
- data acquisition
- inventory analysis
- processes data
- 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 - Lifetime
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种高速过程数据采集、存储分析的方法,包括如下步骤:1)、启动通讯模块并与可编程逻辑控制器高速通讯,该通讯方法为所述的过程信号经由以太网以电文包的形式传送,通过调整电文结构和合理分配数据类型将数据合并在2条链路上传送,发送时采用多个中断调用,并且在时刻上,几个中断相互错开;2)、启动接收线程,并采用多记录模式记录数据;3)、创建定时器用于触发判断。这样,采样速率可以达到30ms,丢帧率低于5帧/10000帧,对于个人计算机的性能无特殊要求,无需在PLC侧增加额外设备也无需改动现有硬件设备。
Description
技术领域
本发明涉及一种基于PC的过程数据自动采集,过程数据自动记录处理的快速数据采集的方法。能对冶金企业、机械制造企业的生产加工过程进行过程数据采集、传递、存贮、监测和分析。它不但能够实现过程数据的采集和监测,而且对于现场采集的过程数据还可以进一步进行离线分析,为发生故障后的分析诊断提供有力的依据。
背景技术
目前现有的HMI(人机界面)***以及具有SCADA功能的通用软件都能够实现过程数据的收集、存储和显示。如Siemens的WINCC、Intellution公司的iFix、WonderWare公司的InTouch等,技术上已经很成熟,但这些软件并不是面向高性能的数据采集应用,这类软件的信号采集速度大约为1~10Hz,即100ms~1000ms。
发明内容
本发明所要解决的技术问题是提供一种高速过程数据采集、存储分析的方法,其可实现与Siemens的S7-400的以太网高速通讯,实现高采样速率及低丢帧率,同时还可实现触发和组合触发、多记录模式、数据压缩。
为了解决上述技术问题,本发明采用了下述技术方案:在现有的工业控制***中加入高速过程数据采集、存储分析***,以用于采集、存储分析通过可编程逻辑控制器(Programmable Logc Controller,以下简称PLC)采集的过程信号,其包括如下步骤:1)、启动高速过程数据采集、存储分析***并与可编程逻辑控制器高速通讯,该通讯方法为所述的过程信号经由以太网以电文包的形式传送,通过调整形电文结构和合理分配数据类型将数据合并在2条链路上传送,发送时采用多个中断调用,并且在时刻上,几个中断相互错开;2)、启动接收线程,并采用多记录模式记录数据;3)、创建定时器用于触发判断。
本发明的优点及进步是:采样速率可以达到30ms,丢帧率低于5帧/10000帧,对于PC机的性能无特殊要求,从而实现了低成本的数据采集***方案。由于工业控制***一般都配置HMI(人机界面)***,故在PLC侧必然要求配置以太网卡,这样在增加FDAA数据采集功能后,无需在PLC侧增加额外设备。在现有设备上如要追加高速过程数据采集、存储分析***(以下简称FDDA),基本上可无需改动现有硬件设备。
附图说明
图1是一个典型工业控制***。
图2是高速过程数据采集、存储分析***收集数据的流程图。
图3是中断错开时序图。
图4是高速过程数据采集、存储分析***的定时消息处理流程图。
图5是磁盘记录线程的工作流程图。
具体实施方式
图1所示的是一个典型工业控制***:对于以30ms-50ms快速收集的过程信号经过程控制网1的可编程逻辑控制器2采集后,经由以太网以电文包的形式传送至高速过程数据采集、存储分析***3。FDAA的硬件是普通PC机或工控机,配置通用以太网卡,如3COM网卡与可编程逻辑控制器(PLC)连接。对于PC机的性能无特殊要求,从而实现了低成本的数据采集***方案。由于工业控制***一般都配置HMI(人机界面)人机接口***,故在PLC侧必然要求配置以太网卡,这样在增加FDAA数据采集功能后,无需在PLC侧增加额外设备。在现有设备上如要追加FDDA,基本上可无需改动现有硬件设备。
在收集PLC数据的同时,对于一些特殊的信号,FDAA还可以通过数据采集卡收集,采样频率可达1ms。FDAA可以支持多种数据采集卡,从而满足不同用户的各种实际需要。
如图2所示:上述FDAA***收集数据包括如下步骤:201、启动与PLC高速通讯的通讯模块;202、初始化数据采集卡;203、启动接收数据线程;204、创建1s的定时器用于触发判断。
(1)、与PLC的高速通讯
FDAA和可编程逻辑控制器(Programmable Logic Controller)之间是以TCP/IP为数据传送协议进行通讯的。Siemens的S7-400的CP443-1以太网卡虽是10/100M,但实际发送任务个数是有限制的。在TCP通讯方式下,其功能指标为:
≤240Bytes: 90messages/second
当用于数据采集的链路多于5个时,即使电文长度很短,在50ms频率时,丢帧情况也十分严重。为此,我们通过调整电文结构和合理分配数据类型的方法,将6路链路合并为2条链路:在1个PLC中电文包类型定为2个,每个电文包长度为240字节,最多可收集96路模拟量和96路开关量,96个模拟量中,86个为整型量(2个Bytes),其余10个为实型量(4个Bytes)。在本实施例中,PLC型号为S7-400,CPU:CP416,网卡:CP443-1。
在S7-Manager(S7管理器)程序中,HWConfig中添加Ethernet(以太网)、PG/PC,其中PLC的Ethernet地址为140.80.0.1;
PG/PC选用TCP标准,IP地址为:140.80.0.2;
在主站CP416中,添加与PG/PC的连接2条,使用***默认参数,如下表1所示:
ID | CP416(140.80.0.1) | OPC(140.80.0.2) |
Port | Port | |
1 | 2000 | 2000 |
2 | 2001 | 2001 |
PLC侧的电文结构只在DB(Organization Block组织块)中组织即可,DB数据区的结构如下表2所示:
BYTE序号 | 内容 | 注释 |
0~3 | 电文长度 | ASCII码值,电文长度固定为240个字节。值为:30 3234 30 |
4~7 | 电文号 | ASCII码值,电文号范围规定在1001~1016之间。如:1001号电文,值为:31 30 3031 |
8~9 | 采样周期 | 整型值,单位为毫秒(ms) |
10~11 | 发送电文计数值 | 整型值,范围:1~10000 |
12~15 | 预留 | 暂不用 |
对应在线监控程序的0号模块 | 16~79 | 数值区为2个字节的int型数据,共32*2 | 每2个字节存放1个整型值。 |
80~83 | 32个bit,共4个字节 | ||
对应在线监控程序的1号模块 | 84~147 | 数值区为2个字节的int型数据,共32*2 | 每2个字节存放1个整型值。 |
148~151 | 32个bit,共4个字节 | ||
对应在线监控程序的2号模块 | 152~195 | 数值区为2个字节的int型数据,共22*2 | 每2个字节存放1个整型值。 |
196~235 | 数值区为4个字节的real型数据,共10*4 | 每4个字节存放1个实数(real)。 | |
236~239 | 32个bit,共4个字节 | 每个数字量占1个bit位。 |
可以看到,本电文结构包括96个模拟量和96个数字量,用足了240个字节,即CP443-1网卡在发送短电文时的极限值,从而可实现将6条链路合并为2条链路。而在使用6条链路的情况下,每条电文都很短(80到140个字节之间),只包括32个模拟量和32个数字量,造成了一定程度的浪费。
进一步地,优化数据发送机制,即同时在Siemens PLC内将电文发送任务在时刻上错开,并合理避让其它通讯等优化措施,Siemens的S7-400提供了基于以太网通讯函数AG-SEND,通过此函数将PLC内部数据送往FDAA。具体发送机制是通过PLC内的定时中断(OB#中断块),以固定的频率,收集PLC内部数据,再调用此函数块,将数据送出。
问题是若将几个电文的发送程序放在同一个中断中调用,相当于同一时刻将多个任务提交给***,***会出现处理繁忙状态。结果是任务阻塞,部分电文送不出,即丢帧。
为解决丢帧问题,合理安排任务调度时刻,使***负荷均匀平稳,我们采用多个中断调用,一个中断负责一个发送任务。并且,在时刻上,几个中断相互错开,以避免同时出现。其时序图如图3所示。
中断错开方法是将OB中断中的offset参数项设定某一值,上图中的中断1设为0ms,中断2设为15ms。采用此方法,使***工作性能大为改观。原50ms下同时发送电文,有丢帧现象,改进后,以30ms频率发送电文都无丢帧现象。
通过上述调整电文结构和合理分配数据类型以及将电文发送任务在时刻上错开,从而使得数据采集频率可以达到30ms。
(2)触发功能:
在实际生产过程中,现场情况时常变化,这就需要***对某一事件进行自动相应处理。在FDAA***中,我们制作了触发功能。用户可以自行定义多个触发条件,并允许触发条件之间的逻辑或和逻辑与。当触发条件满足时,就开始记录数据,并且能保存信号变化前一段时间的数据。
(3)多记录模式:
FDAA提供了多达6种记录模式:无磁盘记录单独运行、无磁盘记录连续运行、单文件记录单独运行、单文件记录连续运行、两文件记录重叠运行、两文件记录独立触发。其中以重叠记录和独立触发记录两种模式最具特色。当某一触发发生,***在记录数据时,此触发再次发生,或两个完全不同的触发同时段发生,用户希望两个触发记录的数据能区别开,此时我们的***提供了并行记录功能。此功能相当于两套FDAA***分别记录两组数据,它充分利用了计算机操作***的多任务功能,使得***资源得到了良好利用。
如图4所示:FDAA的定时消息处理包括如下步骤:步骤401、处理定时器消息;步骤402、判断是否正在磁盘记录;如果步骤402的判断结果为否,则执行步骤403、判断是否处于磁盘记录模式下且没有使用触发条件,如果步骤402的判断结果为是,则跳而执行步骤407、将计数器累加;如果步骤403的判断结果为否,则执行步骤404、判断是否满足触发条件,如果步骤403判断结果是,则跳而执行步骤405、启动磁盘记录线程;如果步骤404的判断结果为否,则执行转而步骤415结束此次处理,如果步骤404的判断结果为是,则执行步骤405、启动磁盘记录线程,继续执行步骤406、正在记录标志位置1;步骤407、将计时器累加;步骤408、判断是否使用了结束触发条件,如果步骤408的判断结果为是,则执行步骤409、判断是否满足结束触发条件,如果步骤408的判断结果为否,则执行步骤416、判断计数器是否到最大值;如果步骤409的判断结果为否,则执行步骤415、结束此次处理,如果步骤409的判断结果为是,则继续执行步骤410、停止磁盘记录;如果步骤416的判断结果为否,则执行步骤415、结束此次处理,如果步骤416的判断结果为是,则继续执行步骤410、停止磁盘记录;继续执行步骤411,正在记录标志位置0;步骤412、判断是否在SINGLE(单一)方式下运行,如果步骤412的判断结果为否,则转而执行步骤415、结束此次处理,如果步骤412的判断结果为是,则执行步骤413、停止接收数据线程、杀定时器、卸载通讯模块;继而执行步骤414、停止采样;并执行步骤415、结束该次处理。
如图5所示,上述的磁盘记录线程包括如下步骤:首先执行步骤501、判断是否使用了开始触发条件,如果判断结果为是,则执行步骤502、根据通道采样频率计算触发前某段时间的点数,继而执行步骤503、取该通道该点数的数据,如果步骤501的判断结果为否,则执行步骤509、取最新数据值作为存盘点数,继而执行步骤503、取该通道该点数的数据,继续执行步骤504、将最新数据计数器清零,步骤505、判断该通道是否需要压缩,如果判断结果为是,则执行步骤506、根据压缩比例进行压缩处理,执行步骤507、将该通道触发前的数据存盘,如果步骤505的判断结果为否,则直接执行步骤507、将该通道触发前的数存盘;步骤508、判断是否存在下一个通道,若判断结果为是,则转而执行步骤501,从而循环上述流程;若判断结果为否,则执行步骤510、结束上述流程。
(4)高实时性的获得
FDAA***输入信号的通道数多,数据种类也各种各样,因此数据流量非常大。通常情况下需要处理的数据包括:原始数据、触发数据、信号处理后的数据、存盘数据等。此外需要处理的任务也繁多,包括:数据采集、数据处理、触发判断、屏幕显示、鼠标键盘响应、与PLC通信、磁盘读写等。在诸多任务中,数据采集(包括与PLC通信)是最主要的任务,因为其它任务所操作的数据均来自该任务。每一个任务的执行均要占用CPU时间,其中屏幕显示、数据的实时处理和分析需占用较多的时间;鼠标键盘、通信及磁盘读写等操作因数据须走I/O总线,受总线传输速度的限制也需占用较多的时间,这样,在保证不丢失数据的前提下,再兼顾其它任务,在时间上就显得非常紧张了。
为获得高实时性,在硬件上:a.选用了高性能数据采集卡,在本实施例中为高端应用选择了美国Keithley公司的KPCI3116数采卡,为低端应用选择了台湾ADLINK公司的PCI-9112型数采卡,由采集卡完成采集和部分处理与分析任务,这样可以大大减轻主CPU的负担。b.使用高性能I/O接口:如AGP接口显示卡、PCI接口采集卡。在软件上:a.选用高性能的支持多任务的软件平台Win2000操作***。b.选用实时性好的应用软件。包括作图工具、信号处理及计算工具等。c.在应用程序的开发中,采取了一定的措施,如DMA技术、线程优先级及线程同步技术等。
(5)大容量数据的管理
按照200路信号的数据量,按最高采样速率30ms计算(数采卡采样频率为1ms,32路AI,16路DI),如果连续不断地存储,则一天的数据量约4.9GB(未考虑压缩);而按照触发前后需要记录的时间要求,则内存中需存放至少600秒的数据量,共占约34MB内存;此外,通信、显示、磁盘I/O等操作的数据亦需占一定的内存。可见,在软件运行时,需24小时不间断地对内存和硬盘中大容量的数据进行操作,为了保证数据能实时、准确、可靠地传送,则必须对内存和硬盘中大容量数据区进行合理、高效的管理。
Windows2000操作***对内存和硬盘上的数据具有很强的管理功能,另外Win2000的多任务管理可以使应用软件先将数据写到内存中,当数据在内存中已经收集并组织完毕,便可以以后台任务的方式按照通道的顺序写入磁盘。这种方式可以保证在线数据的压缩功能的实现,并可以使得各个通道采样频率不一样成为可能。另外,在应用程序的开发中,采取了一定的措施,如组织好内存中的原始数据区和写盘数据区、采用大数据文件、存盘时采用高效的压缩方法等。
(6)作图
以图形化的方式来显示数据非常直观、明了。在信号变化频率非常快的情况下,如果需要以图形的方式来表示数据,则需要较快的屏幕刷新率。这样,***资源的占用率会非常高,无疑会对其它任务造成一定的影响。为此选择高性能的作图软件,并在屏幕显示上采取一定的优化措施。
Claims (5)
1、一种高速过程数据采集、存储分析的方法,其特征在于,在现有的工业控制***中加入高速过程数据采集、存储分析***,用于采集、存储分析通过可编程逻辑控制器和数据采集器采集的过程信号,其包括如下步骤:1)、启动高速过程数据采集、存储分析***并与可编程逻辑控制器高速通讯,该通讯方法为所述的过程信号经由以太网以电文包的形式传送,通过调整电文结构和合理分配数据类型将数据合并在2条链路上传送,发送时采用多个中断调用,并且在时刻上,几个中断相互错开;2)、启动接收线程,并采用多记录模式记录数据;3)、创建定时器用于触发判断。
2、根据权利要求1所述的高速过程数据采集、存储分析方法,其特征在于,所述的电文结构包括96个模拟量和96个数字量,所述的数据类型为:在96个模拟量中,86个为整型量,每个整型量2个字节,其余10个为实型量,每个实型量为4个字节。
3、根据权利要求1所述的高速过程数据采集、存储分析方法,其特征在于,所述的中断错开方法为:将组织块中断中的Offset参数项设定不同的值。
4、根据权利要求1所述的高速过程数据采集、存储分析方法,其特征在于,所述触发判断时可自行定义多个触发条件,并允许触发条件之间的逻辑或和逻辑与。
5、根据权利要求1所述的高速过程数据采集、存储分析方法,其特征在于,所述的记录模式包括:无磁盘记录单独运行、无磁盘记录连续运行、单文件记录单独运行、单文件记录连接运行、两文件记录重叠运行、两文件记录独立触发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031418309A CN100359517C (zh) | 2003-07-24 | 2003-07-24 | 高速过程数据采集、存储分析的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031418309A CN100359517C (zh) | 2003-07-24 | 2003-07-24 | 高速过程数据采集、存储分析的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1570943A CN1570943A (zh) | 2005-01-26 |
CN100359517C true CN100359517C (zh) | 2008-01-02 |
Family
ID=34471069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031418309A Expired - Lifetime CN100359517C (zh) | 2003-07-24 | 2003-07-24 | 高速过程数据采集、存储分析的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100359517C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404676B (zh) * | 2008-11-06 | 2012-06-06 | 丹东华通测控有限公司 | 一种低压配电***大数据量调用的处理方法 |
CN102508465B (zh) * | 2011-10-08 | 2013-10-09 | 中南大学 | 一种可编程序控制器与上位机之间的数据通讯方法 |
CN103513602B (zh) * | 2012-06-29 | 2016-06-22 | 中国科学院大连化学物理研究所 | 一种精确时间轴的plc波形数据产生及存储方法 |
CN106961477A (zh) * | 2017-03-20 | 2017-07-18 | 北京民静科技有限责任公司 | 一种数据采集方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1227938A (zh) * | 1998-11-27 | 1999-09-08 | 中国科学院空间科学与应用研究中心 | 一种通用的数据采集装置及其操作方法 |
US6574526B1 (en) * | 1999-05-20 | 2003-06-03 | Rieter Ingolstadt Spinnereimaschinenbau Ag | Procedure and an apparatus for the control of a component of a textile machine possessing a plurality of similar work-stations beside one another |
CN1428733A (zh) * | 2001-12-27 | 2003-07-09 | 鸿富锦精密工业(深圳)有限公司 | 信息采集及监控*** |
-
2003
- 2003-07-24 CN CNB031418309A patent/CN100359517C/zh not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1227938A (zh) * | 1998-11-27 | 1999-09-08 | 中国科学院空间科学与应用研究中心 | 一种通用的数据采集装置及其操作方法 |
US6574526B1 (en) * | 1999-05-20 | 2003-06-03 | Rieter Ingolstadt Spinnereimaschinenbau Ag | Procedure and an apparatus for the control of a component of a textile machine possessing a plurality of similar work-stations beside one another |
CN1428733A (zh) * | 2001-12-27 | 2003-07-09 | 鸿富锦精密工业(深圳)有限公司 | 信息采集及监控*** |
Also Published As
Publication number | Publication date |
---|---|
CN1570943A (zh) | 2005-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107018175B (zh) | 移动云计算平台的调度方法和装置 | |
CN109672627A (zh) | 基于集群服务器的业务处理方法、平台、设备及存储介质 | |
CN100514233C (zh) | 一种基于sopc的epa现场控制器 | |
CN107390650A (zh) | 一种基于物联网的数据采集***及基于该***的数据压缩方法 | |
CN110224944B (zh) | 一种分布式网络流量控制方法和装置 | |
CN100471176C (zh) | 队列调度方法及装置 | |
CN108400993A (zh) | 智能工业装备组件式组建的物联网***和存储介质 | |
CN101321090A (zh) | 性能数据的统计方法和装置 | |
CN100359517C (zh) | 高速过程数据采集、存储分析的方法 | |
CN106982222A (zh) | 一种工业4.0环境下可配置的多协议数据接入方法及装置 | |
CN106941458A (zh) | 数据传输的方法及装置 | |
CN114070758A (zh) | 一种基于sdn网络的流表优化方法及装置 | |
CN107800759A (zh) | 数据处理***及管理设备网络中设备的方法 | |
CN108123834A (zh) | 基于大数据平台的日志分析*** | |
CN106455024A (zh) | 通信频率的自动调节方法及终端设备 | |
CN104601374B (zh) | 用于数控机床的网络故障处理方法和装置 | |
CN100409639C (zh) | 网络监视***及数据量计数方法 | |
US20010010717A1 (en) | Traffic data collection technique | |
CN108920339A (zh) | 一种***异常上报方法及装置 | |
CN105357026B (zh) | 一种资源信息收集方法和计算节点 | |
CN115542754A (zh) | 一种家庭网关智能控制*** | |
CN101841476A (zh) | 报文处理方法、装置和网络设备 | |
CN109917742A (zh) | 可编程逻辑控制器plc***、数据上传方法 | |
CN100466622C (zh) | 一种网络上随机包间隔采样的方法和*** | |
CN1905590B (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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20080102 |
|
CX01 | Expiry of patent term |