arrow0725
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 146 点
下载积分: 831 分
在线时间: 19(小时)
注册时间: 2012-04-26
最后登录: 2013-07-10
查看arrow0725的 主题 / 回贴
楼主  发表于: 2012-05-22 15:05
一个电动机,转轴上挂一个小板子, 按照顺时针或者逆时针方向转动
在转动的过程中,在6点钟方向(即转动圆圈的正下方)有一个传感器,当传感器对面是小板子的时候,计数器加1

初始状态是,小板子停留在六点钟方向,这时候传感器已经接受到信息了(即我PLC控制器的X1输入在初始位置常亮,因为初始位置小板子就在传感器对面)
我现在想让小板子转动2圈回到六点钟方向,然后电动机停止。

程序我是这么写的


如上图所示,C0计数两次。
实际运行时发现,当转动一圈时,电动机就停了,我调试发现,转一圈时计数器已经计数两次了。

我观察了一下发现,我程序运行可能只要几ms,小板子在六点钟方向持续的时间要超过20ms,这样导致在六点钟方向,我即使计数C0 K5, 也是一圈就计数到5次了。

不知道我这个情况有没有说清楚,请经验人士说说这种情况该怎么处理?
计数一次以后延时几十ms,然后再开始计数??
shadowfiends
级别: 探索解密
精华主题: 0
发帖数量: 12 个
工控威望: 135 点
下载积分: 625 分
在线时间: 118(小时)
注册时间: 2011-08-25
最后登录: 2013-09-02
查看shadowfiends的 主题 / 回贴
1楼  发表于: 2012-05-22 15:09
使用上升沿脉冲触发?
shadowfiends
级别: 探索解密
精华主题: 0
发帖数量: 12 个
工控威望: 135 点
下载积分: 625 分
在线时间: 118(小时)
注册时间: 2011-08-25
最后登录: 2013-09-02
查看shadowfiends的 主题 / 回贴
2楼  发表于: 2012-05-22 15:31
你可以在启动信号后面加一个延时