您好、欢迎来到现金彩票网!
当前位置:秒速牛牛计划 > 梯形图 >

BCD码(8421)和整数互转算法的梯形图实现

发布时间:2019-06-19 02:59 来源:未知 编辑:admin

  BCD码(Binary Coded Decimal‎)是用4位二进制数来表示1位十进制数中的0~9的编码方法。8421码是一种有权码,其各位的权分别是(从最有效高位开始到最低有效位)8,4,2,1。比如,BCD码0x9234(二进制1001 0010 0011 0100)所代表的十进制数为9234。在工业控制中,PLC可能要和现场仪表或计算机交互数据,如果PLC没有BCD和整数互转的功能块,那么就需要工程师自行编写转换程序。本文以HORNER控制器为例,为您展示8421BCD码和整数互转的梯形图逻辑实现。

  从BCD码的原理可知,对于一个16位的BCD码而言,其数据表示范围为0~9999。故此我们利用数学运算,依次提取出千位,百位,十位,个位的数值,然后再把这些数值乘以对应的加权(1000,100,10,1)后相加,即可得到对应的整数。

  在下面的例子中,待转换的BCD码位于%AQ81(16位)寄存器,下文中我们称之为Input;转换结果放置在%AQ88(16位)寄存器中,我们称之为Output。%S7为系统寄存器,始终为ON.

  我们可以将其建为自定义功能块,或者子程序,方便在程序的其他位置多次调用。

  整数转BCD的原理同上,只不过各数位对应的加权分别变为了4096,256,16和1。

  在下面的例子中,待转换的BCD码位于%AQ91(16位)寄存器,下文中我们称之为Input;转换结果放置在%AQ96(16位)寄存器中,我们称之为Output。%S7为系统寄存器,始终为ON.

  上述程序是笔者多年前编写的,后来都是直接调用,没有过多思考,在校对此文的过程中,笔者忽然发现按数值区间大小分类讨论的方式完全没有必要,上述程序其实可以简化为:

  之所以没有把前边繁冗的算法删除,是希望大家能看到写作和整理资料的过程对我们的思维和工作的帮助及提高。

  张伟宁,就职于浩纳尔(天津)自动化科技有限公司,负责美国HORNER一体化控制产品的应用和支持工作,对HORNER全系产品有深入了解。

http://soportecliente.com/tixingtu/278.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有