This HMI project demonstrates a bucket elevator and conveyor circuit designed in Inductive Automation’s Ignition Perspective.
The objective is to use Ignition Tags to monitor and visualize motor and conveyor performance, trigger alerts, display real-time values, and provide color-coded indicators for system status.
The project aims to simulate an industrial bulk-material-handling process—such as those used in grain elevators, feed mills, or mining conveyors—while practicing good HMI design and tag management.
This project is for educational purposes only.
Data/Tag Paths
Tags are the foundation of any Ignition project. In this setup, each motor and conveyor belt has several tags bound to simulated data sources. These paths allow the system to monitor frequency, power, current, and speed in real time.
| Attribute | Motor 1 | Motor 2 | Motor 3 | Motor 4 | Conveyor Belt 1 | Conveyor Belt 2 |
|---|---|---|---|---|---|---|
| Frequency | [default]_MyDevice_/Ramp/Ramp1 | [default]_MyDevice_/Ramp/Ramp2 | [default]_MyDevice_/Ramp/Ramp3 | [default]_MyDevice_/Ramp/Ramp4 | — | — |
| Power | [default]_MyDevice_/Realistic/Realistic1 | [default]_MyDevice_/Realistic/Realistic2 | [default]_MyDevice_/Realistic/Realistic3 | [default]_MyDevice_/Realistic/Realistic4 | — | — |
| Current | [default]_MyDevice_/Random/RandomDouble1 | [default]_MyDevice_/Random/RandomDouble2 | [default]_MyDevice_/Random/RandomInteger1 | [default]_MyDevice_/Random/RandomInteger2 | — | — |
| Speed | — | — | — | — | [default]_MyDevice_/Random/RandomLong2 | [default]_MyDevice_/Random/RandomShort1 |
Each tag is connected to an Ignition simulation tag provider (Ramp, Realistic, Random).
These simulated data types imitate real-world behavior:
- –> Ramp — gradually increasing or decreasing values (used for frequency or speed).
- –> Realistic — fluctuating but stable power readings.
- –> Random — spontaneous variations to simulate sensor noise.
Power Monitoring Table
To visualize power usage, a Power Monitoring Table was built to summarize each motor’s power tag and quality.
| Path | Label | Tag | Value | Quality | Timestamp |
|---|---|---|---|---|---|
[default]_MyDevice_/Realistic/Realistic1 | Motor1 | Realistic1 | (live value) | (Good/Bad) | (timestamp) |
[default]_MyDevice_/Realistic/Realistic2 | Motor2 | Realistic2 | (live value) | (Good/Bad) | (timestamp) |
[default]_MyDevice_/Realistic/Realistic3 | Motor3 | Realistic3 | (live value) | (Good/Bad) | (timestamp) |
[default]_MyDevice_/Realistic/Realistic4 | Motor4 | Realistic4 | (live value) | (Good/Bad) | (timestamp) |
This table updates dynamically based on the tag quality and value. In an operational plant, this feature helps detect load imbalances, motor faults, or power anomalies.
Components

The main components of the visualization include motors, conveyors, and status indicators built using SVG graphics.
Each element is parameterized to make it reusable across different sections of the system.
Motors

Each motor unit is designed as a custom component that accepts three parameters (PARAMS):
- –>
currentPath– points to the tag path for current measurement - –>
powerPath– points to the tag path for power reading - –>
tagPath– points to the frequency tag path
With this approach, you can easily duplicate the motor unit throughout the project by simply changing its tag parameters—without redoing the bindings.
1. Motor SVG



Each motor SVG is a vector-based illustration representing a rotating machine, designed to be color-coded and animated based on live tag values.
The SVG structure consists of two main parts:
- Motor body – the main housing of the machine
- Shaft/Rotor section – a static element symbolizing the motor’s central axis
Bindings:
- Fill color – dynamically linked to the motor’s status, changing according to operational conditions (for example, green for running and red for fault).
2. Motor Label


To display the motor ID, a binding is used to dynamically extract the motor number from the tag path. This number is then concatenated with the word “Motor”, generating labels such as Motor1, Motor2, and so on. This approach allows for scalable deployment, since each motor instance automatically updates its label based on its assigned tag. In the view structure, this binding is defined as motor_number.
3. Motor Frequency Label


Using property binding, this label combines the motor_number value with the word “Frequency” to create a descriptive label such as Motor1 Frequency or Motor2 Frequency. The process of binding the properties for components 4 and 5 follows the same method as this step.
6. Motor Frequency Value


The frequency value is a live numeric display bound to the tag path specified in view.params.tagPath. This binding ensures that the displayed value updates in real time as the tag changes. The process of binding the properties for components 7 and 8 follows the same approach as this step.
9. Status Icon




A visual indicator was added to display the motor’s operating status, reflecting parameters such as frequency, power, and current. The status icon itself is an SVG graphic composed of two controlled polygons. The half polygon changes color according to power or current values, while the background polygon represents the frequency status.
Colors such as red and green are used to signal whether the values are above or below defined thresholds. The purpose of this icon is to demonstrate how a single SVG element can contain multiple parts, each dynamically controlled by different tags or component properties in Ignition.
Summary
This project demonstrates how Ignition Perspective can be used to create an interactive and data-driven visualization of a conveyor-based bulk material handling system. By combining tag bindings, parameterized views, and SVG graphics, the HMI brings industrial components such as motors and conveyors to life—showing their behavior through real-time color changes, live numeric values, and dynamic status indicators.
Each element of the interface—from motor labels and frequency values to the status icon—was designed to highlight the flexibility of Ignition’s property bindings. The use of parameters such as currentPath, powerPath, and tagPath makes each component reusable, scalable, and easy to maintain.
Overall, this project illustrates how a single visual environment can unify data from multiple simulated tags to represent real-world machine performance. The same approach can later be extended to include alarm logic, trend analysis, and real device integration, transforming this educational simulation into a foundation for more advanced industrial automation dashboards.
View the Interactive Displays
If you’d like to see the Level 2 screen in full clarity, you can view them directly on my live demo page:
➡️ SCADA Display Portfolio – Michelle Alzola
This page is a simple viewer designed to showcase the UI/UX layout only.
The displays are static and do not represent a functioning SCADA system—they are visual mockups intended for portfolio demonstration purposes.



