Skip to main content
Call Eric:863-698-8266
CURRYCONTROLS.COMControls & Automation Knowledge Hub
How-ToHow-ToHMISCADAPumpsDesign

How to Build Pump Graphics

Build a pump symbol and faceplate that operators can read at a glance and use without error: a symbol that shows state by shape and a muted palette with color reserved for abnormal, and a test against the high-performance HMI principles before it is deployed.

8 min readUpdated Sep 5, 2026Published Sep 5, 2026By Eric Sullivan

The short answer

How to Build Pump Graphics

To build pump graphics, design one pump symbol and one faceplate as a template bound to the pump structure in the controller, and instance it for every pump. The symbol shows running, stopped, faulted, and not available by shape and fill on a grey palette, with color only for abnormal states, the mode as a small indicator, and the tag as a label; it opens the faceplate on click. The faceplate shows the mode with the buttons to change it, the start and stop commands with confirmation where the philosophy requires it, the run feedback, the fault with its reason and a reset, runtime and starts, the interlock and permissive status with the first reason it is not available, and the alarms for the pump, plus a trend tab. Test it against the high-performance principles: can an operator see the abnormal pump from across the room, and can a new operator start a pump correctly on the first try.

Key points

  • One symbol and one faceplate, built as a template on the controller pump structure, instanced everywhere.
  • State by shape and fill on grey; color reserved for abnormal; mode as a small indicator.
  • The faceplate has mode, commands with confirmation, feedback, fault reason and reset, runtime, permissive status, alarms, and a trend.
  • The first reason a pump is not available is shown in words; the operator should never guess.
  • Test with operators against the high-performance HMI principles before deploying.

What you need

  • The controller pump structure or the tag list for one pump: command, mode, feedback, fault word, runtime, starts, permissives
  • The plant HMI style guide: palette, symbol library, fonts
  • The SCADA designer with template or type support
  • The alarm list entries for the pump class
  • An operator to test with

Procedure

  1. 1

    Define the pump data

    From the controller structure: run command, run feedback, mode (auto, hand, off, remote), fault bits with reasons, available or permissive status with the first blocking reason, runtime, starts, speed if on a drive, current if measured, alarms.

  2. 2

    Design the symbol states

    Stopped: outlined, unfilled. Running: filled in a mid grey or the plant running fill. Faulted: a colored alarm indicator beside the symbol, not a red pump. Not available: an outline with a marker. Hand or local mode: a small mode letter. Speed as a small number or bar for drive pumps.

  3. 3

    Build the symbol

    A single graphic object with the states bound to the structure members, a tag label, and a click action that opens the faceplate with the instance passed in. Keep it small enough to fit the process overview.

  4. 4

    Build the faceplate

    Header with the tag and description; mode selector with the current mode highlighted; start and stop buttons enabled only when permitted, with a confirm step per the philosophy; run feedback and speed; fault reason in words with a reset button; runtime and starts; a permissive list with the first failed item highlighted; the active alarms for this pump; a trend tab with runs, level or pressure, and speed.

  5. 5

    Bind by instance

    The template binds to the structure by a parameter, so that the faceplate for pump 3 is the same object as for pump 1 with a different instance. No per-pump copies.

  6. 6

    Apply security

    Mode and command buttons enabled by role; setpoints on the faceplate with limits; every action logged with the user.

  7. 7

    Follow the style guide

    Grey background, muted normal states, alarm colors by priority only, one font, consistent placement. The pump looks like every other pump on every screen.

  8. 8

    Test with an operator

    Ask an operator to find the faulted pump on a full screen from two meters away, to start a pump in auto, to work out why a pump is not available, and to reset a fault. Fix what confuses them.

  9. 9

    Deploy

    Replace the pump symbols on every screen with instances of the template, and retire the old ones. Update the style guide with the new template.

StateSymbolFaceplate
Stopped, available, autoOutline, no fill, small AStart enabled; permissives all satisfied
Running, autoFilled, small A, speed if driveStop enabled; feedback shown; runtime counting
Running, handFilled, small H, hand indicatorHand noted; auto command shown as not in control
FaultedOutline with priority-colored alarm markerFault reason in words; reset button; alarm listed
Not availableOutline with a markerFirst failed permissive highlighted; start disabled
Communication badSymbol greyed with a quality markerValues shown as bad; commands disabled

Frequently asked questions

Should a running pump be green?
Not on a high-performance screen. Running is normal, and normal is grey; green and red are reserved for states that need attention. A filled symbol reads as running from across the room without color.
How do I show a pump on a drive?
The same symbol with a small speed value or bar, and the faceplate with the speed reference, the actual speed, and the drive fault reason. A separate drive faceplate is opened from the pump faceplate for the drive details.
Where does the hand-off-auto selector on the panel appear?
As the mode indicator on the symbol and the mode display on the faceplate, read from the panel selector inputs. The faceplate cannot change a physical selector; it shows that the pump is not in remote control.
One template for every pump in the utility?
Yes, with parameters for the differences: drive or not, feedbacks available, current measured. One template means one behavior to learn and one place to fix.

Direct contact

Have a controls question?

Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.