MOXA Controller ioLogik2500 data transfer via MODBUS TCP/IP

My primary objective is to retrieve the field data collected by the Installed Moxa ioLogik2500 RTU in the field. I do not require any logic implementation or mathematical functions (except scaling) on this collected data. My sole requirement is to obtain the raw field data, convert it to engineering units, and transmit it to the Master PLC via Modbus TCP.
So based on my understanding from user manuals provided by MOXA, the data from all types of inputs and outputs are already mapped onto predefined Modbus registers, which are displayed in the IOxpress Modbus TCP Slave window as shown in picture attached. The starting address of these registers is editable, and the reference address indicates the range of addresses. Between the start address and the reference address, I can place my data. Therefore, to fetch data from the Moxa ioLogik2500, users need to directly access these aforementioned registers from the Master PLC via Modbus TCP/IP. Consequently, they will receive the data recorded by input/output channels without any need of Click & Go programming. However, the Network configuration and settings will be done as prerequisites.
I seek clarity on whether our approach is correct. If not, I would appreciate guidance on the correct method to achieve our target
 

Attachments

> Between the start address and the reference address, I can place my data.

I've never used this unit, but that assessment doesn't appear correct.

Take the No 6 internal register on your attached table. It is assoicated with a physical slot no, designated as a Holding Register, where 03 refers to the Modbus Function Code 03.

The start address 500 decimal is a zero based address, and the corresonding (4)0501 address is a decimal one-based address using the memory area (4) to indicate a Holding Register.

Both addresses reference exactly the same (start) register (in a Modbus message either would be hex address 1F4), but Modbus client/masters use different modes or means for humans to specify a register:
- somtimes zero based decimal: 500
- sometimes memory area one-based: (4)0501
- sometimes zero based hexadecimal: 0x1F4

So your statement that you can place data between the start address and reference address doesn't compute because they are different terms for the same register.

Additional values would reside in registers above the start register.
500, 501, 502
(4)0501, (4)0502, (4)0503
0x1F4, 0x1F5, 0x1F6

I would suspect that the device's physical I/O ports are mapped by default to the appropriate start register and the successive higher registers according to the point location on the module/card , but I didn't read the manual enough to confirm that.
 
Thank you so much for our words. Your response is very helpful for my understanding. Will you please help me more by looking into the following sceenshot attached ,the snap contain all the information the Moxa Manual have, about ModBus TCP Slave operation.
 

Attachments

I would summarize that the statement in post #3 by saying that, the variables can be custom mapped in Modbus registers.

But there are no specifics. Probably because the specifics of custom mapping are associated with the software development tool used for that purpose which appears to be Click nGo.
 
Top