Help with indirect address tag

basically I have plc variable that is addressed like thisFifo[thisIndex]

I made a udt thinking I could somehow append the index as a path, getting the value of the index from another tag

Unfortunately, I do not see how to do this. I saw how to change a value a udt based on a parmeter. I setup a string and an integer to this purpose

however, getting a value from another tag to set as the integer, no idea

any help appreciated

Are you trying to create an instance for each item in thisFifo, or are you trying to create one instance that can switch between all the different items in thisFifo depending on which one you want to work with?

As I see, it just can’t.

But you can change UDT parameters any time, using a Numberic Enter Field or script.
So bingding the parameters to a tag first.

By the way ,do you really need to change tag path?

What exactly are you trying to do with these tags? There is probably a better way to go about what you are doing. If this is an actual FIFO, I find it strange to read specific positions within the stack.

I need to move the index around.

I do not know the way in a script to modify the parameter of the UDT.

system.tag.writeBlocking will do that.

system.tag.writeBlocking(
	['[pathToUdtInstance/Parameters.paramName'],
	[newValue]
)

I got the whole path by right-click -> Copy Path on the UDT instance in the tag browser.

You may need cast your integer to a string if you're going to use the value in an OPC path. I agree with @jlandwerlen that this isn't an intuitive design choice to me, but you're the expert on your application.

1 Like

So it’s a tag value change event.
You can create a script with [system.tag.writeBlocking] , change the parameters When tag’s value changed, like zacht
https://docs.inductiveautomation.com/display/DOC81/Tag+Event+Scripts

1 Like

oh copy path was what I was missing

I can change it willy nilly now
Thanks very much