plc编程及应用_「PLC编程与应用」你知道什么是格雷码?

定位控制是自动控制的一个重要内容。如何精确地进行位置控制在许多领域里面有着广泛的引用,例如机器人运动,数控机床的加工,医疗机械和伺服传动控制系统等。

编码器是一种把角位移或者是直线位移转换成电信号(脉冲信号)的装置。按照其工作原理,可分为增量式和绝对式两种。增量式编码器是将位移产生周期性的电信号,再把这个电信号转换成计数脉冲,用计数脉冲的个数来表示位移的大小,而绝对式编码器则是用一个确定的二进制码来表示其位置,其位置和二进制码的关系是用一个码盘来传送的。

下图为一个仅作说明的三位纯二进制码的码盘示意图

8fd491ec23078e4f6f8967e75bf14a75.png

一组固定的光电二极管用于检测码盘径向一列单元的反射光,每个单元根据其明暗的不同输出相对于二进制数1或者0的信号电压,当码盘旋转时,输出一系列的三位二进制数,每转一圈,有八个二进制数从000~111每一个二进制数表示转动的确定位置(角位移量)。图中是以纯二进制编码来设计码盘的。但是这种编码方式在码盘转至某些边界时,编码器输出便出现了问题。

例如:当转盘转至001到010边界时(如图所示)这里有两个编码改变,如果码盘刚好转到理论上的边界位置,编码器输出多少?由于是在边界,001和010都是可以接受的编码。然后由于机械装配的不完美,左边的光电二极管在边界两边都是0,不会产生异议,而中间和左边的光电二极管则可能会是“1”或者“0”假定中间是1左边也是1,则编码器就会输出011,这是与编码盘所转到的位置010不相同的编码,同理。输出也可能是000,这也是一个错码。通常在任何边界只要是一个以上的数位发生变化时都可能产生此类问题,最坏的情况是三位数位都发生变化的边界如000~111边界和011~100边界,错码的机率极高。因此,纯二进制编码是不能作为编码器的编码的。

格雷码解决了这个问题。下图为一格雷码编制的码盘。

e202f732ec13ea5de735fae3f2c1a5fb.png

与上面纯二进制码相比,格雷码的特点是:任何相邻的码组之间只有一位数位变化。这就大大的减少了由一个码组转换到相邻码组时在边界上所产生的错码的可能。因此,格雷码是一种错误少的编码方式,属于可靠性编码,而且格雷码与其所对应的角位移量是绝对唯一的,所以采样格雷码的编码器又称为绝对式旋转编码器。这种光电编码器已经越来越广泛的应用于各种工业系统中的角度,长度测量和定位控制中。

格雷码是无权码,每一位码没有确定的大小,因此不能直接进行比较大小和算术运算,要利用格雷码进行定位,还必须经过码制转换,变成纯二进制码,再由上位机读取和运算。

但是格雷码的编制还是有规律的,它的规律是:最后一位的顺序为01、10、01…,倒数第二位为0011,1100,0011…,倒数第三位为00001111,11110000,00001111,……倒数第四位为0000000011111111,1111111100000000,…..;,等以此类推。

下面是四位编制的格雷码对照表

5ac8aa9e7d5c526761f5382aa2274771.png
ed4bfb4d48bb93e0ff9b694af6e48632.png

往期优秀文章回顾:

变频器、伺服故障查询,PLC案例、资料和免费视频,就你不知道~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值