掌桥专利:专业的专利平台
掌桥专利
首页

PLC及基于其的高速数据采集与分析处理方法和系统

文献发布时间:2023-06-19 19:28:50


PLC及基于其的高速数据采集与分析处理方法和系统

技术领域

本发明涉及数据采集技术领域,尤其涉及一种PLC及基于其的高速数据采集与分析处理方法和系统。

背景技术

可编程逻辑控制器(PLC,Programmable logic controller)是工业控制领域中常见设备。可编程逻辑控制器是一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储与执行。可编程逻辑控制器由内部CPU,指令及资料存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成。当前工业控制领域中,在需要高速采集和处理数据时经常选用嵌入式、FPGA(现场可编程逻辑门阵列,Field-programmable gate array)、或者为PLC额外增加数据采集卡或高速计数器模块的技术方案。现有的高速采集和处理数据技术方案,不仅硬件成本高、学习和使用困难,且在许多不需要超高速数据采集时功能溢出。此外,不同厂商、不同类型的PLC制造和使用的模拟量采集、高速计数器等模块又各自不同,这些模拟量采集模块不仅不能通用且单价高,在使用上有非常大的不便。

PLC的工作方式可以概括为“循环扫描,周期刷新”。PLC的一个扫描周期可以分为三个阶段:输入采样、程序执行和输出刷新,并以一定的扫描速度重复执行扫描周期。在输入采样阶段,PLC一次读入物理输入点的状态,并将读到的物理输入点状态存入用户程序存储区中。输入采样阶段结束后转入程序执行阶段和输出刷新阶段,在这两个阶段中即便物理输入点的状态改变也不会改变程序存储区中的数据。在程序执行阶段,PLC按由上而下、由左至右地扫描用户程序并将运算后的结果送至存储区储存。在输出刷新阶段,将数据送至实际的物理输出点。PLC在一个周期内从头至尾顺序执行一次用户程序,值得注意的是周期时间并不是固定的,由程序运行时间决定,并且在同一时间只能执行一个主程序,不能同时并行执行。PLC的这些工作方式特点决定了它很难进行高速的周期性数据采集工作。

目前在需要高速数据采集时通常不会选择PLC作为采集手段,因为仅靠PLC采集数据,其采集周期很难固定且难以保持一致。PLC对于模拟量的采集速率只能在秒级或亚秒级,难以完成更高速率的信号采集需求。此外,在对于快速采集到的数据存储和处理上,仅靠PLC也没有合适完善的解决方案。因此,当需要毫秒级及以上的高速数据采集时,通常需要购买专门模块(如高速计数器或带高速处理的数据采集板卡),而并不单独选择PLC作为数据采集载体。额外增加高速计数器或采集卡,采样频率可以达到微秒级别,但这就需要增加额外的费用,使用起来也更加复杂。因此,单独使用PLC在实现PLC的普通功能需求同时兼顾高速采集功能就成为当前一个挑战性的研发工作,如何基于PLC自身实现低成本高速数据采集成为需要解决的技术问题。

发明内容

针对上述问题,本发明的目的是提供一种PLC及基于其的高速数据采集与分析处理方法和系统,用于解决如何基于PLC自身实现低成本高速数据采集的技术问题,在实现PLC的普通功能需求同时兼顾高速采集功能。

为实现上述目的,本发明采取以下技术方案:

本发明一方面提供一种PLC,包括CPU模块、信号输入模块和信号输出模块,所述CPU模块包括主程序块、循环中断块、第一数组数据块、第二数组数据块和第三数组数据块,其中:

所述主程序块,用于在运行过程中每隔一个循环中断时间启动一次所述循环中断块;

所述循环中断块,用于通过每隔一个循环中断时间启动一次的方式持续从所述信号输入模块采集获得信号输入数据,并按预设规则存储到所述第一数组数据块和第二数组数据块,同时对所述第二数组数据块中数据进行分析处理后存储到第三数组数据块;

所述信号输出模块,用于对所述第三数组数据块中的处理结果进行输出。

优选地,所述循环中断块按预设规则存储到所述第一数组数据块和第二数组数据块,包括:

将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;

在当前指针移动次数达到预设次数后,循环中断块将第一数组数据块的信号输入数据整体转移存储至第二数组数据块,并将第一数组数据块的当前指针置为初始位置。

优选地,所述循环中断块对所述第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。

优选地,所述PLC还包括背板总线;所述信号输入模块通过所述背板总线将信号输入数据发送到所述CPU模块;所述CPU的数据处理结果通过所述背板总线和信号输出模块输出。

优选地,所述信号输入模块采用模拟信号输入模块和/或数字信号输入模块。

优选地,所述循环中断块被调用时从信号输入模块采集获得信号输入数据时,其采样速率取值范围为50Hz至2000Hz的区间。

本发明的另一方面还提供一种基于PLC的高速数据采集与分析系统,该系统包括所述的PLC、上位机、示波器及外部受控对象;

所述上位机的输出端与所述PLC相连,用于控制所述PLC开始数据采集与分析;

所述PLC用于进行数据采集与分析,并将分析处理结果发送至所述示波器和外部受控对象;

所述示波器用于对所述信号输出模块的输出结果进行信号显示;

所述外部受控对象用于根据PLC的输出结果执行受控任务。

本发明的另一方面还提供一种基于所述PLC的高速数据采集与分析方法,其特征在于,该方法包括以下步骤:

信号数据通过信号输入模块采集,按预设规则将采集到的信号输入数据存储到所述第一数组数据块和第二数组数据块,同时对第二数组数据块中数据进行分析处理后存储到第三数组数据块;其中,信号采集时通过循环中断块每隔一个循环中断时间启动一次的方式持续;在运行过程中每隔一个循环中断时间启动一次所述循环中断块通过所述主程序块进行控制;

第三数组数据块中的处理结果通过信号输出模块进行输出。

优选地,所述按预设规则将采集到的信号输入数据存储到所述第一数组数据块和第二数组数据块,包括:

将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;

在当前指针移动次数达到预设次数后,将第一数组数据块的信号输入数据整体转移存储至第二数组数据块,并将第一数组数据块的当前指针置为初始位置。

优选地,所述对第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。

相较于现有技术,本发明由于采取以上技术方案,其具有以下优点:

(1)基于简单的PLC硬件环境,通过PLC的CPU模块和模拟量输入模块(AI模块),实现了使用PLC对模拟量进行高速数据采集和分析处理的功能,不需要额外购买额外设备产品,简单方便且成本低廉;

(2)结合PLC硬件参数条件,将使用PLC进行数据采集时的采样周期从秒级提高到了微秒级,为无需超高速采集的普通PLC用户提供了进行高速采集的新思路和实现途径;

(3)能够实现实时采集模拟量信号,并分析和处理变化中的模拟量信号,并且保证数据的有效性和准确性,经实验验证的误差在万分之三左右,足够满足个人和工业化需求;

(4)能够将采集过程中不断变化中的信号可视化,为后续进行数据处理提供了途径,可以任意取出所需要的数据数量,方便地进行数据处理,同时不影响新采集到的信号的读取和存储,可以实现边采集边分析的同步执行过程;

(5)在边采集边分析的同步执行过程中,通过第一数组数据块持续不断采集数据以保证数据不丢失,另一方面针对第二数组数据块的数据可以将不停变化的信号“暂停”,即可以按需控制其更新频率,在保证数据不丢失的情况下从第二数组数据块取出中间某一时段的信号来观测和分析。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:

图1是基于PLC的数据采集与分析系统架构图;

图2是基于PLC的数据采集与分析系统硬件架构的信号关系示意图;

图3是PLC的CPU模块中主程序块执行流程图;

图4是PLC的CPU模块中循环中断块程序执行流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

为实现基于PLC自身的低成本高速数据采集,并进一步实现对高速采集的数据进行分析处理。在可编程逻辑控制器PLC的工作过程中,循环中断块OB30间隔固定时间打断主程序运行一次,这一区别于主程序块(Main)OB1的特性决定PLC可以用来进行固定频率的数据采集。可编程逻辑控制器包括CPU模块和信号输入模块,在CPU模块中设置主程序块、循环中断块、第一数组数据块、第二数组数据块,配置循环中断块的循环中断时间;在主程序块执行过程中,通过每隔一个循环中断时间调用一次循环中断块的方式从信号输入模块采集获得信号输入数据;将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;在当前指针移动次数达到预设次数后,将第一数组数据块的信号输入数据整体转移存储至第二数组数据块中,并将第一数组数据块的当前指针置为初始位置。在CPU模块中设置第三数组数据块,用于对第二数组数据块的数据进行存储、分析、处理。

本发明申请的技术方案通过开发PLC的CPU模块自身的功能,在不需要额外设备和复杂的流程的情况下,可实现采样频率从秒级提升到毫秒级,实现了高速数据采集的目标。根据CPU模块的性能和模拟量输入模块的转换时间,甚至还可以达到更快的数据采集速度。以西门子公司生产的型号为1513-1PN的PLC为例,CPU模块的循环中断最快可以达到500微秒(μs)循环一次,应用本发明申请的高速数据采集技术方案,最快可达到2000Sample/s的采样率。在具体应用时,实际数据采集转换速度可以根据需要选择不同的高速模拟量输入模块。实际应用时的最高可达2000赫兹采样速率,而与模拟量输入模块匹配,采样速率取值范围可以介于50Hz~2000Hz,具体采样速率可根据实际采样需求进行设定。

如图1所示,给出了基于PLC的数据采集与分析系统架构图。在图1中,上位机控制PLC对输入信号进行采集,在PLC内部AI(模拟量输入)模块实现对模拟量输入信号的采集,采集数据通过背板总线传输至CPU模块,CPU模块再通过背板总线和AQ(模拟量输出)模块输出至示波器进行信号显示,具体可以包括对采集获得的信号输入数据的波形显示;同时针对外部受控对象,PLC的CPU经过背板总线通过DQ(数字量输出)模块输出控制信号。通常每一个PLC对应控制着一个或多个受控对象,受控对象具体在PLC控制下执行对应业务功能。在PLC内部还存在DI(数字量输入)模块实现对数字量输入信号的采集。

如图2所示给出了图1中硬件架构的信号关系示意图。上位机可以通过以太网与CPU模块连接,向PLC下发开关量至CPU模块。CPU模块通过IO设备和背板总线接入数据源,对数据源经过模拟或数字信号输入模块进行采集得到输入信号,通过IO设备和背板总线输出对被控对象的控制信号。基于图1和图2所示的硬件环境可以完成对数据、信号进行数据处理之前的采集。信号采集可以针对电压或电流信号进行采集,信号可以是正弦波或方波。信号分析可以针对最值、频率、占空比等等波形的相关指标信息。在采集及分析过程中的过程控制包括对信号的监视和控制。

实施例1

本发明实施例提供了一种可编程逻辑控制器PLC,该可编程逻辑控制器PLC包括CPU模块、信号输入模块和信号输出模块,CPU模块中设置主程序块、循环中断块、第一数组数据块、第二数组数据块和第三数组数据块,并配置循环中断块的循环中断时间;所述可编程逻辑控制器PLC进行高速数据采集与分析的过程具体为:

主程序块每隔一个循环中断时间调用一次循环中断块进行数据采集;

循环中断块执行数据采集从信号输入模块获得信号输入数据,按预设规则将信号输入数据存储到所述第一数组数据块和第二数组数据块;

循环中断块在数据采集过程中对所述第二数组数据块中信号输入数据进行分析处理后存储到第三数组数据块;

所述信号输出模块将所述第三数组数据块中的分析处理结果进行输出。

所述循环中断块按预设规则将信号输入数据存储到所述第一数组数据块和第二数组数据块,包括:

将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;

在当前指针移动次数达到预设次数后,循环中断块用于将第一数组数据块的信号输入数据整体转移存储至第二数组数据块中,并将第一数组数据块的当前指针置为初始位置。

所述分析处理包括对最值、频率、占空比的分析处理。

在基于PLC的高速数据采集与分析的技术方案具体实施时可以包括以下步骤:

步骤S1,构建基于PLC的硬件平台

其中,所搭建PLC的硬件平台,参见图1,仅需要用到带有循环中断功能的CPU模块和数字量输入模块(DI)和/或模拟量输入模块(AI),具体采用哪种信号输入模块取决于需要采集的数据是数字量信号还是模拟量信号,可以单独采集模拟输入和数字输入信号,也可同时采集。

步骤S2,建立所需的程序块

其中,程序部分主要使用主程序块(Main)OB1和循环中断块(Cyclic interrupt)OB30;数据存储部分使用三个数据块,其中两个为用于存放数据的数组数据块DB1和DB2,另一个是用于控制和显示参数的数据块DB3。

主程序块OB1主要用来实现来自上位机的开关量的控制、其余参数的设置以及清零等功能。具体而言,开关量是根据业务需求设置,由上位机发出而由PLC接收,例如上位机发出一个信号为1的开关量至PLC,PLC收到该开关量后开始执行采样任务。数据块DB3用于在需要时(如断电重启等)对数组数据块DB1和数组数据块DB2的清零工作,用到块移动指令MOVE_BLK来实现。数据块DB3用于存储和展示一些数据、信号量,主程序控制对DB3内存储的一些参数进行清零。

步骤S3,编写程序

主程序块的程序主要用来实现开关量的控制、其余参数的设置以及清零等功能。重点在于循环中断块的设置和编写,在添加程序块时或添加完成后程序块的属性里设置循环时间。例如,当设置循环时间为2ms时,循环中断块每2ms运行一次并完成一次数据采集,所以采样率即为500赫兹。按需要的采样频率多次运行循环中断块,循环中断块的程序实现对变化信号的高速采集和存储,也为后续的数据处理提供了方便的途径。

步骤S4,对采集到的数据进行数据处理

其中,采集到的信号被存储在了第一数组数据块DB1和第二数组数据块DB2中,由于采集到的信号是从第一数组数据块DB1到第二数组数据块DB2进行整体转移存储的,可以使用地址指针轻易地取出所需要的数据进行任意数据处理。其中,第一数组数据块DB1的值一直不停更新,而第二数组数据块DB2的更新频率可以按需控制,例如可以在采样次数达到预设次数,或采样时间达到预设时间。

在步骤S3中,循环中断块内工作进一步包括以下子步骤:

步骤S301,通过加法器来可视化采集频率,可视化在DB3中实现,并且可以设置HMI界面,通过上位机的液晶屏显示与交互,实现更进一步的可视化,同时加法器作为指针来指示所采集信号的存储位置;

步骤S302,将采集到的信号存储到数组数据块DB1里,以循环中断块运行的次数作为地址指针,循环中断块启动并执行一次,则指针数做加1处理,将每次采样的数据依次存入第一数组数据块DB1中相应位置;

步骤S303,通过地址指针来指示,当第一数组数据块DB1存满预设的元素数时(循环中断块已运行相应次数),将已存储满的数据整体移动,将数据及对应的指针复制到第二数组数据块DB2中,这样是为了方便在第二数组数据块DB2中对数据进行处理,对数据的处理过程由循环中断块中写的程序完成,同时第一数组数据块DB1中数据持续保持更新而不会遗失对DB2进行数据处理过程中新采集到的信号;

在将数据转移至DB2后,所作分析处理并存在一个时间差。在DB3中可以查看数据采集当前值,因为信号更新的速度较快,2ms更新一次,人眼分辨不清。如果存满500个数据复制一次,则时间差为2ms*500=1s,如果存满250个数据复制一次,则时间差为2ms*250=0.5s,时间差的存在为数据处理留出充足时间,同时不丢失新的数据。

通过计时器可以改变从第一数组数据块DB1将数据读取到第二数组数据块DB2的频率,还可以完成观测信号变化的任务,很适用于监测信号是否出现误差和在何时出现误差。由于观测任务可以针对在第二数组数据块DB2存储的信号数据中完成,第一数组数据块DB1仍可继续信号采集的任务,因此并不影响对数据的实时采集;

步骤S304,对采集到的数据进行后续所需要的数据处理,例如求和、取平均值等,同样通过地址指针来完成。地址指针能索引到存储在第二数组数据块DB2块中的任意元素。例如,要对采集到的第5个信号到第500个信号求和,只需用SCL语言(或梯形图)在循环中断块中编程,可以实现求和、平均、求最值等功能。还可以在数据块DB3内来实现对所需要的任意可变区间的数据进行数据处理,只需要在数据块DB3内建立变量m、n,就可以实现随时(包括程序正在运行)改变数据区间,对DB2中数据取出不同时刻采集到的信号以便按需进行数据处理;所得数据处理和数据分析结果可存储在DB3中。

步骤S305,循环中断块OB30内还可完成对地址指针的清零工作,DB1和DB2使用同一个指针,当第一数组数据块DB1存满之后要对其清零以便下次循环开始后新数据从头开始覆盖旧数据;DB2中数据是大量的、快速变化的,不利于保存,但可以连接到人机交互界面HMI上成为图形,以图形的形式展示连续的数据,并可以输出到外部进行储存。而处理后数据(如所需的平均值)量较小,输出到DB3做展示,结果也可以输出到外部存储器储存。

下面以实现对0~5V的电压信号进行高速采集和求平均值处理为例,高速采集过程的采样速率为500Hz,该基于PLC的高速采集和分析的过程具体实现步骤包括:

步骤S501,建立硬件环境,搭建PLC平台,使用到西门子PLC-1513CPU模块和模拟量输入模块(AI模块,Analog input module),将变化中的电压信号接入模拟量输入模块;

步骤S502,在PLC的CPU模块中建立主程序块OB1和循环中断块OB30、第一数组数据块DB1、第二数组数据块DB2和第三数组数据块DB3并进行相应设置,将循环中断块OB30的循环时间设置为2000微秒(μs),以完成每2毫秒(ms)读取一次模拟量信号(即0~5V的电压信号)来确保数据的实时性、有效性、准确性;

步骤S503,将模拟量信号接入模拟量输入模块,让程序在平稳环境下运行。

如图3所示,给出了主程序块执行流程。首先,判断开关状态是否为1,若开关状态是1,表示开关接通,则程序运行,运行过程中每隔2毫秒就启动运行一次循环中断程序,循环中断块程序则按照图4所示执行数据采集流程;若开关状态不为1,表示开关未接通,则对第一数组数据块DB1和第二数组数据块DB2、计数值、叠加值、平均值等进行清零,等待下一次开关状态为1。

如图4所示,给出了循环中断块程序执行流程图。循环中断块程序则按照图4所示执行数据采集流程具体包括:

首先,判断开关状态是否为1,若不为1则不读取数据,若开关状态为1,则读取信号数据并存入第一数组数据块DB1内指针指示位置,计数器值(指针)加1;若计数器值未达到预设数值时,则继续读取信号数据直至计数器值达到预设数值(例如499);在计数器值达到预设数值(例如499)后,计数范围为0-499,一共完成了500次采样,将第一数组数据块DB1中存满的500个数据整体转存到第二数组数据块DB2中,并将计数器清零;从第二数组数据块DB2中读取任意可变数据或数据区间,数据读取通过指针控制;对从第二数组数据块DB2中读取的数据进行数据处理;将从第二数组数据块DB2中读取部分或全部的数据直接放入第三数组数据块DB3,或者对第二数组数据块DB2中读取部分或全部的数据进行数据处理后放入第三数组数据块DB3,以供观测或输出。

步骤S504,观察和读取第二数组数据块DB2中数据;取出第二数组数据块DB2中所需要的数据区间并进行数据处理,在本实例中只需要控制地址指针的值,例如预设m、n两值,取出m~n之间的数据并进行叠加和平均,就可以得到在该区间内相应时间中采集到的信号的值的平均值,并将需要的或处理后的数据存入第三数组数据块DB3中以供观察或输出。

以方波电压信号为例,对第二数组数据块DB2中数据的分析,可以包括最值、频率和占空比分析。

循环中断块每1秒执行一次方波最值的分析,从待分析数据中找出所采集的500个数据的最大值和最小值并分别存储,在获取到5个最大值和5个最小值后,通过求平均获得最大值的平均值作为高电平,获得最小值的平均值作为低电平。

循环中断块等待每2毫秒执行一次,在指针地址加1后,找到信号电平跳变瞬间,则计数值加1,在计时到达5秒时,用计数值除以计时值得到频率值,将计数值清零。

循环中断块等待每2毫秒执行一次,在判断电平由低变高后,启动计时器。每2毫秒将当前值与上一值比较判断电平是否由高变低,若是,则结束计时器,并存储该计时值。计时值除以周期得到占空比。

以正弦波信号为例,对第二数组数据块DB2中数据的分析,可以包括最值、频率分析。循环中断块每2毫秒将相邻的三个数据进行一次比较,若中间值大于(或小于)相邻的两个值,则找到最大值(或最小值),在获得了5个最大值(或最小值)后,将该5个最大值(或最小值)取平均值,得到平均后较为准确的最值。循环中断块每获得一次最大值时计数器值加1,在计时值等于5时,通过计数值除以计时值获得正弦波频率。然后对计数值和计时值清零。

上述实施例的结果表明,本发明申请的技术方案实现了基于PLC进行高速数据采集和分析处理,是一种易于实现且具有相当实时性、准确性、稳定性的简便方案。该技术方案一方面大大提升了对PLC的CPU模块和循环中断功能的开发率和利用率,同时在极大程度上降低了高速数据采集和分析处理所需要的成本,填补了单纯基于PLC在模拟或数字信号的数据采集和处理方面的空白。应用本发明申请的高速数据采集和分析技术方案,可以在不需要追求超高采样速率或不想额外购入采集设备时实现高速数据采集和分析处理。既能实现基于PLC的高速数据采集,还能实现PLC对采集到的数据进行分析处理和对所需要处理数据的可视化,能帮助用户方便地采集、存储、观测和处理变化中的模拟量或数字量信号。

实施例2

基于上述实施例1提供的实现高速数据采集与分析处理的PLC,与之相对应地,本实施例提供一种高速数据采集与分析处理的系统,该系统包括PLC、上位机、示波器、外部受控对象;

所述上位机发送控制信号到所述PLC,控制所述PLC开始数据采集与分析;

所述PLC进行数据采集与分析,将分析处理结果输出至所述示波器和外部受控对象;

所述示波器用于对所述信号输出模块的输出结果进行信号显示。

所述PLC包括CPU模块、信号输入模块和信号输出模块,所述CPU模块包括主程序块、循环中断块、第一数组数据块、第二数组数据块和第三数组数据块,

所述主程序块,用于在运行过程中,每隔一个循环中断时间启动一次所述循环中断块;

所述循环中断块,用于通过每隔一个循环中断时间启动一次的方式持续从所述信号输入模块采集获得信号输入数据,并按预设规则存储到所述第一数组数据块和第二数组数据块中,同时对所述第二数组数据块中数据进行分析处理后存储到第三数组数据块;

所述信号输出模块用于对所述第三数组数据块中的处理结果输出至所述示波器和外部受控对象。

所述循环中断块按预设规则存储到所述第一数组数据块和第二数组数据块,包括:

将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;

在当前指针移动次数达到预设次数后,循环中断块用于将第一数组数据块的信号输入数据整体转移存储至第二数组数据块中,并将第一数组数据块的当前指针置为初始位置。

所述循环中断块对所述第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。所述循环中断块被调用时从信号输入模块采集获得信号输入数据时,其采样速率取值范围为50Hz至2000Hz的区间。

所述PLC还包括背板总线;所述信号输入模块通过所述背板总线将信号输入数据发送到所述CPU模块;所述CPU的数据处理结果通过所述背板总线和信号输出模块输出。所述信号输入模块采用模拟信号输入模块和/或数字信号输入模块。

实施例3

基于上述实施例1提供的实现高速数据采集与分析处理的PLC,与之相对应地,本实施例提供一种基于PLC的高速数据采集与分析处理的方法。所以本实施例描述过程比较简单,相关之处可以参见实施例1的部分说明即可,本实施例提供的方法实施例仅仅是示意性的。

本实施例提供的基于PLC的高速数据采集与分析处理的方法,包括:

该方法包括以下步骤:

信号数据通过信号输入模块采集,按预设规则将采集到的信号输入数据存储到所述第一数组数据块和第二数组数据块,同时对第二数组数据块中数据进行分析处理后存储到第三数组数据块;其中,信号采集时通过循环中断块每隔一个循环中断时间启动一次的方式持续;在运行过程中每隔一个循环中断时间启动一次所述循环中断块通过所述主程序块进行控制;

第三数组数据块中的处理结果通过信号输出模块进行输出。

所述按预设规则将采集到的信号输入数据存储到所述第一数组数据块和第二数组数据块,包括:

将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;

在当前指针移动次数达到预设次数后,将第一数组数据块的信号输入数据整体转移存储至第二数组数据块,并将第一数组数据块的当前指针置为初始位置。

所述对第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。

所述信号数据通过信号输入模块采集获得信号输入数据时,其采样速率取值范围为50Hz至2000Hz的区间。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种基于PLC的高速数据采集与控制系统
  • 基于互联网的吹膜行业PLC数据采集分析处理系统和方法
技术分类

06120115927188