# Read a series of Modbus Registers into an Integer array?

**URL:** <https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739>\
**Category:** Ignition\
**Created:** [January 6, 2022, 5:24pm UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739 "2022-01-06T17:24:23Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nick\_Dacek](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@Nick\_Dacek](https://forum.inductiveautomation.com/u/Nick_Dacek)\
**Post date:** [January 6, 2022, 5:24pm UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/1 "2022-01-06T17:24:23Z")

</div>

Hey Guys,

I’m missing something here. I have comms to a PID controller working over RS485 serial, using Ignitions built in Serial module. Works well. But I know I’m missing something here  
I have a table of Temperature setpoints. I followed the tutorial on manually addressing tags (which seems to have moved!) anyways. I can read individual temperatures and get feedback

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/a/da9749db7950db88a223cde4515cb2b524a8e6e5.png)

If i switch to integer array, or any style array for that matter, using this syntax  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/e/ce5ba93b4d6907819c3cc25b9ab3c7eb101cdeba.png)  
All I get is what seems to be a binary array?  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/8/a862beee2c9dabd3ecd34a427f7a95ded62c83ed.png)  
I was hoping to take registers 48193 to 48200 and pack them into array elements that lines up to Pattern\_0\_REF[0] = 48193  
Pattern\_0\_REF[1] = 48194

So on and so fourth…

What am I missing guys?

Thanks!

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [January 6, 2022, 5:40pm UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/2 "2022-01-06T17:40:07Z")

</div>

It looks like you are extracting the individual bits of a word into an array. I don’t know how to do what you want, hopefully someone here does.

---

<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:** [January 6, 2022, 6:23pm UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/3 "2022-01-06T18:23:50Z")

</div>

No, the driver does not support that. Make separate tags.

---

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [June 23, 2025, 2:33pm UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/4 "2025-06-23T14:33:38Z")

</div>

Hi Phil, does your driver support data array via Modbus?

---

<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:** [June 23, 2025, 4:48pm UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/5 "2025-06-23T16:48:47Z")

</div>

No, the basic OPC interface in my driver matches the IA driver, specifically to maximize driver swap compatibility. I'd have to invent some OPC Item Syntax to signal array treatment. If I do that, and IA later does it differently, I'll have unhappy users.

---

<div class="post-metadata">

**Author:** ![oyvind.handeland](https://avatars.discourse-cdn.com/v4/letter/o/ce73a5/32.png) [@oyvind.handeland](https://forum.inductiveautomation.com/u/oyvind.handeland)\
**Post date:** [July 10, 2025, 9:50am UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/6 "2025-07-10T09:50:41Z")

</div>

> [@pturmel](#):
>
> IA later does it differently, I'll have unhappy users.

It seems that the notation:  
[{Device Name}]{Modbus Slave ID}.HR8753:10

is not useful for anyting? I have a really special modbus device. I need to read exactly 10 registers at once starting from exactly 8753 (tag1). I need to create a data type that reads these 10 registers as an array. Then I need another tag to extract element 2 of this tag:

tag2 = tag1[2]

I guess this is not possible?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 10, 2025, 11:20am UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/7 "2025-07-10T11:20:37Z")

</div>

You can make 10 tags, addressing the 10 contiguous registers, and the driver will read them in one request.

For ultimate control you could instead script it, and use system.opc.readValues asking for these 10 registers. Do what you want with the result - write to array tag, multiple tags, etc.

---

<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:** [July 10, 2025, 11:39am UTC](https://forum.inductiveautomation.com/t/read-a-series-of-modbus-registers-into-an-integer-array/54739/8 "2025-07-10T11:39:11Z")

</div>

> [@oyvind.handeland](#):
>
> not possible?

Correct. The notation you are trying to use is not present in any documentation.

If you follow Kevin's advice, the driver will merge the requests for the ten registers (separate tags) into a single multi-register read.
