对电压、电流的滤波处理方法及装置
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种对电压、电流的滤波处理方法及装置。
背景技术
可编程控制器(Programmable logic Controller,PLC),是指以计算机技术为基础的新型工业控制装置。PLC,是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段,完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
一般PLC主控包含电源及一些数字量IO点,但某些时候,由于某些领域需要特定的功能(例如通讯、模拟量采集等),且有时控制对象控制需求的通道比较多,造成环境较为复杂的现场会有不同频率的信号干扰,然而,现有方案中缺少对通道采集数据进行滤波处理的方案。
发明内容
本发明实施例提供了一种对电压、电流的滤波处理方法及装置,可以实现对输入PLC前的采样数据进行滤波处理。
第一方面,本发明实施例提供一种对电压、电流的滤波处理方法,包括:
获取通道的采样数据,其中,所述采样数据包括电压信号或电流信号;
对所述采样数据按照设定的滤波规则进行滤波处理;
将滤波后的采样数据发送给可编程控制器PLC。
在一个可能的实施方式中,通过ADC芯片获取通道的采样数据。
在一个可能的实施方式中,所述设定的滤波规则,包括:
采用设定的转移函数,通过乘累加的运算方式对所述采样数据进行低通滤波或带通滤波处理。
在一个可能的实施方式中,当进行低通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)-bx(k-N)。
在一个可能的实施方式中,当进行带通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)+bx(k-N)。
第二方面,本发明实施例提供一种对电压、电流的滤波处理装置,包括:
获取模块,用于获取通道的采样数据,其中,所述采样数据包括电压信号或电流信号;
滤波模块,用于对所述采样数据按照设定的滤波规则进行滤波处理;
发送模块,用于将滤波后的采样数据发送给可编程控制器PLC。
在一个可能的实施方式中,获取模块,具体用于通过ADC芯片获取通道的采样数据。
在一个可能的实施方式中,所述设定的滤波规则,包括:
采用设定的转移函数,通过乘累加的运算方式对所述采样数据进行低通滤波或带通滤波处理。
在一个可能的实施方式中,当进行低通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)-bx(k-N)。
在一个可能的实施方式中,当进行带通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)+bx(k-N)。
本发明实施例提供的对电压、电流的滤波处理方案,获取通道的采样数据;对所述采样数据按照设定的滤波规则进行滤波处理;将滤波后的采样数据发送给可编程控制器PLC,可以实现对输入PLC前的采样数据进行滤波处理。
附图说明
图1为本发明实施例提供的一种对电压、电流的滤波处理方法的流程示意图;
图2为现有滤波方案中的滤波差分示意图;
图3为本发明实施例涉及的滤波差分示意图;
图4为本发明实施例涉及的乘累加运算示意图;
图5为本发明实施例涉及的新型滤波器的状态转移图;
图6为本发明实施例提供的一种对电压、电流的滤波处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种对电压、电流的滤波处理方法的流程示意图,如图1所示,该方法具体包括:
S101、获取通道的采样数据。
通过ADC芯片获取通道的采样数据,其中,所述采样数据包括电压信号或电流信号
S102、对所述采样数据按照设定的滤波规则进行滤波处理。
所述设定的滤波规则,包括:采用设定的转移函数,通过乘累加的运算方式对所述采样数据进行低通滤波或带通滤波处理。
其中,现有采用的转移函数包括:低通滤波的转移函数和带通滤波的转移函数。
低通滤波的转移函数:
H_1(z)=b(1-z^(-N))/(1-az^(-1)),b=(1-a)/2
差分方程为:
y(k)=ay(k-1)+bx(k)-bx(k-N)
带通滤波的转移函数:
H_1(z)=b(1+z^(-N))/(1-az^(-1)),b=(1-a)/2
差分方程为:
y(k)=ay(k-1)+bx(k)+bx(k-N)
而在本申请中,对上述低通滤波和带通滤波的转移函数以及相应的差分方程进行简化,具体包括:
可选地,当进行低通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)-bx(k-N)。
可选地,当进行带通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)+bx(k-N)。
对应的,差分方程为:
y(k)=(x(k)±x(k-N))/2
根据以上公式,设定当为转移函数1型时,f=+1;当为转移函数2型时,f=-1;则有:
y(k)=fay(k-1)+bx(k)-fbx(k-N)
将b=(1+a)/2代入公式得:
将a进行十六位量化,则kr=a*65536,则存在以下公式:
y(k)=(f*kr)/65536*y(k-1)+(1+kr/65536)/2x(k)-f(1+kr/65536)/2x(k-N)
2*65536*y(k)=2*f*kr*y(k-1)+(65536+kr)x(k)-f*(65536+kr)*x(k-N)
则,最终可以先计算2*65536*y(k),最终再求得y(k)。
参照图4,采用标准的乘累加运算。
根据以上推导的差分方程,实现发明滤波,图5为本发明实施例涉及的新型滤波器的状态转移图,AD每采集一轮数据,则存入RAM。同时将新采集数据与N轮前数据求平均,即获得滤波结果。
S103、将滤波后的采样数据发送给可编程控制器PLC。
本发明实施例提供的对电压、电流的滤波处理方法,获取通道的采样数据;对所述采样数据按照设定的滤波规则进行滤波处理;将滤波后的采样数据发送给可编程控制器PLC,可以实现对输入PLC前的采样数据进行滤波处理。
图6为本发明实施例提供的一种对电压、电流的滤波处理装置的结构示意图,如图6所示,该装置具体包括:
获取模块601,用于获取通道的采样数据,其中,所述采样数据包括电压信号或电流信号;
滤波模块602,用于对所述采样数据按照设定的滤波规则进行滤波处理;
发送模块603,用于将滤波后的采样数据发送给可编程控制器PLC。
可选地,获取模块601,具体用于通过ADC芯片获取通道的采样数据。
可选地,所述设定的滤波规则,包括:
采用设定的转移函数,通过乘累加的运算方式对所述采样数据进行低通滤波或带通滤波处理。
可选地,当进行低通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)-bx(k-N)。
可选地,当进行带通滤波时,采用如下转移函数,具体包括:
y(k)=ay(k-1)+bx(k)+bx(k-N)。
本发明实施例提供的对电压、电流的滤波处理装置,通过获取模块获取通道的采样数据;滤波模块对所述采样数据按照设定的滤波规则进行滤波处理;发送模块将滤波后的采样数据发送给可编程控制器PLC,可以实现对输入PLC前的采样数据进行滤波处理。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。