RIO-EMU Modbus csv for Ignition and other Modbus master software

If you need to access your RIO-EMU power and energy data via ModbusTCP in Ignition, Ignition EDGE or using some other Modbus TCP master software application, here are the required steps and some attached csv files to import to get up and running very smoothly.

For Ignition

Follow the numbers from the image:

  1. Select the Device Configuration from the Config menu. Add a new Modbus TCP driver type from the list.
    When you add that new device, check the following settings.

  2. Be sure and give the ModbusTCP device a name.

  3. You can enter the IP address or host name of the RIO-EMU

  4. In the advanced settings, the only extra thing you need to do it put a check in the Zero Based Addressing.

Once you click save, use the drop down menu to go to the addressing then import the attached csv file (unzip it after you save it from this forum post).
All 64 channels of data will available for you to pick and chose from.

Here is a break down of a random line from the CSV file for Ignition or Ignition EDGE:

phB_18,0,0,true,21,HoldingRegisterFloat,576

phB_18 is the phase name and 18 is the data point number. Ignition needs a short tag called a ‘Prefix’, so In this case, point 18 is the phase B voltage. (The data point numbers can be found in the I/O list of groov Manage).

Next we have 0,0, (two zeros). This is used in Ignition to tell it how many registers to get with the one read, 0,0 means one.

True, is a required parameter for Ignition called ‘Step’, it tells the module to use two adjoining registers to get the float value.

21 is the device or unit ID. Modbus is very limited in how many registers can be read from the one device (back in the late 1970’s when the protocol came to be, devices were a lot more simple), so to get around this, we have different device ID’s in the same IP address.

HoldingRegisterFloat is the type of Modbus register.

576 is finally the Modbus register address. Each data point has a unique register address.

Here is the CSV file for using in Igntion:
RIO-EMU-Ignition-Modbus.zip (549 Bytes)

For other Modbus TCP software

The second file attached to this post is for non-Ignition users.
In this case we simply have a longer tag name and the Modbus register address for that RIO EMU data value.

Here is the same line out of the file to show what you can expect from this file:

phB_18_Voltage,576

At the top of this file is the reminder to use device ID of 21 for all these registers.

Here is the CSV file for using in any (non-Ignition) Modbus Master software:
RIO-EMU-Modbus.zip (727 Bytes)

Tips for using EPIC Power Module with either file.

If you are using the groov EPIC Power Module, you can still use either of these files.

You simply need to take the register value in the CSV and add 2048 and multiply by the modules rack position.
So lets say you want phase B volts from your EPIC power module in slot 2.
From either of the two file examples, phase B volts has the register address of 576.
Your new Modbus register is 576 + 2048 * 2 = 4672. (Note, its still device ID 21).
Also note, if you are using an EPIC power module in position zero, no changes to the register addresses are required.

With this new register number and the device ID, you can be up and running very quickly with pretty much any Modbus TCP master software application (even Codesys or Node-RED!!!)

4 Likes