Skip to main content

PLC Address Entry — Complete Guide by Protocol

This reference collects, in one place and organized by protocol, the PLC address and data type / format fields that cause the most confusion on the tag registration screen. For details on each PLC, links point to the corresponding page in the Guide by PLC Type.


1. Common — the 4 fields on the registration form

The 4 fields you enter along with the PLC address on the tag registration screen (Tag Registration):

FieldMeaningExample
PLC addressThe raw address the driver sends to the PLCD00309 (LS), D100 (Melsec), DB1.DBW0 (S7)
Data typeThe type Java/JS receivesInteger / Long / Float / Double / String / Boolean
format (format helper)Option that reinterprets the same addressDW / UI / REAL / STR[10] / BIN[3], etc.
formula (fomula)Arithmetic expression applied after read${VALUE}*0.1 / sqrt(${VALUE})

💡 format is the key: the same PLC address can be interpreted as 16-bit / 32-bit / floating point / string / bit. If format is left empty, a 16-bit signed integer is assumed (the default for most drivers).


2. LS XGT (XGI / XBC / XBM) — LS driver

Memory areas

LetterAreaCommonly used
DData Register✅ Data (most common)
MMemory (bit)✅ Status bits
KKeep Relay (non-volatile)✅ Retained on power loss
FFlagSystem bits
TTimerTimer current value
CCounterCounter current value
RFile Register(depends on series)
PI/OExternal I/O

Notation examples

PLC valueData typeformatAddress exampleNotes
16-bit signedInteger(empty)D00309default
16-bit unsignedIntegerUI or UWD003000–65535
32-bit signedIntegerDWD00600D00600~D00601
32-bit unsignedLongUDW or DUWD006900–4_294_967_295
64-bit signedLong(empty + dt=Long)D00700D00700~D00703
32-bit floatFloatREALD00450IEEE 754
64-bit doubleDoubleLREALD00500IEEE 754
Bit (M/K/F/T/C/P)Boolean(empty)M02704Bit area
Bit N of a wordBooleanBIN[N]D00309 (BIN[3])Bit 3
String of N words (= 2N characters)StringSTR[N]D00500 (STR[10])low-byte-first
ByteIntegerB or UBD001001 byte

Details: LS Electric


3. Mitsubishi MELSEC (Q / L / iQ-R) — MELSEC driver

Memory areas

The devices the driver can read and write are limited to those below.

LetterAreaUnitCommonly used
DData RegisterWord✅ Most common
MInternal RelayBit
BLink RelayBit
X / YInput / OutputBitI/O
WLink RegisterWord
RFile RegisterWord
T / CTimer / CounterWordCurrent value
LLatch RelayBit
FAnnunciatorBitAlarms
VEdge RelayBit
SStep RelayBit
ZIndex RegisterWord
SD · SM · ZR cannot be read

System devices (SD / SM) and extended file registers (ZR) are not supported by this driver. Reads will fail even if you register them as tags. If you need system status values, copy them to the D area in the PLC program and read that address instead.

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)D100
16-bit unsignedIntegerUWD100
32-bit signedIntegerDWD100 (D100~D101)
32-bit unsignedLongUDWD100
32-bit floatFloatREALD100
BitBoolean(empty)M100, B0010
StringStringSTR[N]D200 (N words)

⚠ The controller type (controller-type) option is on the registration form — because the device codes differ between the Q/L series and iQ-R. If set incorrectly, Wrong device code.

Details: Mitsubishi MELSEC


4. Siemens S7 (S7-300 / 400 / 1200 / 1500) — S7 driver

Memory areas

AreaNotationMeaning
DB (Data Block)DB<n>.DB<X>0Most common — user-defined data block
M (Merker)M<X>0Internal memory
I (Input)I<X>0 or E<X>0Input
Q (Output)Q<X>0 or A<X>0Output
C / TC0 / T0Counter / Timer

<X> = data width:

  • B = Byte (8-bit)
  • W = Word (16-bit)
  • D = DWord (32-bit, integer or float)
  • X<bit> = Bit (e.g. M0.3)

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)DB1.DBW0
32-bit signedIntegerDWDB1.DBD0
32-bit floatFloatREALDB1.DBD4
BitBoolean(empty)DB1.DBX0.0 (bit 0 of byte 0 in DB1)
StringStringSTR[N]DB1.DBB0 (includes the S7 STRING header)

rack / slot option — the PLC's Rack / Slot numbers in TIA Portal (usually 0/1 or 0/2). If wrong, you get connection refused.

Details: Siemens S7


5. Modbus TCP — MODBUS driver

Areas / function codes

AreaFunction codeBit/WordNotation
CoilFC1 / FC5 / FC15Bitcoil:<n>
Discrete InputFC2Bit (read-only)discrete-input:<n>
Holding RegisterFC3 / FC6 / FC16Wordholding-register:<n>
Input RegisterFC4Word (read-only)input-register:<n>

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)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(depends on driver option)
BitBoolean(empty)coil:5
Input bit (read-only)Boolean(empty)discrete-input:0
Address base — 1 or 0?

This varies by vendor (the Modbus slave's starting number). The gateway's MODBUS driver sends your input as-is in the PDU, so enter the PDU address from the slave manual directly.

Details: Modbus TCP


6. OPC-UA — OPCUA driver

NodeId notation

OPC-UA identifies items by NodeId — standard form:

ns=<NamespaceIndex>;s=<StringId>
ns=<NamespaceIndex>;i=<NumericId>
ns=<NamespaceIndex>;g=<GuidId>
ns=<NamespaceIndex>;b=<ByteStringId>

Notation examples

ServerNodeIdNotes
Kepwarens=2;s=Channel1.Device1.Tag1channel.device.tag
Ignitionns=1;s=[default]Tag1/SubTag path
PlantPulse built-in OPC-UA serverns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042site.opc.tag
Numeric IDns=2;i=1234Numeric ID

Data types

In OPC-UA the server itself owns the type — the gateway's 데이터 타입 / format are used only as interpretation hints. Generally:

Server node typeRegister asformat
Int16 / Int32 / Int64Integer / Long(empty)
Float / DoubleFloat / Double(empty)
BooleanBoolean(empty)
StringString(empty)

Details: OPC-UA


7. AB EtherNet/IP / Logix — EIP / LOGIX drivers

Notation (based on Logix tag names — Symbol Addressing)

ControlLogix / CompactLogix are accessed directly by tag name:

DataTypeformatAddress example
DINTIntegerDWMyTag
INTInteger(empty)Pump.Speed
REALFloatREALTank.Level
BOOLBoolean(empty)Motor.Run
STRINGString(Logix STRING structure)Recipe.Name
Array(scalar)(empty)Array[5] (index directly)

Notation (PLC-5 / SLC-500 — Logical Addressing)

AB-ETH cards use a different form:

DataAddress example
WordN7:0 (file 7, element 0)
FloatF8:0
BitB3:0/0

backplane / slot option — which slot the PLC occupies. 1 (CPU) is common.

Details: AB EtherNet/IP


8. HTTP push — HTTP driver (reverse direction)

The gateway does not read from the PLC — this is a mode where an external system pushes to the gateway.

NotationMeaning
<area>/<key>Free-form identifier — matched against the path sent by the external system

POST body example:

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

format / 데이터 타입 are simple storage metadata. The PLC address is an arbitrary key — name it freely according to the key the external system pushes.

Details: HTTP push


9. Motor Sense — MOTOR_SENSE driver (via OPC-UA)

Receives KOPENS Motor Sense devices over OPC-UA. Discovered automatically per asset.

KindAuto-filled PLC address
HEALTH INDEX<ASSET_ID>.health.<metric>
SIGNAL<ASSET_ID>.signal.<metric>

Manual entry is normally unnecessary — assets are discovered automatically.

Details: Motor Sense


10. OMRON FINS — FINS driver

Memory areas

LetterArea
DDM (Data Memory) — most common
HHolding Relay
WWork Area
AAuxiliary
T / CTimer / Counter
CIOCore I/O

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)D100
32-bit signedIntegerDWD100
FloatFloatREALD100
BitBoolean(empty)H0.05 (bit 5 of word 0)

Network/Node/Unit options — routing information in the FINS header (SA1 / DA1, etc.). Configure according to the PLC manual.


11. PANASONIC MEWTOCOL — MEWTOCOL driver

Memory areas

LetterArea
DTData Register
RInternal Relay
X / YInput / Output
T / CTimer / Counter

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)DT0
32-bit signedIntegerDWDT0
BitBoolean(empty)R0.0

12. FATEK FACON — FATEK driver

Memory areas

LetterArea
RRegister (Word)
M / Y / XMemory / Output / Input (Bit)
DDiscrete

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)R0
BitBoolean(empty)M0, Y10

13. GE SRTP — GE driver

Memory areas (GE Fanuc / Emerson PACSystems)

LetterArea
RRegister
AI / AQAnalog Input / Output
I / QDiscrete Input / Output
MInternal

Notation examples

DataTypeformatAddress example
16-bit signedInteger(empty)R1
32-bit signedIntegerDWR1
FloatFloatREALR1
DiscreteBoolean(empty)I1

14. EMERSON DELTAV — DELTAV driver (planned)

DeltaV DST (Data Service Tag) or I/O reference notation:

NotationMeaning
MODULE/PARAMETER.FIELDe.g. MOD01/AI1.PV

Before the official driver is implemented — going through an OPC-UA or OPC-DA gateway (Kepware) is recommended.


15. AB EtherNet (PLC-5 / SLC-500) — AB-ETH driver

Same as the PLC-5/SLC-500 notation section in 7. EIP / Logix:

AreaNotation
WordN7:0
FloatF8:0
BitB3:0/0
OutputO:0/0
InputI:0/0

16. Beckhoff TwinCAT/ADS — ADS driver (planned)

TwinCAT variable name notation (symbol-based):

DataNotation example
VariableMAIN.PumpSpeed
ArrayMAIN.Tanks[5].Level
StructGVL.Recipe.Name

Additional NetID + Port options (usually 851 for PLC1).


17. PROFINET — PROFINET driver (planned)

Slot/Subslot-based notation for Siemens / generic Profinet IO:

NotationMeaning
<slot>/<subslot>/<index>e.g. 1/1/0

A real-time control protocol — the gateway will support non-real-time reads only.


18. CANopen — CANOPEN driver (planned)

CANopen OD (Object Dictionary) notation:

NotationMeaning
<index>:<sub>e.g. 0x6041:0 (Statusword)

Requires a CAN bus interface card (USB-CAN / PCIe-CAN).


19. BACnet/IP — BACNET driver (planned)

BACnet object notation:

NotationMeaning
<object-type>:<instance>.<property>e.g. analog-input:1.present-value
Object typesanalog-input / analog-output / analog-value / binary-input / binary-output / binary-value / multi-state-*

Building automation / HVAC / lighting domain.


20. KNXnet/IP — KNXNET driver (planned)

KNX Group Address (3-level) notation:

NotationMeaning
<main>/<middle>/<sub>e.g. 1/0/5 (lighting channel 5)
DPT (Data Point Type)DPT_Switch / DPT_Value_Temp, etc.

Building automation standard (mainly EU).


21. Open Protocol (Atlas Copco) — OP driver

Based on tightening (screwdriver / torque controller) result messages:

NotationMeaning
MID:<msg-id>.<param>e.g. MID:0061.tightening_id (tightening result ID)
Common MIDs0001 (communication start) / 0030 (parameter set) / 0061 (tightening result)

Specialized for line tightening / assembly processes — interfaces with a controller, not a PLC.


22. format options — combined table for all drivers

Values commonly entered in the format helper field of the registration form. Support varies by driver:

formatMeaningSupporting drivers
(empty)16-bit signed integer (default for most)All
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)All
LREAL64-bit doubleLS / S7
STR[N]String of N words / N bytesLS (words) / Melsec / S7 / Modbus
BIN[N]Extract bit N of a wordLS
X or BITBit (synonym for Boolean)LS / Modbus

If the option does not match exactly, matching is done case-insensitively and with whitespace removed. dw / Dw / D W are all recognized as DW.


23. Common pitfalls — applies to all drivers

SymptomCause / resolution
A 32-bit value shows a completely different numberformat left empty → interpreted as 16-bit. Specify DW or REAL
Floating-point value is 0 or NaNByte order (endianness) issue. Try REAL_BS (byte-swap) or the fomula swap32
A bit is always falseBit notation used on a word area (D) — use a bit area (M/B/coil:) or BIN[N]
Garbled string charactersDifference between low-byte-first and high-byte-first. LS handles this automatically; S7 STRING includes a header — get the STR[N] length exactly right
Wrong device code (Melsec)controller-type set incorrectly for Q/L vs iQ-R. Change it on the form and restart OPC
BadTypeMismatch (OPC-UA)The registered data type differs from the server node type. Match it to the server-side type
connection refused (S7)Wrong rack / slot. Verify the exact values in TIA Portal
All tags read 0The address area is correct but the PLC is not publishing that address. Check the PLC program logic that writes values to that memory

24. Learn more