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.
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
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
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