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

技术编号:37277285 阅读:23 留言:0更新日期:2023-04-20 23:44
本发明专利技术涉及数据采集技术领域,尤其涉及一种PLC及基于其的高速数据采集与分析处理方法和系统。在该PLC的CPU模块中设置主程序块、循环中断块、第一数组数据块、第二数组数据块,配置循环中断块的循环中断时间;在主程序块执行过程中,每隔一个循环中断时间调用一次循环中断块,循环中断块被调用时从信号输入模块采集获得信号输入数据;将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;在当前指针移动次数达到预设次数后,将第一数组数据块的信号输入数据整体转移存储至第二数组数据块中,并将第一数组数据块的当前指针置为初始位置。本发明专利技术基于PLC实现了低成本的高速数据采集。速数据采集。速数据采集。

【技术实现步骤摘要】
PLC及基于其的高速数据采集与分析处理方法和系统


[0001]本专利技术涉及数据采集
,尤其涉及一种PLC及基于其的高速数据采集与分析处理方法和系统。

技术介绍

[0002]可编程逻辑控制器(PLC,Programmable logic controller)是工业控制领域中常见设备。可编程逻辑控制器是一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储与执行。可编程逻辑控制器由内部CPU,指令及资料存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成。当前工业控制领域中,在需要高速采集和处理数据时经常选用嵌入式、FPGA(现场可编程逻辑门阵列,Field

programmable gate array)、或者为PLC额外增加数据采集卡或高速计数器模块的技术方案。现有的高速采集和处理数据技术方案,不仅硬件成本高、学习和使用困难,且在许多不需要超高速数据采集时功能溢出。此外,不同厂商、不同类型的PLC制造和使用的模拟量采集、高速计数器等模块又各自不同,这些模拟量采集模块不仅不能通用且单价高,在使用上有非常大的不便。
[0003]PLC的工作方式可以概括为“循环扫描,周期刷新”。PLC的一个扫描周期可以分为三个阶段:输入采样、程序执行和输出刷新,并以一定的扫描速度重复执行扫描周期。在输入采样阶段,PLC一次读入物理输入点的状态,并将读到的物理输入点状态存入用户程序存储区中。输入采样阶段结束后转入程序执行阶段和输出刷新阶段,在这两个阶段中即便物理输入点的状态改变也不会改变程序存储区中的数据。在程序执行阶段,PLC按由上而下、由左至右地扫描用户程序并将运算后的结果送至存储区储存。在输出刷新阶段,将数据送至实际的物理输出点。PLC在一个周期内从头至尾顺序执行一次用户程序,值得注意的是周期时间并不是固定的,由程序运行时间决定,并且在同一时间只能执行一个主程序,不能同时并行执行。PLC的这些工作方式特点决定了它很难进行高速的周期性数据采集工作。
[0004]目前在需要高速数据采集时通常不会选择PLC作为采集手段,因为仅靠PLC采集数据,其采集周期很难固定且难以保持一致。PLC对于模拟量的采集速率只能在秒级或亚秒级,难以完成更高速率的信号采集需求。此外,在对于快速采集到的数据存储和处理上,仅靠PLC也没有合适完善的解决方案。因此,当需要毫秒级及以上的高速数据采集时,通常需要购买专门模块(如高速计数器或带高速处理的数据采集板卡),而并不单独选择PLC作为数据采集载体。额外增加高速计数器或采集卡,采样频率可以达到微秒级别,但这就需要增加额外的费用,使用起来也更加复杂。因此,单独使用PLC在实现PLC的普通功能需求同时兼顾高速采集功能就成为当前一个挑战性的研发工作,如何基于PLC自身实现低成本高速数据采集成为需要解决的技术问题。

技术实现思路

[0005]针对上述问题,本专利技术的目的是提供一种PLC及基于其的高速数据采集与分析处
理方法和系统,用于解决如何基于PLC自身实现低成本高速数据采集的技术问题,在实现PLC的普通功能需求同时兼顾高速采集功能。
[0006]为实现上述目的,本专利技术采取以下技术方案:
[0007]本专利技术一方面提供一种PLC,包括CPU模块、信号输入模块和信号输出模块,所述CPU模块包括主程序块、循环中断块、第一数组数据块、第二数组数据块和第三数组数据块,其中:
[0008]所述主程序块,用于在运行过程中每隔一个循环中断时间启动一次所述循环中断块;
[0009]所述循环中断块,用于通过每隔一个循环中断时间启动一次的方式持续从所述信号输入模块采集获得信号输入数据,并按预设规则存储到所述第一数组数据块和第二数组数据块,同时对所述第二数组数据块中数据进行分析处理后存储到第三数组数据块;
[0010]所述信号输出模块,用于对所述第三数组数据块中的处理结果进行输出。
[0011]优选地,所述循环中断块按预设规则存储到所述第一数组数据块和第二数组数据块,包括:
[0012]将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;
[0013]在当前指针移动次数达到预设次数后,循环中断块将第一数组数据块的信号输入数据整体转移存储至第二数组数据块,并将第一数组数据块的当前指针置为初始位置。
[0014]优选地,所述循环中断块对所述第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。
[0015]优选地,所述PLC还包括背板总线;所述信号输入模块通过所述背板总线将信号输入数据发送到所述CPU模块;所述CPU的数据处理结果通过所述背板总线和信号输出模块输出。
[0016]优选地,所述信号输入模块采用模拟信号输入模块和/或数字信号输入模块。
[0017]优选地,所述循环中断块被调用时从信号输入模块采集获得信号输入数据时,其采样速率取值范围为50Hz至2000Hz的区间。
[0018]本专利技术的另一方面还提供一种基于PLC的高速数据采集与分析系统,该系统包括所述的PLC、上位机、示波器及外部受控对象;
[0019]所述上位机的输出端与所述PLC相连,用于控制所述PLC开始数据采集与分析;
[0020]所述PLC用于进行数据采集与分析,并将分析处理结果发送至所述示波器和外部受控对象;
[0021]所述示波器用于对所述信号输出模块的输出结果进行信号显示;
[0022]所述外部受控对象用于根据PLC的输出结果执行受控任务。
[0023]本专利技术的另一方面还提供一种基于所述PLC的高速数据采集与分析方法,其特征在于,该方法包括以下步骤:
[0024]信号数据通过信号输入模块采集,按预设规则将采集到的信号输入数据存储到所述第一数组数据块和第二数组数据块,同时对第二数组数据块中数据进行分析处理后存储到第三数组数据块;其中,信号采集时通过循环中断块每隔一个循环中断时间启动一次的方式持续;在运行过程中每隔一个循环中断时间启动一次所述循环中断块通过所述主程序块进行控制;
[0025]第三数组数据块中的处理结果通过信号输出模块进行输出。
[0026]优选地,所述按预设规则将采集到的信号输入数据存储到所述第一数组数据块和第二数组数据块,包括:
[0027]将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;
[0028]在当前指针移动次数达到预设次数后,将第一数组数据块的信号输入数据整体转移存储至第二数组数据块,并将第一数组数据块的当前指针置为初始位置。
[0029]优选地,所述对第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。
[0030]相较于现有技术,本专利技术由于采取以上技术方案,其具有以下优点:
[0031](1)基于简单的PLC硬件环境,通过PLC的CPU模块和模拟量输入模块(AI模块),实现了使用PLC对模拟量进行高速数据采集和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PLC,包括CPU模块、信号输入模块和信号输出模块,其特征在于,所述CPU模块包括主程序块、循环中断块、第一数组数据块、第二数组数据块和第三数组数据块,其中:所述主程序块,用于在运行过程中每隔一个循环中断时间启动一次所述循环中断块;所述循环中断块,用于通过每隔一个循环中断时间启动一次的方式持续从所述信号输入模块采集获得信号输入数据,并按预设规则存储到所述第一数组数据块和第二数组数据块,同时对所述第二数组数据块中数据进行分析处理后存储到第三数组数据块;所述信号输出模块,用于对所述第三数组数据块中的处理结果进行输出。2.根据权利要求1所述的PLC,其特征在于,所述循环中断块按预设规则存储到所述第一数组数据块和第二数组数据块,包括:将所述信号输入数据通过移动当前指针方式依次存储至第一数组数据块;在当前指针移动次数达到预设次数后,循环中断块将第一数组数据块的信号输入数据整体转移存储至第二数组数据块,并将第一数组数据块的当前指针置为初始位置。3.根据权利要求1所述的PLC,其特征在于,所述循环中断块对所述第二数组数据块中数据进行分析处理,包括:最值、频率和占空比分析。4.根据权利要求1所述的PLC,其特征在于,所述PLC还包括背板总线;所述信号输入模块通过所述背板总线将信号输入数据发送到所述CPU模块;所述CPU的数据处理结果通过所述背板总线和信号输出模块输出。5.根据权利要求1所述的PLC,其特征在于,所述信号输入模块采用模拟信号输入模块和/或数字信号输入模块。6.根据权利要求1所述的PLC,其特征在于,所述循环中断块被调用时从信号输入模块采集获得信号输入数据时,其采样速率取值范围...

【专利技术属性】
技术研发人员:王雅衡杨锋陈卫强李强戴中颖
申请(专利权)人:中国科学院近代物理研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1