Issue with Indirect property binding bad_notfound ( perspective pop up template for components onClick() )

Hi all,
Please have a look at these images. I believe it has something to do with syntax. But I haven’t found anything in ignition doc. Any ideas?


The Bad_NotFound is because you are using an Indirect Tag Binding and what you have entered into the TagPath does not resolve to a valid Tag Path.

It is expecting something like:

[yourTagProvider]Path/To/Your/Tag{CV_value}

https://docs.inductiveautomation.com/display/DOC81/Tag+Bindings+in+Perspective

Scroll Down to Indirect Tag Bindings.

Thanks for your reply Irose. I’m trying to use the indirect tag binding for a param of a view, not an OPC tags. Same as this https://forum.inductiveautomation.com/t/popup-templates-perspective/55031

In the docs, the instruction was for OPC tags, Irose.

This!

It looks like CV_value is not a tagpath but a value. You can’t use a tag binding to bind the value of a tag using the value itself. You should be passing in the path to your UDT or folder and then use an indirect tag binding to this as @lrose mentioned

If you pass the values of tags into a popup, then these values will be static; they will not update with new values in the popup, hence needing to pass in the path to the tag instead.

Consider the status of someone’s car. If I said that the car is broken, you have no idea who’s car I’m talking about and you have no way to get updated information. If i give you the person’s location, name, and contact details, then you can ask them how their car is and get constant updates

I got your idea! But quite struggling to make it works. So what should I do now is linking the path of components to UDT? How about the connection between connection of view params and components? I thought we should indirect binding the components to the view params, and link the view params with the OPC tag path inside pop up as the other thread mentioned?
Also, to do the write/update opc tags value, should we need to turn on the write/change mode?
Sorry for long question and I’m quite frustrating with recent problems happen when it comes to scada/hmi design. Headache :dizzy:

Whatever launches that popup should be doing something like this:

view = 'Popup_Views/Popup-CV'
id = view
params = {'tagPath': 'LCC_PCV05A_CV'}
system.perspective.openPopup(id=id, view=view, params=params)

Then in your popup, you should have this for your params:

tagPath:value

What I normally do is then create custom props on your view to bind to the tag values I need to use, unless you need to write back to them.
E.g. under view.custom have:

tagName: 
tagValue:

Bind these using indirect tag bindings similar to this:

but you would use {1}.Documentation and {1} respectively for the custom props above

Then you can bind to these custom props wherever you need to display them. For any tags that need to be bi-directionally bound (for writing back to them) I would create the indirect tag binding with bidirection enabled directly on that component

2 Likes

Thanks, nminchin and irose. You two helped me a lot. Been testing all day and it’s working great now.
FYI, here is my set up:
First, create some values in custom view

Then, indirect these value to tag path

Then, property binding from components to view custom values

Now, we have view custom value x tag path, custom value x components

Last step, the pop up will do the last job is trigger pop up with tagPath in parameter itself

Simple! But took me days and several re-read nminchin and irose reply to figure it out :grimacing: