数据类型用错,程序跑飞?PLC常用数据类型看这篇就够了 点击:3 | 回复:0



USB210

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:481帖 | 122回
  • 年度积分:131
  • 历史总积分:2499
  • 注册:2009年8月05日
发表于:2026-06-26 17:15:26
楼主

PLC 的基本数据类型基于二进制位构建,是实现数据存储、逻辑控制与数值运算的核心载体。

根据功能定位与存储形式,PLC 常用基本数据类型可分为位序列数据类型、整数数据类型、浮点数据类型三大类,各类型有明确的存储规则、取值范围与应用场景。本文就以西门子 PLC 为例,为您详解三大类数据类型的定义、规则与应用差异,帮您建立PLC编程的基础。

不同数据类型的定义

位与位序列数据类型

位是 PLC最小的存储空间,位序列则是连续位的集合,是构建复杂数据类型的基础,核心围绕位(bit)、字节、字、双字、四字展开,且高位序列由低位序列连续组合而成。

Ø 位(bit):对应布尔(bool)数据类型,仅存储 0/1(或 true/false),是 PLC 中表示开关状态、逻辑结果的基础单位;

Ø 字节(BYTE):由8个连续位组成,是 PLC 存储空间的基本计量指标,常用十六进制表示(取值0~FF);

Ø 字(WORD):由2 个连续字节(16 位) 组成,十六进制取值 0~FFFF;

Ø 双字(DWORD):由4 个连续字节(32 位)/2 个连续字 组成;

Ø 四字(QWORD/LONG WORD):由8 个连续字节(64 位)/2 个连续双字 组成。

整数数据类型

整数数据类型基于位序列构建,专为数值加减乘除、取模等算术运算设计,西门子 PLC 中分为有符号整数和无符号整数两大类,均有 1 字节、2 字节、4 字节、8 字节四种长度,核心差异在于取值范围与符号位规则。

1.核心差异

Ø 有符号整数:取值分布在 0 的两侧,含正、负数,最高位为符号位;

Ø 无符号整数:取值从 0 开始,均为正整数,无符号位,相同字节数的情况下取值范围更大。

符号位规则

有符号整数的最高位表示正负,0 为正数、1 为负数,正数可直接通过位权公式计算十进制值,负数需通过 “除符号位按位取反 + 1” 计算补码后,再结合符号位确定数值。

典型类型

16 位有符号整数(int):取值范围 - 32768~32767;

16 位无符号整数(UINT):取值范围 0~65535。

整数数据类型常用十进制表示,除符号位外,其余位仅代表基数的幂次,无独立含义,无需进行位的拆分、合并操作。

浮点数据类型

浮点数据类型专为小数、超大 / 超小数值的运算设计,通过 “符号位 + 指数位 + 尾数位” 的组合实现数值的科学计数法表示,PLC 中常用单精度浮点型(real) 和双精度浮点型(long real) 两种,核心差异在于存储空间、取值范围与有效数字。

存储结构与计算规则

浮点型数值的通用计算公式为:

文章配图-1

Ø s:符号位,0 为正数、1 为负数;

Ø m:尾数位,是浮点型的有效数字部分;

Ø E:修正指数,偏移量(e为指数位的原始值,real 与 long real 的偏移量为固定值)。

两大典型类型

双精度浮点型的存储空间更大,指数位与尾数位更长,因此具备更大的取值范围和更高的计算精度,适配高精度、大数值的运算场景。

三大数据类型的应用区分

位序列、整数、浮点三大数据类型均基于二进制位构建,核心区分点如下:

Ø 位序列:位的集合,每一位可独立表示状态 / 含义,适配控制字、状态字、错误代码,用二进制 / 十六进制表示,配套逻辑运算指令,需拆分合并;

Ø 整数:专为算术运算设计,无独立位含义,仅关注整体数值,用十进制表示,配套加减乘除等算术运算指令,无需拆分合并;

Ø 浮点:专为小数、超大 / 超小数值运算设计,通过科学计数法存储,适配高精度数值计算,精度与存储空间正相关。




热门招聘
相关主题

官方公众号

智造工程师