In modern SCADA/HMI development, relying solely on built-in components can quickly limit what you can design. Ignition Perspective gives you a strong set of tools, but once you start creating high-performance HMIs, custom indicators, or ISA-101-aligned displays, the default widgets don’t always provide the flexibility you need.
That is why understanding how SVGs work under the hood—their structure, coordinate system, and properties—is so powerful. SVG manipulation gives you total control: colors, opacity, animation, visibility rules, position, stroke behavior, and even dynamic motion. When displays become more complex (diagnostic gauges, custom indicators, branded graphics, dynamic equipment icons), this level of control becomes necessary.
For this study, I built a dynamic circle gauge in Ignition Perspective using only SVG elements. The goal was to create a reusable, flexible graphical object that could represent:
- Valve stroke
- Valve position
- Motor load
- Diagnostic percentages (0–100%)
- And other cyclical/rotational process values
This post shows the design and values behind the SVG elements — not the implementation logic.
The Base Circle Elements
The animation at the top-middle of the screen uses two circles:
A. The Large Base Circle
Below are the values for the circle element.
cx = 150
cy = 150
r = 100
visibility = boolean
B. The Small Inner Circle
cx = 150
cy = 150
r = 50
stroke = varies
opacity = varies
Because the values are exposed and reusable, this inner circle can become anything:
– a soft highlight
– a blinking alarm mask
– an inactive/disabled overlay
– a gradient base
Why the Circle Matters (Industrial Use Case)
This is where SVG shines.
A circular gauge is a natural fit for displaying values that operators intuitively interpret in ranges or percentages. In my application, the dynamic circle represents:
Circular Diagnostic Gauge
(Valve Stroke, Position, Motor Load)
This gauge uses SVG stroke properties (stroke-dasharray, stroke-dashoffset) to mimic a “progress ring” around the outer circle — clean, minimal, and ISA-101 friendly.
Values That Define the Progress Ring
In this gauge, the “progress” portion is simply the circumference of the large circle visualized as a ring.
For a circle with:
radius = 45
circumference ≈ 282.6
To represent 0–100%:
stroke-dashoffset =
(1 - positionPct/100) * 282.6
This makes the ring grow or shrink based on the percentage value — entirely driven by SVG math.
No proprietary components.
No locked-in styles.
No limitations.
Just pure SVG, fully controlled by your design.
Why This Matters for SCADA/HMI Designers
Most industrial HMIs rely heavily on:
- pre-built gauges
- pre-built indicators
- pre-built animations
But when you want:
✔ more control
✔ brand consistency
✔ ISA-101 grey-scale alignment
✔ flexible alarm behavior
✔ optimized layouts
✔ mobile-friendly responsiveness
✔ custom process graphics
…you need to understand SVGs.
Not for coding — for design decision-making.
SVG knowledge lets you:
- animate anything
- dynamically color anything
- change shape, opacity, position
- rotate or scale elements
- build complex icons from simple primitives
This is absolutely essential when building modern, high-performance SCADA UI/UX.
Final Thoughts
This dynamic circle gauge is one small example of how powerful SVGs can be in Ignition Perspective. With only a few adjustable values and properties, a simple circle becomes a fully dynamic diagnostic tool suitable for pumps, valves, motors, and other industrial equipment.
If you’d like to know how this was built, the binding structure, the SVG property map, or the animation logic — feel free to ask me in an interview. 😊
This is part of my SCADA design portfolio and I’d be happy to walk through the technical implementation in person.

