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 |
|
Comm Channel |
Serial RTU | |
|
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 |
|
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.