二进制与格雷码_第1页
二进制与格雷码_第2页
二进制与格雷码_第3页
二进制与格雷码_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

进制与格雷码之间的转换在公司的PLC改造项目中,我们经常要用到格雷码输出的绝对型旋转编码器。由于格雷码是一种非加权码,不能直接反应出当前的角度值,所以必须在PLC程序中将它转换成能反应当前实际位置的二进制码。为了让我们的工程技术人员均能很好的掌握格雷码与二进制码之间的转换方法,我根据自己的一些经验和参考资料,将格雷码的相关知识作了些整理,在公司的刊物上发表出来,希望能和大家一起对这个问题来加以讨论和学习,共同提高我们的技术水平。、格雷码(GrayCode)的概念格雷码是我们在工程中常会遇到的一种编码方式,例如,大多数绝对型旋转编码的输出就是采用格雷码的编码格式。它是一种非加权码,由二进制码派生而来。常用的二进制数与格雷码间的转换关系如下表:数值二进制码格雷码数值二进制码格雷码000000000910011101100010001101010111120010001111101111103001100101211001010401000110131101101150101011114111010016011001011511111000701110100810001100从上表我们可以看出,与普通二进制编码相比,格雷码的特点是相邻两个数之间只有1个二进制位发生了变化。正是这个特点,使它更适合于用在数据传输的场合。二、二进制与格雷码之间的转换(一)、二进制码转为格雷码二进制码转为格雷码的算法较简单,将所需转换的数的二进制码右移一位后与原数相异或即可。例:十进制数9的格雷码为:二)、格雷码转为二进制码格雷码转为二进制码的算法则较为繁琐,计算公式如下Rn为n位的格雷码,Cn为转换后的二进制码Cn=Rn,nnC1=R©R1,TOC\o"1-5"\h\zn-1 n n-1C2=R©R1©R2,n-2 n n-1 n-2C1=R㊉R1©R2㊉…©R2©R1,1 n n-1 n-2 2 1C0=R㊉R1©R2㊉…©R2©R1©R00 n n-1 n-2 2 1 0例:格雷码(1001)转位二进制数格雷码二进制数格雷码二进制数C4=R4=1C3=R4㊉巴=1©0=1C2=R4㊉巴㊉冬=C3㊉冬=1㊉0=1C1=r4㊉巴®r2㊉R1=C2®R1=1㊉1=0三、编程举例根据工业控制的特点,现分别给出在PLC梯形图中和在VB中实现格雷码转二进制码的程序。一)、在PLC程序中实现格雷码与二进制码的转换在PLC编程中允许进行“位运算操作”,所以我们可以较容易的实现格雷码与二进制编码间的转换,但有的PLC中没有“位异或”的指令,所以需要通过把“异或”运算用“与”“或”“非”的来实现。公式如下: _ _A®B=A*B+A*B~例:在西门子PLC编程软件STEP7中,将格雷码输出的绝对型旋转编码器送来的值转换为二进制数。格雷码值存在数据块DB2的第0个字节中,即DB2.DBB0,计算后的二进制数存在数据块DB2的第2个字节中,即DB0.DBB2。DB2.DBX0—DB2.DBX7表示数据块DB2的第2个字节中的Bit0-Bit7

(二)、在VB中实现格雷码与二进制码间的转换在VB中,因为不允许进行“位运算操作”所以实现起来步骤繁琐一些具体方法为:1、待处理数右移1位,结果另存2、 把步骤1的结果保留第n-1位,其他位置03、 把步骤2的结果与原数相异或,覆盖原数4、 重复上述步骤n-1次。处理8位格雷码的程序:PrivateSubcmdGrayToBin_Click()DimxAsIntegerDimtempAsIntegerDimyAsIntegerDimiAsIntegerx=CInt(Text1.Text)Fori=1To7temp=(x\2)And8\(2人i)x=xXortempNextiText2.Text=xEndSub格雷码各位每360度变化的次数位号每36

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论