# Reading Modbus Register List on OPC Tags

**URL:** <https://forum.inductiveautomation.com/t/reading-modbus-register-list-on-opc-tags/71297>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [March 20, 2023, 7:43am UTC](https://forum.inductiveautomation.com/t/reading-modbus-register-list-on-opc-tags/71297 "2023-03-20T07:43:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![berkay.cinar](https://avatars.discourse-cdn.com/v4/letter/b/b9bd4f/32.png) [@berkay.cinar](https://forum.inductiveautomation.com/u/berkay.cinar)\
**Post date:** [March 20, 2023, 7:43am UTC](https://forum.inductiveautomation.com/t/reading-modbus-register-list-on-opc-tags/71297/1 "2023-03-20T07:43:09Z")

</div>

Hello everybody,

I have a energy analyzer connected to the machine from which I want to read values via ignition OPC.  
It is connected via modbus and register list below. I have checked the modbus adressing but I am a bit confused and not sure I am reading correctly. Could you help me how to read these?  
BR,  
Berkay

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/6/46879979e4978c66bb1dfe63ebec541099977ad5.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 20, 2023, 10:34am UTC](https://forum.inductiveautomation.com/t/reading-modbus-register-list-on-opc-tags/71297/2 "2023-03-20T10:34:54Z")

</div>

I would say that doc is bogus/broken. It shows function code 0x10 for read-only values. Function code 0x10 is used to **write** to holding registers. They've also written "Unit" where "UInt" was intended.

Aside from that, it appears to be a fairly normal "zero-based" setup. All of these would use variations of the `HR` prefix, and use the decimal start address column as the offset. The prefix variation would be chosen to match the data type. `HRUS` for UInt16, `HRUI` for UInt32, and `HRUI_64` for Uint64. Like so:

- `HRUS61448`
- `HRUI_6461449`
- `HRUI61465`

You would then use linear scaling from integer to double in Ignition's tag configuration to apply the engineering unit definitions where needed.
