The bitmap skips because the register changes faster than the panel's read-and-redraw cycle, so some positions rise and fall between polls. Set the animation timer to one second, bind each moving object to its own register, and watch one droplet render all five points over 0 to 25 before you stagger the other three or shorten the interval to 0.5 seconds.
Droplets that jerk, stall or skip half their fall on an operator panel are not an art problem. The PLC writes a new position while the panel is still busy reading and redrawing the last one, so values rise and fall between polls and the screen never sees them. The fix is a cadence the panel can follow: start the animation timer at 1 second, bind each moving object to its own register, and watch every position land before you add objects or points. The sections below give the test that splits a PLC fault from a panel fault, the arithmetic that shows what each timer interval delivers, and the order to bring the other three droplets in.
Why does an HMI animation bitmap skip positions?
An animation bitmap skips positions when the register changes faster than the panel can read and redraw it: at a 0.25-second timer the register offers 4 positions per second, and a loaded panel missed hops at that cadence while the slower starting interval rendered every one.
The panel watches the register only at poll time. It reads the PLC on its driver cycle, then redraws the objects on screen, and whatever the register does between two reads is invisible. A value that steps to 12 and on to 18 before the next read arrives shows up as one jump, or as nothing at all if the sequence wrapped in between. A register that steps once per timer tick gives the panel exactly one chance per tick to catch it, and anything that lengthens the round eats that margin: more tags on the screen, serial round-trip time, redraw cost.
Is the PLC register or the panel causing the skips?
Watch the register online while the animation runs: a register that climbs 0, 6, 12, 18, 25 in order puts the fault in the panel or the link, while a register that repeats, stalls or jumps puts it in the PLC rung.
| What you see | What it points to | Do this first |
|---|---|---|
| Register climbs in order, object skips or freezes | Panel read-and-redraw too slow for the cadence | Drop the timer to the one-second starting interval and retest |
| Register stalls, repeats or never wraps | Timer rung fault in the PLC | Check the timer contact, the increment and the reset (pattern below) |
| Object moves the wrong way or sits still on a hand-written value | Y-axis tag or range mapping | Fix the binding before any timing work |
| Clean with one droplet, jerky with four | Four registers in the same poll round | Restore droplets one at a time, retesting each |
Read the two columns of evidence against each other. The register tells you what the PLC did; the object tells you what the panel managed to show.
What decides whether the panel renders every position?
Three limits set the cadence the panel can follow: the driver's own update cycle, the number of tags each poll round must carry, and the redraw cost of the bitmap itself.
One panel family documents its driver update rate at 100 ms by default, with 50 ms selectable under Setup > PLC Settings > Update Rate. That figure is the panel's best case: the serial round trip for every tag on the screen and the redraw both add to it. At 100 ms the panel gets 10 chances a second to read a register, so a one-second tick needs 1 of those reads and a 0.25-second tick needs 4. When ticks still go missing, the effective round has grown past 250 ms, and the time went into tags, link or redraw.
The maker's help file for the Animation Bitmap object warns that transparency costs significant processor time and noticeably affects screen update rates, so keep animation frames opaque where the design allows it. A single heavy bitmap taxes the processor that keeps the whole screen current; Fix an HMI bitmap that slows PLC data updates covers the case where one image drags every tag on the page. If the entire screen runs late over a serial link with no errors anywhere, HMI screen slow to update over serial with no errors walks that fault in order.
How do I check the Y-axis tag and the 0 to 25 range?
Open the Animation Bitmap for one droplet and check that the Y-axis tag points at the register your rung writes, V2501 for the first droplet, and that the configured range spans the 0 to 25 values the rung produces.
Write a test value into the register by hand, somewhere mid-range, and watch the object. If it follows the hand-written value down the Y axis, the mapping is right. If it sits still, slides on the X axis or jumps to an end stop, the tag or the range is wrong. A mapping fault looks on screen exactly like a cadence fault, so settle it before touching the timer. Check each object against its own address as well: in a four-droplet project the first object reads V2501 and the second V2502, and a duplicated tag makes two droplets move as one. A range set narrower than the written values leaves the last hops unmapped, so the object holds still for the end of every fall.
What timer interval do I start the animation at?
Start at 1 second: it gives four times more room per tick than a 0.25-second timer, and it is slow enough for the poll round and the redraw to finish between ticks on a loaded screen.
Drive the sequence from one timer event. The event structure that holds up on the panel is a timer TMR0 with its preset entered as 10BCD; when its contact T0 closes, the rung increments the position register with INCB, loads K0 into the accumulator with LD, and writes it to TA0 to clear the timer counter. Each event then advances the position once and restarts the interval. A demo of the same structure used register V2010 as an X-axis animation tag; the droplet project binds the identical rung to the Y axis and the droplet's own register. Watch the contact and the register together in online mode: if the register climbs more than once per event, or the timer never restarts, correct the rung before the HMI. INCB adds 1 per event, so a range of 0 to 25 takes 26 events, 26 seconds at that interval; for the droplet look, write the five point values instead, 0, 6, 12, 18 and 25, one per event.
Example: what does one droplet at a 1-second timer deliver?
One droplet bound to V2501 with five points over 0 to 25 and a 1-second timer shows one hop per second, and on a 120-pixel drop path that is 30 pixels per hop and a 4-second fall from pipe to surface.
The arithmetic, step by step:
- Five points over a range of 0 to 25 space the points every 25 / 4 = 6.25 register units. The rung writes 0, 6, 12, 18 and 25, so each event lands the bitmap on the next drawn point: 4 hops per drop, with a last step of 7 units.
- Give the drop path a drawn length of 120 px in the project, so each hop covers 120 px / 4 = 30 px.
- At 1 second per hop the droplet moves 30 px per second and crosses in 4 seconds.
- At 0.25 seconds per hop the same path crosses in 1 second, and that is the cadence at which hops go missing. If the nominal 100 ms cycle were the whole story, a 250 ms tick would always land between reads; missing hops mean the effective round has passed 250 ms, and shortening the timer widens that gap.
Test at that starting interval first: every hop lands, register and object agree, and the fall reads as a steady drip. The same panel-side cycle caps every animated element, trend graphs included; Why an HMI trend graph will not update every half second works the trend case against the same limits.
How do four droplets make a steady stream?
Give each droplet its own register, V2501 through V2504, start them one hop apart at 0, 6, 12 and 18, and step all four on the same one-second timer, so a droplet leaves the pipe every second and the stream never empties.
Staggered starts create the stream, and they hold up only on top of clean single-object motion. Restore droplets one at a time and retest after each, binding every Animation Bitmap to its own register: V2501 for the first droplet, V2502 for the second, and the third and fourth checked in the project, never guessed. Start values one hop apart, 6 register units in this setup, put the four droplets one point behind each other on the shared timer. If two droplets move together, look for a duplicated tag. If one jumps while the rest fall cleanly, compare its register's sequence in online mode with a droplet that falls cleanly; its rung or its binding is at fault. The poll budget works the same way when more operator panels share one PLC port; Connecting many operator panels to one PLC without slow updates covers that load.
When can I shorten the timer below 1 second?
Shorten the timer only after one droplet and then all four render every hop at the starting interval, and test the next step as 0.5 seconds: if any hop goes missing, return to the last interval that rendered cleanly and get speed from the stagger.
Each change gets its own test, one full drop at a time: 4 seconds per drop at the one-second timer, 2 seconds at 0.5 seconds (4 hops × 0.5 s). If 0.5 seconds starts dropping hops, take the knobs in this order:
- Make the animation frames opaque; transparency is the cost the panel documentation names first.
- Step the driver update rate down from 100 ms to 50 ms under
Setup > PLC Settings > Update Rate. - Remove other tags from that screen so the poll round carries less.
An animation is a picture drawn on the panel's read-and-redraw cycle, so it lags the machine by at least one poll; keep machine safety functions in the PLC logic and the hardwired devices.
Recommendation: set the animation timer to 1 second, bind each Animation Bitmap's Y-axis tag to its own register (V2501 through V2504 in the five-point, 0-to-25 setup), and hold that interval until one droplet and then all four render every hop; stagger the start values one hop apart for the stream, and test 0.5 seconds only after the four together have run two clean 4-second drops in a row.
Questions
Does adding more animation points make the motion smoother?
Points add drawn positions; the timer decides how many get rendered. Five points over 0 to 25 give four hops and a 4-second drop at a one-second timer. Nine points give eight hops and an 8-second drop at the same interval, so more points slow the fall unless you also shorten the timer. Add points only while every hop still lands.
Can objects other than the Animation Bitmap move on screen?
Most objects in this class of panel software carry an advanced-animation option, shown as the Advansed check box, with the same move, size and rotate features as the Animation Bitmap object. Use it when a single button or indicator needs to follow a register, so you keep one object instead of adding a separate animation layer.
Should I lower the driver update-rate setting before changing the timer?
The driver update rate defaults to 100 ms, with 50 ms selectable under Setup > PLC Settings > Update Rate, on the panel family with that menu path. Change the timer first: the driver cycle is the panel's best case, and the serial round trip plus redraw set the rest, so a one-second interval usually clears the skips before any driver change is worth trying.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.