编码器正反转的识别

编码器的原理:
编码器的工作原理大概如下:

在这里插入图片描述
上图中黄色部分A、B为两个光对射管,蓝色部分为遮挡齿轮,当齿轮处于发射管与接收管中间时,会将光线挡住,进而输出低电平。
在这里插入图片描述
波形及特点:
正转:
在这里插入图片描述
反转:
在这里插入图片描述
如何利用波形得出正反转的判据:
如何通过波形得出正反转的判据呢?我们观察波形,发现在正转时,A的上升沿对应B的高电平,A的下降沿对应B的低电平,而在反转的时候,A的上升沿对应B的低电平,A的下降沿对应B的高电平。那么我们的逻辑连接可以用以下:
在这里插入图片描述
此处为什么要同时检测上升沿与下降沿呢?只检测上升沿不行吗?
在这里插入图片描述
我们考虑一种情况假设挡板齿轮目前正好挡住A相射出的光,此时A相是低电平,这时挡板齿轮向右移动一小点,A相输出高电平,检测到上升沿,计数器加一。而后挡板齿轮再向左移动一小点,A相输出低电平,检测到下降沿,这个时候如果没有检测下降沿的话,计数器值不会减一,这就存在问题,假如齿轮挡板在一个小范围内来回运动,那么计数器会不断增加,实际上挡板却没有转动。
程序上如何实现:包括程序结构
首先思考程序结构:程序可以分为3个结构,分别称为:一阶段结构,二阶段结构,三阶段结构。
一阶段结构:检测A,B引脚的状态,这个阶段应该定义几个位变量,用来表示A,B引脚的电平状态及有无上升沿及下降沿(对上升沿跟下降沿,可以定义相应的位变量,然后根据引脚前后两次电平的变化来对该位变量赋值),为什么要多次一举定义几个位变量呢?主要是为了保证在第二阶段结构的逻辑判断程序中保证所有位变量的状态在该循环期间里不会变化,也就是说位变量的状态只在一阶段中刷新,二阶段中位变量的状态不会因为外界引脚的状态变化而变化。
二阶段结构:通过一阶段输出的位变量状态实现上面T型图中的逻辑。
三阶段结构:将计数器的数值或其他逻辑计算结果输出。
题外话:
其实在编码器与PLC的连接使用中,我们不需要考虑上面说的那些问题,因为PLC内部已经将程序写好封装,我们只需要设置好某个寄存器的值,然后将相应的位逻辑连接就行,这在一定程度上方便了我们的使用,但是另一方面也限制了我们进行深层次思考。知其然而不知其所以然,因此在遇到问题时,我们在享受便利的同时,也要多思考思考为什么这样做,其原理是怎样的?只有这样,才能提高我们分析问题解决问题的能力。才能提高我们的水平。

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值