整数 |
总体来说西门子PLC中的数据本质上都是二进数,所谓整数其实就是用多位二进数来表达数据,整数分为有符号整数和无符号整数,有符号整数的二进数最高为符号位,最高位为“1”时表示的是负数,最高位为“0”时表示的正数,在PLC中,负数是正数的二进制取反再加1。
下面分别说明不同长度的整数
SINT(8 位整数) |
说明
数据类型 SINT (Short INT) 的操作数长度为 8 位,由以下两部分组成:一部分是符号,另一部分是数值。位 0 到 6 的信号状态表示数值。位 7 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。
数据类型 SINT 的操作数在存储器中占用 1 BYTE。
下表列出了数据类型 SINT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
8 | 有符号整数(十进制系统) | -128 到 +127 |
使用类型 SINT# 时,值范围可扩大为 SINT#255 的最大范围。该值将解释为一个整数值减 1。 |
二进制数(仅正数) | 2#0 到 2#0111_1111 |
| |
八进制数(仅正数) | 8#0 到 8#177 |
| |
十六进制数(仅正数) | 16#0 到 16#7F |
使用类型 SINT# 时,值范围可扩大为 SINT#16#FF 的最大范围。该值将解释为一个整数值减 1。 |
示例
下图将整数 +44 显示为二进制数:
USINT(8 位整数) |
说明
数据类型 USINT (Unsigned Short INT) 的操作数长度为 8 位,包括无符号数值:
数据类型 USINT 的操作数在存储器中占用 1 BYTE。
下表列出了数据类型 USINT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
8 | 无符号整数(十进制系统) | 0 到 255 |
|
二进制数 | 2#0 到 2#1111_1111 |
| |
八进制数 | 8#0 到 8#377 |
| |
十六进制数 | 16#0 到 16#FF |
|
示例
下图将整数 78 显示为二进制数:
INT(16 位整数) |
说明
数据类型 INT 的操作数长度为 16 位,并由两部分组成:一部分是符号,另一部分是数值。位 0 到 14 的信号状态表示数值。位 15 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。
数据类型 INT 的操作数在存储器中占用 2 BYTE。
下表列出了数据类型 INT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
16 | 有符号整数(十进制系统) | -32_768 到 +32_767 |
|
二进制数(仅正数) | 2#0 到 2#0111_1111_1111_1111 |
| |
八进制数(仅正数) | 8#0 到 8#7_7777 |
| |
十六进制数(仅正数) | 16#0 到 16#7FFF |
|
示例
下图将整数 +3785 显示为二进制数:
UINT(16 位整数) |
说明
数据类型 UINT (Unsigned INT) 的操作数长度为 16 位,包括无符号数值。
数据类型 UINT 的操作数在存储器中占用 2 BYTE。
下表列出了数据类型 UINT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
16 | 无符号整数(十进制系统) | 0 到 65_535 |
|
二进制数 | 2#0 到 2#1111_1111_1111_1111 |
| |
八进制数 | 8#0 到 8#17_7777 |
| |
十六进制数 | 16#0 到 16#FFFF |
|
示例
下图将整数 65295 显示为二进制数:
DINT(32 位整数) |
说明
数据类型 DINT (Double INT) 的操作数长度为 32 位,并由两部分组成:一部分是符号,另一部分是数值。位 0 到 30 的信号状态表示数值。位 31 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。
数据类型 DINT 的操作数在存储器中占用 4 BYTE。
下表列出了数据类型 DINT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
32 | 有符号整数(十进制系统) | -2_147_483_648 到 +2_147_483_647 |
|
二进制数(仅正数) | 2#0 到 2#0111_1111_1111_1111_1111_1111_1111_1111 |
| |
八进制数(仅正数) | 8#0 到 8#177_7777_7777 |
| |
十六进制数 | 16#0 到 16#7FFF_FFFF |
|
示例
下图将整数 +125790 显示为二进制数:
UDINT(32 位整数) |
说明
数据类型 UDINT (Unsigned Double INT) 的操作数长度为 32 位,包括无符号数值。
数据类型 UDINT 的操作数在存储器中占用 4 BYTE。
下表列出了数据类型 UDINT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
32 | 无符号整数(十进制系统) | 0 到 4_294_967_295 |
|
二进制数 | 2#0 到 2#1111_1111_1111_1111_1111_1111_1111_1111 |
| |
八进制数 | 8#0 到 8#377_7777_7777 |
| |
十六进制数 | 16#0 到 16#FFFF_FFFF |
|
示例
下图将整数 4042322160 显示为二进制数:
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 |
|
二进制数(仅正数) | 2#0 到 2#0111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111 |
| |
八进制数(仅正数) | 8#0 到 8#7_7777_7777_7777_7777_7777 |
| |
十六进制数(仅正数) | 16#0 到 16#7FFF_FFFF_FFFF_FFFF |
|
示例
下图将整数 +154325790816159 显示为二进制数:
ULINT(64 位整数) |
说明
数据类型 ULINT (Unsigned Long INT) 的操作数长度为 64 位,包括无符号数值。
数据类型 ULINT 的操作数在存储器中占用 8 BYTE。
下表列出了数据类型 ULINT 的属性:
长度(位) | 格式 | 取值范围 | 输入值示例 |
64 | 无符号整数(十进制系统) | 0 到 18_446_744_073_709_551_615 |
|
二进制数 | 2#0 到 2#1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111_1111 |
| |
八进制数 | 8#0 到 8#17_7777_7777_7777_7777_7777 |
| |
十六进制数 | 16#0 到 16#FFFF_FFFF_FFFF_FFFF |
|
示例
下图将整数 154325790816159 显示为二进制数: