[汇川] 小型PLC系列教程之2.4梯形图编程数据类型介绍

[复制链接]
查看54 | 回复0 | 昨天 07:24 | 显示全部楼层 |阅读模式
>

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位整型数据对应的加减乘除指令分别为:

指令介绍
MOV16位整型赋值指令
ADD16位整型加法指令
SUB16位整型减法指令
MUL16位整型乘法指令
DIV16位整型除法指令

后面我们再详细讲这些指令的用法,大家先有个印象……

32位整型数据(占2个D元件)

32位整型数据也可以分为有符号和无符号数据,无符号整型数据范围:0-(2^32-1),有符号数据-2^31 到 2^31-1.在汇川技术小型PLC中32位数据均为有符号数据,范围是-2^31 到 2^31-1.。使用时注意不要超范围

指令介绍
DMOV32位整型赋值指令
DADD32位整型加法指令
DSUB32位整型减法指令
DMUL32位整型乘法指令
DDIV32位整型除法指令

在16位整型指令的前面 加了一个“D”后面我们再详细讲这些指令的用法,大家先有个印象……

32位浮点数(占2个D元件)

32位浮点型数据,也是使用2个连在一起的D寄存器进行数据存储的。

关于浮点型深入知识请点击:【极光课堂】浮点数在内存中的存储方式【点击原文,可打开链接

指令介绍
DEMOV16位整型赋值指令
DEADD16位整型加法指令
DESUB16位整型减法指令
DEMUL16位整型乘法指令
DEDIV16位整型除法指令

在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位整型来进行读写……


点击“阅读原文”,查看课程详情~



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则