The alarm banner draws one fixed row in firmware, so the message text gets only the width left after date and time; on a 6-inch panel that can be about 12 characters. Measure the budget with a numbered test alarm, rewrite each alarm text to fit, and move long wording to a pop-up or export.
An alarm history that shows the first dozen characters of a long message looks like a fault in your project. It is a width problem. The banner owns one row, the date and time columns take their share first, and the message text gets the remainder. There is no wrap option to enable on that class of panel, because the banner layout is part of the firmware. This article gives you the measurement that finds the real character budget, a worked example at 12 characters, rewrite rules that keep alarms readable, and the checks to run on the panel afterwards.
Why does my HMI alarm history show only part of the message text?
The alarm banner is a single fixed line drawn by the panel firmware, so the message gets whatever width is left after the date and time columns, and on a 6-inch panel with both enabled that leftover can be about 12 characters.
The row is drawn at a fixed pixel width, and the project cannot add a second row to it. Screen layouts on these panels live in pixels, which is the same behavior that lets two HMI panel sizes share one layout. That is why changing the font, the clock format or the column order rearranges the one row without creating a second line. The full text is normally still in the project; the banner has nowhere to put it.
Can I make alarm history text wrap to a second line?
On a banner whose row layout is part of the panel firmware, no: there is no wrap setting to turn on, so the row stays one line whatever you do to fonts, clock format or column widths.
Two checks are still worth the time before you accept the one-line answer.
Read the documentation for the alarm object you actually placed first. Newer alarm list controls document automatic text wrapping for the alarm text column and related fields. If your control documents that property, enable it in the object's settings and confirm the wrapped rows on the panel itself. If the alarm display is the classic single-row banner, nothing is there to enable and budgeting becomes the fix.
Keep the storage limit and the display limit separate as well. They are different numbers: at least one alarm software platform documents a maximum alarm message length of 160 characters and rejects longer entries with an error when you confirm the text. That cap governs what the project can store; the banner still shows only what fits its row, and the gap between the two numbers is exactly what your rewrite has to recover.
Which symptoms point to the banner layout and which point elsewhere?
Cut text that stops at the same character count every time points to the banner width; text that cuts at a different place each time, or shows garbage characters, points to the message content or the value behind it.
Work down the list and each symptom lands on one cause:
- Cuts at the same character every time, mid-word: banner width. Budget the text; the next sections show how.
- Cuts only when date and time are enabled: the clock columns own the row. Measure with the clock on, because that is how the panel runs on the floor.
- Editor preview shows the full line, the panel cuts it: the editor renders your project, the panel renders the banner. Judge truncation on the panel.
- Export shows the full text while the banner shows part of it: a display-only limit. The stored record carries the whole wording.
- Garbage characters where a value should be: value formatting, not message length; garbage characters from fast-changing values are a separate documented fault.
- A character LCD that shows only its first 8 of 16 characters: that is controller addressing, and fix sits in the display's addressing setup, nowhere near your alarm texts.
How many characters fit on the alarm banner?
Measure it with a test alarm instead of estimating: fire an alarm whose text is a numbered string, read where the banner stops, and treat that count as the budget for every message on that panel.
Write the test text as the alphabet followed by the digits 0 to 9: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789, 36 characters in all. Fire it with date and time enabled, read the row, and the last visible character is the budget. A banner that stops after the L gives you 12 characters.
Count on the panel, not in the editor, because editor text size and panel text size are a documented mismatch and a budget measured in the editor is a fiction.
The clock costs are worth knowing so you can reason about formats: hh:mm is 5 characters, hh:mm:ss is 8, MM/DD/YYYY is 10. If the panel's clock format is configurable, shorten it and re-run the 36-character test. Whether the freed width returns to the message is a property of that layout, and the re-test is what tells you.
What does a 12-character alarm budget look like in an example?
A 6-inch panel with date and time enabled showed about 12 message characters, so the example budgets three real alarms to 12 characters and shows what happens to a fourth one that overruns.
Scenario: a packaging line panel where the numbered-string test stopped after the L, so the budget is 12 characters with the clock on.
| Alarm | Text before | Characters | Banner shows | Text after | Characters |
|---|---|---|---|---|---|
| Conveyor 2 motor overload | CONVEYOR 2 MOTOR OVERLOAD |
25 | CONVEYOR 2 M |
CV2 MTR OVL |
11 |
| Emergency stop activated | EMERGENCY STOP ACTIVATED |
24 | EMERGENCY ST |
E-STOP HIT |
10 |
| Air pressure low | AIR PRESSURE LOW |
16 | AIR PRESSURE |
AIR LOW |
7 |
The arithmetic on the first row: CONVEYOR 2 MOTOR OVERLOAD is 25 characters, the banner keeps the first 12, CONVEYOR 2 M, and drops the 13 characters that named the fault. Rewritten, CV2 MTR OVL is 11 characters, one inside the budget. E-STOP HIT leaves 2 spare and AIR LOW leaves 5.
The emergency-stop row is the one that matters most: EMERGENCY ST is a safety message cut mid-word. Safety alarms get budget priority, and their full wording goes into the pop-up or detail view even when the banner line is short. Keep each rewritten alarm's long text in the alarm's extended description where the object offers one, so exports and pop-ups carry the complete sentence.
How do I fix alarm text truncation without a wrap setting?
Rewrite the messages to the measured budget, load them with logging untouched, and move anything longer into a pop-up message box or the exported history where the reader can scroll.
Four rules keep the rewrite useful:
- Machine tag first. Truncation eats the tail of the line, so the first characters carry the machine tag and the fault follows it.
- One fault per message. Two faults in one text means the second fault is the part that gets cut.
- Abbreviate against a plant legend. A code the crew cannot decode is worse than a truncation, so keep the legend posted where the alarms are read.
- Give the long wording a home. Where the alarm object supports it, show the alarm as a pop-up message box with the full sentence, and keep the same sentence in the extended text for exports.
Recommendation: run the 36-character test once per panel type with date and time enabled, write every alarm text on that panel to the measured count with the machine tag first, and park the full wording in a pop-up or the extended text. On the 6-inch class panel from the example, that means 12 characters or fewer per message.
How do I check the shorter alarm texts on the panel?
Transfer the project, force one alarm of each length on the panel with date and time enabled, and confirm every banner line shows machine tag and fault inside the measured budget.
- Force the longest rewritten alarm first and read the banner row: machine tag and fault both visible, nothing cut.
- Force the remaining alarms and read each row once. A text you have not seen on the panel is a text you do not know fits.
- Export the history where the panel supports it and open the file. History size and USB export limits have rules of their own. An empty export points to logging that was off; the download precondition for alarm history is documented separately.
- Re-run the numbered-string test after any font or clock-format change, then re-check the longest text the same day.
When does a separate shop-floor screen help?
A separate screen helps when the whole crew, not the person at the panel, needs the alarm words, and the form that works is a shop-floor board fed with content you prepare ahead.
A standalone shop-floor signage display plays prepared slides or your own Android app, so it suits shift notices, quality boards and safety reminders beside the line. It cannot mirror the panel's live banner: its HDMI port is an output and there is no video input. Keep the live alarm list on the HMI where it triggers, and use shop-floor signage displays for the prepared content the crew reads at a glance. When the alarm words matter away from the machine, the pop-up on the panel and the exported history are the paths that work.
Decision: measure the character budget on each panel type, write the alarm texts to fit it with the machine tag first, keep the full wording where it can scroll, and add a board beside the line only for content you prepare ahead.
Questions
Is the full alarm text still stored when the banner cuts it off?
The history record keeps the alarm text your project defines, and the banner is only the on-panel rendering of it. On platforms that export alarm logs to text or CSV, open the export and read the same alarm to check the full wording is in the file. Run that check once per panel, and expect an empty file if alarm logging was never switched on.
Does a bigger font squeeze more alarm characters onto the banner?
The opposite. Character width grows with the font, and the banner width in characters falls with it, so a larger font shows fewer message characters. Enlarging text helps distance reading at the cost of budget. If the font for the alarm object is configurable, re-run the numbered-string test after any change, because the measured count moves with it.
How many characters do common date and time formats cost?
Counted as displayed characters: hh:mm is 5, hh:mm:ss is 8, MM/DD/YYYY is 10, and a 12-hour field with seconds and an AM or PM suffix reads MM/DD/YYYY hh:mm:ss AM at 22 characters. Formats differ between software packages, so read the format off your own panel, count it, and subtract that count from the banner total before you write any message text.
What belongs in the first characters of a short alarm text?
Machine tag first, fault second, because truncation eats the tail of the line. CV2 MTR OVL tells the crew which conveyor and which fault in 11 characters; MTR OVERLOAD CV2 would cut to MTR OVERLOAD at 12 and never name the machine. Keep the plant legend current, and re-run the numbered-string test whenever a tag gets longer.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.