Four Ignition Features To Transform Your Project Development
With so many features in Ignition, it’s easy to lose track of all its amazing capabilities, but knowing the right tools to enhance productivity and streamline project development is crucial. That’s why I recently started a new LinkedIn series that highlights the most impactful Ignition features.
I’ve gathered the first four parts of the series in this blog post. The first part is about drag-and-drop UDT templates, the second part is about three useful tag tools, the third part is about Project Inheritance, and the fourth part is about Perspective Co-Branding. Although unique, each of these features make building projects a quick, efficient, and enjoyable process.
In this post, I delve into why these features are four of my favorite tools in Ignition. Join me as I explore the capabilities that make Ignition an indispensable part of your project development.
Drag-And-Drop UDT Templates In The Perspective Module
Drag-and-drop has always been an important part of designing screens in Ignition, but did you know that you can drag a UDT instance onto a Perspective view and select the Perspective template you want to link to that tag?
This allows you to take Ignition’s drag-and-drop features to the next level and design using an object-oriented approach. Perspective views have a "Drop Configuration" property that enables you to associate a view with a tag (scalar or UDT), allowing for drag-and-drop from the tag browser to a view in the designer to automatically create the embedded views with bindings or paths set for you.
(FYI, this video does not include sound, but the videos below do.)
Three Useful Tools For Tags
Tags are incredibly important to most Ignition projects. Since Ignition is unlimited, it is easy for the tag database to get quite large. We often see systems with over 100,000 tags and some with over a million.
Regardless, it is paramount to understand how your tags are configured, find tags that are having issues, and understand where your tags are being used in Ignition. That is exactly where these tools come into play, and they are extremely powerful.
The UDT Hierarchy Tool
This tool displays the relationships between connected UDT definitions and instances. It shows inheritance between UDT definitions, overrides of inherited properties, and instances directly related to selected definitions.
The Tag Report Tool
In Ignition, users can search for tags based on configuration and current state criteria with this tool. Allowing you to easily manage large quantities of UDT instance tags, you can instantly search for tags based on configuration or current state.
For example, you can search for tags based on tag path, data type, UDT type, or other properties or traits, such as alarms configured. You can also search for a tag based on its current value or quality. The goal is to quickly find tags and perform actions such as exporting to CSV or bulk edits.
Furthermore, you can leverage the system.tag.query function to search for tags in any script within Ignition. This is a powerful feature when you want to build screens that dynamically fill in based on tags that are configured or just simply display tags using different filters. For example, you might want to show a navigation tab or visualization template for each instance of a UDT.
The Tag Reference Tracker
This tool allows you to reference tags from just about anywhere using a tag path, allowing you to understand exactly where tags are being used in Ignition. Tags are used in displays, scripts, SFCs, transaction groups, and much more. Ignition supports tag indirection, where the tag path can be dynamic, allowing you to build reusable objects. That indirection can make it difficult to truly understand where tags are being used.
The Tag Reference Tracker helps by allowing you to identify where tags are being used by logging every reference or access to a tag, such as reads, writes, and subscriptions. The tool provides an easy way to view all active and historical references.
For example, you can easily see which windows or views are using a given tag, which scripts are accessing tags, and more. The longer it is in use, the more reliable the tracker becomes, as the history will grow and continue to log.
Create A Foundation With Project Inheritance
It is important to lay a strong foundation in Ignition. One of the best ways to do that is by using Project Inheritance. Project Inheritance allows one project to inherit resources from another project, effectively letting you create base projects like base UDTs.
Most importantly, it lets you define corporate or standardized sets of resources that function as the foundation for every project. For example, you might define standardized templates for your screens, common named queries, scripting functions that make it easy for a new developer, specify how navigation works in your project, and much more.
Projects that inherit from a base project allow you to override resources or add additional resources without affecting the base project, making it safe to roll out new changes to your base project. Project Inheritance also enables you to build a hierarchy in your Ignition projects, create sets of corporate or standardized resources, and make it easier to manage and change projects, especially when leveraging EAM across multiple Ignition gateways.
Tips For Using Project Inheritance
You should avoid specifying runnable resources in your base project. Runnable resources "run" or execute in leaf/child projects. These are resources such as SFCs, gateway event scripts, alarm notification pipelines, and transaction groups.
These resources do not execute in the base project. However, they will execute on every project that inherits from the base. That could mean scripts or engines are running multiple times. I recommend that you define these resources in dedicated "standalone" projects, so they only run once.
Stand Out With Perspective Co-Branding
Ignition has two distinct areas that different users interact with: configuration and runtime. The configuration environment is designed for developers, while the runtime is the public-facing application that you provide.
In Perspective, we call the runtime “Perspective Sessions.” It can be important that your application looks and feels like yours and not Ignition's, which is especially important if you name your application or brand it in a specific way. This is where Perspective Co-Branding comes into play.
Perspective Co-Branding is a gateway setting that allows users to customize the look of their Perspective Sessions with custom logos, icons, and colors rather than using Ignition's built-in branding, including favicons in your browser and iOS app icons. The feature is extremely easy to set up and makes the application look and feel like yours. This setting is global to the server and affects all the Ignition projects on that server.
The Tip Of The Ignition Features Iceberg
Ignition has a wealth of amazing tools to help you create unique solutions. These are only a few features that make Ignition a powerhouse for developing and managing industrial applications. As we continue to explore Ignition's capabilities in this series, I will highlight more features designed to empower you to build intuitive, robust, and flexible solutions.
If you want to stay up-to-date, follow me on LinkedIn and stay tuned for new posts about my favorite features in Ignition so we can harness the full potential of Ignition to drive innovation and success together.