Finding Data from Previous Collaborators

I'm coming into an existing project essentially as a 'redesigner' to clean up some current functions and make the sessions a little more clean and easily understandable for the customers. I'm having to achieve this by redesigning each view from scratch so that I don't break the currently active site, and it ended up being easier than trying to duplicate the view and edit so many components.

I've only been using ignition for a few weeks, and my main struggle is just making the page work. I know all the data I want exists somewhere in the project because it currently is being used in other forms, but no amount of copying/pasting/following tag paths and property bindings has given me any sort of usable data.

Example: We have devices out in the world, which send information about their battery levels, temperatures, power outputs, etc back to our gateway. I need a dropdown with a list of all of these devices so that clients can view that information individually. But I can't find where that information might exist, figure out how to compile it, etc. I've spent countless hours combing through the forum and google searches and chatgpt questions and only feel like I'm digging myself further into a hole of misunderstanding.

Does anyone have advice or suggestions on where live data like this might get stored when it's being sent back to our gateway, and how I might find and use it?

Do you have a previous view that has the functionality?
Configuration explorer is a very useful tool for debugging, reverse engineering a view.

Perspective has quite a steep learning curve. Combining this with you being new to Ignition as well sounds like a poor choice to come in to fix issues to be completely honest.. no offence intended, but experience is crucial to re-designing something to be better than it was before. Not saying you can't improve it, but you will likely make the same or other mistakes in the process that can have performance impacts on the gateway as well as other maintenance headaches

I certainly don't disagree. I'm here because I have an art degree and my boss wants the pages to look nice, and the true engineers that set the stuff up in the first place are no longer on the job so I don't have them to reference back to. I feel like I've done pretty well all hurdles considered, but it's definitely frustrating to be learning something so complicated as I go and not have anyone to ask direct questions to about where things live or were set up originally or why things aren't working.

Perhaps you should ask your boss to send you to IA training, in person.

2 Likes

In my case I find device conections at Config/OPC UA/Device Connections

1 Like

In our team we usually have an identity provider that we call "UNS" where we can find every information we could need.

If you're getting this info already into tags in Ignition from devices (e.g. PLCs), then you should be able to find them in the "Tag Browser" in the Designer which you can also use to get a list of them from, and the tag paths you will need to use to indirectly bind to their tags. But really, you should at least start with the Inductive University before moving any further, and i'd recommend looking at the style guide as well.

1 Like

I agree with what @pturmel said. There's a lot to know and training gives you a pretty solid foundation.

I would add that it's entirely possible that a previous designer closed windows that show you parts of the dev environment that would make things make more sense. It's common to close windows you aren't using to focus on windows you are using.

You can reset to the default view from the View menu (View/Reset Panels)

1 Like

Sounds like you are in a tough situation. Like the other said, IA University is a great start. Making things pretty in Perspective is very satisfying. Not sure if you have CSS experience but it's very helpful.

This guide helped me get started on a nice navigation menu: Docked Views - Dynamic Size Change? - #6 by danieltalbot

He's got a lot of great stuff. I recommend learning to use CSS grid. Much easier to control where components on the views sit: https://www.youtube.com/watch?v=8ahd-HET2_o

As for your dropdown issue, hopefully the data you need is sitting in a database somewhere. Go to Gateway>Config>Database Connections:


Then in your designer go to Named Queries, select the database connection where the data lives, and create a select statement like this:

Then you can go to your dropdown component and create a Query binding on props.options like this and voila:

One more tip. In perspective there's a concept called Brittle Connections. When you first start out putting compnents down in a view you'll be tempted to make direct connections between the components. The issue is that the connection is just a string, and the path depends entirely on the position of the component in the view(how far it's nested inside containers, container names etc). The better approach is to make custom properties on the view itself, and make connections from component A to view.custom.someProperty. Then component B can reference view.custom.someProperty. Now it doesn't matter where the components get moved to, the connection is stable.

Lots to learn, but you got this.

3 Likes

I've gone through most of the Inductive University courses, and I have the user manual up in a browser all the time. But searching through past forum questions and responses has definitely been the most helpful so far.

It looks like there's a lot of potential in the gateway where I haven't really spent any time looking, so I think that will be my next plan. The Configuration Explorer is proving to be more helpful in starting to understand how things might be connected, but I'm still not getting any sort of population when I duplicate or replicate those binding paths and such.

What I did will only work if the data is in a database and you know what you are looking for. You'll need to know table names, column names etc. When you go to the original project you should be able to see how they are putting the data together. It might not be from a database.