基于CODESYS打造树莓派工业控制器(4)——ST语言编程的基础..
数据类型是编程的基础,这部分知识虽然看似简单,但要完整详细地说出来也不是一件容易的事。今天这篇文章我们来介绍CODESYS编程环境下的数值型数据类型,包括如下几个主题:逻辑数据类型;
整数数据类型;
浮点数数据类型;
子范围类型; 数值型数据类型用来表示一个数值,这个数值可以是一个整数、浮点数或者用于逻辑运算的类型,下面详细介绍下。
1、逻辑数据类型
逻辑数据类型,也被称为二进制数据类型,它是用于数值的逻辑操作,比如逻辑与、逻辑或、逻辑非等等。逻辑型数据类型包括如下几种:
布尔型(BOOL);
字节型(BYTE);
字型(WORD);
双字型(DWORD);
长字型(LWORD);
各数据类型的数值范围及占用存储区的数量如表1所示:
表1——逻辑型数据
名称 数值下限 数值上限 占用内存 命名前缀
BOOL 0 1 8 位(bits) x
BYTE 0 255 8 位(bits) by
WORD 0 65535 16 位(bits) w
DWORD 0 4294967295 32 位(bits) dw
LWORD 0 264-1 64 位(bits) lw
说明:布尔型(BOOL)变量有两种取值:TRUE(1)和FALSE(0),但是它占用8位的存储区。虽然逻辑型数据类型也可以进行加减等数学运算,但是不建议这样做;
2、整数数据类型
整数型数据类型用来表达不同的整数,包括如下几种:
短整数(SINT);
无符号短整数(USINT);
整数(INT);
无符号整数(UINT);
双整数(DINT);
无符号双整数(UDINT);
长整数(LINT);
无符号长整数(ULINT);
各数据类型的数值范围及占用存储区的数量如表2所示:
表2——整数型数据
名称 数值下限 数值上限 占用内存 命名前缀
SINT -128 127 8位(bits) si
USINT 0 255 8位(bits) usi
INT -32767 32767 16位(bits) i
UINT 0 65535 16位(bits) ui
DINT -2147483648 2147483647 32位(bits) di
UDINT 0 4294967295 32位(bits) udi
LINT -263-1 263-1 64位(bits) li
ULINT 0 264-1 64位(bits) uli
3、浮点型数据
浮点数,也就是小数,有两种数据类型:REAL和LREAL。它们取值范围及占用内存如表3所示:
表3——浮点型数据
名称 数值下限 数值上限 占用内存 命名前缀
REAL 1.0E-44 3.402823E+38 32 位(bits) r
LREAL 4.94065645841247E-324 1.7976931348623157E+308 64 位(bits) lr
4、子范围类型
子范围数据类型是为已有的数据类型定义子集。它的基本语法是:
:( .. );
这里的可以是:SINT, USINT, INT, UINT, DINT, UDINT, BYTE, WORD, DWORD, LINT, ULINT, LWORD;
举个例子:
整数的取值范围本来是-32768~32767,使用子范围类型可以在该范围内自定义。比如,定义一个取值范围0~100的整数变量iTemp如下图所示:
页:
[1]