轻松学会PLC常用数制及转换
台达plc16进制转换为10进制指令

台达plc16进制转换为10进制指令台达PLC(可编程逻辑控制器)是一种常见的工业自动化设备,用于控制和监测生产线上的各种操作。
在PLC编程中,指令是控制PLC执行特定操作的基本单位。
这些指令可以用不同的编码方式表示,其中十六进制是一种常用的表示方法。
十六进制是一种基于16个数字(0-9和A-F)的数制系统,而十进制是我们常用的十个数字(0-9)的数制系统。
要将台达PLC的十六进制指令转换为十进制,我们需要了解这两种数制的转换规则。
让我们以一个例子来说明这个过程。
假设我们有一个台达PLC的指令是0x1234。
要将这个十六进制指令转换为十进制,我们需要将每个十六进制位的值与相应的权重相乘,并将结果相加。
在这个例子中,十六进制指令0x1234可以拆分为4个十六进制位:0x1、0x2、0x3和0x4。
我们按照权重从左到右分别为16^3、16^2、16^1和16^0。
将每个十六进制位的值与相应的权重相乘,然后将结果相加,即可得到对应的十进制值。
计算过程如下:0x1 * 16^3 + 0x2 * 16^2 + 0x3 * 16^1 + 0x4 * 16^0 = 1 * 4096 + 2 * 256 + 3 * 16 + 4 * 1 = 4096 + 512 + 48 + 4 = 4660因此,指令0x1234的十进制表示为4660。
通过这个例子,我们可以看到将台达PLC的十六进制指令转换为十进制并不是一件复杂的事情。
只需要按照权重与十六进制位的值相乘,并将结果相加即可。
这种转换方法适用于任何十六进制指令,只需要按照相同的步骤进行计算即可。
在PLC编程中,正确地转换十六进制指令为十进制是非常重要的。
这有助于我们理解指令的含义和作用,以便正确地编写和调试PLC 程序。
同时,通过掌握这种转换方法,我们也能更好地理解和应用其他数制系统的转换规则。
将台达PLC的十六进制指令转换为十进制是一项基本的数学运算,通过按照权重与十六进制位的值相乘,并将结果相加,我们可以得到正确的结果。
PLC常用数制及转换方法详解

PLC常用数制及转换方法详解
PLC(可编程逻辑控制器)是一种常见的工控系统设备,它广泛应用于工业自动化控制领域。
在PLC中,常用的数制有二进制、十进制和十六进制,不同进制之间可以相互转换。
1. 二进制数制(Binary Numerical System):
二进制是最基本的数制,在PLC中常用来表示开关信号的状态,如0表示开关关闭,1表示开关打开。
二进制数的转换较为简单,可以通过不断地除以2取余数的方法将十进制数转换为二进制数,例如将十进制的13转换为二进制数为1101
2. 十进制数制(Decimal Numerical System):
十进制数是我们平常最为熟悉的数制,它是以10作为基数的数制。
在PLC中,常用来表示传感器采集的模拟量输入信号,或者是计数器的计数值。
十进制数的转换可以采用不断地除以10取余数的方法,将二进制数或者十六进制数转换为十进制数。
3. 十六进制数制(Hexadecimal Numerical System):
十六进制数是一种更高级的数制,它以16作为基数。
在PLC中,常用来表示通信地址或者数据编码。
十六进制数的转换相对较为复杂,可以将二进制数以4位为一组进行分组,然后将每个分组转换为相应的十六进制数。
例如二进制数11011010可以分组为1101和1010,然后将每个分组转换为相应的十六进制数,得到的十六进制数为DA。
以上就是PLC常用数制及转换方法的详解。
在PLC编程中,通常会用到不同的数制,根据实际需要进行相互转换,以满足不同的控制需求。
PLC基础篇之数制及其表示方法-方正智芯

(Binary)、十进制(Decimal)和十六进制(Hexadecimal)。
人类的思维习惯于十进制(Decimal),所谓“逢十进一”。
这个没什么好说的,地球人都知道。
本文要介绍的是PLC编程相关的概念,因此要重点介绍的是二进制(Binary)和十六进制(Hexadecimal)。
现代计算机普遍采用冯·诺伊曼(John von Neumann,1903~1957)的体系结构。
美籍匈牙利科学家冯·诺伊曼根据电子元件的双稳特性,提出数字计算机应采用二进制进行存储和运算。
在西门子S7系列PLC中,二进制常数以“2#”开始,比如:2#1101。
二进制数可以转换成十进制数,转换方法是把各个位上的数乘以其权值,然后相加。
比如2#1101,等于1乘以2的3次方(=8),加上1乘以2的2次方(=4),加上1乘以2的0次方(=1),等于十进制13。
由于二进制数位数太多,编程时书写起来不太方便。
为了简化书写,同时保持二进制宜于“位”操作的特性,人们把四个二进制位组成一组,用来表示一个数。
由于四个二进制位所成表示的最大数是2#1111(=15),于是就出现了十六进制的数制。
十六进制的数码除了包括十进制的0~9之外,还包括A~F六个字母。
A等于十进制的10,依次递增,F等于10进制的15。
十六进制的表示方法比较多,在C/C++中用前缀"0x"表示,比如上一篇文章中提到的“0x0384”;在VB中使用前缀"&H"表示,比如“&H1A2B”;在西门子S7系列PLC中,使用“16#”来表示16进制数。
但通常情况下,在表示16进制数的时候,需要同时指出它的数据类型(后续会有专门文章介绍数据类型相关知识),比如B#16#56表示16进制数56,它的数据类型是字节(Byte)。
十六进制数可以很方便的转换成二进制数,只需要把每一位数转成二进制数,然后组合起来即可。
学习PLC前应掌握的基础知识

各个进制的定义及相互转换
二进制整数转换为十六进制整数时,每四位二进制数字转换为一位 十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四 位用零补齐。如:1111110101B
0011 | 1111 | 0101
0101=5;1111=F;0011=3,故 转换后的 十六进制数为3F5H 所以 1111110101B=3F5H
字节型:BYTE,一个字节等于8个位,第0位是最低位,第7位是最高位,一个 字节代表8个位变量,如:MB4包括(M4.0、 M4.1、 M4.2、 M4.3、 M4.4、 M4.5、 M4.6、 M4.7)。
字型:WORD,由相邻的2个字节组成1个字,如MW1是由MB1和MB2组成,一共16 个位bit,其中最高位是M110.7,最低位是M111.0 ;还有PIW、PQW。
复杂数据类型: 时间(DATE_AND _TIME) 矩阵(ARRY) 结构(STRUCT) 字符串(STRING)
用户定义数据类型(长于32位):UDT
洛阳兴宏安装检修有限公司
数据类型
基本数据类型:
布尔型:BOOL,一个bit,值:0(false);1(true)。如I0.0;M10.0;Q4.0。
1100101=1×26+1×25+0×24+0×23+1×22+0×21+1×20 =64++32+0+0+4+0+1 =101
所以 101D=1100101B
洛阳兴宏安装检修有限公司
各个进制的定义及相互转换
十进制和八进制转换(采用余数分解定理, 即短除法)十进制数 98D
98÷8=12 余2 12÷8=1 余4
PLC算术运算和逻辑运算指令 - plc

PLC算术运算和逻辑运算指令 - plc 算术运算和逻辑运算指令加法指令ADD、减法指令SUB乘法指令MUL、除法指令DIV加1指令INC、减1指令DEC字逻辑运算指令(FNC26~FNC29)1、加法指令ADD、减法指令SUBADD指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。
每个数据的最高位作为符号位(0为正,1为负),运算是二进制代数运算。
减法指令SUB与ADD指令类似。
2、乘法指令MUL、除法指令DIVMUL指令是将两个源元件中的数据的乘积送到指定目标元件。
如果为16位数乘法,则乘积为32位,果为32位数乘法,则乘积为64位,如图5.25所示。
数据的最高位是符号位。
3、加1指令INC、减1指令DECINC、DEC指令操作数只有一个,且不影响零标志、借位标志和进位标志。
在16位运算中,32767再加1就变成了-32768。
32位运算时,2147483647再加1就变成-2147483648。
DEC指令与INC指令处理方法类似。
4、字逻辑运算指令(FNC26~FNC29字逻辑运算指令包括WAND(字逻辑与)、WOR(字逻辑或)、WXOR (字逻辑异或)和NEG(求补)指令。
使用方法如图所示。
案例一:假设有一汽车停车场,最大容量只能停车50辆,为了表示停车场是否有空位,试用plc来实现控制。
一、硬件的实现1、I/O分配表2、外部连线根据上述模块的学习,再依据图中的标示,同学们可以自己画出输入及输出端口的分配,在这不加深述。
二、软件的编程案例二:某控制程序中要进行以下算式的运算:38X/255+2 式中“ X ”代表输入端口 K2X0 送入的二进制数,运算结果需送输出口K2Y0 ; X020 为起停开关。
一、硬件的实现1、I/O的分配2、硬件连线根据上述模块的学习,再依据图中的标示,同学们可以自己画出输入及输出端口的分配,在这不加深述。
二、软件的实现。
一文搞懂PLC的进制转换

一文搞懂PLC的进制转换01什么是进位计数制数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。
按进位的原则进行计数的方法,称为进位计数制。
比如,在十进位计数制中,是按照“逢十进一”的原则进行计数的。
常用进位计数制:1、十进制(Decimal notation),有10个基数:0 ~~ 9 ,逢十进一;2、二进制(Binary notation),有2 个基数:0 ~~ 1 ,逢二进一;3、八进制(Octal notation),有8个基数:0 ~~ 7 ,逢八进一;4、十六进制数(Hexdecimal notation),有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一。
02进位计数制的基数与位权"基数"和"位权"是进位计数制的两个要素。
1、基数:所谓基数,就是进位计数制的每位数上可能有的数码的个数。
例如,十进制数每位上的数码,有"0"、"1"、"3",…,"9"十个数码,所以基数为10。
2、位权:所谓位权,是指一个数值的每一位上的数字的权值的大小。
例如十进制数4567从低位到高位的位权分别为100、101、102、103。
因为:4567=4x103+5x 102+6x 101 +7x1003、数的位权表示:任何一种数制的数都可以表示成按位权展开的多项式之和。
比如:十进制数的435.05可表示为:435.05=4x102+3x 101+5x100+0x10-1 +5x 10-2位权表示法的特点是:每一项=某位上的数字X基数的若干幂次;而幂次的大小由该数字所在的位置决定。
03二进制数计算机中为何采用二进制:二进制运算简单、电路简单可靠、逻辑性强。
1、定义:按“逢二进一”的原则进行计数,称为二进制数,即每位上计满2 时向高位进一。
PLC转换指令

SIMATIC S7
工业网路控制实训中心
Date: File:
2020/2/10 PLC-课件
SITRAIN Training for
Automation and Drives
DI_REAL(双整数转换为浮点数指令) 可以将输入参数IN 的内容 以双整数读出,并将它转换为一个浮点数。其结果可以由参数OUT 输 出。ENO 和EN 总是具有相同的信号状态。
Automation and Drives
SIMATIC S7
工业网路控制实训中心
Date: File:
2020/2/10 PLC-课件
SITRAIN Training for
Automation and Drives
Automation and Drives
7.4 BCD_DI BCD 码转换为双整数 符号:
BCD_DI (BCD 码转换为双整数指令)可以将输入参数 IN 的内容以七位数BCD 代码(+/-9999999)读入,并将它转 换成双整数(32 位)。其双整数结果可以由参数OUT 输出。 ENO和EN 总是具有相同的信号状态。
如果 I0.0 为“1”,则 MD8 的内容作为双整数读取,并转 换成一个浮点数。其结果保存在MD12 中。如果不执行转换 ENO = EN = 0),则输出 Q4.0 为“1”
SIMATIC S7
工业网路控制实训中心
Date: File:
2020/2/10 PLC-课件
SITRAIN Training for
SIMATIC S7
工业网路控制实训中心
Date: File:
2020/2/10 PLC-课件
SITRAIN Training for
PLC中数值制式转换的原理及编程

PLC中数值制式转换的原理及编程在PLC编程中,对于一个整数,它的二进制或16进制或10进制的数值形式会自动转换,不需人为干预。
可是将一个整数转换为BCD码或转换为AICII码,就不能自动转换,有的PLC有这样的转换指令,如S7-200,我们需要时,直接调用对应的转换指令就可以了。
可是有的PLC没有这方面的转换指令,如需要这种数值制式转换,就得自己编写转换程序。
要想编出转换程序,应必须先了解要转换的这二种数值制式之间的数学关系,只有了解了才能编出合理的转换程序。
下面我们分别介绍几种数制转换的依据及编程。
一、16进制数转换为BCD码的数学依据及编程:BCD码是以4位二进制数表示一位十进制数的一种数制形式,它源于电子线路的计数器,该计数器是由4位二进制计数器组成,4位二进制计数器共有16种输出状态:0000、0001、0010、0011……1111,由高位向低位各位权依次代表为8、4、2、1,这4位数之和表示一位16进制数或一位10进制数。
用这16种状态表示一个数的称之为二进制(或称16进制)计数器,只用这16种状态的前10种状态表示一个数的计数器,称之为10进制计数器,这十进制编码为0000、0001、0010……1000、1001,这种每4位二进制数代表一位10进制数的编码称之为8421码,即BCD码。
个位上的4位有效数(1)分别代表10进制数的8、4、2、1,十位上的4位有效数(1)分别代表10进制数的80、40、20、10,百位上的4位有效数(1)分别代表10进制数的800、400、200、100,千位上的4位有效数(1)分别代表10进制数的8000、4000、2000、1000……一个字存储器有16个位,可记录4位BCD码,一个字记录最大的BCD码为9999。
即:1001_1001_1001_1001。
了解了这些就可以进行将整数转换为BCD码,或将BCD码转换为整数的编程:(一)整数转换为BCD码编程在PLC里,整数通常是以16进制(即2进制)数的形式存放在存储器内,将整数转换为BCD码编程思路是这样:将原整数存放在M1存储器里,M2为BCD码存放区,先将M2清0,如最大整数<10000,则M2选用一个字存储器就够,计算过程是:先判断M1是否大于10进数8000(转换16进制数为1F40),如大于,用M1值- 1F40,将差-->M1,M2加1 ,如小于,不作减8000运算,接着将M2左移一位,再判断M1是否大于10进数4000(转算16进制数为0FA0),如大于,用M1值- FA0,将差-->M1,M2加 1 如小于,不作减运算,接着将M2 左移一位.....接着按同样判断处理过程,判断2000、1000、800、400、200、100、80、40、20、10,判断完10后,将M2左移4位,再将M1或到M2中,此时的M2即为转换BCD码数。
PLC中数制与数据类型介绍

PLC中数制与数据类型介绍描述:大家好!我们在编写PLC程序的时候我们经常用到位元件,字元件等等和一些数据类型,所以弄明白PLC中里面位元件、字元件和数据类型的规律,才能编好数据运算方面的程序等等,现把这方面概念性的知识分享给大家。
一:数制1)二进制数的1位(bit)只能取0和1这两个不同的值,可以用来表示开关量(或称数字量)的两种不同的状态,例如PLC里面的触点断开和接通、线圈的通电和断电等等,如果该位为"1",则表示梯形图中对应的位编程元件的线圈'通电',其常开接通,常闭断开。
如果该位为"0"。
在逻辑中1(TRUE)表示为真,0(FALSE)表示为假.二进制的特点:每一位有2个数码,即0和1。
由低位向高位的进位原则是"逢二进一"。
2)计算机和PLC用多位二进制数来表示数字,二进制数逢二进一的规则,从右往左的第n位(最低位为0位)的权值2n.如图下给出不同进制数的表示方法。
3)十六进制数每个十六进制数对应与4位二进制数,十六进制数的16个数字是0-9和A-F(对应十进制数10-15),在数字后面加"H"可以表示十六进制。
二:数据类型数据类型是用来描述数据长度(即二进制的位数)属性,不同的任务场合用不同长度的数据对象,例如位逻辑指令用位数据,传送指令用字节、字、双字。
字节、字和双字分别由8位、16位和32位二进制组成。
基本数据类型1) 首先先了解一下PLC中得位数据,前面已经说过位有两个状态"1"和"0",1代表开,0代表关。
用于PLC中X、Y、M、Z处理关/开信号的软元件称之为位软元件。
2) 字元件,字有单字和双字,单字是有16个位组成,双字有32个位组成,对用PLC中得T、C、D、R处理数值的信号的软元件称之为字元件。
3) 位元件的组合也能处理数值,通过Kn和其始软元件的组合来表示,比如在PLC中经常用到K1M0,K1M0表示占用M0-M3四个位软件进行运算。
PLC数据类型及转换.

•布尔型(0或1) •整数型 •实数型 •字符串
为实现信息的获 取和转换,就有 了各种数据类型 转换指令
职业教育机电一体化专业教学资源库
S7-200支持的数据类型
职业教育机电一体化专业教学资源库
二、S7-200PLC的 数据转换指令
职业教育机电一体化专业教学资源库
二、S7-200PLC的数据转换指令
❖ 使能输入有效时,将双整数输入数据IN转换成整数类型并将结果送 到OUT输出。
❖ 梯形图:
语句表:DTI IN, OUT
❖ 例子:
职业教育机电一体化专业教学资源库
双整数转换为实数
双整数到实数的转换:
❖ 使能输入有效时,将32位有符号的双整数输入数据IN转换成32位的 实数,并将结果送到OUT输出。
❖ 梯形图:
语句表:SEG IN, OUT
❖ 例子:
职业教育机电一体化专业教学资源库
七段显示码的编码规则(共阴极)
16#6
16#D
职业教育机电一体化专业教学资源库
BCD码与整数相互转换 ASCII码与16进制数相互转换
职业教育机电一体化专业教学资源库
编码/译码指令
取整指令
❖使能输入有效时,将输入的实数IN转换成双整数的值,并将结果
PLCS与ub数t码itl管e 接线图
Su程b 序tit实le现
七段码指令: SEG
职业教育机电一体化专业教学资源库
三、应用练习——英寸到厘米的转换
实现“英寸×2.54=厘米”的转换 将C10中的整数值英寸→双整数英寸 →实数英寸→实数厘米→整数厘米
职业教育机电一体化专业教学资源库
四、小 结
职业教育机电一体化专业教学资源库
PLC进制与编码

∙前言∙因为电路状态只有“开”和“关”两种状态,为了在电路中进行数字计算,所以在计算机(电路)中使用了二进制计数系统,该系统只使用0和1。
∙在存储器中,也是使用二进制的计数系统。
∙二进制是以2为基的数制。
在二进制系统中,用于表示高和低的两个逻辑电平分别是逻辑1和逻辑0。
∙在数字电路中,电平表示位(bit)。
∙由于二进制用于所有的数学系统,所以就需要有一种方式将我们常用的十进制转化为二进制。
另外,为了将数字电路输出的二进制转化为人们可使用的十进制形式,还需要一种将二进制转化为十进制的方法。
∙前言∙本章节就简单讲述以下内容:– PLC中常用的数制;–数制之间的相互转化方式;–各种数制在PLC中的存储方式。
∙数制∙在PLC中,常用的数制有以下几种:–十进制–二进制–八进制–十六进制– BCD码– BIN码–格雷码(不做讲解)– 7段码(不做讲解)∙下面分别讲述这几种编码的表述形式与转化方式∙十进制回顾一∙十进制是一个位权计数系统;所谓位权计数系统,意思就是每一个数字所在的位置都有一个特定的权(值)。
∙例如:数字5根据小数点的不同位置代表不同的值。
数字0.5,5,500都包含一个5,但是每个5的位置不同,所以这几个数大小就不一样。
∙在十进制中,使用0,1,2,3,4,5,6,7,8,9十个基本符号,每个符号称为一个数位。
∙例如:60328.4的计算方法:6x104+ 0x103 + 3x102 + 2x101 + 8x100 + 4x10-1∙十进制计数系统回顾二∙在本例中将每个位置的权值相加,用来确定十进制的值。
∙6x104+ 0x103 + 3x102 + 2x101 + 8x100. + 4x10-1=60328.4∙需要注意的是,本例中0没有值,但是对于位权而言,还需要0作为一个占位符。
∙在上面的讲述中,由于大家都已经习惯于使用十进制思考,所以这样处理就显得毫无必要,但是对于下面要讲到的数制来说,该处理过程就非常有必要了。
PLC中常用数制及各进制的转换方法

PLC中常用数制及各进制的转换方法数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。
任何一个数制都包含两个基本要素:基数和位权。
基数:数制所使用数码的个数。
例如,二进制的基数为2;十进制的基数为10。
位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。
例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。
二进制中的 1011 ,左起第一个1的位权是8,0的位权是4,第二个1的位权是2,第三个1的位权是1。
PLC中常用的数制有:十进制、二进制、十六进制、八进制等。
此外还有BCD码和ASCII码也偶尔会使用。
十进制(Decimal notation):如1234=1*103+2*102+3*101+4*100,逢十进一,基数为10,单个数是0-9,每位的系数乘于基数(10)的N次方,N为其所处的位数。
二进制(Binary notation):如1101=1*23+1*22+0*21+1*20=13,逢二进一,基数为2,单个数只有0和1, 每位的系数乘于基数(10)的N次方,N为其所处的位数。
从第3位至0分别为8,4,2,1,所以二进制也成8421码。
如果表示有符号数,则用最高位表示符号,0为正数1为负数。
正数以二进制原码表示;负数则以补码存储,即将原码逐位取反再加1。
十六进制(Hexdecimal notation):逢16进1的进位制。
一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。
八进制(Octal notation):逢八进一,单个数有0-7,在PLC中常用于编址,数据运算应用较少。
BCD码(Binary-Coded Decimal):亦称二进码十进数或二十进制代码。
用4位二进制数来表示1位十进制数中的0~9这10个数码。
通常时钟采用BCD码存储。
ASCII(American Standard Code for Information Interchange:美国信息交换标准代码):是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。
PLC数据类型及转换.

四、小结
数据类型
布尔型 整数型 实数型 字符串
数据转换
字节数与整数的互换 整数与双字整数的互换 双字整数与实数的互换 BCD码与整数的互换 段码、译码、编码
职业教育机电一体化专业教学资源库
字节与字相互转换
转换数据类型 实现数据匹配 及数据显示
字与双字相互转换 双字与实数相互转换 BCD码与整数相互转换 ASCII码与16进制数之间的转换
七段显示译码指令
译码与编码指令
职业教育机电一体化专业教学资源库
字节型数据与字整数相互转换
ቤተ መጻሕፍቲ ባይዱ
字节型数据到字整数的转换:
❖ 使能输入有效时,将字节输入数据IN转换成整数类型,并将结 果送到OUT输出。
如何运用PLC实现抢答组台号的显示?
职业教育机电一体化专业教学资源库
三、应用练习——抢答器控制系统
数码S管ub共t阴itl/e共阳极原理图
职业教育机电一体化专业教学资源库
三、应用练习——抢答器控制系统
抢S答u器b的tiIt/l0e分配表
职业教育机电一体化专业教学资源库
三、应用练习——抢答器控制系统
❖ 梯形图:
语句表:DTR IN, OUT
❖ 例子:
职业教育机电一体化专业教学资源库
七段显示译码指令
七段码指令:
❖ 使能输入有效时,将字节型输入数据IN的低4位有效数字产生相应 的七段码,并将其输出到OUT所指定的字节单元。 OUT的最高位 恒为0,其余7位从高到低依次为七段码g、f、e、d、c、b、a。
PLCS与ub数t码itl管e 接线图
Su程b 序tit实le现
七段码指令: SEG
职业教育机电一体化专业教学资源库
艾默生plc的转换指令

艾默生plc的转换指令
艾默生PLC的转换指令是用来将一个数据类型转换为另一个
数据类型的指令。
常见的转换指令有以下几种:
1. COP指令:将一个数据块的内容复制到另外一个数据块中,并可以进行数据类型的转换。
2. MOVD指令:将一个数据块的内容移动到另外一个数据块中,并可以进行数据类型的转换。
3. CORD指令:将一个数据块中的某一位(比特)复制到另外一个数据块中的某一位,并可以进行数据类型的转换。
4. CV指令:将一个数据块中的内容转换为指定的数据类型。
这些转换指令可以帮助用户根据实际需求进行数据类型的转换,以适应不同的数据处理操作。
PLC进制与编码

∙前言∙因为电路状态只有“开”和“关”两种状态,为了在电路中进行数字计算,所以在计算机(电路)中使用了二进制计数系统,该系统只使用0和1。
∙在存储器中,也是使用二进制的计数系统。
∙二进制是以2为基的数制。
在二进制系统中,用于表示高和低的两个逻辑电平分别是逻辑1和逻辑0。
∙在数字电路中,电平表示位(bit)。
∙由于二进制用于所有的数学系统,所以就需要有一种方式将我们常用的十进制转化为二进制。
另外,为了将数字电路输出的二进制转化为人们可使用的十进制形式,还需要一种将二进制转化为十进制的方法。
∙前言∙本章节就简单讲述以下内容:–PLC中常用的数制;–数制之间的相互转化方式;–各种数制在PLC中的存储方式。
∙数制∙在PLC中,常用的数制有以下几种:–十进制–二进制–八进制–十六进制–BCD码–BIN码–格雷码(不做讲解)–7段码(不做讲解)∙下面分别讲述这几种编码的表述形式与转化方式∙十进制回顾一∙十进制是一个位权计数系统;所谓位权计数系统,意思就是每一个数字所在的位置都有一个特定的权(值)。
∙例如:数字5根据小数点的不同位置代表不同的值。
数字0.5,5,500都包含一个5,但是每个5的位置不同,所以这几个数大小就不一样。
∙在十进制中,使用0,1,2,3,4,5,6,7,8,9十个基本符号,每个符号称为一个数位。
∙例如:60328.4的计算方法:6x104+ 0x103 + 3x102 + 2x101 + 8x100 + 4x10-1∙十进制计数系统回顾二∙在本例中将每个位置的权值相加,用来确定十进制的值。
∙6x104+ 0x103 + 3x102 + 2x101 + 8x100. + 4x10-1=60328.4∙需要注意的是,本例中0没有值,但是对于位权而言,还需要0作为一个占位符。
∙在上面的讲述中,由于大家都已经习惯于使用十进制思考,所以这样处理就显得毫无必要,但是对于下面要讲到的数制来说,该处理过程就非常有必要了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、什么是进位计数制
数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。
按进位的原则进行计数的方法,称为进位计数制。
比如,在十进位计数制中,是按照“逢十进一”的原则进行计数的。
常用进位计数制:
1、十进制(Decimal notation) ,有10 个基数:0 ~~ 9 ,逢十进一;
2、二进制(Binary notation) ,有2 个基数:0 ~~ 1 ,逢二进一;
3、八进制(Octal notation) ,有8 个基数:0 ~~ 7 ,逢八进一;
4、十六进制数(Hexdecimal notation) ,有16 个基数:0 ~~ 9 ,A ,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一。
二、进位计数制的基数与位权
"基数"和"位权"是进位计数制的两个要素。
1、基数:
所谓基数,就是进位计数制的每位数上可能有的数码的个数。
例如,十进制数每
位上的数码,有"0" 、"1" 、"3", ⋯,"9" 十个数码,所以基数为10。
2、位权:
所谓位权,是指一个数值的每一位上的数字的权值的大小。
例如十进制数4567
从低位到高位的位权分别为100 、101、102、103 。
因为:
4567 =4x103 +5x 102 +6x 101 +7x100
3、数的位权表示:任何一种数制的数都可以表示成按位权展开的多项式之和。
比如:十进制数的435 .05 可表示为:
435 .05 =4x102 +3x 101 +5x100 +0x10 -1 +5x 10-2
位权表示法的特点是:每一项=某位上的数字X 基数的若干幂次;而幂次的大小由该数字所在的位置决定
三、二进制数
计算机中为何采用二进制:二进制运算简单、电路简单可靠、逻辑性强。
1、定义:
按“逢二进一”的原则进行计数,称为二进制数,即每位上计满2 时向高位进一。
2、特点:
每个数的数位上只能是0,1两个数字;二进制数中最大数字是1,最小数字是0;基数为2;比如:10011010 与00101011 是两个二进制数。
3、二进制数的位权表示:
(1101.101)2 =1x23+1x 22 +0x 21 +1x 20 +1x2 -1 +0x 2-2+1x2-3 4、二进制数的运算规则:
加法运算
① 0+0 =0 ③ 1 +1=10
② 0+1 =1+0 =1
乘法运算
① 0×0 =0 ③ 1×1=1
② 0×1=1×0 =0
四、八进制数
1、定义:
按“逢八进一”的原则进行计数,称为八进制数,即每位上计满8 时向高位进一2、特点:
每个数的数位上只能是0、1、2、3、4、5、6、7 八个数字;八进制数中最大数字是7,最小数字是0;基数为8 ;
比如:(1347)8 与(62435)8 是两个八进制数。
3、八进制数的位权表示:
(107.13)8=1x 82 +0x 81+7x 80+1x8-1 +3x 8-2
五、十六进制数
1、定义:
按“逢十六进一”的原则进行计数,称为十六进制数,即每位上计满16 时向高位进一。
2、特点:
每个数的数位上只能是0、1、2、3、4、5、6 、7、8 、9、A、B、C、D 、E、F 十六个数码;十六进制数中最大数字是F,即15 ,最小数字是0;基数为16 ;比如:(109)16 与
(2FDE)16 是两个十六进制数。
3、十六进制数的位权表示:
(109 .13)16 =1x 162 +0x161 +9x 160+1x16-1 +3x 16-2
(2FDE)16 =2x 163 +15x 162 +13x 161 +14x 160
六、常用计数制间的对应关系二进制数、八进制数、十六进制数及十进制数是现代数字系统中常用的四种数制,这几种进位制计数制之间的对应关系如表1 所列。
表1 常用计数制数的表示方法
七、数制间的转换
1、十进制数转换成非十进制数
(1)十进制整数转换成非十进制整数
①为什么要进行数制间的转换?
将数由一种数制转换成另一种数制称为数制间的转换
因为日常生活中经常使用的是十进制数,而在计算机中采用的是二进制数。
所以
在使用计算机时就必须把输入的十进制数换算成计算机所能够接受的二进制数计算机在运行结束
后,再把二进制数换算成人们所习惯的十进制数输出。
这两个换算过程完全由计算机自动完成。
②转换方法
十进制整数化为非十进制整数采用“余数法”,即除基数取余数。
把十进制整数逐次用任意十制数的基数去除,一直到商是0 为止,然后将所得到的余数由下而上排列即可。
②十进制小数转换成非十进制小数转换方法十进制小数转换成非十进制小数采用“进位法”,即乘基数取整数。
把十进制小数不断的用其它进制的基数去乘,直到小数的当前值等于0 或满足所
要求的精度为止,最后所得到的积的整数部分由上而下排列即为所求。
2、非十进制数转换成十进制数
非十进制数转换成十制数采用“位权法”,即把各非十进制数按位权展开,然后求和。
3、二、八、十进制数之间转换
(1)二进制数与八进制数之间的转换转换方法①把二进制数转换为八进制数时,按“三位并一位”的方法进行。
以小数点为界,将整数部分从右向左每三位一组,最高位不足三位时,添0 补足三位;小数部分从左向右,每三位一组,最低有效位不足三位时,添0 补足三位。
然后,将各组的三位二进制数按权展开后相加,得到一位八进制数。
②将八进制数转换成二进数时,采用“一位拆三位”的方法进行。
即把八进制数每位上的数用相应的三位二进制数表示。
③二进制数与十六进制数之间的转换转换方法a、把二进制数转换为十六进制数时,按“四位并一位”的方法进行。
以小数点为界,将整数部分从右向左每四位一组,最高位不足四位时,添0 补足四位;小数部分从左向右,每四位一组最低有效位不足四位时,添0 补足四位。
然后,将各组的四位二进制数按权展开后相加,得到一位十六进制数。
b、将十六进制数转换成二进数时,采用“一位拆四位”的方法进行。
即把十六进制数每位上的数用相应的四位二进制数表示。