信号滤波处理
1 模拟量信号处理
1.1 模拟量信号采集的方式,西门子库中自带的FC105,这种方式采集信号少还行,因为它每采集一个信号,就要使用一回FC105,我现在学到的方法是采用指针的形式进行信号的批量处理,这样采集10个或者采集100个是基本一样的,就是把起始和结束的地址写好就行。
1.2 采集的模拟量信号稳定性的处理,除了硬件上的增加滤波的装置,信号线和动力线分开放,软件上能做的有两个地方:(1)把采集上来的信号放在CPU不同的扫描周期中,这样决定信号采集的速度,上位软件也有采集信号的间隔时间的显示,一般CPU采集的速度都高于上位软件显示的速度。(2)对信号的滤波处理,最常见的就是同一个信号采集几个做一个累加,然后通过求平均数作为信号的显示。我现在使用的就是(1)和(2)同时使用的方法,这种方法用指针的形式编写,处理多少个数据都是一样的,只需要在调用的时候直接写上通道的数量和几个数求一个平均就行。
1.3如果其中的一个模拟量信号的采集需要的求平均的个数和其它的不一 样,可以单独拿出来进行处理,不是在上面的批处理里面做,我现在可以使用的编好的一个功能块,能对某个通道进行最多100次的累加求平均,这个功能块可以做的是求1次到100次任何一次的平均都可以显示,调用的时候就是写出模拟量的地址和求平均的个数就行。这样能解决个别的信号的不稳定。说明:对信号求平均比如100毫秒采集一次,做100次的求平均指的是CPU每100毫秒做一次100个数据的平均,每次求平均的数据是本次采集的数据和之前99次采集的数据累加求和,然后除以100,这样显示的效果还是每100毫秒更新一次数据,但是每个数据都是100次求平均的,一般用这种方式就能使信号更加稳定,滤除相对偏差大一点的数据,最后使信号更加稳定。求平均的次数越多对CPU使用的内存就越大,一般单独做平均的数据都是那些怕不稳定的数据影响生产的重要参数。称重现场指示的仪表其实也是数据跳动比较大,但是针对满量程三千分之一,远程现实和现场现实的仪表都在这个范围只能,但是数据的跳动咱们最好还是通过上面求平均的方式解决一下,这样最终让数据稳定性更好一些。
1.4 对信号显示方便的信号处理,通过上位机画面与下位机程序相连,能解决仪表的量程,零点,偏移量等问题,通过指针的形式编程,处理多少个模拟量是一样的工作量。由于咱们使用的仪表一般都是4-20毫安电流信号的,信号初始值4毫安不一定完全一致,一般会有微小的偏差,比如在没有压力的时候压力仪表会显示几帕的压力,可以通过偏移把压力值显示到零帕。
2 数字量信号处理
2.1 不同的PLC系列数字信号点可以设置不同的脉冲捕捉时间,也可以在软件上把数字量信号通过时间延时的方式滤出掉。