作者 | 主题 |
---|---|
奔驰的稻草人 游侠 经验值: 345 发帖数: 5 精华帖: 2 |
楼主 2022-02-10 16:32:27
主题:信号采集后三种滤波方法 滤波程序全局库 软件版本:TIA15.1 功能:可实现对采集数据的滤波,根据现场不同情况,设置滤波参数,达到理想曲线。 移植性:功能块编写语言均为SCL,方便移植到其它品牌plc。 内容:此库内包含三中滤波程序,一阶滞后滤波法、中位值滤波法、堆栈平均滤波法。 滤波效果如下图: ①一阶滞后滤波法封装: ↓ 代码: IF #"a (0-1)" >= 1.0 THEN #"a (0-1)" := 0.5; END_IF; #ms_time := INT_TO_TIME(#time_ms); #IEC_Timer_0_Instance(IN := NOT #p, PT := #ms_time, Q => #p); IF #p THEN
#new_value := (1 - #"a (0-1)") * #IN + #"a (0-1)" * #last_value; #last_value := #new_value; #OUT := #new_value; END_IF; ②堆栈平均滤波法封装 ↓ 代码: #IEC_Timer_0_Instance(IN:=NOT #TIMER_INOUT, PT:=#time_采集时间, Q=>#TIMER_INOUT); #S_数组[#"N_采集数量(3-999)"] := #In_输入值; IF #TIMER_INOUT THEN
FOR #S_j := 1 TO #"N_采集数量(3-999)" DO #S_数组[#S_j-1] := #S_数组[#S_j];
END_FOR; END_IF; #T_max := #S_数组[0]; #T_min := #S_数组[0]; FOR #S_j := 0 TO #"N_采集数量(3-999)"-1 DO IF #S_数组[#S_j] > #T_max THEN #T_max := #S_数组[#S_j]; END_IF; IF #S_数组[#S_j] < #T_min THEN #T_min := #S_数组[#S_j]; END_IF; #T_sum := #T_sum + #S_数组[#S_j]; END_FOR; IF #"MAX/MIN_EN" THEN #Out_输出结果:=(#T_sum-#T_max- #T_min )/ (#"N_采集数量(3-999)"-2); ELSE #Out_输出结果 := #T_sum / #"N_采集数量(3-999)"; END_IF; #Out_max := #T_max; #Out_min := #T_min; ③中位值滤波法封装 ↓ 代码: //n 须为3<n<999的奇数 IF #N < 3 THEN #N := 3; END_IF; IF #N > 999 THEN #N := 999; END_IF; #MOD :=#N MOD 2; IF #MOD = 0 THEN #N := #N + 1; END_IF; //转换成时间格式 #time_temp := INT_TO_TIME(#time_ms); //生成脉冲,对n个数堆栈 #IEC_Timer_0_Instance(IN:=NOT #p, PT:=#time_temp, Q=>#p ); IF #p THEN FOR #x := 0 TO #N - 2 DO #value[#x] := #value[#x + 1]; END_FOR; #value[#N-1] := #IN; END_IF;
// 将value数组中的数复制到temp_value数组中 MOVE_BLK(IN:=#value[0], COUNT:=1000, OUT=>#temp_value[0]);
//对temp_value数组中数从小到大排序 FOR #j := 0 TO #N - 3 DO FOR #i := #j TO #N - 2 DO IF #temp_value[#j] > #temp_value[#i + 1] THEN #value_temp := #temp_value[#i + 1]; #temp_value[#i + 1] := #temp_value[#j]; #temp_value[#j] := #value_temp; END_IF; END_FOR; END_FOR;
//在排好序的数组中,取中间数做为输出 #OUT := #temp_value[(#N - 1) / 2];
仰天大笑出门去我辈岂是蓬蒿人
|
WWCWWC 至圣 经验值: 71760 发帖数: 8032 精华帖: 145 |
1楼 2022-02-10 16:33:50
主题:回复:信号采集后三种滤波方法 点赞是必须的,辛苦了。 |
baby_nine 侠客 经验值: 995 发帖数: 46 精华帖: 0 |
2楼 2022-02-10 16:44:44
主题:回复:信号采集后三种滤波方法
感谢分享,辛苦了。不知西门子工业库中是否有官方的滤波程序
QQ: 854960333@qq.com
|
Zaxife 至圣 经验值: 12573 发帖数: 2503 精华帖: 31 |
3楼 2022-02-10 16:44:57
主题:回复:信号采集后三种滤波方法 我一直以来都喜欢一阶滤波,简单方便。 |
ABBCCC 至圣 经验值: 24344 发帖数: 4846 精华帖: 6 |
4楼 2022-02-10 16:46:51
主题:回复:信号采集后三种滤波方法
谨慎低调
|
企鹅村 侠圣 经验值: 3821 发帖数: 541 精华帖: 0 |
5楼 2022-02-10 16:52:37
主题:回复:信号采集后三种滤波方法 谢谢分享,我先去学习下基础知识
甜甜蜜蜜
|
狂奔的龟 侠圣 经验值: 2309 发帖数: 278 精华帖: 0 |
6楼 2022-02-10 17:17:10
主题:回复:信号采集后三种滤波方法 能分享知识就值得点赞!!
脚踏实地的走下去!
|
和光同尘 奇侠 经验值: 6758 发帖数: 1106 精华帖: 1 |
7楼 2022-02-10 20:12:51
主题:回复:信号采集后三种滤波方法 谢谢分享,点赞! |
阳阳爸 侠圣 经验值: 3578 发帖数: 614 精华帖: 0 |
8楼 2022-02-10 20:36:08
主题:回复:信号采集后三种滤波方法 下载不了啊
简单的重复就能完成复杂的任务!
|
liuliusheng 至圣 经验值: 26250 发帖数: 5838 精华帖: 5 |
9楼 2022-02-11 10:11:36
主题:回复:信号采集后三种滤波方法 能下载呀,点赞!
天天学习,天天进步.
|
笨笨笨笨 奇侠 经验值: 7127 发帖数: 1022 精华帖: 2 |
10楼 2022-02-11 11:15:20
主题:回复:信号采集后三种滤波方法 点赞,这个是真的干货
心有多远路就有多远
|
RENHQ 至圣 经验值: 68945 发帖数: 12231 精华帖: 59 |
11楼 2022-02-14 14:17:06
主题:回复:信号采集后三种滤波方法
Q群:https://jq.qq.com/?k=9BDuEgf6
|
JL4_207 侠圣 经验值: 4542 发帖数: 809 精华帖: 2 |
12楼 2022-02-14 14:46:52
主题:回复:信号采集后三种滤波方法
暂无
|
执着siemens 侠圣 经验值: 2302 发帖数: 276 精华帖: 2 |
13楼 2022-02-14 19:33:36
主题:回复:信号采集后三种滤波方法 |
胖头陀 奇侠 经验值: 9587 发帖数: 432 精华帖: 0 |
14楼 2022-02-15 08:04:49
主题:回复:信号采集后三种滤波方法 |
芳季 至圣 经验值: 66651 发帖数: 14762 精华帖: 100 |
15楼 2022-02-15 08:10:23
主题:回复:信号采集后三种滤波方法 |
ortho123 侠士 经验值: 1189 发帖数: 157 精华帖: 0 |
16楼 2022-02-15 08:11:24
主题:回复:信号采集后三种滤波方法 感谢分享,必须赞 |
Ready_OK 至圣 经验值: 15530 发帖数: 1735 精华帖: 0 |
17楼 2022-02-15 08:12:09
主题:回复:信号采集后三种滤波方法
海纳百川,厚德务实!
|
HUANGZE75 至圣 经验值: 63263 发帖数: 12670 精华帖: 121 |
18楼 2022-02-15 08:46:59
主题:回复:信号采集后三种滤波方法 |
yzm_cumt 至圣 经验值: 18269 发帖数: 2653 精华帖: 14 |
19楼 2022-02-15 09:11:03
主题:回复:信号采集后三种滤波方法
sometimes you have to be your own hero!
|
启善 奇侠 经验值: 7486 发帖数: 630 精华帖: 1 |
20楼 2022-02-15 09:11:09
主题:回复:信号采集后三种滤波方法 |
新兴电工 至圣 经验值: 12783 发帖数: 1212 精华帖: 2 |
21楼 2022-02-15 09:53:50
主题:回复:信号采集后三种滤波方法
革命尚未成功,同志仍需努力.
|
匆匆又三年 侠圣 经验值: 3279 发帖数: 310 精华帖: 8 |
22楼 2022-02-15 11:30:58
主题:回复:信号采集后三种滤波方法 一阶滤波公式写错了吧,应该是 #new_value := (1 - #"a (0-1)") * #last_value + #"a (0-1)" * #IN;
有事联系邮箱 203161926@qq.com
|
Zaxife 至圣 经验值: 12573 发帖数: 2503 精华帖: 31 |
23楼 2022-02-15 13:49:47
主题:回复:信号采集后三种滤波方法 你说的这种叫陷波器,以前模拟电路中经常见到的,原理上就是低通滤波+高通滤波。用电阻、电容、电感拼凑就能够做到。 其实,现在用电阻、电容、运放组成0衰减陷波器的更好。 说到电阻电容,想到的肯定是积分、微分了,所以某一个频率陷波器就是根据频率周期判断2个周期采集的2个值之间相减的绝对值必须小于(低通)或者大于(高通)某个范围值。 嗯,如果学过傅立叶的应该都知道这个,FFT运算就是太费时了,不过有个查表法可以提高效率... 好嘞,以上纯粹我瞎扯淡的。 |
呼啦啦水电费 侠圣 经验值: 2878 发帖数: 268 精华帖: 15 |
24楼 2022-02-15 14:03:31
主题:回复:信号采集后三种滤波方法
清风逝,尘飞扬
|
f1968 侠圣 经验值: 3713 发帖数: 148 精华帖: 0 |
25楼 2022-02-15 20:40:13
主题:回复:信号采集后三种滤波方法 有时滤波对于信号处理是必需的算法,谢谢分享! |
魔笛库卡 侠圣 经验值: 2312 发帖数: 428 精华帖: 0 |
26楼 2022-02-16 08:43:08
主题:回复:信号采集后三种滤波方法
学无止境
|
XBin 侠圣 经验值: 4162 发帖数: 72 精华帖: 0 |
27楼 2022-02-16 09:10:44
主题:回复:信号采集后三种滤波方法 |
Siemens automation 奇侠 经验值: 5538 发帖数: 626 精华帖: 6 |
28楼 2022-02-16 14:01:29
主题:回复:信号采集后三种滤波方法 |
来不及说再见 游侠 经验值: 383 发帖数: 36 精华帖: 1 |
29楼 2022-02-16 18:34:06
主题:回复:信号采集后三种滤波方法
FOR BETTER
|
holdkcsxyz 至圣 经验值: 13012 发帖数: 1814 精华帖: 22 |
30楼 2022-02-17 12:54:50
主题:回复:信号采集后三种滤波方法 |
锋言锋语 至圣 经验值: 23682 发帖数: 3381 精华帖: 52 |
31楼 2022-02-17 13:23:24
主题:回复:信号采集后三种滤波方法 这个用编程计算的话, 首先,缓存一段数据, 然后,用福利也变化求出对应频率的分量。 用缓存减去分量。
不忘初心
|
坏笨笨 侠士 经验值: 1547 发帖数: 373 精华帖: 4 |
32楼 2022-02-18 14:05:05
主题:回复:信号采集后三种滤波方法 有,西门子1500自带,带通滤波 |
坏笨笨 侠士 经验值: 1547 发帖数: 373 精华帖: 4 |
33楼 2022-02-18 14:07:18
主题:回复:信号采集后三种滤波方法 西门子库自带,带通滤波 |
手机用户20190530876633 新手 经验值: 30 发帖数: 2 精华帖: 0 |
34楼 2022-02-18 15:58:15
主题:回复:信号采集后三种滤波方法 |
yacado 侠圣 经验值: 3804 发帖数: 500 精华帖: 3 |
35楼 2022-02-18 18:06:39
主题:回复:信号采集后三种滤波方法 谢谢分享,给楼主点赞。 |
和光同尘 奇侠 经验值: 6758 发帖数: 1106 精华帖: 1 |
36楼 2022-02-18 18:27:25
主题:回复:信号采集后三种滤波方法 |
贤贤易色 奇侠 经验值: 8091 发帖数: 1308 精华帖: 6 |
37楼 2022-02-24 08:33:31
主题:回复:信号采集后三种滤波方法 我感觉也写错了,你不说我都不知道,,百度了一下:一阶滤波算法是比较常用的滤波算法,它的滤波结果=a*本次采样值+(1-a)*上次滤波结果,其中,a为0~1之间的数。一阶滤波相当于是将新的采样值与上次的滤波结果计算一个加权平均值。a的取值决定了算法的灵敏度,a越大,新采集的值占的权重越大,算法越灵敏,但平顺性差;相反,a越小,新采集的值占的权重越小,灵敏度差,但平顺性好。
养活一团春意思,撑起两根穷骨头
|
zrc4043 游民 经验值: 104 发帖数: 1 精华帖: 0 |
38楼 2022-02-24 13:24:44
主题:回复:信号采集后三种滤波方法 |
神舟一百 游民 经验值: 109 发帖数: 6 精华帖: 0 |
39楼 2022-02-25 08:30:03
主题:回复:信号采集后三种滤波方法 真是好东西,辛苦了 |
我爱吾家 至圣 经验值: 15067 发帖数: 2859 精华帖: 0 |
40楼 2022-02-28 11:15:08
主题:回复:信号采集后三种滤波方法 感谢楼主分享 |
又单又纯 侠客 经验值: 717 发帖数: 159 精华帖: 0 |
41楼 2022-03-02 10:59:49
主题:回复:信号采集后三种滤波方法 还是喜欢看这样的贴子,而不是一些假大空的开天辟地的 |
Letham 至圣 经验值: 13923 发帖数: 2004 精华帖: 43 |
42楼 2022-03-03 12:50:05
主题:回复:信号采集后三种滤波方法 有图,滤波后效果一目了然
人生就像一场旅行!
|
水清H 侠客 经验值: 726 发帖数: 48 精华帖: 1 |
43楼 2022-03-05 11:05:49
主题:回复:信号采集后三种滤波方法 仔细看了一下堆栈平均滤波法的代码,发现了一个小Bug,不知道对不对。 n个数据没采集完时,也就是数组里数据量小与n时,算平均值时还是除以n,会导致输出结果不对。 等到采集的数据量大于等于n时就没问题了。 |
工控小学seng 游民 经验值: 61 发帖数: 1 精华帖: 0 |
44楼 2022-03-14 15:41:45
主题:回复:信号采集后三种滤波方法 V16怎么打开这个程序啊之前我记得可以打开的找不到了 |
毕加索 游民 经验值: 92 发帖数: 1 精华帖: 0 |
45楼 2022-03-14 15:45:56
主题:回复:信号采集后三种滤波方法 |
不断攀登 至圣 经验值: 12543 发帖数: 1843 精华帖: 0 |
46楼 2022-03-18 08:07:31
主题:回复:信号采集后三种滤波方法 很好的分享。
邮箱 yongquancun@126.com
|
不断攀登 至圣 经验值: 12543 发帖数: 1843 精华帖: 0 |
47楼 2022-03-18 09:41:17
主题:回复:信号采集后三种滤波方法 一阶滞后滤波 公式错了 楼主改下吧。
邮箱 yongquancun@126.com
|
ligp99 侠圣 经验值: 4018 发帖数: 831 精华帖: 0 |
52楼 2022-04-14 17:31:41
主题:回复:信号采集后三种滤波方法 他们说公式有错?
有你帮助有我成长
|