公告
日志更新
最新评论
留言板
Blog信息
登陆
|
| 一个测量时间的小应用 |
f108.com 发表于 2005-12-28 20:59:00 |
|
 |
任务:利用S7-200完成分辨率为50(0.00005秒)微秒的时间测量
设备:S7-222 CPU 一个,TD200(选件)
所用S7-200集成功能:高速脉冲输出(PTO,PWM),高速计数,开关量中断
最近一个朋友向我咨询能否完成分辨率为0.1毫秒的时间测量任务,一个小的舱门的的关闭是在门轴上安装一个小的弹簧,弹簧的弹性系数决定关门的时间,需要测量关门的时间来指导弹簧的设计。
曾经采用的方案是利用高速摄像机,不过成本太高。我利用S7-200的集成功能简单的完成了,非常的简单。
思路:利用S7-200的高速输出功能输出一个固定的20KHz 的脉冲串,将脉冲串直接接到高速输入端,再利用S7-200的开关量中断功能,采用I0.1的下降沿触发一个事件用来记录当前的高速计数值,利用I0.2的下降沿触发另一个中断事件记录另外一个计数值,两个计数值的差值即为两个中断事件的时间数,每个数代表50微秒,所以非常方便的实现了测量时间。
补充说明:
1.S7-200的高速输出和高速计数是由专用的ASIC芯片完成的,与PLC的扫描周期无关,在要求不高的时候可以相信。
2.为什么采用下降沿,机械容易实现,一定注意一旦产生中断事件一定将中断关掉,否则简易开关可能多次触发,不能记录正确的数值。
3.光电开关,考虑到光电开关可能内部存在滤波电路所以弃用
4.程序说明:在程序中有程序注释,为了方便显示,采用了TD200, F1(M0.0)清除显示值,F2 (M0.1) 中断允许,可以开始新的测量。
5.如果采用224XP 可以实现5微妙的分辨?
user1/89/upload/2006163517.zip |
 |
| 阅读全文() | 回复(1) | 引用通告() | 编辑 |
| Re:一个测量时间的小应用 |
ersacn发表评论于2006-1-5 21:05:00 |
|
 |
| 很好的思路。我曾经用中断计算线速度,不过是对T32进行运算,误差是1Ms。看上去还是蛮准的。 |
 |
| 个人主页 | 引用 | 返回 | 删除 |
|



|