PLC编程中的进制数该如何表示?相互之间又是如何转换的?
今天给大家讲一下有关数制、码制、基本逻辑运算等数字电路基本知识。这些知识贯穿在所有的数字电子技术中,包括工业自动化控制技术,例如;PLC、单片机、单板工控机、变频器、伺服、步进等控制技术中,我们要求大家一定要学好这些基本知识及其应用。
学习这些知识不需要高深的数理知识,初中以上水平就可以理解掌握,只要努力学习就行。
数制的知识要求掌握2、10、16进制数的表示和它们相互间的转换。码制的知识要求掌握各种码制的特点及其应用。基本逻辑运算知识要求掌握基本逻辑运算的关系,表示及与电路间的联系。
一、数制
数制,就是数的计数方法,也就是数的进位法。
在数字电子技术中,数制是必须掌握的基础知识。
二、数制三要素
数制是指计算数的方法。其基本内容有二个,一个是如何表示一个数,一个是如何表示数的进位。公元400年,印度数学家最早提出了十进制计数系统,当然,这种计数系统与人的手指有关。这也是很自然的事,这种计数系统(就是数制)的特点是逢十进一,有10个不同的数码表示数(也就是0~9个阿拉伯数字),我们把这个计数系统叫做十进制。
十进制计数内容已经包含了数制的三要素:基数、位权、复位和进位。下面我们就以十进制为例来讲解数制的三要素。
下面是一个十进制表示的数:
这是一个十进制的数:6505,是一个四位数。
其中,6、5、0是它的数码,也叫数符。我们知道:十进制数有10个数码。0~9。我们把这10个数码叫做10进制数的基数。基数即表示了数制所包含数码的个数,同时也包含了数制的进位,即逢十进一。N进制必须有n个数码。
我们把这四位数的位分别以b0位,b1位,b2位,b3位表示数码所在的位。(也即我们日常所说的个位,十位,百位,千位)。
注意:我们规定最右位(个位)为b0位,然后依次往左为b1,b2。。。。。。位。我们会发现b2位的5和b0位的5虽然都是数码5,但他们表示的数值是不一样的。b2位的5表示500,b0位的5只表示5,为什么呢?这是因为不同的位的位值是不一样的,位值又叫位权。
位权是数制的三要素之一,它表示数码所在位的值。位权一般是基数的正整数幂,从0开始,按位递增。b0位位权为
,b1位位权为
。。。以次类推。N进制的位权为
当数中某一位(例如b0位)到达最大数码值后,必须产生复位和进位的运转。当b0数到9(最大数码)后则b0位会变为0.并向b1位进1。复位和进位是数制必须的运算处理。
我们把基数,位权,进位和复位称之为数制三要素。
一般地说,数制的数值由各位数码乘以位权然后相加得到。即
我们把数制中数的位权最大的有效值(最左边的位)叫做最高有效位MSD(Most Siginfical Digit)。而把最右边的有效位叫做最低有效位LSD(Least Siginfical Digit)。在二进制中,常常把LSD位叫做低位。而把MSD位叫高位。
上面虽然是以十进制来介绍数制的知识的,但是数制的三要素对所有的进制都是适用的。
一个N进制的n位数,则:基数为N,有n个不同的数码,逢N进一,其位权由LSD位到MSD位分别为
当某位计数到最大数码时,该位复位为最小数码,并向上一位进1,而其数值为:
数值=
往期优秀文章回顾:
一个电气新手,我想问PLC电气编程用什么电脑最好?
PLC编程中的进制类型和编程换算方法
PLC也是一台微电脑,许多功能指令离不开进制转换,同时也是为了增加程序的可读性,想要对PLC进行编程,那么必须得清楚数制的设置以及转化和对应的符号。
当然,人们输入计算机的十进制被转换成二进制进行计算,计算后的结果又由二进制转换成十进制,这都由操作系统自动完成,并不需要人们手工去做。人们通常采用的数制有十进制二进制、八进制和十六进制。
常用进制对应表
常用进制使用场合
二进制只有 0 和 1 两个符号,按照逢二进一的规则运算。0和1用来表示开关量(或称数字量)的两种不同状态,如触点的断开和接通,线圈的得电和失电等。
所有数据的运算、存储都是采用二进制进行
西门子PLC上的输入输出编号是采用八进制方式命名
MODBUS-RTU通信数据发送与接收是采用了十六进制
某变频器的参数地址以十六进制分配
进制之间的相互转换
方法: 二进制数从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了!
方法: 将二进制数从最低位开始( 从右到左 ),以4位二进制数为一组进行分组,最左边不足4位的补零。然后对每组分别运用“8421”法则快速运算。
方法: 十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
方法: 对于每一位十六进制数,分别运用“8421”法则快速运算,逐位展开成4位二进制数,不足四位的补零,最后最左边的零可省略。
方法: 要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。
相关问答
PLC编程中的进制数该如何表示?相互之间又是如何转换的?
PLC也是一台微电脑,许多功能指令离不开进制转换,同时也是为了增加程序的可读性,想要对PLC进行编程,那么必须得清楚数制的设置以及转化和对应的符号。当然,...1...
PLC编程中常用的进制类型?
在PLC编程中,常用的进制类型有以下三种:1.二进制:是一种基本的计算机数据表示方法,仅包含“0”和“1”这两个数字。在PLC编程中,二进制通常用于表示某个输...
台达plc程序中怎么把十六进制数变成十进制数啊?
这个不管16进制还是十进制,对于PLC处理来说都是一样的你如果要显示出来,如在触摸屏上显示,只要编辑好你的数据显示器就行了这个不管16进制还是十进制,对于PL...
PLC编程什么时候用BIN指令,怎么用?
BIN是二进制的,16进制的是BCD的。转换指令直接用BINXXXXDMXXX就行了。表示把XXXX这个数转换为BIN格式的,存储到DMXXX这个数据存储区里面。如果是要转换成BC...
学习PLC怎么还要学习计算机的进制?有点懵?
当然要了,PLC实际也是一台微电脑,许多功能指令离不开进制转换,通常用的二进制,八进制,十进制,十六进制后BCD码。当然要了,PLC实际也是一台微电脑,许多功能指...
三菱FX2N-PLC编程,如何将D0的数据(十进制数)转换成十六进制的数据,传送到D10里?
三菱FX2N-PLC里面的数据寄存器D中一般均存放二进制数,只是读取或写入时是用的十进制数(通常以“K”标示)或十六进制数(通常以“H”标示)的形式。因此,将D0...
plc的地址是用哪种进制存储的?
PLC的地址通常使用十六进制存储。PLC(可编程逻辑控制器)是一种专门用于工业自动化控制的计算机控制系统,其中的地址用于指示设备、输入输出和存储器等不同的控...
信捷plc十进制转十六进制编程?
在信捷PLC编程中,将十进制转换为十六进制可以通过一些简单的数学运算实现。以下是一个示例程序,演示如何将一个十进制数转换为十六进制数:lessCopycodeLD...
台达plc程序中怎么把十六进制数变成十进制数啊-u6Dyla6Yfz...
这个不管16进制还是十进制,对于PLC处理来说都是一样的你如果要显示出来,如在触摸屏上显示,只要编辑好你的数据显示器就行了好像台达PLC的返回值都...
三菱plc编程为什么用16进制的数字?
16进制数值是普通的数,和10进制数没有本质区别,只是表现形式不同而已。你首先需要知道BCD码,这个学过数字电路的人都知道。所以采用16进制数是因为16进制可以...