PLC(可编程逻辑控制器)的地址格式是用于定位内部存储区域(数据、输入、输出等)的统一规则,核心取决于 PLC 品牌 和 存储区域类型,不同品牌(西门子、施耐德、三菱等)格式有差异,但核心逻辑一致 —— 均由 “区域标识 + 编号 / 偏移量 + 数据类型” 组成。以下是 通用规则 + 主流品牌格式详解,覆盖工业场景常用地址类型:
一、PLC 地址格式通用核心逻辑
无论哪种品牌,PLC 地址的本质是 “定位存储单元”,通用结构可总结为:【区域标识】 + 【编号/块号/偏移量】 + 【数据类型后缀(可选)】 + 【位索引(可选)】
- 区域标识:区分存储功能(如输入、输出、数据块、中间变量);
- 编号 / 偏移量:存储单元的位置编号(如数据块号、字节偏移量);
- 数据类型后缀:指定数据长度(位、字节、字、双字,部分品牌默认省略);
- 位索引:仅 “位类型” 数据需指定(0-7,对应字节内的 8 个 bit)。
二、主流品牌 PLC 地址格式详解(按品牌分类)
1. 西门子 S7 PLC(最常用,如 S7-1200/1500/300)
西门子地址格式规范,支持 绝对寻址(物理地址)和 符号寻址(变量名),核心存储区域如下(重点关注 DB 块):
|
存储区域 |
区域标识 |
数据类型后缀 |
格式示例 |
含义说明 |
|
输入映像区(I) |
I |
X = 位、B = 字节、W = 字、D = 双字 |
I0.0(位)、IB1(字节)、IW2(字)、ID4(双字) |
I0.0 = 第 0 字节第 0 位(按钮 / 传感器输入);IB1 = 第 1 字节(8 个输入位) |
|
输出映像区(Q) |
Q |
同输入区 |
Q0.1(位)、QB2(字节)、QW3(字) |
Q0.1 = 第 0 字节第 1 位(指示灯 / 电机输出);QW3 = 第 3 字节起始的 16 位输出 |
|
位存储器(M) |
M |
同输入区 |
M1.2(位)、MW4(字)、MD6(双字) |
中间变量存储(如联锁标志位、临时计算值) |
|
数据块(DB) |
DB |
X = 位、B = 字节、W = 字、D = 双字 |
DB1.DBX0.0(位)、DB1.DBW2(字)、DB1.DBD4(双字) |
DB1=1 号数据块;DBX0.0 = 偏移量 0 字节第 0 位;DBW2 = 偏移量 2 字节的 16 位数据(Int/Word) |
|
定时器(T) |
T |
无 |
T37 |
定时器编号(存储当前值和状态) |
|
计数器(C) |
C |
无 |
C20 |
计数器编号(存储当前计数值) |
关键注意:西门子 DB 块需区分 “未优化块”(支持绝对寻址)和 “优化块”(仅支持符号寻址,如DB1.电机转速)。
2. 施耐德 PLC(如 M340、Twido)
施耐德地址格式简洁,常用 “区域标识 + 编号”,数据类型通过编号长度隐含:
|
存储区域 |
区域标识 |
格式示例 |
数据类型 |
含义说明 |
|
输入映像区(% I) |
%I |
%I0.0、%I1.7、%IW2、%ID4 |
位、字、双字 |
% I0.0 = 第 0 字节第 0 位输入;% IW2 = 第 2 字节起始的 16 位输入(Int) |
|
输出映像区(% Q) |
%Q |
%Q0.1、%QB3、%QD5 |
位、字节、双字 |
% Q0.1 = 第 0 字节第 1 位输出;% QB3 = 第 3 字节(8 个输出位) |
|
中间变量(% M) |
%M |
%M1.2、%MW4、%MD6 |
位、字、双字 |
中间标志位 / 变量存储 |
|
数据块(% DB) |
%DB |
%DB1.DBX0.0、%DB1.DBW2 |
位、字、双字 |
同西门子逻辑,% DB1.DBW2=1 号数据块偏移量 2 字节的 16 位数据 |
|
定时器(T) |
T |
T0、T10 |
定时器 |
定时器编号 |
|
计数器(C) |
C |
C0、C5 |
计数器 |
计数器编号 |
3. 三菱 PLC(如 FX 系列、Q 系列)
三菱地址格式无 “区域标识字母”,直接用 “功能代号 + 编号”,风格独特:
|
存储区域 |
功能代号 |
格式示例 |
数据类型 |
含义说明 |
|
输入继电器(X) |
X |
X0、X10、X2.3 |
位 |
X0 = 第 0 号输入点;X2.3 = 第 2 字节第 3 位输入(FX 系列常用十进制,Q 系列支持十六进制) |
|
输出继电器(Y) |
Y |
Y0、Y1.7、Y20 |
位 |
Y0 = 第 0 号输出点;Y1.7 = 第 1 字节第 7 位输出 |
|
辅助继电器(M) |
M |
M0、M100、M200 |
位 |
中间标志位(普通辅助继电器,断电丢失) |
|
数据寄存器(D) |
D |
D0、D10、D20 |
字(16 位) |
存储整数 / 浮点数(D0 = 第 0 号数据寄存器,32 位数据需用 D0.D1 组合) |
|
定时器(T) |
T |
T0、T32 |
定时器 |
T0 = 第 0 号定时器(存储当前值,单位 10ms/100ms) |
|
计数器(C) |
C |
C0、C100 |
计数器 |
C0 = 第 0 号计数器(递增计数) |
注意:三菱 Q 系列支持扩展格式(如D1000=32 位数据寄存器,W100= 字寄存器),FX 系列相对简化。
4. 罗克韦尔 PLC(如 Micro800、ControlLogix)
罗克韦尔地址格式带 “标签 + 数据类型”,支持符号寻址为主,绝对地址格式如下:
|
存储区域 |
格式示例 |
数据类型 |
含义说明 |
|
输入映像区 |
I:0/0、I:1/7、I:2.0/0 |
位、字 |
I:0/0 = 第 0 模块第 0 位输入;I:2.0/0 = 第 2 模块第 0 组第 0 位输入 |
|
输出映像区 |
O:0/1、O:1.0/7 |
位、字 |
O:0/1 = 第 0 模块第 1 位输出 |
|
数据文件(DB) |
N7:0、F8:2、B3:1/0 |
整数、浮点数、位 |
N7:0 = 第 7 号整数文件第 0 元素;F8:2 = 第 8 号浮点数文件第 2 元素;B3:1/0 = 第 3 号位文件第 1 元素第 0 位 |
三、核心存储区域通用对比(跨品牌)
|
功能用途 |
西门子标识 |
施耐德标识 |
三菱标识 |
罗克韦尔标识 |
|
外部输入信号 |
I |
%I |
X |
I |
|
外部输出信号 |
Q |
%Q |
Y |
O |
|
中间变量(位) |
M |
%M |
M |
B |
|
数据存储(字 / 双字) |
DB |
%DB |
D |
N/F/B |
|
定时器 |
T |
T |
T |
T |
|
计数器 |
C |
C |
C |
C |
四、地址格式关键注意事项(避坑指南)
- 数据类型与地址长度匹配:1 位数据(开关状态):必须带 “位索引”(如 I0.0、X0、% I0.0);2 字节数据(Int/Word):地址后缀为 “W”(西门子 DBW、施耐德 % IW)或隐含(三菱 D0);4 字节数据(DInt/Real):地址后缀为 “D”(西门子 DBD、施耐德 % ID)或双寄存器组合(三菱 D0.D1)。
- 跨品牌通信适配:上位机(C#/Python)读取不同品牌 PLC 时,需对应转换地址格式:西门子 DB1.DBW0 → 施耐德 % DB1.DBW0 → 三菱 D0 → 罗克韦尔 N7:0;核心是 “区域标识 + 位置 + 数据类型” 三者一致,否则解析错误。
- 地址有效性:西门子 DB 块需 “未优化” 才能用绝对地址;三菱 FX 系列输入输出地址有范围限制(如 X0-X177、Y0-Y177);罗克韦尔 PLC 需指定模块编号和组号(多模块场景)。
常见错误格式对比:
|
错误格式 |
正确格式(西门子) |
错误原因 |
|
DB1.DW0 |
DB1.DBW0 |
字类型后缀应为 “W”(DBW) |
|
I2 |
IB2 或 IW2 |
缺少数据类型后缀,无法区分字节 / 字 |
|
DB1.DBX5 |
DB1.DBX5.0 |
位类型必须指定位索引(0-7) |
总结
PLC 地址格式的核心是 “通过标识 + 位置 + 类型定位存储单元”,不同品牌仅标识和编号规则有差异,实际应用中需:
- 先明确 PLC 品牌和存储区域(输入 / 输出 / 数据块);
- 按品牌规则组合 “区域标识 + 编号 + 数据类型”;
- 跨设备 / 上位机通信时,统一使用 “绝对寻址”(符号寻址仅适用于同项目调试)。
若需具体品牌的某类地址(如三菱 Q 系列 32 位浮点数地址、罗克韦尔数据文件地址),可补充需求进一步细化。
1468

被折叠的 条评论
为什么被折叠?



