Animate an HMI pump symbol from a PLC output state

6 min read · Published November 10, 2026

A library pump symbol is artwork and stays still until a state-driven object selects its appearance. Bind that object to the PLC output bit, give bit off one look and bit on another, prove the switch on the panel at the output, and only then add size, motion or color effects.

A pump symbol from a symbol library is artwork, and artwork stays still until something on the screen switches its appearance from PLC data. The something is a state object, an indicator or a visibility animation, and its trigger is one bit: the discrete output that commands the pump, such as Y0. Bind that bit first and prove on the panel that off and on really switch the picture. Size changes, motion and color effects come afterwards, one at a time. Worked in that order, a dead link, a wrong address and a missing state definition show up as separate, diagnosable faults instead of one frozen graphic.

Why the library symbol sits still

An HMI screen draws equipment states from PLC addresses; that mechanism is what how PLC-driven HMI graphics represent equipment states explains in depth. The symbol library supplies pictures. Behavior lives in an object property that reads an address: the panel polls the designated bit address through the configured driver and swaps the object's appearance when it detects the bit change, which is the documented trigger behavior of state-driven objects. Two object families do the job. A state or indicator object carries one appearance or message per state and selects it from the bit number or numeric value. A visibility or animation property shows, hides, moves, resizes or recolors a single object from a bit. A plain placed symbol carries neither property, so nothing moves.

What you need

  • A working project: the driver to the PLC already configured and reading at least one value. Confirm that first, because no animation property fixes a dead link.
  • The bit address that commands the pump, a discrete output such as Y0, written in the exact syntax your project's driver expects.
  • Two appearances: the symbol recolored for running, or two images, one idle and one with a running accent. Two files if your software takes bitmap states.
  • A text label that spells the state out, STOPPED and RUNNING, because color alone is a weak signal on a shop floor.
  • A safe way to change the bit: run the real sequence, or force the output under your site's written procedure with the equipment in a safe state.

Bind the pump to the output bit

  1. Prove the address first. Put a plain numeric object on Y0 or open the bit in the project's monitor, download, and confirm the value flips between 0 and 1 when the pump is commanded. Every later step assumes this works.
  2. Place the idle pump symbol on the screen at its final size and position.
  3. Give the object its state behavior. In the object's property list, find the animation or state group and bind it to Y0: either a bitmap or state animation with two states mapped to bit values 0 and 1, or a visibility animation with a single-bit condition. If the single-bit mode stays greyed out for the object you picked, that property is tied to the object type and data type; choose an object that carries it or use a two-state indicator instead.
  4. Define both appearances: state 0 gets the idle picture, state 1 the running one. Indicator objects select one appearance or message per state from the bit number or value, so a state left undefined shows blank on the panel.
  5. Add the STOPPED and RUNNING text beside the symbol, either as text defined per state or as a small two-state text indicator. If you plan to show more than two messages from one address later, multi-state indicator message limits explains how many messages an indicator object carries and how the bit width is spent.
  6. Download the project to the panel and cycle the output once each way: off to on, then on to off.
  7. Save a copy of the project with the two-state switch working. Every visual effect added later goes onto that copy.

Example: size the state label for its viewing distance

A state label is only useful if the nearest reader can tell RUNNING from STOPPED without walking up to the panel. Take a discharge manifold with the nearest operator standing 20 ft from the screen. The road-sign planning figure of 30 ft of viewing distance per inch of capital letter height (FHWA) gives a minimum of 20 ft ÷ 30 ft/in = 0.67 in of capital height. For fast reading while walking past, the safer figure is 20 ft per inch, which asks for 20 ft ÷ 20 ft/in = 1.0 in of capital height. With two lines of state text, keep 1.7 × 1.0 = 1.7 in between line baselines, from the 1.7 x capital height line-spacing rule.

Convert that to editor units from the panel datasheet. Say the panel runs 800 x 480 pixels across 5.7 in of viewable width: 800 px ÷ 5.7 in ≈ 140 px/in, so the minimum 0.67 in capitals need about 94 px of text height and the fast-reading 1.0 in needs 140 px. Set the label near the second figure and the state carries across the room; that text height, not the pump picture, is what operators actually read at 20 ft.

Test at the panel, not only in the editor simulator, because the downloaded project is what runs. Watch the bit in the PLC's software monitor and the panel side by side while the output cycles.

The passing result: idle appearance with the bit at 0, running appearance with the bit at 1, and the idle picture back as soon as the bit drops. A short, steady delay between the two is the communications scan and is normal.

When it fails, each symptom points at one layer:

  • The bit never changes in the PLC monitor: the logic is not commanding the output. Fix the logic before touching the screen.
  • The bit changes in the PLC but the panel value stays put: the project is reading a different address or the link is down. Run the same first check as for an HMI numeric display that shows nothing: driver, cable, then the address.
  • The panel value flips but the pump picture stays frozen: the object has no state behavior bound, or its two state definitions point at the same appearance. Reopen the property list from step 3.

One safety note: do not force the output as a test unless the equipment is in a safe state and the site's written procedure permits forcing. Read the picture for what it is, too: the symbol shows the commanded output, so a tripped overload or a closed valve can leave the real pump stopped while the symbol shows running. Where operators act on the picture, add a run-status or flow-feedback contact as a separate object so commanded running and actual running stay distinguishable.

Add size, motion and color after the switch works

Size, position and color are separate object properties from state selection, and each is its own commissioning task. From the saved copy of the working two-state project, add one effect bound to the same bit, download, and confirm both states again before adding the next. A size or dimension animation exists in the property list only for object types that support it, so check that the property is there before building artwork around a swelling pump. A pump that travels a path is a different animation type again: animating an object around a circle shows position animation driven by an angle, which shares nothing with the bit-driven switch you just built. Bitmap frame sequences are the third family: test the frames stepping on a scratch screen before tying the sequence to Y0, so a broken frame is never mistaken for a broken address.

If a visible condition ever needs more than one bit, fold the logic into a single PLC tag; object visibility with two conditions shows how.

Recommendation: Start with a two-state indicator or a visibility pair on the pump command bit, prove the off and on switch at the panel with the output cycling, and add size, motion or color effects one at a time from a saved copy of the working project. If the editor offers several ways to animate, take the state object first: it needs two appearances and no frame sequence, and a wrong address shows up as a frozen symbol instead of a half-built effect.

Questions

Will the animated symbol tell me the pump is actually running?

No. The symbol follows the command bit it is bound to, so a tripped overload, an open breaker or a closed valve can leave the pump stopped while the picture shows running. Where operators act on the screen, pair the command-bit symbol with a run-status or starter auxiliary contact on its own address.

Can I trigger the animation from an internal coil instead of a physical output?

Yes, if the panel can read the address through the configured driver. An output, an internal coil or a register bit all work as triggers. For a command symbol prefer the real output, because the picture should match what was commanded, and keep feedback on its own address.

Why does the symbol flicker between states?

Usually two objects are stacked: the running copy and the stopped copy are both visible over part of the screen, or a scratch object left from testing sits on top. Check that every object's visible condition reads the same address, and delete scratch objects before the final download.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote