Signal a sound done bit from an HMI to the PLC ladder

6 min read · Published November 9, 2026

The panel publishes no sound-playing status bit, so stop sizing a timer to the clip. Put a Tag action immediately after the Sound action in the Event Manager and point it at a bit the ladder reads: the bit rises only when playback ends. Gate the step on that bit, clear both bits on step advance, and verify the setup with a longer clip.

A ladder step that must follow a voice message needs one thing from the panel: a bit that rises when the sound ends. The panel publishes no sound-playing status bit, so there is nothing to find in the tag database. You build the signal from the order of actions in the panel's Event Manager. A Tag action placed immediately after the Sound action runs only when playback has finished, so it can write a done bit the PLC reads, gates on, and resets. This article builds that handshake, replaces the timer sized to the clip, and gives the test that shows the bit waits for the audio.

For the panel-side version of the same problem, holding a button action until a voice message finishes, read HMI voice message playback completion before a button action.

Why a timer sized to the clip fails

The usual stopgap is a TON with a preset close to the clip length, the next step gated on its done bit. It works on the bench and drifts in production for two reasons.

First, the timer starts when the PLC sets the trigger bit, but the sound starts later. The panel sees the trigger only after its tag update, and playback starts after that. Every millisecond between the trigger and the first syllable is error added to a preset you sized to the clip alone.

Second, the clip changes. Re-record the message or trim a pause, and the preset is silently wrong. Nothing in the program flags the mismatch.

Approach Done arrives at Survives a clip edit Extra panel setup
TON preset sized to the clip PLC trigger plus preset No None
Sound action, then Tag action End of playback Yes One Tag action per Sound action

The ordering behind the second row is panel behavior you can rely on: the Event Manager runs an event's actions in order, and a Sound action finishes before the next action in the list starts. Keep the message in an Event Manager event so that ordering governs it. A sound started outside the event's action list gives no such ordering.

What you need

  • The panel project open in its programming software. The Event Manager lives under the Database menu, in the Event Manager Database.
  • The event that plays the message, with its existing trigger condition untouched.
  • One spare bit the ladder reads. This article calls it Voice_Done; the name is yours. It is a BOOL and its initial value is 0.
  • The step-advance rung, currently gated on the timer done bit.
  • The panel's tag update setting, if you want to put a number on the delay between trigger and playback.

Build the sound done handshake

  1. Create Voice_Done at 0 where the ladder reads it, in the PLC or in a panel tag mapped to a PLC address.
  2. Open the event that plays the message: Database menu, then Event Manager Database. Leave the trigger condition exactly as it is, whether that is the PLC trigger bit or a panel condition.
  3. Confirm the Sound action is first in the action list.
  4. Add a Tag action immediately after the Sound action. The Tag action type sets the value of a tag; configure it to write 1 to Voice_Done.
  5. In the ladder, contact Voice_Done in the step-advance rung in place of the timer done bit.
  6. Reset the handshake when the step completes: clear Voice_Done and the trigger bit together, so the next message starts from a known 0.
  7. Latch the bit through a rising-edge instruction into an internal coil, and gate the step on the coil. Small controllers commonly scan in 1 to 10 ms and the bit crosses the communications link, so the edge latch keeps the step logic independent of when the scan samples the panel write.

Example: replacing a 5-second timer on a 4.5-second clip

Inputs, from a typical station of this kind: the recorded message is 4.5 s long, the existing TON preset is 5.0 s, and the panel's tag update interval is 200 ms, read from the tag or communications settings (this interval is the example's own value; yours may differ).

Rule: with the timer, the step advances at the preset, counted from the PLC trigger. With the handshake, the done bit arrives at the end of playback, which is the tag update plus the clip length.

Arithmetic, timer margin: playback ends at 4.5 s + 0.2 s = 4.7 s after the trigger, and the preset fires at 5.0 s, so the margin is 5.0 s - 4.7 s = 0.3 s. At a 400 ms tag update, playback ends at 4.9 s and the margin shrinks to 0.1 s.

Arithmetic, clip edit: re-record the message at 5.1 s. Playback ends at 5.1 s + 0.2 s = 5.3 s, the preset still fires at 5.0 s, and the step cuts the last 0.3 s of audio.

Arithmetic, padding: raise the preset to 5.5 s against the original clip and every step waits 5.5 s - 4.7 s = 0.8 s after the voice ends.

Result: with the Tag action in place, Voice_Done rises at 4.7 s for the 4.5 s clip and at 5.3 s for the 5.1 s clip, with no preset change and no ladder change.

Decision: if the next step must start after the last syllable, gate the rung on the done bit. The timer is wrong as soon as the clip length or the tag update moves. Keep a timer only for the breakdown case, when the panel project is out of reach: size the preset against the longest clip you run and treat the idling time as the cost of the stopgap. If the voice warns of a hazard, make the handshake change before the station runs without someone in earshot.

Check that the bit waits for the audio

  1. Put the ladder online with a watch table or data view on the trigger bit and Voice_Done.
  2. Trigger the message and confirm Voice_Done reads 0 while the voice is audible.
  3. Watch it go to 1 after the last syllable, and confirm the next step starts only then.
  4. Swap the clip for one twice as long, 9.0 s. The bit must still rise after the new end of playback, 9.0 s + 0.2 s = 9.2 s after the trigger, with no ladder change. A timer-sized gate fails this test.
  5. Run the sequence back to back while the panel is busy on other screens, to catch an early or a missed transition.
  6. After each step advance, confirm the watch table reads 0 on the trigger bit and on Voice_Done before the next trigger.

Traps that break the handshake

  • Bit never reset. The next message's step sees the old 1 and advances at once. Clear Voice_Done on step entry or completion and confirm 0 before the next trigger. The wider discipline of firing a panel event once and resetting it cleanly is in PLC flag triggers an HMI event once: check the reset path.
  • Tag action ahead of the Sound action. The list runs in order, so a Tag action placed first writes the bit at playback start and the PLC advances mid-sentence. Sound first, Tag second.
  • Several messages, one bit. Alternate Sound and Tag actions within one event, or give each message its own bit, and let the ladder track which message is active.
  • Sound started outside the Event Manager. The ordering belongs to the event's action list. Move the sound into an event before relying on the handshake.
  • Leftover timer in the advance rung. The step advances on whichever of the timer or the done bit comes first, so a short preset still cuts the message. Delete the TON contact from the advance condition once the longer-clip test passes.

If the voice belongs to the fixture

When the speaking is part of the machine, a fixture that announces a verdict for each part, the usual hardware is a standalone voice playback device triggered from PLC outputs. Voice playback devices for PLC error-proofing fixtures covers that hardware and its wiring.

Recommendation: Build the done bit with a Tag action immediately after the Sound action in the Event Manager whenever a ladder step must wait for a voice message to finish, and gate the step on a rising-edge latch of that bit. Keep a padded TON only for the breakdown case, sized against the longest clip you run, and remove it from the advance rung once the bit passes the longer-clip test.

Questions

Is the sound done bit a pulse or a level?

It is a level. The Tag action sets the value to 1, and the bit stays at 1 until the ladder clears it, so a plain contact sees it on every scan while it is on. Latch it on a rising edge anyway: the bit crosses the communications link, and a reset from the ladder and a write from the panel can land in the same scan.

What value does the done bit hold after a power cut?

Treat it as unknown. A retentive address keeps its last value through a power cut, while a non-retentive address clears before the panel finishes booting. Clear Voice_Done in first-scan logic before the step logic is enabled, then let the panel write it again at the end of the next message.

What should I collect before reporting a done bit that fires early?

Record the panel model, the programming software version and the panel firmware version. Export or screenshot the Event Manager event with the action order visible, Sound first and Tag second. Send those to the panel maker's support channel, and keep the padded timer as the stopgap while you wait for an answer.

Does the link type, serial or Ethernet, change the handshake?

No. The ordering of the actions lives in the panel, so serial and Ethernet behave the same for the done bit. The link only carries the trigger bit out and the done bit back, so its update interval sets the delay between the PLC trigger and the start of playback, as the worked example shows.

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