赞
踩
硬件:cpu1214C,编码器omron E6C3-AG5B(格雷码输出)
目的:将编码器接入PLC中,通过PLC实现对编码器实时位置的读取。
软件:Portal V14SP1
外部接线:
该编码器为8位格雷码输出,将0-7号信号线依次接入PLC I0.0-I0.7
区分编码器PNP与NPN类型,PLC的输入点公共端若极性接反,则可能会出现格雷码输出乱序的现象
硬件组态:插入1214C
在编程界面新建DB块,取消优化的块访问,在DB块内创建Int型变量greycode
格雷码转换到二进制可以采用异或运算来处理,以一个4位格雷码为例
将格雷码(1001)转位二进制数
C4= R4=1
C3= R4⊕R3=1⊕0=1
C2= R4⊕R3⊕R2= C3⊕R2=1⊕0=1
C1= R4⊕R3⊕R2⊕R1= C2⊕R1=1⊕1=0
最终结果为:格雷码(1001)→二进制(1110)
在PLC中,我们可以通过调用“与”,“或”,“非”指令,来实现“异或”运算
A ⊕B=A’ * B + A * B’ (左侧公式中用 ’ 来表示非运算)
所以我们现在需要的是将8位格雷码转换成8位二进制,转换的原则与上述公式一致,
具体程序如下:
此时进入监控界面,格雷码已经被换算成了二进制,转动编码器可以看到,编码器在单圈内其输出值在0-255之间均匀变化。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。