# OPC Tag of shape Nx2 reads as 2Nx1 via Tag Browser

**URL:** <https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [July 6, 2023, 10:48pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031 "2023-07-06T22:48:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![sherman](https://avatars.discourse-cdn.com/v4/letter/s/e5b9ba/32.png) [@sherman](https://forum.inductiveautomation.com/u/sherman)\
**Post date:** [July 6, 2023, 10:48pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/1 "2023-07-06T22:48:58Z")

</div>

I am trying to import multidimensional OPC tag. I can confirm the shape is correct using FreeOpcUa client, but in Ignition the shape seems to be flattened. Is there some form of advanced configuration that I am missing? I am watching the tag update in realtime, but I can not plot it in 2Nx1 form.

Barring a fix to the import itself, is there a way to reshape this array from 2Nx1 to Nx2? I can also convert the tag into two Nx1 arrays but there does not seem to be a way to simply join them into a Nx2 dataset.

Importing the tag as Integer Array or Dataset yields the same shape problems.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/0/10dabf50c14ae51fbbd1e3fa735a7596c29f917f.png)

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

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/c/7cfec2a80d17215c04a201c968bb76bbf6278112.png)

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/4/9451134c6ac09b4047ea984025ee1d814efa0256.png)

---

<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 6, 2023, 10:52pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/2 "2023-07-06T22:52:39Z")

</div>

Ignition’s tag system doesn’t have multi-dimensional arrays :-/

---

<div class="post-metadata">

**Author:** ![sherman](https://avatars.discourse-cdn.com/v4/letter/s/e5b9ba/32.png) [@sherman](https://forum.inductiveautomation.com/u/sherman)\
**Post date:** [July 6, 2023, 10:57pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/3 "2023-07-06T22:57:19Z")

</div>

Ah darn. That would have been too easy!

How would you go about converting this kind of array to a compacted dataset? Do I need to write a gateway script that triggers on tag change that saves to a memory tag\<dataset[Nx2]\>? It seems inefficient for a tag that updates rapidly with over a thousand points.

My immediate goal is to plot the array tag, where each entry is the X,Y coordinate.

---

<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 6, 2023, 10:59pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/4 "2023-07-06T22:59:00Z")

</div>

Yeah, I think you'd have to use a script and write to a dataset memory tag on change or something.

Use the Long/Int64 Array tag type, you'll get the flattened array value there.

---

<div class="post-metadata">

**Author:** ![sherman](https://avatars.discourse-cdn.com/v4/letter/s/e5b9ba/32.png) [@sherman](https://forum.inductiveautomation.com/u/sherman)\
**Post date:** [July 6, 2023, 11:13pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/5 "2023-07-06T23:13:00Z")

</div>

Ok, I'll do that.

Any plans to add multidimensional arrays? They are supported in the OPC UA standard

---

<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 6, 2023, 11:21pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/6 "2023-07-06T23:21:09Z")

</div>

They’ll probably end up getting mapped to a Document type when we update for OPC UA 1.05.

---

<div class="post-metadata">

**Author:** ![sherman](https://avatars.discourse-cdn.com/v4/letter/s/e5b9ba/32.png) [@sherman](https://forum.inductiveautomation.com/u/sherman)\
**Post date:** [July 6, 2023, 11:50pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/7 "2023-07-06T23:50:59Z")

</div>

Unfortunate -- it would slot so well into the dataset type, if the array types are never to have more than one dimension.

---

<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 6, 2023, 11:51pm UTC](https://forum.inductiveautomation.com/t/opc-tag-of-shape-nx2-reads-as-2nx1-via-tag-browser/76031/8 "2023-07-06T23:51:43Z")

</div>

Only 2d arrays would fit dataset.
