# How to make a table/list from OPC struct tags

**URL:** <https://forum.inductiveautomation.com/t/how-to-make-a-table-list-from-opc-struct-tags/101404>\
**Category:** Maker\
**Tags:** ignition81, ignition80, perspective\
**Created:** [January 27, 2025, 8:39am UTC](https://forum.inductiveautomation.com/t/how-to-make-a-table-list-from-opc-struct-tags/101404 "2025-01-27T08:39:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vidar\_Hetlelid](https://avatars.discourse-cdn.com/v4/letter/v/dfb087/32.png) [@Vidar\_Hetlelid](https://forum.inductiveautomation.com/u/Vidar_Hetlelid)\
**Post date:** [January 27, 2025, 8:39am UTC](https://forum.inductiveautomation.com/t/how-to-make-a-table-list-from-opc-struct-tags/101404/1 "2025-01-27T08:39:42Z")

</div>

Hi there,

I have this array of UDT containing multiple tags as shown below:

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

Which I want to display as alarm history as an table with maybe 50rows, and the tags as the columns.

Or, how can I access the tags to make my own custom list? Something like this, where I can add the tags to each rows.

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

If I try to add the udt directly to tag browser I get the bad error. If I make a UDT, i need to make 1 tag for each array index, which I have to do 50 times den. Is there an easier way?

I did it like this, where I use the instancename as array index.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/8/2896b692677d547e1c82b80f73f5cdc20455efcf.png)

How can I do this in an easy way in Ignition?

Thank you 🙂

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [January 27, 2025, 4:49pm UTC](https://forum.inductiveautomation.com/t/how-to-make-a-table-list-from-opc-struct-tags/101404/2 "2025-01-27T16:49:46Z")

</div>

Have you looked at the alarm status table? This may get you what you want without having to build a table yourself.

> **[Perspective - Alarm Status Table | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/components/perspective-components/perspective-display-palette/perspective-alarm-status-table)**
>
> The Alarm Status Table allows you to view currently active alarm events in the system

To make many UDT instances quickly, there are a few options.

1. [Spreadsheet Import Tool](https://forum.inductiveautomation.com/t/spreadsheet-import-tool/93500)
  - This tool is supposed to let you create Ignition tags from a well-formatted spreadsheet. I haven't used it personally, but I've heard good things.

2. Scripting
  - [system.tag.getConfiguration | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-tag/system-tag-getConfiguration)
  - [system.tag.configure | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-tag/system-tag-configure)
  - The easiest scripting workflow would be:
    1. Create one UDT instance by hand.
    2. Read the configuration using system.tag.getConfiguration().
    3. Make copies of the original UDT instance, varying parameters as necessary.
    4. When you've made all the copies you want, write the configuration back using system.tag.configure()

3. Using a similar workflow as 2, use JSON files created and imported with [system.tag.exportTags](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-tag/system-tag-exportTags) and [system.tag.importTags](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-tag/system-tag-importTags) respectively.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [February 10, 2025, 3:59am UTC](https://forum.inductiveautomation.com/t/how-to-make-a-table-list-from-opc-struct-tags/101404/3 "2025-02-10T03:59:49Z")

</div>

You can probably use the UDT instance wizard to create your instances. I haven't used it in a long time since it doesn't behave if you've got nested UDT instances, but for your case it should be fine
