首页 上一页 1 2 下一页 尾页

求解一函数的PLC程序(S7300的) 点击:1327 | 回复:28



q51339

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-16 12:10:16
楼主

a=0-1

本次滤波结果=(1-a)*本次采样值+a*上次滤波结果

的S7300PLC程序,放了几天了没人会做吗?会的请帮下忙,在下新学PLC。




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2011-05-16 13:05:16
1楼
L #XXX  //本次采样值
……计算过程
T DBx.DBDx//上次采样值。
大致就是这样一个过程。

您在等完整的代码?

q51339

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-16 13:21:59
2楼
详细点吧,初学者。。。

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2011-05-16 13:40:48
3楼
a如何判断?a取值的条件是什么?

q51339

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-16 13:55:23
4楼

一阶滞后滤波法

A、方法:

取a=0~1

本次滤波结果=(1-a)*本次采样值+a*上次滤波结果

B、优点:

对周期性干扰具有良好的抑制作用

适用于波动频率较高的场合

C、缺点:

相位滞后,灵敏度低

滞后程度取决于a值大小


a是我自己根据想要得到的结果定义的,范围为0到1之间的实数。不用判断,常数。

谢谢,劳烦您了!

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2011-05-16 15:31:16
5楼
如果你有用西门子S7-300的SCL编程方式,那么将富士SPH的程序转换为SCL的程序是轻而易举的。




Good Luck~

q51339

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-16 16:08:12
6楼
算鸟,等于没说,有别的人会做的麻烦展示下。

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2011-05-16 16:47:49
7楼

 

原来因为Step7在本本上并没有安装,所以使用富士的SPH的ST方式编写,思量着可能对不住楼主而回去用Step7重写,感谢楼主这句算鸟……

q51339

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-16 16:55:44
8楼
不好意思,对不住啦,刚才我进来时网站没有刷出来您写的程序,光有第一行和最后一行的文字,实在不好意思,误会您了。表示深深的感谢!事业有成,家庭美满!

q51339

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-16 17:05:17
9楼

方便的话,还得劳烦您帮我用step7写下,不知道怎么感谢您了,唉,突然感觉自己变成了个不懂人情的坏人了。。。内疚啊,回去多吃点饭吧。。。。。。

 

Piston

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 13107回
  • 年度积分:18
  • 历史总积分:40065
  • 注册:2009年5月22日
发表于:2011-05-16 23:46:57
10楼
天助自助者,求人不如求自己

西门子Newer

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-17 09:05:05
11楼
回复内容:
对:Piston 关于天助自助者,求人不如求自己 内容的回复:


道理谁都懂,新手你懂不?都知道还来这问?

西门子Newer

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-19 10:28:45
12楼

这么多人就没人会300的程序啊,求助!

pmcuser

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 139回
  • 年度积分:0
  • 历史总积分:751
  • 注册:2006年4月05日
发表于:2011-05-19 13:15:02
13楼
只需要在其他FC里调用该块即可

西门子Newer

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-19 14:16:20
14楼
谢谢楼上的哥们,祝福您工作顺利,事业有成。

西门子Newer

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-19 14:26:17
15楼
回复内容:
对:pmcuser 关于
只需要在其他FC里调用该块即可

 

希望你能帮我改进下,谢谢 我自己也弄不出来
内容的回复:


上面的程序最后三行什么意思啊?#temp2和#temp3并没有相加吧?漏写了还是?是不是应该这样     L  #temp2        L  #temp3     +R     T    #Filter_val  而且这个程序和上面那位朋友做的有一个同样的问题,从上面那个朋友给的波形可以看出滤波前后数值根本就没有变化,应为你们的程序的同样问题在于在程序后段把本次滤波结果赋给下次滤波用时,应该是有问题的。最后一阶滤波算法的得到的波形应该是类似这样的效果:

彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2011-05-19 20:00:17
16楼

这个不知用在什么地方?

西门子Newer

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2011年4月19日
发表于:2011-05-23 12:02:32
17楼
看来还是自己弄吧,明天出差,回来还没有就结贴了。谢谢大家的帮忙!

与或非

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 76回
  • 年度积分:0
  • 历史总积分:259
  • 注册:2002年6月27日
发表于:2011-05-24 16:29:27
18楼

像pid,输入值滤波

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2011-05-24 22:47:45
19楼

SUB   c, a

SUB   b, c

mov   a, b

参考一下!

 

 

bazi2001

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:45
  • 注册:2007年9月01日
发表于:2011-06-01 14:27:26
20楼


L MD 0                         //a值
L MD 8                        //上次滤波结果
*R
T    LD 80


L   1.000000e+000
L     MD 0                         //a值
-R
L  MD 4                         //本次采样值
*R
L  LD 80
+R
T  MD 8                        //本次滤波结果


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页