无心飞扬 发表于 2024-8-5 14:18:12

基于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]
查看完整版本: 基于CODESYS打造树莓派工业控制器(4)——ST语言编程的基础..