整数

总体来说西门子PLC中的数据本质上都是二进数,所谓整数其实就是用多位二进数来表达数据,整数分为有符号整数和无符号整数,有符号整数的二进数最高为符号位,最高位为“1”时表示的是负数,最高位为“0”时表示的正数,在PLC中,负数是正数的二进制取反再加1。

下面分别说明不同长度的整数

SINT(8 位整数)

说明

数据类型 SINT (Short INT) 的操作数长度为 8 位,由以下两部分组成:一部分是符号,另一部分是数值。位 0 到 6 的信号状态表示数值。位 7 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。

数据类型 SINT 的操作数在存储器中占用 1 BYTE。

下表列出了数据类型 SINT 的属性:

长度(位)

格式

取值范围

输入值示例

8

有符号整数(十进制系统)

-128 到 127

  • 44
  • SINT# 44
  • SINT#10# 44

使用类型 SINT# 时,值范围可扩大为 SINT#255 的最大范围。该值将解释为一个整数值减 1。

二进制数(仅正数)

2#0 到 2#0111_1111

  • 2#0010_1100
  • SINT#2#0010_1100
  • SINT#2#10

八进制数(仅正数)

8#0 到 8#177

  • 8#54
  • SINT#8#54

十六进制数(仅正数)

16#0 到 16#7F

  • 16#2C
  • SINT#16#2C

使用类型 SINT# 时,值范围可扩大为 SINT#16#FF 的最大范围。该值将解释为一个整数值减 1。

示例

下图将整数 44 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(1)

USINT(8 位整数)

说明

数据类型 USINT (Unsigned Short INT) 的操作数长度为 8 位,包括无符号数值:

数据类型 USINT 的操作数在存储器中占用 1 BYTE。

下表列出了数据类型 USINT 的属性:

长度(位)

格式

取值范围

输入值示例

8

无符号整数(十进制系统)

0 到 255

  • 78
  • USINT#78
  • USINT#10#78

二进制数

2#0 到 2#1111_1111

  • 2#0100_1110
  • USINT#2#0100_1110
  • USINT#2#10

八进制数

8#0 到 8#377

  • 8#116
  • USINT#8#116

十六进制数

16#0 到 16#FF

  • 16#4E
  • USINT#16#4E

示例

下图将整数 78 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(2)

INT(16 位整数)

说明

数据类型 INT 的操作数长度为 16 位,并由两部分组成:一部分是符号,另一部分是数值。位 0 到 14 的信号状态表示数值。位 15 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。

数据类型 INT 的操作数在存储器中占用 2 BYTE。

下表列出了数据类型 INT 的属性:

长度(位)

格式

取值范围

输入值示例

16

有符号整数(十进制系统)

-32_768 到 32_767

  • 3_785
  • INT# 3_785
  • INT#10# 3_785

二进制数(仅正数)

2#0 到 2#0111_1111_1111_1111

  • 2#0000_1110_1100_1001
  • INT#2#0000_1110_1100_1001
  • INT#2#10

八进制数(仅正数)

8#0 到 8#7_7777

  • 8#7311
  • INT#8#7311

十六进制数(仅正数)

16#0 到 16#7FFF

  • 16#0EC9
  • INT#16#0EC9

示例

下图将整数 3785 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(3)

UINT(16 位整数)

说明

数据类型 UINT (Unsigned INT) 的操作数长度为 16 位,包括无符号数值。

数据类型 UINT 的操作数在存储器中占用 2 BYTE。

下表列出了数据类型 UINT 的属性:

长度(位)

格式

取值范围

输入值示例

16

无符号整数(十进制系统)

0 到 65_535

  • 65_295
  • UINT#65_295
  • UINT#10#65_295

二进制数

2#0 到 2#1111_1111_1111_1111

  • 2#1111_1111_0000_1111
  • UINT#2#1111_1111_0000_1111
  • UINT#2#10

八进制数

8#0 到 8#17_7777

  • 8#17_7417
  • UINT#8#17_7417

十六进制数

16#0 到 16#FFFF

  • 16#FF0F
  • UINT#16#FF0F

示例

下图将整数 65295 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(4)

DINT(32 位整数)

说明

数据类型 DINT (Double INT) 的操作数长度为 32 位,并由两部分组成:一部分是符号,另一部分是数值。位 0 到 30 的信号状态表示数值。位 31 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。

数据类型 DINT 的操作数在存储器中占用 4 BYTE。

下表列出了数据类型 DINT 的属性:

长度(位)

格式

取值范围

输入值示例

32

有符号整数(十进制系统)

-2_147_483_648 到 2_147_483_647

  • 125_790
  • DINT# 125_790
  • DINT#10# 125_790
  • L#275

二进制数(仅正数)

2#0 到 2#0111_1111_1111_1111_1111_1111_1111_1111

  • 2#0000_0000_0000_0001_1110_1011_0101_1110
  • DINT#2#0000_0000_0000_0001_1110_1011_0101_1110
  • DINT#2#10

八进制数(仅正数)

8#0 到 8#177_7777_7777

  • 8#36_5536
  • DINT#8#36_5536

十六进制数

16#0 到 16#7FFF_FFFF

  • 16#0001_EB5E
  • DINT#16#0001_EB5E

示例

下图将整数 125790 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(5)

UDINT(32 位整数)

说明

数据类型 UDINT (Unsigned Double INT) 的操作数长度为 32 位,包括无符号数值。

数据类型 UDINT 的操作数在存储器中占用 4 BYTE。

下表列出了数据类型 UDINT 的属性:

长度(位)

格式

取值范围

输入值示例

32

无符号整数(十进制系统)

0 到 4_294_967_295

  • 4_042_322_160
  • UDINT#4_042_322_160
  • UDINT#10#4_042_322_160

二进制数

2#0 到 2#1111_1111_1111_1111_1111_1111_1111_1111

  • 2#1111_0000_1111_0000_1111_0000_1111_0000
  • UDINT#2#1111_0000_1111_0000_1111_0000_1111_0000
  • UDINT#2#10

八进制数

8#0 到 8#377_7777_7777

  • 8#360_7417_0360
  • UDINT#8#360_7417_0360

十六进制数

16#0 到 16#FFFF_FFFF

  • 16#F0F0_F0F0
  • UDINT#16#F0F0_F0F0

示例

下图将整数 4042322160 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(6)

LINT(64 位整数)

说明

数据类型 LINT (Long INT) 的操作数长度为 64 位,并由两部分组成:一部分是符号,另一部分是数值。位 0 到 62 的信号状态表示数值。位 63 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。

数据类型 LINT 的操作数在存储器中占用 8 BYTE。

下表列出了数据类型 LINT 的属性:

长度(位)

格式

取值范围

输入值示例

64

有符号整数(十进制系统)

-9_223_372_036_854_775_808 到 9_223_372_036_854_775_807

  • 154_325_790_816_159
  • LINT# 154_325_790_816_159
  • LINT#10# 154_325_790_816_159

二进制数(仅正数)

2#0 到 2#0111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111

  • 2#0000_0000_0000_0000_1000_1100_0101_1011_1100_0101_1111_0000_1111_0111_1001_1111
  • LINT#2#0000_0000_0000_0000_1000_1100_0101_1011_1100_0101_1111_0000_1111_0111_1001_1111
  • LINT#2#10

八进制数(仅正数)

8#0 到 8#7_7777_7777_7777_7777_7777

  • 8#4305_5705_7417_3637
  • LINT#8#4305_5705_7417_3637

十六进制数(仅正数)

16#0 到 16#7FFF_FFFF_FFFF_FFFF

  • 16#0000_8C5B_C5F0_F79F
  • LINT#16#0000_8C5B_C5F0_F79F

示例

下图将整数 154325790816159 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(7)

ULINT(64 位整数)

说明

数据类型 ULINT (Unsigned Long INT) 的操作数长度为 64 位,包括无符号数值。

数据类型 ULINT 的操作数在存储器中占用 8 BYTE。

下表列出了数据类型 ULINT 的属性:

长度(位)

格式

取值范围

输入值示例

64

无符号整数(十进制系统)

0 到 18_446_744_073_709_551_615

  • 154_325_790_816_159
  • ULINT#154_325_790_816_159
  • ULINT#10#154_325_790_816_159

二进制数

2#0 到 2#1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111

  • 2#0000_0000_0000_0000_1000_1100_0101_1011_1100_0101_1111_0000_1111_0111_1001_1111
  • ULINT#2#0000_0000_0000_0000_1000_1100_0101_1011_1100_0101_1111_0000_1111_0111_1001_1111
  • ULINT#2#10

八进制数

8#0 到 8#17_7777_7777_7777_7777_7777

  • 8#4305_5705_7417_3637
  • ULINT#8#4305_5705_7417_3637

十六进制数

16#0 到 16#FFFF_FFFF_FFFF_FFFF

  • 16#0000_8C5B_C5F0_F79F
  • ULINT#16#0000_8C5B_C5F0_F79F

示例

下图将整数 154325790816159 显示为二进制数:

西门子plc数据类型转换指令(西门子PLC数据类型)(8)

,