### Variable address range

#### IEC variable address range

The following table lists the equipment variable address range if you have selected the IEC61131 Syntax.

Device | Bit Address | Word address | 32 bits | Remarks
--- | --- | --- | --- | ---
%KW | %KW00000:X00 - %KW65535:X15 | %KW00000 - %KW65535 | or *1 | *2
%MD | ------ | %MD00000 - %MD65534 |
%MF | ------ | %MF00000 - %MF65534 |
%M | %M00000 - %M65535 | ------ |
%MW | %MW00000:X00 - %MW65535:X15 | %MW00000 - %MW65535 |
%S | %S000 - %S000 | ------ | *5 *6
%SW | %SW000:X00 - %SW999:X15 | %SW000 - %SW999 |

*1You can set the data storing order in 32-bit data word units and 64-bit data double-word units in the Device Setting dialog box.

*2Write disable

*5Read/Write, depending on the bit/word number.

*6To fit with equipment variable coding, the most significant byte could be chosen by the software.

NOTE

- When the [Base Address] check box is selected for a 8-bit data type array or structure, and a %MW or %KW address is specified as the device address, the bottom byte and top byte of consecutive addresses is allocated to each element.
  Example: BYTE type array Var1
  Var1[0]...%MW1:X0
  Var1[1]...%MW1:X8
  Var1[2]...%MW2:X0

#### Non IEC variable address range

The following table lists the equipment variable address range if you haven't selected the IEC 61131 Syntax.

Device | Bit Address | Word address | 32 bits | Remarks
--- | --- | --- | --- | ---
Coils (C) | 00001 - 65536 | ------ | or *1 |
Discrete Inputs | 10001 - 165536 | ------ | *2 *3
Single word Input Registers | 30001,00 - 365536,15 | 30001 - 365536 | *2
Single word Holding Registers | 40001,00 - 465536,15 | 40001 - 465536 | *3
Double word Input Registers | 30001,00 - 365536,15 | 30001 - 365536 | *2
Double word Holding Registers | 40001,00 - 465536,15 | 40001 - 465536 |

*1You can set the data storing order in 32-bit data word units and 64-bit data double-word units in the Device Setting dialog box.

*2Write disable

*3When you write to the bit address, the Display reads the entire word, sets the defined bit, then returns the new word value to the External Device. If the ladder program writes data to this word address during the bit write process, the resulting data may be incorrect.

#### IEC equivalents

The following table gives the equivalents between the Modbus syntax and the IEC61131 syntax.

Device | MODBUS Syntax | IEC61131 Syntax
--- | --- | ---
Format | Range | First element | Format | Range | First element
Internal coils and Output coils | 00001+i | i = 0 to 65535 | 00001*1 | %Mi | i = 0 to 65535 | %M0
Holding register (word) | 40001+i | i = 0 to 65535 | 40001 | %MWi | i = 0 to 65535 | %MW0
Holding register (word bit) | 40001+i,j*2 | i = 0 to 65535 j = 0 to 15 | 40001,0 | %MWi:Xj | i = 0 to 65535 j = 0 to 15 | %MW0:X0
Holding register (double word) | 40001+i | i = 0 to 65534 | 40001 | %MDi | i = 0 to 65534 | %MD0
Holding Register (float) | 40001+i | i = 0 to 65534 | 40001 | %MFi | i = 0 to 65534 | %MF0
Holding register (string) | 40001+i | i = 0 to k*3 | 40001 | %MWi | i = 0 to k*3 | %MW0

*1Leading zeros "00001" must be preserved.

*2j is a bit index with the following convention: 0 for the least significant bit and 15 for the most significant bit.

*3k is equal to 65535 - string length / 2 rounded to the upper value For instance with a 11 characters string we've got 65535 - 6 = 65529.

NOTE

- The addresses 100000 and 300000 cannot be accessed using IEC61131 syntax. Also, non-IEC syntax cannot access memory areas %K, and %S.

- Please refer to the precautions on manual notation for icons in the table.
  Supported Devices Symbol and Terms

#### IEC61131 Syntax Address Mapping

Address mapping in BLUE is as follows. %MD and %MF use two sequential words form the specified address. The %KW, %KD, and %KF are mapped similarly.

#### Supported Function Codes

The supported function code list is shown below.

Function Code (Hex) | Description
FC01(0x01) | Read the ON/OFF status of the slave coil (0X).
FC02(0x02) | Read the ON/OFF status of the slave discrete input (1X).
FC03(0x03) | Read the description of the slave holding register (4X).
FC04(0x04) | Read the description of the slave input register (3X).
FC05(0x05) | Change (Write) the slave coil (0X) status to either ON or OFF.
FC06(0x06) | Change (write) the description of the slave holding register (4X).
FC15(0x0F) | Change (Write) the slave consecutive multiple coils (0X) status to either ON or OFF.
FC16(0x10) | Change (write) the descriptions of the slave consecutive multiple holding registers (4X).

NOTE

- FC15/FC16 are used for writing. FC05/FC06 are used for the External Devices that do not support the function codes mentioned on the left.