Display values from tags in table form

Hi I am trying to read in an array of 100 values from the PLC. I have built tags for each element of the array, and are able to read the values OK.

How can i easily display these tags in an table form in such a way that i do not have to manually enter tags 100 times?

I have tried using the table component, And was hoping to do a cell update binding on the table. I am able to display the value of the tag (INT) on the table if i manually set up the cell binding. However I don’t know how to automate the process for 100 tags.

Can i somehow paste in a bunch of cell bindings from Excel? I managed to copy out the cell binding into excel, but cannot seem to copy back into Ignition power table cell update. I have attached two images to describe what i mean. Thanks

Create a template to display 1 “row”.
The use a template repeater to display the 100 templates.

Or if you want to use scripting, have a script that reads all 100 values and creates the dataset.

Thanks for the reply. Yes I have tried and successfully got it working with a template repeater. Because you are able to copy the template dataset to excel, do some excel magic, and paste it back into the template repeater.

I feel like a table would be a neater way to approach this though. What kind of scripting would be required for generating dataset data of a table?

I have found i can set a value of a cell (row 5, col 1) in the table via:

[color=#0000FF] newData = system.dataset.setValue(self.data, 5,1, 66.6)
self.data = newData[/color]

But nothing seems to happen when i try reading in a tag and setting the value with:

[color=#0000FF] value = system.tag.read(‘temp/testReal2/value’)
newData = system.dataset.setValue(self.data, 5,1, value)
self.data = newData[/color]

Is there some different syntax needed when using a tag read?

This is all scripted under the Power Table Extension Function - initialize.

[quote=“richardNZ15”]But nothing seems to happen when i try reading in a tag and setting the value with:value = system.tag.read('temp/testReal2/value') newData = system.dataset.setValue(self.data, 5,1, value) self.data = newDataIs there some different syntax needed when using a tag read?[/quote]Yes. Tag reads never give you the plain value. They always return an object of type QualifiedValue, which contains properties for the actual value, the quality code, and the last timestamp. Change your code above like so:value = system.tag.read('temp/testReal2').value newData = system.dataset.setValue(self.data, 5,1, value) self.data = newDataNote the placement of .value after the closing paren.

sorry to bring up an old thread, but it is unclear to me how I am actually binding a tag value to a given row/column after I have read it in? do I run this as a project script somewhere, create a multidimensional array and then just bind the whole dataset in the “Data” property?

I think what i ended up doing here was reading all the values via scripting and creating a dataset.
Then i wrote that dataset to the table.data property.
I then initiated the script on a button click, but you could do it with a timer component provided you are sure it will not hang the system