Modicon Driver Addressing

The allowable range of addresses is dependent upon the device with which you are communicating. For example, a PLC may only have 500 holding registers, and thus it can only address either 40001 through 40501, OR 400001 through 400501 (whichever you prefer), even though the protocol allows for addresses much higher than this.

The table below identifies the value ranges for Modicon outputs, inputs, input registers, and holding registers.

 

I/O Type

Text Prefix

5 digit address

6 digit address

Holding Coil

HC1 - HC65536

00001 – 09999

000001 – 065535

Input Coil

IC1 - IC56636

10001 – 19999

100001 – 165535

Input Registers

IR1 - IR65536

30001 – 39999

300001 – 365535

Holding Registers

HR1 - HR65536

40001 – 49999

400001 – 465535

Data Logger

DL1:1 – DL16:8

 

 

Note: when using numeric addressing, the leading digit is significant as it determines the I/O type.  Any 4 digit numeric address will be used as a Holding Coil address.

Existing applications may have been configured using the text prefix addresses such that they were 0-based, i.e. the first holding coil was at HC0.  To permit old applications to work correctly, a config.INI flag (ModiconTypedAddr1Offset) has been introduced that sets the base for text prefix addresses.  The flag will default to 0-based (flag is TRUE) for all existing apps, but any new app will be 1-based (flag is FALSE).

Bit Addressing

An individual bit in a register (either an Input Register or a Holding Coil) may be read or written (for Holding Coils) by appending the address with "/x" where x has a value from 0 to 15 and indicates which bit is to be used.  For writes, a read\modify\write cycle is used on the register as the Modicon protocol does not have a bit operation function.

 

Float Addressing

If required, you can use floating point addressing with VTS. The process will require an adjustment to the way the address is provided in order to reach the correct register. 

Modicon registers are 16 bits wide.  In order to get a float address you will need to read 2 sequential registers to get 32 bits.  To do this, you will need to know the lowest register address of the pair.  Note that this may be odd or even and differs by device. 

The address will be formed by entering the lowest address of the pair with the suffix of /FLOAT. e.g. IR9/FLOAT will read the register pair at IR9 and 10, and return the combined value as a float. 

Note that driver options determine how the 4 bytes in the combined register pair are ordered to form the float as this will differ by device.

 

 

Modicon Driver Addressing: Modicon Driver Tag Properties

Modicon Driver Tag Properties Folder Tab

Property

Value

Options Tab

Comm Channel

Serial RTU

Serial Tab

PLC Address

1

Serial Tab

Time-Out Limit

0.5 (Make it shorter if Scan Interval is going to be very short)

Serial Tab

Port

COM2 (name of Serial Port tag)

Serial Tab

Retry Delay

0

Serial Tab

Hold

deselected

Serial Tab

Retries

2

Serial Tab

RTS Key Off Delay

0

Modicon Driver Addressing: Serial Port Tag Properties

Serial Port Tag Properties Folder Tab

Property

Value

Settings Tab

Port Number

2

Settings Tab

Data Bits

8

Settings Tab

Stop Bits

1

Settings Tab

Baud Rate

9600

Settings Tab

Parity

No Parity

Settings Tab

Echo

deselected

Settings Tab

RTS Keying

deselected

Settings Tab

Key Up Delay

0.1

Note: For a list of all available data type suffixes that can be used for tag I/O addresses, please refer to Data Type Suffixes for Tag I/O Addresses.