跳到主要内容

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 处理(大多数驱动的 default)。


2. LS XGT (XGI / XBC / XBM) — LS 驱动

内存区域

字符区域常用
DData Register✅ 数据(最常见)
MMemory(位)✅ 状态位
KKeep Relay(非易失)✅ 断电保持
FFlag系统位
TTimer定时器当前值
CCounter计数器当前值
RFile Register(视系列而定)
PI/O外部输入输出

表示示例

PLC 中的值数据类型format地址示例备注
16-bit signedInteger(留空)D00309default
16-bit unsignedIntegerUIUWD003000–65535
32-bit signedIntegerDWD00600D00600~D00601
32-bit unsignedLongUDWDUWD006900–4_294_967_295
64-bit signedLong(留空 + dt=Long)D00700D00700~D00703
32-bit floatFloatREALD00450IEEE 754
64-bit doubleDoubleLREALD00500IEEE 754
位 (M/K/F/T/C/P)Boolean(留空)M02704位区域
字的第 N 位BooleanBIN[N]D00309 (BIN[3])第 3 位
字符串 N 字(= 2N 个字符)StringSTR[N]D00500 (STR[10])low-byte-first
ByteIntegerBUBD001001 字节

详情:LS 产电


3. 三菱 MELSEC (Q / L / iQ-R) — MELSEC 驱动

内存区域

该驱动可读写的软元件仅限以下这些。

字符区域单位常用
DData Register✅ 最常见
MInternal Relay
BLink Relay
X / YInput / OutputI/O
WLink Register
RFile Register
T / CTimer / Counter当前值
LLatch Relay
FAnnunciator报警
VEdge Relay
SStep Relay
ZIndex Register
SD · SM · ZR 无法读取

本驱动不支持系统软元件(SD / SM)和扩展文件寄存器(ZR)。 即使注册为标签,读取也会失败。如果需要系统状态值,请在 PLC 程序中 复制到 D 区域后再读取该地址。

表示示例

数据类型format地址示例
16-bit signedInteger(留空)D100
16-bit unsignedIntegerUWD100
32-bit signedIntegerDWD100 (D100~D101)
32-bit unsignedLongUDWD100
32-bit floatFloatREALD100
Boolean(留空)M100B0010
字符串StringSTR[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>0E<X>0输入
Q (Output)Q<X>0A<X>0输出
C / TC0 / T0Counter / Timer

<X> = 数据宽度:

  • B = Byte (8-bit)
  • W = Word (16-bit)
  • D = DWord (32-bit,整数或 float)
  • X<bit> = 位(例如:M0.3

表示示例

数据类型format地址示例
16-bit signedInteger(留空)DB1.DBW0
32-bit signedIntegerDWDB1.DBD0
32-bit floatFloatREALDB1.DBD4
Boolean(留空)DB1.DBX0.0(DB1 中 byte 0 的第 0 位)
字符串StringSTR[N]DB1.DBB0(含 S7 STRING 头)

rack / slot 选项 — TIA Portal 中 PLC 的 Rack / Slot 编号(通常为 0/1 或 0/2)。设置错误会出现 connection refused

详情:西门子 S7


5. Modbus TCP — MODBUS 驱动

区域 / 功能码

区域功能码位/字表示
CoilFC1 / FC5 / FC15coil:<n>
Discrete InputFC2位(read-only)discrete-input:<n>
Holding RegisterFC3 / FC6 / FC16holding-register:<n>
Input RegisterFC4字(read-only)input-register:<n>

表示示例

数据类型format地址示例
16-bit signedInteger(留空)holding-register:1
16-bit unsignedIntegerUIholding-register:1
32-bit signedIntegerDWholding-register:1 (HR1+HR2)
32-bit floatFloatREALholding-register:1
32-bit float (byte-swap)FloatREAL_BS(视驱动选项而定)
Boolean(留空)coil:5
输入位(read-only)Boolean(留空)discrete-input:0
地址 base — 1 还是 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备注
Kepwarens=2;s=Channel1.Device1.Tag1通道.设备.标签
Ignitionns=1;s=[default]Tag1/Sub标签路径
PlantPulse 自带 OPC-UA 服务器ns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042site.opc.tag
数字型 IDns=2;i=1234数字 ID

数据类型

OPC-UA 由服务器自身持有类型 — 网关的 데이터 타입 / format 仅作为解释提示使用。一般情况下:

服务器节点类型注册时format
Int16 / Int32 / Int64Integer / Long(留空)
Float / DoubleFloat / Double(留空)
BooleanBoolean(留空)
StringString(留空)

详情:OPC-UA


7. AB EtherNet/IP / Logix — EIP / LOGIX 驱动

表示(基于 Logix 标签名 — Symbol Addressing)

ControlLogix / CompactLogix 通过标签名称直接访问:

数据类型format地址示例
DINTIntegerDWMyTag
INTInteger(留空)Pump.Speed
REALFloatREALTank.Level
BOOLBoolean(留空)Motor.Run
STRINGString(Logix STRING 结构体)Recipe.Name
数组(标量)(留空)Array[5](直接指定索引)

表示(PLC-5 / SLC-500 — Logical Addressing)

AB-ETH 卡采用不同的格式:

数据地址示例
WordN7:0 (file 7, element 0)
FloatF8:0
BitB3:0/0

backplane / slot 选项 — 指定 PLC 位于哪个插槽。常见为 1 (CPU)。

详情:AB EtherNet/IP


8. HTTP 推送 — HTTP 驱动(反向)

网关不向 PLC 执行 read — 而是由外部向网关 push 的模式。

表示含义
<area>/<key>自由标识符 — 与外部发送的 path 匹配

POST body 示例:

{ "tag_id": "TAG_OUTDOOR_TEMP", "value": "23.4" }

format / 데이터 타입 仅为简单的保存元数据。PLC 地址为任意键 — 可根据外部使用哪个键 push 而自由命名。

详情:HTTP 推送


9. Motor Sense — MOTOR_SENSE 驱动(经由 OPC-UA)

通过 OPC-UA 接收 KOPENS 电机传感设备数据。以资产 (asset) 为单位自动检索。

种类自动填充的 PLC 地址
HEALTH INDEX<ASSET_ID>.health.<metric>
SIGNAL<ASSET_ID>.signal.<metric>

一般无需手动输入 — 可自动检索资产。

详情:Motor Sense


10. OMRON FINS — FINS 驱动

内存区域

字符区域
DDM (Data Memory) — 最常见
HHolding Relay
WWork Area
AAuxiliary
T / CTimer / Counter
CIOCore I/O

表示示例

数据类型format地址示例
16-bit signedInteger(留空)D100
32-bit signedIntegerDWD100
FloatFloatREALD100
Boolean(留空)H0.05(字 0 的第 5 位)

Network/Node/Unit 选项 — FINS 头中的路由信息(SA1 / DA1 等)。请依据 PLC 手册设置。


11. PANASONIC MEWTOCOL — MEWTOCOL 驱动

内存区域

字符区域
DTData Register
RInternal Relay
X / YInput / Output
T / CTimer / Counter

表示示例

数据类型format地址示例
16-bit signedInteger(留空)DT0
32-bit signedIntegerDWDT0
Boolean(留空)R0.0

12. FATEK FACON — FATEK 驱动

内存区域

字符区域
RRegister (Word)
M / Y / XMemory / Output / Input (Bit)
DDiscrete

表示示例

数据类型format地址示例
16-bit signedInteger(留空)R0
Boolean(留空)M0Y10

13. GE SRTP — GE 驱动

内存区域 (GE Fanuc / Emerson PACSystems)

字符区域
RRegister
AI / AQAnalog Input / Output
I / QDiscrete Input / Output
MInternal

表示示例

数据类型format地址示例
16-bit signedInteger(留空)R1
32-bit signedIntegerDWR1
FloatFloatREALR1
DiscreteBoolean(留空)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 表示章节相同:

区域表示
WordN7:0
FloatF8:0
BitB3:0/0
OutputO:0/0
InputI:0/0

16. Beckhoff TwinCAT/ADS — ADS 驱动(计划中)

TwinCAT 变量名表示 (Symbol-based):

数据表示示例
VariableMAIN.PumpSpeed
ArrayMAIN.Tanks[5].Level
StructGVL.Recipe.Name

附加选项:NetID + Port(PLC1 通常为 851)。


17. PROFINET — PROFINET 驱动(计划中)

基于 Siemens / 通用 Profinet IO 的 Slot/Subslot 表示:

表示含义
<slot>/<subslot>/<index>例如:1/1/0

实时控制协议 — 网关计划仅支持非实时 read。


18. CANopen — CANOPEN 驱动(计划中)

CANopen 的 OD (Object Dictionary) 表示:

表示含义
<index>:<sub>例如:0x6041:0 (Statusword)

需要 CAN-bus 接口卡 (USB-CAN / PCIe-CAN)。


19. BACnet/IP — BACNET 驱动(计划中)

BACnet object 表示:

表示含义
<object-type>:<instance>.<property>例如:analog-input:1.present-value
Object typesanalog-input / analog-output / analog-value / binary-input / binary-output / binary-value / multi-state-*

建筑自动化 / HVAC / 照明领域。


20. KNXnet/IP — KNXNET 驱动(计划中)

KNX Group Address (3-level) 表示:

表示含义
<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 MIDs0001(通信建立) / 0030(参数集) / 0061(拧紧结果)

专用于产线拧紧 / 装配工序 — 对接的是控制器而非 PLC。


22. format 选项 — 全驱动汇总表

以下为常填入注册表单格式辅助栏的值。各驱动支持情况不同:

format含义支持的驱动
(留空)16-bit signed integer(多数为 default)全部
B8-bit signed byteLS / Melsec
UB8-bit unsigned byteLS / Melsec
UI / UW / UWORD16-bit unsigned wordLS / Melsec / Modbus
DW32-bit signed dwordLS / Melsec / S7 / Modbus / EIP / Logix
UDW / DUW / UDWORD32-bit unsigned dwordLS / Melsec / Modbus
UL64-bit unsigned longLS
REAL32-bit float (IEEE 754)全部
LREAL64-bit doubleLS / S7
STR[N]N 字 / N 字节字符串LS(字) / Melsec / S7 / Modbus
BIN[N]提取字的第 N 位LS
XBIT位(Boolean 的同义词)LS / Modbus

选项若不完全一致,将以忽略大小写 + 去除空格方式匹配。dw / Dw / D W 均识别为 DW


23. 常见陷阱 — 全驱动通用

现象原因 / 解决方法
32-bit 值变成完全不同的数字format 留空 → 按 16-bit 解释。请明确指定 DWREAL
实数为 0 或 NaNbyte order (endianness) 问题。尝试 REAL_BS (byte-swap) 或计算公式 swap32
位始终为 false在字区域(D)使用了位表示 — 请使用位区域(M/B/coil:)或 BIN[N]
字符串乱码low-byte-first 与 high-byte-first 的差异。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 中确认准确值
所有标签 read 均为 0地址区域正确但 PLC 未输出该地址的值。请检查 PLC 程序中向该内存写值的逻辑

24. 了解更多