西门子200PLC如何求速度 点击:3968 | 回复:8



阿青_35

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:19帖 | 18回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2007年6月07日
发表于:2014-02-13 15:08:55
楼主

现在200PLC的EM231模拟量输入模块接位移传感器,用来测量某一机构的位移,现想通过类似求导的办法来求该机构的速度,应该如何求啊,请大家指点!

    具体:我用的是4-20mA的电阻尺,量程为2000mm,用了两种方法来求速度,一种是时钟的办法,取一定时间间隙,求该时间间隙里的位移差,再除以该时间间隙。第二种方法是用定时中断的方法,原理和方法一都差不多。该两种方法效果都差不多,具体求得的效果如下:

1 低速5mm/S左右时(用秒表大致算的),速度比较准,跳动小

2 高速20mm/s左右时(该速度用秒表大致算的),求得的速度不稳定,大部分时间显示20左右,但有时会跳到100mm/s,即速度出现100mm/s的脉冲。

有没哪位有更好的办法啊,谢谢




真玉米

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 83回
  • 年度积分:0
  • 历史总积分:233
  • 注册:2012年1月13日
发表于:2014-02-13 17:56:47
1楼

定时中断相对来说是最准的了,楼主可以缩小测量时间,加入滤波函数,平滑滤波+一阶(二阶)滞后函数。如100MS更新一次,可以20MS测量一次,取5次测量值滤波后输出,这样速度较为稳定,也较接近真实

阿青_35

  • 精华:0帖
  • 求助:1帖
  • 帖子:19帖 | 18回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2007年6月07日
发表于:2014-02-14 09:40:12
2楼

谢谢你的指教!平滑滤波+一阶(二阶)滞后函数是直接调用里面的模块,还是自己编写啊。你有没编过类似的程序啊,可加个Q吗

阿水--王者之师

  • 精华:25帖
  • 求助:348帖
  • 帖子:1617帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2014-02-14 09:48:32
3楼

  用 距离测量来求 速度 ? 这个不太准的说,用编码器 来要好点 

真玉米

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 83回
  • 年度积分:0
  • 历史总积分:233
  • 注册:2012年1月13日
发表于:2014-02-14 10:32:13
4楼

引用 阿青_35 的回复内容: 谢谢你的指教!平滑滤波+一阶(二阶)滞后函数是直接调用... 


 滤波函数一般是自己编写的

阿青_35

  • 精华:0帖
  • 求助:1帖
  • 帖子:19帖 | 18回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2007年6月07日
发表于:2014-02-14 10:36:11
5楼

因为我主要是测该机构的位置,该机构是直线运动(油缸驱动),速度是顺便求下。编码器不是很好测位置吧,如果用编码器测位置的话,可能要对机械结构改动比较大,如要用某种装置把直线运动变成转动

glenxu

  • 精华:0帖
  • 求助:2帖
  • 帖子:28帖 | 592回
  • 年度积分:0
  • 历史总积分:1862
  • 注册:2004年1月13日
发表于:2014-02-14 11:57:54
6楼

必须用中断,但周期应大于50mS,越大越准确,否则电阻变送器的不稳定读数也影响计算结果,因为电阻测量响应有滞后。

然后加入惯性滤波就可以了。

阿青_35

  • 精华:0帖
  • 求助:1帖
  • 帖子:19帖 | 18回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2007年6月07日
发表于:2014-02-14 16:15:02
7楼

谢谢了,我试下,看效果如何

侠盗007

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2013年7月15日
发表于:2014-04-09 15:26:11
8楼

方法有两种

1、把事实值和历史值(或者设定值)做一个比较,像差距太大或太小的值直接去掉。

2、采集多次求平均值


热门招聘
相关主题

官方公众号

智造工程师