Blank characters in a user-defined keypad's dynamic text area with Enter still delivering the string point to a sizing fault, not an entry fault. Shrink the area's font or enlarge its box until the longest entry fits, transfer the project, and verify the typing test at the panel, where the transferred object actually draws.
Type on a user-defined keypad and nothing appears, then press Enter and the full string lands in its destination field. That combination has one meaning: the entry path works, and the keypad's dynamic text area is drawing the line at a size its box cannot show. Reduce the font size in the dynamic text area, or enlarge the text box, until the longest real entry fits. Leave the serial link and the trigger tag alone while Enter keeps working; that result clears them. Below are the symptoms that point here, the arithmetic for a size that fits, and the verification to run at the panel before the line goes back into production.
Why the characters go blank
A dynamic text area draws characters inside its own bounds at its own font size. If the line at the set size is wider than the box, the trailing characters fall outside the drawing area. If the line is taller than the box, the whole line clips away. The characters exist; the area has no room to show them. HMI text objects across the major editors share this rule: text wider than a fixed-width field gets cut at the field's limit.
The trigger tag has no part in this. A system-bit trigger such as SYS BIT ON only tells the area when to draw; the size it draws at comes from the object's font and box settings.
The fault usually arrives with a project change. Screens and library objects brought in from an older project carry their own font and box dimensions, and an imported text area can end up with a font its box cannot show. The editor update on the timeline is often what made the import possible; the oversized font came across with the imported screen.
If every object on the panel draws larger or smaller than the editor shows, that is panel-wide scaling, and HMI editor and panel text size mismatch covers it. One blank keypad with everything else correct is an object-level fault, which is what the rest of this page treats.
Symptoms and what each points to
- Characters invisible while typing, complete string in the destination field after Enter: the text area's font or box is oversized. This is the fault this page fixes.
- One keypad blank while other keypads on the same trigger tag work: the affected object's settings, not the trigger, the link or the project logic.
- Symptom began after screens or library objects came in from an older project: an imported font or box size.
- Text visible in simulation, blank at the panel: check the transferred project's object settings and run the display test at the panel.
- Enter also fails to place the string: a different fault in the connection between the keypad and its field. Go to the last section.
Check these in order
- Open the affected user-defined keypad in the editor and select the dynamic text area. Write down its font size and box dimensions in pixels.
- Open a keypad whose live entry displays correctly, one with a similar layout, and write down the same two values. The difference between the two objects is the suspect.
- Check where the screen came from. An import from an older project is the common route for a changed font.
- Leave communications out of the first pass. The dynamic text draws from a tag inside the panel, so moving a port from RS-232 to RS-485 cannot change what the area shows. Touch the link only when entries fail to arrive or arrive wrong.
- Compute the fit with the numbers from step 1 before editing anything. The next section gives the arithmetic.
Example: fitting six characters into a 96 by 32 pixel text area
The situation: an alphanumeric keypad takes a 6-character batch code such as A31B07. Its dynamic text area is a box 96 pixels wide by 32 pixels tall on the editor grid. After an import the area carries a 32 pixel font, and nothing shows while typing.
Two estimating rules do the check. Allow 0.6 times the font size for each character's width, the advance of a digit in most monospaced faces, and 1.3 times the font size for line height, which covers normal single spacing plus padding.
Width at 32 pixels: 32 × 0.6 = 19.2 pixels per character, and 96 ÷ 19.2 = 5.0 characters across. Padding takes part of that margin, so plan on 4. The 6-character code loses its last 2 characters off the right edge.
Height at 32 pixels: 32 × 1.3 = 41.6 pixels of line against a 32 pixel box. The line runs 9.6 pixels taller than the box and clips vertically too.
Fix one, shrink the font to 24 pixels. Width: 24 × 0.6 = 14.4 pixels per character, and 96 ÷ 14.4 = 6.7, so 6 characters fit with margin. Height: 24 × 1.3 = 31.2 pixels, inside the 32 pixel box. The batch code now displays in full.
Fix two, keep the 32 pixel font and enlarge the box. Width: 6 × 19.2 = 115.2 pixels, so set the box to 120 pixels. Height: 41.6 pixels, so set it to 44 pixels. The code displays at the larger type.
The 0.6 and 1.3 factors are planning estimates; wide capitals run wider, which is why each fix leaves a character of margin. The panel test is the verdict. Pick the smaller font when the keypad's keys leave no room to widen the box, and the bigger box when operators read the entry from a distance and 24 pixels is too small.
Apply the fix and verify at the panel
- Set the new font size or box dimensions on the affected keypad's dynamic text area, using the example's arithmetic.
- Save the project and transfer it to the panel with your site's normal release procedure, so the delivered copy matches the edited one.
- At the panel, open the keypad and type the longest real entry. Every character should appear as you type it.
- Press Enter and confirm the complete string lands in its destination field.
- Close the keypad and reopen it, then type again. A pass in simulation tells you the logic is right; the display verdict comes from the panel, where the object actually draws.
- If the preview is still blank after a verified transfer, confirm the edit landed on the keypad's dynamic text area and not on a neighbouring text box, then compare the transferred project against the edited one before changing anything else.
If the layout cannot give the text area room, or the built-in keypad resists editing, build your own: create a custom HMI keypad with larger text and size its text area to the entries you actually take.
Recommendation: When typed characters are blank but Enter still delivers the string, shrink the dynamic text area's font or enlarge its box until the longest real entry fits with one character of margin, transfer the project, and run the typing test at the panel before the line returns to production. Enlarge the box when operators read the entry from a distance; shrink the font when the keypad layout is tight.
When Enter also fails
A blank preview with a failed Enter is a different fault. The string never reaches its field, so the sizing fix on this page is the wrong tool; the connection between the keypad and its entry object is the suspect. Verify that wiring first: linking a user-defined keypad to an HMI numeric entry object shows the connection to check.
If the fit is correct, the transfer is verified and the preview is still blank, stop editing. Prepare a project copy that reproduces the fault and send it to the panel vendor's technical support. Repeated blind changes make the fault harder to find, not easier.
Questions
Why did the keypad show text before, and stop after screens came in from an older project?
Screen and library imports carry the text area's font and box dimensions from the old file, and the panel then draws a size the box cannot show, while simulation on the PC can still look right. Open the imported keypad in the editor, read the font size and box dimensions the object actually carries, set them to fit the current layout, save, and transfer again. The trigger tag and the entry settings need no change when Enter still delivers the string.
Can a serial link change, such as moving a port from RS-232 to RS-485, restore the text?
No. When Enter delivers the complete string to its destination field, the entry path and the link are already working, and a link change addresses a different layer. The blank preview is a layout fault in the dynamic text area, so fix the font or the box size.
What if the font size that fits is too small to read at the machine?
Enlarge the text box so a larger size fits: allow 0.6 times the font size in width for each character of the longest entry, plus 1.3 times the font size in height for the line. If the keypad layout has no room, give the text area two lines or move keys to free a row, or build a custom keypad with the layout you need.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.