>PLC编程中涉及数学运算,肯定就涉及到各种类型的数据处理。这里我们常用的有整型和浮点型数据。而PLC中进行数据存储使用的都是D寄存器(数据寄存器),我们可以将数据寄存到D寄存器中,进行加减乘除的运算。D寄存器暂时保存着我们需要使用的数据。关于D数据寄存器,在我们后面的教程中将为大家详细介绍。。。大家现在记着D寄存器就是存放数据用的
一个D寄存器,占16个二进制位,也就是1个D元件是16位数据的。(这个非常重要) 整型数据整型数据就是我们常说的整数,这些都是我们小学学的东西 整型数据在PLC中有16位整型数据,和32位整型数据(当然还有更大位数的,不过我们小型PLC一般32位就够用了)。都是整型数据,表示数值大小范围不同罢了。 16位数据占1个D寄存器,32位数据占2个D寄存器。【极课工控】小型PLC系列教程之2.2数值存储与二进制..【点击原文,可打开链接】这篇文章中,较为详细的为大家介绍了二进制,16位整型数据和32位整型数据的知识点。 16位也好,32位也罢。这里说的“位”指的都是“bit位”或者说“二进制位”。 16位整型数据(占1个D元件)16位无符号型整数范围:0-(2^16-1) 也就是0到65535.。。。(估计很多人经常听说65535吧,现在知道咋来的了吧……) 16位有符号整数范围:-2^15 到 2^15 - 1 也就是 -32768到32767.。。负数,用二进制表示的时候最高位是符号位,另外还有一个0. 所以我们常说16位能表示总共有2^16也就是65536个数。 在汇川技术小型PLC,H123U/H123S/H5U中,16位数据均为有符号类型,数值范围(-2^15到2^15-1,,也就是-32768到32767),注意使用的时候不要超过数值范围(超过范围俗称-溢出)。 16位整型数据对应的加减乘除指令分别为: 指令 | 介绍 |
---|
MOV | 16位整型赋值指令 | ADD | 16位整型加法指令 | SUB | 16位整型减法指令 | MUL | 16位整型乘法指令 | DIV | 16位整型除法指令 |
后面我们再详细讲这些指令的用法,大家先有个印象…… 32位整型数据(占2个D元件)32位整型数据也可以分为有符号和无符号数据,无符号整型数据范围:0-(2^32-1),有符号数据-2^31 到 2^31-1.在汇川技术小型PLC中32位数据均为有符号数据,范围是-2^31 到 2^31-1.。使用时注意不要超范围 指令 | 介绍 |
---|
DMOV | 32位整型赋值指令 | DADD | 32位整型加法指令 | DSUB | 32位整型减法指令 | DMUL | 32位整型乘法指令 | DDIV | 32位整型除法指令 |
在16位整型指令的前面 加了一个“D”后面我们再详细讲这些指令的用法,大家先有个印象…… 32位浮点数(占2个D元件)32位浮点型数据,也是使用2个连在一起的D寄存器进行数据存储的。 关于浮点型深入知识请点击:【极光课堂】浮点数在内存中的存储方式【点击原文,可打开链接】 指令 | 介绍 |
---|
DEMOV | 16位整型赋值指令 | DEADD | 16位整型加法指令 | DESUB | 16位整型减法指令 | DEMUL | 16位整型乘法指令 | DEDIV | 16位整型除法指令 |
在16位整型指令前面加了“DE”,后面我们再详细讲这些指令的用法,大家先有个印象…… BOOL类型(布尔量)位变量又称为BOOL量,这个不是为什么的问题,而是是什么的问题。BOOL量只有0或1两种状态,0代表False,1代表True。实际可以理解为开关量,当开关按下,当前BOOL量导通。在梯形图中 M元件,X,Y元件都是位元件都是BOOL类型 到底选什么类型PLC编程的时候,一定要分清楚各个数据的数据类型和存储范围,不然的话很容易出现计算错误的。具体选哪种数据类型,要根据自己实际的项目情况而定。 举个例子:假如已知一个圆半径是10.5mm,求圆的周长和面积。。这里如果用整型那么精度将很差(3.1415926会直接舍去小数点变成 3,10.5变成10)所以对于这个项目背景:我们要选用浮点型数据。 选16位整型还是32位整型,我的个人建议是 除非特殊情况一律使用32位整型数据作为项目数据运算。。如果程序里16位32位整型数据各种用的话,如果没处理好很容易导致数据溢出bug 我建议,没特殊情况一律使用32位整型数据,占2个D元件 特殊情况指的是:如伺服功能码的读写,有的功能码就占1个D元件(16位数据),那你在程序中读写的时候,也就只能用1个D元件也就是16位整型来进行读写……
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |