PLC 地址输入参考
本参考针对不同协议汇总了标签注册界面中最容易混淆的 PLC 地址 和 数据类型 / format。每种 PLC 的详细指南请点击 PLC 类型指南 中的相应页面。
1. 通用 — 注册表单的 4 个字段
在标签注册界面(标签注册)中,与 PLC 地址一起填写的 4 个字段:
| 字段 | 含义 | 示例 |
|---|---|---|
| PLC 地址 | 驱动发送给 PLC 的 原始 地址 | D00309 (LS), D100 (Melsec), DB1.DBW0 (S7) |
| 数据类型 | Java/JS 接收的类型 | Integer / Long / Float / Double / String / Boolean |
| format(格式辅助) | 以不同方式解释同一地址的选项 | DW / UI / REAL / STR[10] / BIN[3] 等 |
| 计算公式 (fomula) | 读取后应用的算术公式 | ${VALUE}*0.1 / sqrt(${VALUE}) |
💡 format 是关键:PLC 的同一地址也可以按 16-bit / 32-bit / 浮点数 / 字符串 / 位 来解释。如果 format 留空,则假定为 16-bit signed integer(大多数驱动的默认值)。
2. LS XGT (XGI / XBC / XBM) — LS 驱动
内存区域
| 字母 | 区域 | 常用 |
|---|---|---|
D | Data Register | ✅ 数据(最常见) |
M | Memory(位) | ✅ 状态位 |
K | Keep Relay(非易失) | ✅ 断电保持 |
F | Flag | 系统位 |
T | Timer | 定时器当前值 |
C | Counter | 计数器当前值 |
R | File Register | (因系列而异) |
P | I/O | 外部输入/输出 |
表示示例
| PLC 的值 | 数据类型 | format | 地址示例 | 备注 |
|---|---|---|---|---|
| 16-bit signed | Integer | (空) | D00309 | 默认值 |
| 16-bit unsigned | Integer | UI 或 UW | D00300 | 0–65535 |
| 32-bit signed | Integer | DW | D00600 | D00600~D00601 |
| 32-bit unsigned | Long | UDW 或 DUW | D00690 | 0–4_294_967_295 |
| 64-bit signed | Long | (空 + dt=Long) | D00700 | D00700~D00703 |
| 32-bit float | Float | REAL | D00450 | IEEE 754 |
| 64-bit double | Double | LREAL | D00500 | IEEE 754 |
| 位 (M/K/F/T/C/P) | Boolean | (空) | M02704 | 位区域 |
| 字中的第 N 位 | Boolean | BIN[N] | D00309 (BIN[3]) | 第 3 位 |
| 字符串 N 个字(= 2N 个字符) | String | STR[N] | D00500 (STR[10]) | 低字节在前 |
| Byte | Integer | B 或 UB | D00100 | 1 字节 |
详情:LS 产电
3. 三菱 MELSEC (Q / L / iQ-R) — MELSEC 驱动
内存区域
以下是该驱动可读写的全部设备。
| 字母 | 区域 | 单位 | 常用 |
|---|---|---|---|
D | Data Register | 字 | ✅ 最常见 |
M | Internal Relay | 位 | ✅ |
B | Link Relay | 位 | ✅ |
X / Y | Input / Output | 位 | I/O |
W | Link Register | 字 | |
R | File Register | 字 | |
T / C | Timer / Counter | 字 | 当前值 |
L | Latch Relay | 位 | |
F | Annunciator | 位 | 警报 |
V | Edge Relay | 位 | |
S | Step Relay | 位 | |
Z | Index Register | 字 |
SD · SM · ZR 无法读取系统设备(SD / SM)和扩展文件寄存器(ZR)不受此驱动支持。
即使注册到标签中,读取也会失败。如果需要系统状态值,请将其复制到 PLC 程序中的
D 区域,然后读取该地址。
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | D100 |
| 16-bit unsigned | Integer | UW | D100 |
| 32-bit signed | Integer | DW | D100 (D100~D101) |
| 32-bit unsigned | Long | UDW | D100 |
| 32-bit float | Float | REAL | D100 |
| 位 | Boolean | (空) | M100, B0010 |
| 字符串 | String | STR[N] | D200 (N 个字) |
⚠ 控制器类型(
controller-type) 选项存在于注册表单中——因为 Q/L 系列和 iQ-R 的 设备代码 不同。如果设置错误,则Wrong device code。
详情:三菱 MELSEC
4. 西门子 S7 (S7-300 / 400 / 1200 / 1500) — S7 驱动
内存区域
| 区域 | 表示 | 含义 |
|---|---|---|
| DB (Data Block) | DB<n>.DB<X>0 | 最常见 —— 用户自定义数据块 |
| M (Merker) | M<X>0 | 内部存储器 |
| I (Input) | I<X>0 或 E<X>0 | 输入 |
| Q (Output) | Q<X>0 或 A<X>0 | 输出 |
| C / T | C0 / T0 | Counter / Timer |
<X> = 数据宽度:
B= Byte (8-bit)W= Word (16-bit)D= DWord (32-bit, 整数或浮点数)X<bit>= Bit (例如:M0.3)
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | DB1.DBW0 |
| 32-bit signed | Integer | DW | DB1.DBD0 |
| 32-bit float | Float | REAL | DB1.DBD4 |
| 位 | Boolean | (空) | DB1.DBX0.0 (DB1 的第 0 字节的第 0 位) |
| 字符串 | String | STR[N] | DB1.DBB0 (包含 S7 STRING 头) |
⚠
rack / slot选项 — TIA Portal 中 PLC 的 Rack / Slot 编号(通常为 0/1 或 0/2)。如果错误,则 connection refused。
详情:西门子 S7
5. Modbus TCP — MODBUS 驱动
区域 / 功能码
| 区域 | 功能码 | 位/字 | 表示 |
|---|---|---|---|
| Coil | FC1 / FC5 / FC15 | 位 | coil:<n> |
| Discrete Input | FC2 | 位(只读) | discrete-input:<n> |
| Holding Register | FC3 / FC6 / FC16 | 字 | holding-register:<n> |
| Input Register | FC4 | 字(只读) | input-register:<n> |
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | holding-register:1 |
| 16-bit unsigned | Integer | UI | holding-register:1 |
| 32-bit signed | Integer | DW | holding-register:1 (HR1+HR2) |
| 32-bit float | Float | REAL | holding-register:1 |
| 32-bit float (byte-swap) | Float | REAL_BS | (取决于驱动选项) |
| 位 | Boolean | (空) | coil:5 |
| 输入位(只读) | Boolean | (空) | discrete-input:0 |
因厂商而异(Modbus 从站的起始编号)。网关的 MODBUS 驱动会 原样输入 作为 PDU 发送,因此请直接填写从站手册中的 PDU 地址。
详情:Modbus TCP
6. OPC-UA — OPCUA 驱动
NodeId 表示
OPC-UA 通过 NodeId 识别 —— 标准格式:
ns=<NamespaceIndex>;s=<StringId>
ns=<NamespaceIndex>;i=<NumericId>
ns=<NamespaceIndex>;g=<GuidId>
ns=<NamespaceIndex>;b=<ByteStringId>
表示示例
| 服务器 | NodeId | 备注 |
|---|---|---|
| Kepware | ns=2;s=Channel1.Device1.Tag1 | 通道.设备.标签 |
| Ignition | ns=1;s=[default]Tag1/Sub | 标签路径 |
| PlantPulse 自带的 OPC-UA 服务器 | ns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042 | site.opc.tag |
| 数字型 ID | ns=2;i=1234 | 数字 ID |
数据类型
OPC-UA 服务器自身带有类型 —— 网关的 데이터 타입 / format 仅作为 解释提示 使用。通常:
| 服务器节点类型 | 注册时 | format |
|---|---|---|
Int16 / Int32 / Int64 | Integer / Long | (空) |
Float / Double | Float / Double | (空) |
Boolean | Boolean | (空) |
String | String | (空) |
详情:OPC-UA
7. AB EtherNet/IP / Logix — EIP / LOGIX 驱动
表示(基于 Logix 标签名 —— 符号寻址)
ControlLogix / CompactLogix 通过 标签名 直接访问:
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| DINT | Integer | DW | MyTag |
| INT | Integer | (空) | Pump.Speed |
| REAL | Float | REAL | Tank.Level |
| BOOL | Boolean | (空) | Motor.Run |
| STRING | String | (Logix STRING 结构体) | Recipe.Name |
| 数组 | (标量) | (空) | Array[5] (直接索引) |
表示(PLC-5 / SLC-500 —— 逻辑寻址)
AB-ETH 卡使用不同的格式:
| 数据 | 地址示例 |
|---|---|
| Word | N7:0 (文件 7,元素 0) |
| Float | F8:0 |
| Bit | B3:0/0 |
backplane / slot选项 — PLC 位于哪个插槽。1(CPU) 很常见。
8. HTTP 推送 — HTTP 驱动(反向)
网关不 从 PLC 读取 —— 而是外部向网关推送的模式。
| 表示 | 含义 |
|---|---|
<area>/<key> | 自由标识符 —— 与外部发送的 path 匹配 |
POST body 示例:
{ "tag_id": "TAG_OUTDOOR_TEMP", "value": "23.4" }
format / 데이터 타입 是简单的存储元数据。PLC 地址是 任意键 —— 根据外部推送使用的键进行自由命名。
详情:HTTP 推送
9. Motor Sense — MOTOR_SENSE 驱动(经 OPC-UA)
通过 OPC-UA 接收 KOPENS 电机感知设备。以资产(asset)为单位自动发现。
| 类型 | 自动填充的 PLC 地址 |
|---|---|
| HEALTH INDEX | <ASSET_ID>.health.<metric> |
| SIGNAL | <ASSET_ID>.signal.<metric> |
通常无需手动输入 —— 会自动发现资产。
详情:电机感知
10. OMRON FINS — FINS 驱动
内存区域
| 字母 | 区域 |
|---|---|
D | DM (Data Memory) — 最常见 |
H | Holding Relay |
W | Work Area |
A | Auxiliary |
T / C | Timer / Counter |
CIO | Core I/O |
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | D100 |
| 32-bit signed | Integer | DW | D100 |
| Float | Float | REAL | D100 |
| 位 | Boolean | (空) | H0.05 (字 0 的第 5 位) |
Network/Node/Unit 选项 — FINS 头中的路由信息(
SA1/DA1等)。根据 PLC 手册设置。
11. PANASONIC MEWTOCOL — MEWTOCOL 驱动
内存区域
| 字母 | 区域 |
|---|---|
DT | Data Register |
R | Internal Relay |
X / Y | Input / Output |
T / C | Timer / Counter |
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | DT0 |
| 32-bit signed | Integer | DW | DT0 |
| 位 | Boolean | (空) | R0.0 |
12. FATEK FACON — FATEK 驱动
内存区域
| 字母 | 区域 |
|---|---|
R | Register (Word) |
M / Y / X | Memory / Output / Input (Bit) |
D | Discrete |
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | R0 |
| 位 | Boolean | (空) | M0, Y10 |
13. GE SRTP — GE 驱动
内存区域(GE Fanuc / Emerson PACSystems)
| 字母 | 区域 |
|---|---|
R | Register |
AI / AQ | Analog Input / Output |
I / Q | Discrete Input / Output |
M | Internal |
表示示例
| 数据 | 类型 | format | 地址示例 |
|---|---|---|---|
| 16-bit signed | Integer | (空) | R1 |
| 32-bit signed | Integer | DW | R1 |
| Float | Float | REAL | R1 |
| Discrete | Boolean | (空) | I1 |
14. EMERSON DELTAV — DELTAV 驱动(待开发)
DeltaV 的 DST (Data Service Tag) 或 I/O reference 表示:
| 表示 | 含义 |
|---|---|
MODULE/PARAMETER.FIELD | 例如:MOD01/AI1.PV |
在正式驱动实现之前 —— 推荐通过 OPC-UA 或 OPC-DA 网关(Kepware)连接。
15. AB EtherNet (PLC-5 / SLC-500) — AB-ETH 驱动
同 7. EIP / Logix 中的 PLC-5/SLC-500 表示部分:
| 区域 | 表示 |
|---|---|
| Word | N7:0 |
| Float | F8:0 |
| Bit | B3:0/0 |
| Output | O:0/0 |
| Input | I:0/0 |
16. Beckhoff TwinCAT/ADS — ADS 驱动(待开发)
TwinCAT 变量名表示(基于符号):
| 数据 | 表示示例 |
|---|---|
| Variable | MAIN.PumpSpeed |
| Array | MAIN.Tanks[5].Level |
| Struct | GVL.Recipe.Name |
附加选项:NetID + Port(通常为
851用于 PLC1)。
17. PROFINET — PROFINET 驱动(待开发)
基于 Siemens / 通用 Profinet IO 的 Slot/Subslot 表示:
| 表示 | 含义 |
|---|---|
<slot>/<subslot>/<index> | 例如:1/1/0 |
实时控制协议 —— 网关计划仅支持 非实时 读取。
18. CANopen — CANOPEN 驱动(待开发)
CANopen 的 OD (Object Dictionary) 表示:
| 表示 | 含义 |
|---|---|
<index>:<sub> | 例如:0x6041:0 (Statusword) |
需要 CAN-bus 接口卡(USB-CAN / PCIe-CAN)。
19. BACnet/IP — BACNET 驱动(待开发)
BACnet 对象表示:
| 表示 | 含义 |
|---|---|
<object-type>:<instance>.<property> | 例如:analog-input:1.present-value |
| Object types | analog-input / analog-output / analog-value / binary-input / binary-output / binary-value / multi-state-* |
面向楼宇自动化 / HVAC / 照明领域。
20. KNXnet/IP — KNXNET 驱动(待开发)
KNX 组地址(3 级)表示:
| 表示 | 含义 |
|---|---|
<main>/<middle>/<sub> | 例如:1/0/5 (照明通道 5) |
| DPT (Data Point Type) | DPT_Switch / DPT_Value_Temp 等 |
楼宇自动化标准(主要在欧盟)。
21. Open Protocol (Atlas Copco) — OP 驱动
基于拧紧(螺丝刀 / 扭矩控制器)结果消息:
| 表示 | 含义 |
|---|---|
MID:<msg-id>.<param> | 例如:MID:0061.tightening_id (拧紧结果 ID) |
| Common MIDs | 0001(接头通信) / 0030(参数集) / 0061(拧紧结果) |
专用于产线拧紧 / 装配工艺 —— 与 控制器 而不是 PLC 连接。
22. format 选项 — 所有驱动的汇总表
注册表单中 格式辅助 栏常用值的汇总。每个驱动支持有所不同:
| format | 含义 | 支持的驱动 |
|---|---|---|
| (空) | 16-bit signed integer(大多数默认值) | 全部 |
B | 8-bit signed byte | LS / Melsec |
UB | 8-bit unsigned byte | LS / Melsec |
UI / UW / UWORD | 16-bit unsigned word | LS / Melsec / Modbus |
DW | 32-bit signed dword | LS / Melsec / S7 / Modbus / EIP / Logix |
UDW / DUW / UDWORD | 32-bit unsigned dword | LS / Melsec / Modbus |
UL | 64-bit unsigned long | LS |
REAL | 32-bit float (IEEE 754) | 全部 |
LREAL | 64-bit double | LS / S7 |
STR[N] | N 字 / N 字节字符串 | LS (字) / Melsec / S7 / Modbus |
BIN[N] | 提取字中的第 N 位 | LS |
X 或 BIT | 位(Boolean 同义词) | LS / Modbus |
如果选项不完全匹配,则按 忽略大小写 + 移除空格 进行匹配。
dw/Dw/D W均会被识别为DW。
23. 常见陷阱 — 所有驱动通用
| 症状 | 原因 / 解决方法 |
|---|---|
| 32 位值变成完全不同的数字 | format 留空 → 被解释为 16 位。显式指定 DW 或 REAL |
| 浮点数为 0 或 NaN | 字节顺序(端序)问题。尝试 REAL_BS (byte-swap) 或计算公式 swap32 |
| 位始终为 false | 在字区域(D)中表示位 — 应使用位区域(M/B/coil:)或 BIN[N] |
| 字符串字符乱码 | 低字节在前 vs 高字节在前 的差异。LS 自动处理,S7 STRING 包含头 — STR[N] 长度需准确 |
Wrong device code (Melsec) | controller-type 将 Q/L 与 iQ-R 设置错误。在表单中修改后重启 OPC |
BadTypeMismatch (OPC-UA) | 注册的数据类型与服务器节点类型不同。与服务器侧类型匹配 |
connection refused (S7) | rack / slot 错误。在 TIA Portal 中确认准确值 |
| 所有标签读取为 0 | 地址区域正确,但 PLC 未输出该地址。检查 PLC 程序中向该内存写入值的逻辑 |
24. 更多信息
- 注册过程(前置准备 + 分步):添加新 PLC 连接
- 标签注册(单个/CSV):标签注册
- 注册后监控:连接列表 / 标签列表
- 每种 PLC 的详细信息:PLC 类型指南
- 驱动内部机制:高级 → 驱动技术参考