当前位置: 首页 > 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.lryc.cn/news/617047.html

相关文章:

  • 生产环境中atop命令使用总结
  • FreeRTOS 任务与中断函数:运行机制、关键区别与使用准则
  • GC如何判断对象可以被回收?
  • 利用容器编排完成haproxy和nginx负载均衡架构实施
  • 【代码随想录day 15】 力扣 222.完全二叉树的节点个数
  • 【Python 小脚本·大用途 · 第 2 篇】
  • Day11 原理篇
  • afsim2.9_使用QtCreator和VSCode编译
  • Excel版经纬度和百分度互转v1.1
  • 第二章、LSTM(Long Short-term Memory:长短时记忆网络)
  • 基于python/django框架的车型识别系统
  • iptables -F 与 iptables -X
  • 基于Django的图书馆管理系统的设计与实现
  • 精准计算Word文档页数的PHP类
  • foxmail网站邮箱网络营销策略论文
  • 自己做网站排名好吗天津seo推广
  • 长春网站策划制作网页的代码
  • 我想创建一个网站sem 优化价格
  • 网站开发虚拟主机管理系统nba西部最新排名
  • 四川建设部网站官网温州最好的seo
  • 成都建设网站哪个好seo外包杭州
  • 南京学习做网站独立站搭建要多少钱
  • 北京网页设计学校成都sem优化
  • 网站建设方案书 个人做百度推广一个月多少钱
  • 一级a做爰片试看 免费网站百度竞价ocpc
  • php做公司网站seo网站推广怎么做
  • 常州微网站建设游戏搬砖工作室加盟平台
  • 中建建设银行网站北京今日重大新闻
  • wordpress做下载站百度推广代运营公司
  • 网站空间数据库专门看广告的网站