Show an HMI splash screen for a set time on power up

7 min read · Published November 6, 2026

Set the panel's event manager to count 10 ticks of a 1000 ms counter from power up, switch to the splash page on the first tick and to the operating page on the tenth for a 10-second splash with no PLC code. If the PLC already owns screen changes, run a 10000 ms timer on the splash screen number and write the operating page into the switch-to register.

An HMI splash screen should hold for a set time on power up, then hand the panel to the operating page. The clean way needs no PLC code: trigger a panel event on the power-up bit, let it count 10 ticks of a 1-second system counter, land on the splash page at the first tick and leave it at the tenth. That is a 10-second splash, and the two numbers that set it are yours to change. If the PLC already owns screen changes, a 10000 ms PLC timer watching the splash screen number does the same job through the screen-switch register. And if the screen is a Linux panel PC, the splash lives in the operating system instead: show only a splash screen on an embedded Linux kiosk boot covers that route.

How does the event manager time a splash screen without PLC code?

The event manager watches conditions in the panel continuously and runs an action whenever a condition is met, so a power-up bit can start a counter ticking once per second and an event on the tenth tick can switch off the splash page.

The panel's event manager is a set of events that monitor conditions in the panel continuously; when a condition is met, the actions attached to it run. Three system variables do the timing work here:

  • SYS BIT ON is on whenever the panel is powered up and its runtime is running, which makes it a clean just-booted trigger.
  • SYS COUNTINTERVAL sets the counter's tick length in ms; 1000 gives one tick per second.
  • SYS COUNTMAX sets the count's stopping value; 10 gives ten ticks.

While the interval and the max hold non-zero values, the panel's internal counter counts up toward the max, and SYS COUNTVALUE carries the running count. Screen-switch events read SYS COUNTVALUE and fire at the tick you choose. The hold time is max times interval: with a 1-second tick and a max of 10, the splash holds 10 s. The count starts once the runtime is up, so the splash holds your page after boot finishes.

What do you need before you build the splash?

You need the panel project open with a splash page and an operating page already built, the splash graphic exported at the panel's native pixel resolution such as 800 x 480, and the hold time chosen: 10 seconds in the example below.

  • The splash page and the operating page, with their screen numbers noted.
  • The splash graphic drawn at the panel's native pixel resolution; on a small wide panel that is commonly 800 x 480, and a logo scaled up from half that looks soft.
  • The hold time decided before you open the event manager, because it sets both count values.
  • For the PLC route only: the PLC verified running and communicating before the panel finishes booting, and the project's Current Screen and Switch To screen fields exposed to the PLC.

The boot order matters only for the PLC route: its timer can start once it sees the splash screen number, so a PLC that comes up after the panel never times the hold. The event-manager route has no such dependency.

How do you set the splash timing in the event manager?

You set SYS COUNTINTERVAL to 1000, SYS COUNTMAX to 10 and the trigger to SYS BIT ON, then two events move the panel: one at count value 1 onto the splash page and one at count value 10 onto the operating page.

  1. Build the splash page and the operating page, and note both screen numbers.
  2. Open the event manager and create an event triggered when SYS BIT ON is on. The manager monitors conditions continuously and runs the attached actions when the condition is met, so this event arms the count at every power up.
  3. Add an action to that event that sets SYS COUNTINTERVAL to 1000; the value is in ms, so the counter ticks once per second.
  4. Add an action that sets SYS COUNTMAX to 10.
  5. Create a second event on SYS COUNTVALUE = 1 whose action switches to the splash page.
  6. Create a third event on SYS COUNTVALUE = 10 whose action switches to the operating page.
  7. Save the project, send it to the panel, and power-cycle the panel.

With both count variables non-zero, the counter runs to the max, the splash lands on the first tick and the operating page arrives on the tenth. To cover the first second as well, set the project's start screen number to the splash page so the logo is up from the first frame. Change the hold by changing either dial, and move the switch-off event's count value to the new max so it still fires on the last tick.

How does the worked example play out for a 10-second splash?

A packaging line wants its logo held for 10 seconds after power up: 10 ticks at 1000 ms gives 10 x 1000 ms = 10000 ms, so the splash drops exactly 10 counted seconds after the panel's runtime starts.

The line's panel shows a logo page, then the line-overview page. The numbers:

  • Hold: SYS COUNTMAX 10 x the 1-second interval = 10 s.
  • Splash page lands on tick 1: 1 tick = 1 s after the runtime starts.
  • Switch-off fires on tick 10: 10 ticks = 10 s after the runtime starts.
  • Splash visible between the events: 10 − 1 = 9 ticks = 9 s, so the start screen number is set to the logo page to cover the first tick; the logo then holds the full counted 10 s.

Two variants fall out of the same arithmetic. A 5-second hold uses SYS COUNTMAX 5 with the switch-off event at value 5: 5 ticks x 1 s = 5 s. A 2.5-second hold uses SYS COUNTINTERVAL 500 ms with a max of 5: 5 x 500 ms = 2500 ms = 2.5 s. The operator sees the logo for the counted hold, then the line overview; measured from the wall plug, add the panel's boot time.

How do you drive the splash from the PLC screen-switch register instead?

When the PLC already owns screen changes, you set the panel's start screen number to the splash page and let a 10-second PLC timer watch for that screen number, then write the operating page into the switch-to register on timeout.

  1. Note the splash page's screen number and the operating page's number; the example uses 1 and 2.
  2. Set the project's Start Screen Number to the splash page, screen 1.
  3. Expose the panel's Current Screen field and Switch To screen field to the PLC.
  4. In the PLC, run an on-delay timer while the Current Screen value equals 1, with the preset at 10000 ms.
  5. On timer done, write 2 into the Switch To screen register.

This route assumes the PLC is running and communicating before the panel boots, because the timer starts only once it sees the splash screen number. If the PLC can come up after the panel, use the event-manager count, or add a panel event that tells the PLC the panel has booted and start the timer from that bit instead. The register's habits, including what a write does when it retriggers the screen number already showing, are covered in PLC to panel screen switch register: retrigger the same screen. When the PLC writes screens and the operator needs touch control back on arrival, change HMI screens from the PLC and give control back walks through the handback. To let operators watch the hold count down, show an HMI timer counting from a PLC current value puts the timer's accumulated value on the splash page.

How do you check the splash switched at the right second?

Time it with a stopwatch over three power cycles: the splash should drop 10 seconds after the count starts, and wall time from the plug equals the panel's boot time plus that 10-second count.

Measure once from plug to first frame to learn the boot time; every later check then reads against a known number. The switch should land within a tick of 10 s on each power cycle. When it misbehaves, the symptom points at the piece of the recipe:

  • Splash never appears: the value-1 event points at the wrong screen number, or the start screen number is unset.
  • Panel sits on the splash: SYS COUNTMAX is 0, so the counter never runs, or the value-10 event is missing.
  • Splash drops after about 1 s: the interval was entered as 100 instead of 1000, so ten ticks pass in a single second.
  • PLC version never switches: the PLC was not up when the panel showed the splash number, so check the boot order first.

Which splash method should you choose?

Use the event-manager count when the panel boots stand-alone or the PLC start order is uncertain, and use the PLC timer when the PLC is verified running before the panel finishes booting and its logic already drives the screen register.

Method Needs Switch-off point Weak spot
Event-manager count Panel project only, no PLC code Tick 10: 10 ticks x 1 s = 10 s after runtime up Count variables left at 0
PLC timer on the register PLC up before the panel; Current Screen and Switch To screen fields wired 10000 ms after the panel lands on the splash number PLC boots after the panel

Recommendation: build the splash on the event-manager count as the default: SYS COUNTINTERVAL 1000, SYS COUNTMAX 10, a splash event at value 1, an operating-page event at value 10, and the start screen number set to the splash page. Move the timing into the PLC only for cells whose screens already switch from the register and whose PLC is verified running before the panel boots; there, use the 10000 ms preset on the splash screen number.

Questions

How do I hold the splash longer than 10 seconds?

Change either dial. The hold is the max times the interval. Raising SYS COUNTMAX to 30 at the same 1-second interval gives 30 ticks x 1 s = 30 s, a 30-second splash. Raising SYS COUNTINTERVAL to 2000 ms at a max of 10 gives 10 x 2000 ms = 20000 ms, 20 seconds. Move the switch-off event's count value to match the new max so it fires on the last tick.

Does the counted splash cover the panel's own boot display?

No. The count starts when the panel's runtime is up, which is when SYS BIT ON turns on, so the panel's own boot display finishes first and the counted seconds run after it. To put your logo up as early as the project allows, set the project's start screen number to the splash page; the logo is then on screen from the first frame and the count takes over from there.

Can a startup warning appear on every screen without timing a page?

Yes. Put the warning graphic on the project's background graphics screen. A graphic placed there is included in every screen, so a STARTUP warning stays visible on whichever page the panel is showing. The background carries no timer, so use the splash count recipe when the warning has to clear on a schedule.

What if my HMI names these counter variables differently?

The SYS COUNTINTERVAL, SYS COUNTMAX and SYS COUNTVALUE names belong to one HMI family's event manager. Other panels expose the same idea in their own system-variable lists: look for a power-up system bit, a counter with a settable interval and maximum, and a current-value register you can hang screen-switch events on. The arithmetic is identical: hold equals max times interval.

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