---
title: Tag Address Translator Syntax
slug: solutions/tag-address-translator-syntax
docTags: 
createdAt: 2026-03-09T16:30:30.031Z
---

When using the [Tag Address Translation](docId\:ZW6smUCz3PRv3HZW4uWYL) functionality, users can provide a common string expression of a tag address which are typically use by the tools used to program the PLC such as Siemens TIA Portal or PCWin.

Currently the Tool supports Tag Address Translation for these drivers:

- Siemens S7
- All ModBus Drivers
- Toyopuc Ethernet

# Supported Tag Address String formats

## Siemens S7

| **Supported Register Types** | **Syntax**                           |
| ---------------------------- | ------------------------------------ |
| I                            | I\<DataType>\<Address>               |
| Q                            | Q\<DataType>\<Address>               |
| M                            | M\<DataType>\<Address>               |
| DB                           | DB\<DB Number>.\<DataType>\<Address> |

### Siemens Addressing Syntax

| **Data Typ**  | **Syntax&#x20;**<br />(\<DataType>\<Address>)                       | **Data Type**       |
| ------------- | ------------------------------------------------------------------- | ------------------- |
| B<br />Byte   | B0-B65535<br />BYTE0-BYTE65535                                      | **byte**,char,sint  |
| C<br />Char   | C0-C65535<br />CHAR0-CHAR65535                                      | **char**,byte       |
| D<br />Dword  | D0-D65532<br />DWORD0-DWORD65532                                    | **dword**,dint,real |
| DI<br />Dint  | DI0-DI65532<br />DINT0-DINT65532                                    | **dword**,dint,real |
| I<br />Int    | I0-I65534<br />INT0-INT65534                                        | **sint**,word       |
| R<br />Real   | R0-R65532<br />REAL0-REAL65532                                      | real                |
| T<br />Time   | T0-T65532<br />TIME0-TIME65532                                      | time                |
| W<br />Word   | W0-W65534<br />WORD0-WORD65534                                      | **word**,int,uint   |
| X             | X0.b-X65534.b<br />.b is Bit Number 0-7                             | bit                 |
| S<br />String | S0.n-S65532.n<br />STRING0.n-STRING65532.n<br />.n is string length | string              |

:::hint{type="info"}
Data Types in **Bold&#x20;**&#x61;re the default data type.
:::

## ModBus

| **Primary Table** | **Description**    |
| ----------------- | ------------------ |
| 0                 | Output Coils       |
| 1                 | Input Coils        |
| 3                 | Internal Registers |
| 4                 | Holding Registers  |

### Modbus Addressing in Decimal Format

| **Address Type**   | **Range**                                                                   | **Data Type**                                                                 |
| ------------------ | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Output Coils       | '000001-'065536\*                                                           | bit                                                                           |
| Input Coils        | 100001-165536                                                               | bit                                                                           |
| Internal Registers | 300001-365536<br /><br /><br />300001.b-365536.b<br />.b is Bit Number 1-15 | **word**,int16,int32,int64,uint64,<br />float32,float64,string<br /><br />bit |
| Holding Registers  | 400001-465536<br /><br /><br />400001.b-465536.b<br />.b is Bit Number 1-15 | **word**,int16,int32,int64,uint64,<br />float32,float64,string<br /><br />bit |

:::hint{type="info"}
\*
Because Excel doesn't resepct leading "0" for a number value, OutPut Coils need to include a leading "'" (Apostrophe) when using the Decimal Format.

Example:
Will not work: 065536
Will work: '065536
:::

### Modbus Addressing in Alternative Format

| **Address Type**   | **Range**                                                               | **Data Type**                                                                 |
| ------------------ | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Output Coils       | HC1-HC65536                                                             | bit                                                                           |
| Input Coils        | IC1-IC65536                                                             | bit                                                                           |
| Internal Registers | IR1-IR65536<br /><br /><br />IR1.b-IR65536.b<br />.b is Bit Number 1-15 | **word**,int16,int32,int64,uint64,<br />float32,float64,string<br /><br />bit |
| Holding Registers  | HR1-HR65536<br /><br /><br />HR1.b-HR65536.b<br />.b is Bit Number 1-15 | **word**,int16,int32,int64,uint64,<br />float32,float64,string<br /><br />bit |

### ModBus Addressing Enron Modbus specific

| **Address Type** | **Range**            | **Data Type**    |
| ---------------- | -------------------- | ---------------- |
| 1x               | 100-700<br />800-999 | bool             |
| 3x               | 3001-3999            | int16            |
| 5x               | 5001-5999            | **int32**,string |
| 7x               | 7001-65536           | float32          |
| Archive          | 701-799              | **bit**,JSON     |

:::hint{type="info"}
Data Types in **Bold&#x20;**&#x61;re the default data type.
:::

## Toyopuc Ethernet

| **Memory Type Family** | **Memory Type Members**                                                 | **Syntax**                  |
| ---------------------- | ----------------------------------------------------------------------- | --------------------------- |
| Common                 | EP, EK, EV, ET, EC, EL, EX, EY, EM, ES, EN, H, GX, GY, U, EB, GM, B, FR | \<Memory Type>\<Address>    |
| P1                     | X, Y, M, K, L, V, T, C, S, N, D, R, P                                   | P1-\<Memory Type>\<Address> |
| P2                     | X, Y, M, K, L, V, T, C, S, N, D, R, P                                   | P2-\<Memory Type>\<Address> |
| P3                     | X, Y, M, K, L, V, T, C, S, N, D, R, P                                   | P3-\<Memory Type>\<Address> |

Toyopuc&#x20;

| **Memory Type**                    | **Syntax**<br />(\<Memory Type>\<Address>)                                                                                                                                                                                                                                                      | **Data Type**                                                                                                                                            |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Specific Relay (V)                 | V00-VFF<br /><br />V0-VF<br /><br /><br />V0.n#-VE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />V0#-VFO#<br /># is byteOrder "L" or "H"<br /><br />V0W-VFW<br />W is special identifier for uint16                                                              | bit****<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16 |
| Edge Relay (P)                     | P000-P1FF<br /><br />P00-P1F<br /><br /><br />P00.n#-P1E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />P00#-P1F#<br /># is byteOrder "L" or "H"<br /><br />P00W-P1FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| I/O Relay (X)                      | X000-X7FF<br /><br />X00-X7F<br /><br /><br />X00.n#-X7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />X00#-X7F#<br /># is byteOrder "L" or "H"<br /><br />X00W-X7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| I/O Relay (Y)                      | Y000-Y7FF<br /><br />Y00-Y7F<br /><br /><br />Y00.n#-Y7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />Y00#-Y7F#<br /># is byteOrder "L" or "H"<br /><br />Y00W-Y7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Internal Relay (M)                 | M000-M7FF<br /><br />M00-M7F<br /><br /><br />M00.n#-M7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />M00#-M7F#<br /># is byteOrder "L" or "H"<br /><br />M00W-M7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Keeping Relay (K)                  | K000-K7FF<br /><br />K00-K7F<br /><br /><br />K00.n#-K7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />K00#-K7F#<br /># is byteOrder "L" or "H"<br /><br />K00W-K7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Link Relay (L)                     | L000-L7FF<br /><br />L00-L7F<br /><br /><br />L00.n#-L7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />L00#-L7F#<br /># is byteOrder "L" or "H"<br /><br />L00W-L7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Timer Bits (T)                     | T000-T7FF<br /><br />T00-T7F<br /><br /><br />T00.n#-T7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />T00#-T7F#<br /># is byteOrder "L" or "H"<br /><br />T00W-T7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Count Bits (C)                     | C000-C7FF<br /><br />C00-C7F<br /><br /><br />C00.n#-C7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />C00#-C7F#<br /># is byteOrder "L" or "H"<br /><br />C00W-C7FW<br />W is special identifier for uint16                                                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Present Value Register (N)         | N000.0-N1FF.F<br /><br />N000-N1FF<br /><br /><br />N000.n#-N1FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />N000#-N1FF#<br /># is byteOrder "L" or "H"<br /><br />N000W-N1FFW<br />W is special identifier for uint16                                         | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Specific Register (S)              | S000.0-S3FF.F<br /><br />S000-S3FF<br /><br /><br />S000.n#-S3FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />S000#-S3FF#<br /># is byteOrder "L" or "H"<br /><br />S000W-S3FFW<br />W is special identifier for uint16                                         | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Link Register (R)                  | R000.0-R7FF.F<br /><br />R000-R7FF<br /><br /><br />R000.n#-R7FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />R000#-R7FF#<br /># is byteOrder "L" or "H"<br /><br />R000W-R7FFW<br />W is special identifier for uint16                                         | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Data Register (D)                  | D0000.0-D2FFF.F<br /><br />D0000-D2FFF<br /><br /><br />D0000.n#-D2FFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />D0000#-D2FFF#<br /># is byteOrder "L" or "H"<br /><br />D0000W-D2FFFW<br />W is special identifier for uint16                               | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Setup Value Register (H)  | H0000-H7FFF<br /><br />H000-H7FF<br /><br /><br />H000.n#-H7FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />H000#-H7FF#<br /># is byteOrder "L" or "H"<br /><br />H000W-H7FFW<br />W is special identifier for uint16                                           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended I/O Relay (EX)            | EX000-EX7FF<br /><br />EX00-EX7F<br /><br /><br />EX00.n#-EX7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EX00#-EX7F#<br /># is byteOrder "L" or "H"<br /><br />EX00W-EX7FW<br />W is special identifier for uint16                                           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended I/O Relay (EY)            | EY000-EY7FF<br /><br />EY00-EY7F<br /><br /><br />EY00.n#-EY7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EY00#-EY7F#<br /># is byteOrder "L" or "H"<br /><br />EY00W-EY7FW<br />W is special identifier for uint16                                           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Counter Bits (EC)         | EC000-EC7FF<br /><br />EC00-EC7F<br /><br /><br />EC00.n#-EC7E.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EC00#-EC7F#<br /># is byteOrder "L" or "H"<br /><br />EC00W-EC7FW<br />W is special identifier for uint16                                           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Keep Relay (EK)           | EK000-EKFFF<br /><br />EK00-EKFF<br /><br /><br />EK00.n#-EKFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EK00#-EKFF#<br /># is byteOrder "L" or "H"<br /><br />EK00W-EKFFW<br />W is special identifier for uint16                                           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Edge Direction (EP)       | EP000-EPFFF<br /><br />EP00-EPFF<br /><br /><br />EP00.n#-EPFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EP00#-EPFF#<br /># is byteOrder "L" or "H"<br /><br />EP00W-EPFFW<br />W is special identifier for uint16                                           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Link Relay (EL)           | EL0000-EL1FFF<br /><br />EL000-EL1FF<br /><br /><br />EL000.n#-EL1FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EL000#-EL1FF#<br /># is byteOrder "L" or "H"<br /><br />EL000W-EL1FFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Internal Relay (EM)       | EM0000-EM3FFF<br /><br />EM000-EM3FF<br /><br /><br />EM000.n#-EM3FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EM000#-EM3FF#<br /># is byteOrder "L" or "H"<br /><br />EM000W-EM3FFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Special Relay (EV)        | EV0000-EV3FFF<br /><br />EV000-EV3FF<br /><br /><br />EV000.n#-EV3FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EV000#-EV3FF#<br /># is byteOrder "L" or "H"<br /><br />EV000W-EV3FFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Timer/Counter Value (EN)  | EN0000-EN7FFF<br /><br />EN000-EN7FF<br /><br /><br />EN000.n#-EN7FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EN000#-EN7FF#<br /># is byteOrder "L" or "H"<br /><br />EN000W-EN7FFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Special Register (ES)     | ES0000-ES7FFF<br /><br />ES000-ES7FF<br /><br /><br />ES000.n#-ES7FE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />ES000#-ES7FF#<br /># is byteOrder "L" or "H"<br /><br />ES000W-ES7FFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Input Relay (GX)          | GX0000-GXFFFF<br /><br />GX000-GXFFF<br /><br /><br />GX000.n#-GXFFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />GX000#-GXFFF#<br /># is byteOrder "L" or "H"<br /><br />GX000W-GXFFFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Output Relay (GY)         | GY0000-GYFFFF<br /><br />GY000-GYFFF<br /><br /><br />GY000.n#-GYFFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />GY000#-GYFFF#<br /># is byteOrder "L" or "H"<br /><br />GY000W-GYFFFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Internal Relay (GM)       | GM0000-GMFFFF<br /><br />GM000-GMFFF<br /><br /><br />GM000.n#-GMFFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />GM000#-GMFFF#<br /># is byteOrder "L" or "H"<br /><br />GM000W-GMFFFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| File Register (B)                  | B00000-B1FFFF<br /><br />B0000-B1FFF<br /><br /><br />B0000.n#-B1FFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />B0000#-B1FFF#<br /># is byteOrder "L" or "H"<br /><br />B0000W-B1FFFW<br />W is special identifier for uint16                                 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Data Register (U)         | U00000.0-U1FFFF.F<br /><br />U00000-U1FFFF<br /><br /><br />U00000.n#-U1FFFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />U00000#-U1FFFF#<br /># is byteOrder "L" or "H"<br /><br />U00000W-U1FFFFW<br />W is special identifier for uint16                     | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Flash Register (FR)       | FR000000.0-FR1FFFFF.F<br /><br />FR000000-FR1FFFFF<br /><br /><br />FR000000.n#-FR1FFFFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />FR000000#-FR1FFFFF#<br /># is byteOrder "L" or "H"<br /><br />FR000000W-FR1FFFFFW<br />W is special identifier for uint16 | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |
| Extended Buffer Register (EB)      | EB00000.0-EB3FFFF.F<br /><br />EB00000-EB3FFFF<br /><br /><br />EB00000.n#-EB3FFFE.n#<br />.n is string length 1-1023<br /># is byteOrder "L" or "H"<br /><br />EB00000#-EB3FFFF#<br /># is byteOrder "L" or "H"<br /><br />EB00000W-EB3FFFFW<br />W is special identifier for uint16           | bit<br />****<br />**uint16**,uint32,uint64,int16,int32,int64,float32,float64<br /><br />string<br /><br /><br /><br />uint8<br /><br /><br />uint16     |

:::hint{type="info"}
Data Types in **Bold&#x20;**&#x61;re the default data type.
:::

