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前应掌握的基础知识

各个进制的定义及相互转换
二进制整数转换为十六进制整数时,每四位二进制数字转换为一位 十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四 位用零补齐。如: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编程中,对于一个整数,它的二进制或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数据类型(1)

PLC 数据类型1、数据格式及要求①数据格式:及指数据的长度和表示方式②要求 S7-200 对数据的格式有一定的要求,指令与数据格式一致才干正常工作。
2、用一位二进制数表示开关量① 一位二进制数:一位二进制数有 0 (OFF)和 1 (ON) 两种不同的取值,分别对应开关量(或者数字量)的两种不同状态。
②位数据的数据类型:布尔(BOOL)型。
③ 位地址:由存储器标识符、字节地址和位号组成,如等。
④ 其他存储区的地址格式:由存储器标识符和起始字节号(普通取偶字节)组成,如 VB100、VW100、VD100 等。
3、多位二进制数(8421码)① 数及数制:数用于表示一个量具体大小。
根据计数方式的不同,有十进制(D)、二进制(B)十六进制(H)和八进制等不同的计数方式②二进制表示:在 S7-200 中用 2#来表示二进制常数,例如“2#”。
③二进制大小:将二进制的各位(从右往左第 n 位) 乘以对应的位权(×2n-1 ),并将结果累加求和可得其大小。
例如:2#=1 × 27+0 × 26+1 × 25+1 × 24+1 × 23+0 × 22+1 × 21+0 ×20=1864、十六进制数①十六进制数的引入:将二进制数从右往左每 4 位用一个十六进制数表示,可以实现对多位二进制数的准确读写。
②不同进制的表示方法 ;③ 十六进制数的表示方法:在 S7-200 中用 16#表示十六进制常数,例如“2#1010 1110 0111 0101”可转换为“16#AEF7”。
④ 十六进制大小:将十六进制数的各位(从右往左第n 位)乘以对应的位权(×16n-1 ),并将结果累加求和可得其大小。
例如:16#2F=2×161+15×160=475、数据长度:字节 (Byte)、字 (Word)、双字 (DoubleWord)①字节(B):从0号位开始的连续8位二进制数称为一个字节②字(W):相邻两个字节组成一个字的长度③双字(DW):相邻4个字节组成一个双字长度④字双字长数据的存储特点:高位存低字节、低位存高字节。
一文搞懂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数据类型及转换.

•布尔型(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转换指令

西门子PLC转换指令
转换指令是指对操作数的类型进行转换,包括数据的类型转换、码的类型
转换以及数据和码之间的类型转换。
一、数据类型转换(一)字节与整数
1、字节到整数
BTI,字节转换为整数指令。
使能输入有效时,将字节输入数据IN 转换成整
数类型,并将结果送到OUT 输出。
字节型是无符号的,所以没有符号扩展。
使能流输出ENO 断开的出错条件:SM4.3 (运行时间);0006 (间接寻址)。
指令格式:BTI IN, OUT
例:BTI VB0, AC0
2、整数到字节
ITB,整数转换字节指令。
使能输入有效时,将整数输入数据IN 转换成字节
类型,并将结果送到OUT 输出。
输入数据超出字节范围(0~255)则产生溢出。
移位指令影响的特殊存储器位:SM1.1(溢出)。
使能流输出ENO 断开的出错
条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。
指令格式:ITB IN, OUT
例:ITB AC0, VB10
(二)整数与双整数
1、双整数到整数
DTI,双整数转换为整数指令。
使能输入有效时,将双整数输入数据IN 转换
成整数类型,并将结果送到OUT 输出。
输入数据超出整数范围则产生溢出。
移位指令影响的特殊存储器位:SM1.1(溢出)。
使能流输出ENO 断开的出错。
1200plc 16进制转2进制

1200PLC 16进制转2进制1. 介绍1200PLC是西门子公司出品的一款工业控制器,被广泛应用于工业自动化领域。
在PLC编程中,16进制数值常常作为参数进行传递和运算。
了解如何将16进制数值转换为2进制数值对于PLC编程人员至关重要。
本文将介绍如何在1200PLC中进行16进制转2进制的操作。
2. 16进制与2进制的关系2进制是计算机中最基本的数制,由0和1组成。
16进制是一种数制,它使用0-9和A-F这16个字符来表示数字。
在计算机编程中,16进制常用于表示二进制数据的一部分,因为16进制比二进制更加简洁和易读。
需要了解16进制与2进制之间的转换关系。
3. 16进制转2进制的方法在1200PLC中,可以使用多种方法将16进制数值转换为2进制数值。
其中,最常用的方法是通过编程语言中的转换函数来实现。
4. 通过编程语言进行转换在1200PLC中,可以使用SET和SHL等指令来对16进制数值进行位移和逻辑运算,从而实现16进制到2进制的转换。
以下是一个简单的示例:SET V1 '16#FF'; // 将16进制数FF赋值给变量V1SHL V1 8; // 将V1中的数值左移8位// 此时V1的值为16进制数FF00,即2进制数xxx通过编程语言进行转换是一种简单、快速并且可靠的方法,同时也适用于大多数PLC编程环境。
5. 手动转换除了通过编程语言进行转换,还可以手动进行16进制到2进制的转换。
在这种方法中,需要将16进制数值逐位转换为4位的2进制数值,然后将这些2进制数值拼接起来。
以下是一个示例:16进制数3E转换为2进制数:3 -> 0011E -> 111016进制数3E转换为2进制数xxx。
手动转换方法虽然更加直观,但对于大型的16进制数值来说,工作量较大且容易出错。
6. 总结在1200PLC中,进行16进制到2进制的转换是一项常见的操作。
通过本文的介绍,我们了解了通过编程语言和手动方法来实现这一转换的技巧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC常用数制的解析及相互转换的方法
一、什么是进位计数制数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。
按进位的原则进行计数的方法,称为进位计数制。
比如,在十进位计数制中,是按照“逢十进一”的原则进行计数的。
常用进位计数制:
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基数的若干幂次;而幂次的大小由该数字所在的位置决定。