Time. Some say it’s the most valuable resource in the world, and it’s certainly a major factor when it comes to building HMI and SCADA systems. Luckily, there are helpful tools that speed up development so you can deliver projects faster and meet urgent deadlines with time to spare.
Templates, UDTs, and parameterized pop-ups are three powerful ways to save both time and effort during the initial HMI/SCADA development phase, as well as when making changes to a system later on. Additionally, they help you create projects with more precision and help future-proof your applications. Let’s dive into what these tools are and in which situations you’d use them.
Instead of Doing the Same Thing Twice, Use Templates
A template is a component’s graphic that you build once, and you can make instances of it to represent components that look the same but are driven by different data. The master template is the original template where you define the graphics. Template instances are the individual uses of that master template. When you modify the master template, it automatically modifies all template instances as well.
Three common types of templates are static templates, variable templates, and indirect templates.
This is the most basic kind of template. Static templates are unchanging, always doing the same exact thing, so they’re usually not parameterized. Parameterization is the process of exposing variables in the definition of an object (such as a template or a UDT), so that it can be more generic or universal while the variables (parameters) let you specialize the object as needed, enabling its reuse.
You only need to configure a static template once, and then you can use it repeatedly throughout different areas of your project. A static template is a great choice if you want to define a graphical display in one location for a single function, and it doesn’t need any data behind it.
For example, if you need a button to navigate to your project’s home screen, you could create a simple button with a static template and use it as many times as you like. Then in the future, if you wanted to modify that button to alter its color, for example, you’d make the change in one location, and its color would change everywhere it appears in the project.
Variable templates offer more functionality compared to static templates, as they allow you to create custom components. These templates are most often graphics with only one parameter and they expose a simple property that can link to any source of data. For example, you can link them to a query or a calculation through an expression. With a variable template, you can create a component and use it in any way imaginable.
This type of template is a good choice if you want a graphic to display a value that fluctuates (like temperature, for example). And thanks to the versatility of variable templates, with the ability to link into anything at all, they’re a good pick if you don’t know exactly how you will use the template.
This type of template points indirectly to a set of tags via indirect binding. One method of making a template indirect is to use simple parameters, like a string or an integer. These templates come in handy when you need to make a specific thing that you’d like to use indirect linking on. It’s important to note that for indirect templates to function properly, consistency is key – you need to structure data the same way every time.
Indirect templates are the right choice when you know exactly how you will be using the template, or when you want to make something specific that requires a consistent data structure. For example, with indirect linking, you can have a single template for all your sensors.
To learn more about templates, watch the Template Overview tutorial from Inductive University.
Easily Replicate Structures With UDTs
UDT stands for “User Defined Types,” and they are also known as complex tags. This time-saving tool enables an object-oriented approach, and you can use them to quickly create robust systems. UDTs are best with repetitive structures, and you should use them when you plan on having multiple instances.
For example, if you have numerous compressors with similar values, you can create a UDT definition for a compressor with all those shared tags. Down the road, whenever you need to add another compressor, you simply have to pass in the compressor number, making it fast and easy to scale out a project.
Essentially, UDTs are a way to make a parameterized data template. Once you’ve defined the tag structure, you can create an instance as if it were a single tag. Every instance of a UDT will conform to the UDT’s structure, and if you make a change to the definition, all instances automatically inherit it. Additionally, you can customize each instance by overriding values from the definition.
For more information on UDTs, check out the User Defined Types section of the Ignition User Manual.
Leverage the Power of Parameterized Pop-Ups
One final tool for quickly developing projects is parameterized pop-ups. Parameterized pop-ups allow you to pass parameters from a window into a pop-up window. The pop-up window can display relevant data using whichever parameters you pass in.
You might use parameterized pop-ups if you have multiple pieces of equipment, say several different valves, and want to display their diagnostic information in a pop-up window. You can create one single pop-up window to show data from different valves, depending on which is selected at the time. In order to make this magic happen, though, the pop-up window needs to have custom properties that receive the parameters. By passing in parameters, you can change what the pop-up window does or what it points to.
To learn more about parameterized pop-ups, watch this video from Inductive University.
Add Even More Sand to Your Workday’s Hourglass
So there you have it. Three tools that every control systems engineer should have in their toolbox to build HMI/SCADA projects as swiftly as possible. With the countless hours you’ll save using templates, UDTs, and parameterized pop-ups, you’ll have more time to spend on things like artfully designing your SCADA system instead.
And if you want to save even more time during HMI/SCADA development, check out Ignition SCADA software. With Ignition, you can use all the tools mentioned above in addition to special template features such as Template Canvas, Template Composition, and more.
Do you have any tips on saving time when developing HMI/SCADA? Please share them in the comments below!