Skip to main content

PLC Address Input Reference

This is a reference that consolidates, by protocol, the PLC address and data type / format fields that are most often a source of confusion on the tag registration screen. Detailed guides for each PLC are linked to the respective page in the PLC Protocol Guides.


1. Common — The 4 Fields on the Registration Form​

On the tag registration screen (Tag Registration), the 4 fields you enter along with the PLC address are:

FieldMeaningExample
PLC AddressThe raw address the driver sends to the PLCD00309 (LS), D100 (Melsec), DB1.DBW0 (S7)
Data TypeThe type Java/JS will receiveInteger / Long / Float / Double / String / Boolean
format (format helper)Option to interpret the same address differentlyDW / UI / REAL / STR[10] / BIN[3], etc.
Calculation FormulaThe arithmetic to apply after reading${VALUE}*0.1 / sqrt(${VALUE})

💡 format is key: The same PLC address can be interpreted as 16-bit / 32-bit / float / string / bit. If you leave format blank, it is assumed to be a 16-bit signed integer (this is the default for most drivers).


2. LS XGT (XGI / XBC / XBM) — LS Driver​

Memory Area​

LetterAreaCommon Usage
DData Register✅ Data (most common)
MMemory (bit)✅ Status bit
KKeep Relay (non-volatile)✅ Power-fail retention
FFlagSystem bit
TTimerTimer current value
CCounterCounter current value
RFile Register(depends on series)
PI/OExternal input/output

Notation Examples​

PLC ValueData TypeformatAddress ExampleRemarks
16-bit signedInteger(blank)D00309default
16-bit unsignedIntegerUI or UWD003000–65535
32-bit signedIntegerDWD00600D00600~D00601
32-bit unsignedLongUDW or DUWD006900–4_294_967_295
64-bit signedLong(blank + dt=Long)D00700D00700~D00703
32-bit floatFloatREALD00450IEEE 754
64-bit doubleDoubleLREALD00500IEEE 754
Bit (M/K/F/T/C/P)Boolean(blank)M02704bit area
N-th bit of a wordBooleanBIN[N]D00309 (BIN[3])bit 3
String of N words (= 2N chars)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 Area​

The devices this driver can read and write are the following:

LetterAreaUnitCommon Usage
DData Registerword✅ Most common
MInternal Relaybit✅
BLink Relaybit✅
X / YInput / OutputbitI/O
WLink Registerword
RFile Registerword
T / CTimer / Counterwordcurrent value
LLatch Relaybit
FAnnunciatorbitalarm
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. Attempting to register them as tags will result in a read failure. If you need system status values, copy them to the D area within your PLC program and read that address instead.

Notation Examples​

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

⚠ There is a Controller Type (controller-type) option on the registration form — the device code differs between Q/L and iQ-R series. If set incorrectly, Wrong device code.

Details: Mitsubishi MELSEC


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

Memory Area​

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(blank)DB1.DBW0
32-bit signedIntegerDWDB1.DBD0
32-bit floatFloatREALDB1.DBD4
BitBoolean(blank)DB1.DBX0.0 (bit 0 of byte 0 in DB1)
StringStringSTR[N]DB1.DBB0 (includes S7 STRING header)

⚠ rack / slot option — The PLC's Rack / Slot numbers from TIA Portal (usually 0/1 or 0/2). If set incorrectly, you will get connection refused.

Details: Siemens S7


5. Modbus TCP — MODBUS Driver​

Area / Function Code​

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(blank)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(depending on driver option)
BitBoolean(blank)coil:5
Input bit (read-only)Boolean(blank)discrete-input:0
Address base — 1 or 0?

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

Details: Modbus TCP


6. OPC-UA — OPCUA Driver​

NodeId Notation​

OPC-UA is identified by NodeId — the standard format:

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

Notation Examples​

ServerNodeIdRemarks
Kepwarens=2;s=Channel1.Device1.Tag1channel.device.tag
Ignitionns=1;s=[default]Tag1/Subtag path
PlantPulse's own OPC-UA serverns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042site.opc.tag
Numeric IDns=2;i=1234numeric ID

Data Types​

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

Server Node TypeWhen Registeringformat
Int16 / Int32 / Int64Integer / Long(blank)
Float / DoubleFloat / Double(blank)
BooleanBoolean(blank)
StringString(blank)

Details: OPC-UA


7. AB EtherNet/IP / Logix — EIP / LOGIX Driver​

Notation (Based on Logix Tag Names — Symbol Addressing)​

ControlLogix / CompactLogix are accessed directly by tag name:

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

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

The AB-ETH card uses a different form:

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

backplane / slot option — Which slot the PLC is in. 1 (CPU) is common.

Details: AB EtherNet/IP


8. HTTP Push — HTTP Driver (Reverse)​

The gateway does not read the PLC — this is a mode where external sources push data to the gateway.

NotationMeaning
<area>/<key>Free identifier — matched against the path that external sources send

POST body example:

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

format / 데이터 타입 are just storage metadata. The PLC address is an arbitrary key — you can name it freely based on what key external sources push with.

Details: HTTP Push


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

Receives KOPENS Motor Sense devices via OPC-UA. Automatically discovers them on an asset basis.

TypePLC Address Automatically Filled In
HEALTH INDEX<ASSET_ID>.health.<metric>
SIGNAL<ASSET_ID>.signal.<metric>

Manual input is generally not required — automatic asset discovery handles it.

Details: Motor Sense


10. OMRON FINS — FINS Driver​

Memory Area​

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

Notation Examples​

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

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


11. PANASONIC MEWTOCOL — MEWTOCOL Driver​

Memory Area​

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

Notation Examples​

DataTypeformatAddress Example
16-bit signedInteger(blank)DT0
32-bit signedIntegerDWDT0
BitBoolean(blank)R0.0

12. FATEK FACON — FATEK Driver​

Memory Area​

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

Notation Examples​

DataTypeformatAddress Example
16-bit signedInteger(blank)R0
BitBoolean(blank)M0, Y10

13. GE SRTP — GE Driver​

Memory Area (GE Fanuc / Emerson PACSystems)​

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

Notation Examples​

DataTypeformatAddress Example
16-bit signedInteger(blank)R1
32-bit signedIntegerDWR1
FloatFloatREALR1
DiscreteBoolean(blank)I1

14. EMERSON DELTAV — DELTAV Driver (Planned)​

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

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

Prior to a full driver implementation — we recommend using an OPC-UA or OPC-DA gateway (Kepware).


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

Use the PLC-5/SLC-500 notation section from 7. EIP / Logix as is:

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 options: NetID + Port (usually 851 for PLC1).


17. PROFINET — PROFINET Driver (Planned)​

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

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

Real-time control protocol — the gateway is planned to support only non-real-time reads.


18. CANopen — CANOPEN Driver (Planned)​

CANopen's 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(union communication) / 0030(parameter set) / 0061(tightening result)

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


22. format Options — Integrated Table for All Drivers​

The values commonly entered in the format helper field on the registration form. Support varies by driver:

formatMeaningSupported Drivers
(blank)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]N-word / N-byte stringLS (word) / Melsec / S7 / Modbus
BIN[N]Extract N-th bit of a wordLS
X or BITBit (Boolean synonym)LS / Modbus

If the option doesn't match exactly, matching is done case-insensitively and after removing spaces. dw / Dw / D W are all recognized as DW.


23. Common Pitfalls — Applicable to All Drivers​

SymptomCause / Solution
32-bit value is a completely different numberformat blank → interpreted as 16-bit. Specify DW or REAL
Float is 0 or NaNbyte order (endianness) issue. Try REAL_BS (byte-swap) or formula swap32
Bit is always falsebit notation in a word area (D) — use a bit area (M/B/coil:) or BIN[N]
String characters are garbledlow-byte-first vs high-byte-first difference. LS handles it automatically, S7 STRING includes a header — specify STR[N] length accurately
Wrong device code (Melsec)controller-type is set incorrectly for Q/L vs iQ-R. Change it in the form and restart OPC
BadTypeMismatch (OPC-UA)The registered data type doesn't match the server node type. Match it to the server-side type
connection refused (S7)Incorrect rack / slot. Confirm the exact values in TIA Portal
All tags read 0The address area is correct, but the PLC is not exporting that address. Check the PLC program logic that writes a value to that memory

24. Further Reading​