当前位置: 首页 > news >正文

7、西门子PLC基础术语:数据单位、存储区域、寻址方式、字节序

一、数据单位(数据长度类型)

术语名称位数所占字节说明
Bit1 bit1/8 Byte最小数据单位(0或1)
BByte 字节8 bit1 Byte字节单位
WWord 字16 bit2 Byte通常用于整数、状态字等
DWDouble Word 双字32 bit4 Byte常用于浮点、双整数

1双字 = 2字        1双字 = 4字节        1双字 = 32位

1字 = 2字节        1字 = 16位

1字节 = 8位


三、存储区域(Memory Area)

区域名称说明大小(S7-200 SMART)举例
I区输入映射区外部信号输入1KBI[字节号].[位号]:
(如 I0.0、I2.7)
Q区输出映射区外部信号输出1KBQ[字节号].[位号]
(如 Q0.1、Q5.3)
M区Merker 标志寄存器程序内部临时变量、
中间状态存储
4KBM[字节号].[位号]
(如 M0.2、M10.5)
DB区数据块用户自定义数据结构的存储区128 个 DB 块,
单个4096 字节(4KB)
DB1.DBX04 (X = Bit)
DB1.DBB4 (B = 字节)
DB1.DBW4 (W = 字)
DB1.DBD4 (D = 双字)
T区定时器用于时间控制(接通延时、断开延时等)最多 256 个定时器(T0~T255),支持 1ms、10ms、100ms 分辨率
C区计数器用于计数控制(增计数、减计数、增减计数)最多 256 个计数器(C0~C255),计数范围 0~32767
L区局部变量仅在函数(FC)或功能块(FB)内部使用,调用时临时分配每个块最多 64 字节(512 位)

四、寻址(读写)

在 PLC 中,定位变量通常采用的格式为:

  1. 格式一: [存储区] + [偏移量]
  2. 格式二: [存储区] + [偏移量] + [数据单位]
  3. 格式三:[存储区] + [数据单位] + [偏移量]
  • 存储区:表示变量所在的内存区域(如 I 输入区、Q 输出区、M 内存区等)
  • 偏移量:变量在该存储区中的起始地址
  • 数据单位:变量的存储粒度(如 bit、byte、word、dword 等)

例 1:位(bit)寻址 [存储区] + [偏移量]
数据单位隐含了

I0.3

  • I:表示输入区
  • 0:字节偏移量(第 0 个字节)
  • .:作用是区分字节地址和位地址
  • 3:位偏移量(第 3 位)

含义:读取(或写入)输入区第 0 字节的第 3 位的值,例如某个按钮的开关状态。

例 2:字节(byte)寻址 [存储区] + [数据单位] + [偏移量]

QB2

  • Q:表示输出区
  • B:数据单位,表字节
  • 2:字节偏移量:2(第 2 个字节)

含义:读取(或写入)输出区第 2 个字节的内容,1字节=8个位 即可表示8个输出继电器。

例 3:字(word)寻址 [存储区] + [数据单位] + [偏移量]

MW20

  • M:程序内部临时变量、中间状态存储
  • W:数据单位,表字
  • 20:字节偏移量(从字节 20 开始)

含义:读取(或写入)从字节 20 开始的 2 个字节,例如一个整数计数值。

例 4:数据块(DB)寻址 [存储区] . [数据单位] + [偏移量 ]

DB1.DBX0.4 (X = Bit)
DB1.DBB4 (B = 字节)
DB1.DBW4 (W = 字)
DB1.DBD4 (D = 双字)

  • DB1:表示数据块 1(Data Block 1),这本身就是一个存储区,但它是用户定义的存储区。
  • .:第1个.相当于“进入”这个数据块的意思。
  • .:第2个.作用是区分字节地址和位地址。

五、扩展:底层内存存储方式

当多个字节组成一个Word(16位)、Double Word(32位)或更大数据时,低字节和高字节的存放顺序是怎样的???

什么是字节序(Endian)
当多个字节表示一个数据时,存在两种存储顺序

类型名称说明
Little Endian小端序最低有效字节存放在低地址最高有效字节存放在高地址
Big Endian大端序最高有效字节存放在低地址最低有效字节存放在高地址

例如,假设有一个 类型(1字=2字节)数值为 0x1234,组成字的两个字节是(按8位分组):

  1. 高字节(前8位一个字节):0x12
  2. 低字节(后8位一个字节):0x34
类型DB0.DBB0DB0.DBB1
Little Endian0x120x34
Big Endian0x340x12

注意:西门子 PLC(如 S7-200 SMART、S7-1200/1500)默认采用小端序存储。

字节序注意场景

  1. 正确解析多字节数据(避免数值错误)
    当你在 PLC 中处理字(Word,16 位)、双字(DWord,32 位)等多字节数据时,必须遵循小端序规则才能正确拆分或组合字节。
  2. 确保跨设备通信的数据一致性
    PLC 常需与上位机(如 HMI、SCADA)、传感器、仪表等外部设备交换数据(如温度、流量等数值),而不同设备可能采用不同的字节序(如部分仪表默认大端序)。
  3. 正确处理数据块(DB)的结构化数据
    在数据块中定义数组、结构体等复杂数据类型时,字节序决定了各成员的存储位置。
  4. 避免程序调试中的 “隐蔽错误”
    字节序错误属于 “逻辑正确但结果错误” 的隐蔽问题,不影响程序运行,但会导致数据异常(如显示值错误、控制逻辑失效)。

六、扩展: 数据类型(Data Type)

类型名称位数示例值
BOOL布尔型1 bitTRUE / FALSE
BYTE字节8 bit16#FF
WORD字(整型)16 bit16#FFFF
DWORD双字32 bit16#FFFFFFFF
INT有符号整数16 bit-32768 ~ 32767
DINT双字整数32 bit-21亿 ~ 21亿
REAL浮点型32 bit3.14, -1.5
http://www.dtcms.com/a/324797.html

相关文章:

  • LightGBM 与 GBDT 在机器学习中的性能与特点比较
  • element-ui el-progress在有小数的情况下,会换行显示。解决不换行的问题。
  • redis集群-本地环境
  • 【前端基础】14、CSS设置背景(background相关的)
  • 正则表达式常用语法参考
  • STM32H7 以太网配置引申的内存问题
  • A2A协议深度理解与实践
  • 解决 .NET Core 6.0 + PostgreSQL 网站首次连接缓慢问题
  • 安全生产基础知识(一)
  • 去除Edge微软浏览器与Chrome谷歌浏览器顶部出现“此版本的Windows不再支持升级Windows 10”的烦人提示
  • 深度剖析 Linux 信号:从基础概念到高级应用,全面解析其在进程管理与系统交互中的核心作用与底层运行机制
  • 【牛客刷题】REAL799 翻转01 (饿了么面试题)
  • Vue 事件冒泡处理指南:从入门到精通
  • 亚麻云之监控管家——CloudWatch基础监控
  • socket编程中系统调用send()详细讲解
  • 《算法导论》第 16 章 - 贪心算法
  • ATF(TF-A)安全通告 TFV-12(CVE-2024-5660)
  • 2025年Java 面试题及答案整理(金九银十最新版,持续更新)
  • vuhub Beelzebub靶场攻略
  • 从零学习three.js官方文档(二)——图元
  • 数据结构2线性表——顺序表
  • Python高阶
  • 企业架构之导论(1)
  • 2025华数杯比赛还未完全结束!数模论文可以发表期刊会议
  • C# 异步编程(并行循环)
  • 内存溢出的原因有哪些,如何排查线上问题?
  • 【Spring Boot刷新上下文核心流程详解】
  • UNIVERSAL IMAGE RESTORATION PRE-TRAINING VIA DEGRADATION CLASSIFICATION
  • 【Python 工具人快餐 · 第 5 份】
  • 1. 电阻选型