Use
NModbus[
^]
See:
http://www.mesta-automation.com/modbus-with-c-sharp-libraries-examples/[
^].
But you need to see something clear: Modbus/TCP works over TCP/IP, Modbus/RTU works over serial protocols like RS232 and RS485. You can't just mix them. If the digi module is no modbus gateway, it won't work. As I see, the Digi module could be programmed to be a gateway, but do you really want this?
You need to implement on the Digi Modbus/TCP Slave (not master) + Modbus/RTU Master, and Modbus/RTU slave on the PIC - if the PC software will poll the PIC.
However, you could end up much cheaper with a ready-made device. Like this one:
http://www.moxa.com/product/MGate_MB3180_3280_3480.htm[
^]. Or even cheaper with these:
http://www.shjelectronic.com/EthernetModules.htm[
^]
Even Digi has it's own gateway:
http://www.digi.com/products/serial-servers/industrial-hardened-serial-servers/digioneia[
^]
Of course, if this is your desire, go on, and program the Digi. You can implement both Modbus/RTU and Modbus/TCP stacks on it. As the device can host Embedded linux... you could start from this one:
http://mbus.sourceforge.net/[
^], but could be others out there ready to run.
From protocol's point of view you can read all registers at once, if you want. Don't try to reinvent the wheel, as Modbus is a quite old and widely used industry standard pack. Many things are supporting it, but if you try to add your own fancy things, it won't be compliant anymore, and you will struggle in the future.
For testing you can use the "standard"
Modscan32[
^] - but it's not worth the price (sorry folks) -, better simply implement your with NModbus.
On the other hand, you don't need Modbus/TCP at all, because you can implement higher level services on the ethernet side. If you strictly need industrial standards, implement OPC UA. If not, put a REST API in place. Far simpler to implement, and to adapt - if the goal is non generic data acquisition.