KTP1200 Comfort Numeric Keypad: TIA Portal V13 Setup Guide

David Krause14 min read
HMI / SCADASiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Problem Overview

Engineers deploying Siemens KTP1200 Comfort HMIs frequently hit a screen-keyboard problem during commissioning: when the operator taps an integer or float input on the panel, the numeric (num pad) layout does not appear. Instead the panel pops up the full alphanumeric keyboard, forcing the operator to hunt for digits and slowing every setpoint entry. In some plants the pad only opens in one runtime language and degrades to letters in another. The issue has nothing to do with hardware failure — it is almost always an engineering or translation artefact in TIA Portal V13.

This reference documents the actual root causes observed in V13 and V13 SP1 projects, explains why copy-pasted WinCC PC Runtime command lines such as TouchInputPC.exe -NumPadOn cannot work on a Windows Embedded Compact 7 panel, and provides the field-tested procedure to force a true numeric on-screen keyboard on every numeric I/O field.

KTP1200 Comfort Hardware and Operating-System Context

The KTP1200 Comfort is a 12.1-inch widescreen HMI with combined key/touch operation, used as a mid-tier operator panel between the smaller KTP400 / KTP700 and the larger TP1500 / TP2200 Comfort. Two MLFBs dominate the installed base:

MLFB Display Touch Keys Image
6AV2 124-1MC01-0AX0 12.1" TFT, 1280x800 Capacitive multi-touch 34 (system + 24 user) WinCC Comfort V13 / V13 SP1
6AV2 124-1MC02-0AX0 12.1" TFT, 1280x800 Capacitive multi-touch 34 (system + 24 user) WinCC Comfort V14 / V15 / V15.1

Both panels run Windows Embedded Compact 7 (WinCE 7), not Windows desktop. This single fact is the source of most confusion in the Siemens support threads: file-system paths, executable names, and VBScript APIs that work on a WinCC Runtime PC do not exist on the panel.

Item PC Runtime (WinCC RT Advanced) KTP1200 Comfort Panel
Operating System Windows 7 / 10 / Server 2016+ Windows Embedded Compact 7
TouchInputPC.exe path C:\Program Files\Common Files\Siemens\PTTouchInput\TouchInputPC.exe Does not exist
ProgramExecute / StartProgram in VBScript Available Not exported; raises runtime error -2147213300
VBScript Full VBScript + Win32 access Subset only; no Win32 calls
cmd.exe / explorer.exe Available Not present
Screen keyboard source OS / PTInput helper Built into WinCC CE Runtime

Why TouchInputPC.exe -NumPadOn Fails on the Panel

Searching "KTP1200 numpad" on Siemens support surfaces a workaround originally written for WinCC Runtime PC:

ProgramExecute("C:\\Program Files\\Common Files\\Siemens\\PTTouchInput\\TouchInputPC.exe -NumPadOn");

On a Comfort panel this command fails in one of two ways:

  • Runtime error — Object doesn't support this property or method. The function ProgramExecute is not exported in the WinCC CE VBScript host. The equivalent on CE is StartProgram, which exists but refuses to launch arbitrary executables outside the signed image.
  • Path not found / File not found. There is no C:\Program Files directory on Windows Embedded Compact 7. The visible root of a Comfort panel contains only \Windows, \Flash, \Storage Card (when an SD card is fitted), and a handful of system folders (Recycled, Documents and Settings, etc.).

Even if the path existed, the panel could not run an unsigned Win32 PE binary — the image is locked, signed by Siemens, and stripped of cmd.exe, explorer.exe, and the Win32 console subsystem. Any solution involving TouchInputPC.exe applies only to PC-based Runtime (RT Advanced on a Windows host) and must be discarded for the Comfort family. The same restriction applies to TP700 / TP900 / TP1200 / TP1500 / TP1900 / TP2200 Comfort and to the KP / KTP400 Basic lines that run CE 6.0.

Native Screen-Keyboard Activation on KTP1200 Comfort

WinCC Comfort / Advanced includes an integrated on-screen keyboard that pops up automatically when an input field receives focus. The keyboard layout is selected per I/O field, not via a global script, and not via an external executable.

Step-by-step: Force the Numeric Layout on a Single I/O Field

  1. In the TIA Portal project tree, open the screen that contains the tag input.
  2. Select the I/O field bound to the integer / float tag.
  3. In the Properties pane go to Properties > Properties > Appearance.
  4. Set Display of the screen keyboard to Always if the operator must see a permanent keypad, or leave at the default When input focus is acquired for focus-triggered behaviour.
  5. Under Layout, change the value from Automatic to Numeric.
  6. Recompile and download to the panel.

With Layout = Numeric, the on-screen keyboard renders only digits, the configured decimal separator, the sign, and backspace — even if the bound tag is a STRING. This is the canonical Siemens-supported solution and requires no VBScript at all.

Step-by-step: Force Numeric Layout Globally via Template

When a project has hundreds of I/O fields, editing each one is impractical. Apply the change once in the template:

  1. Open the Global Screen (or the project's root screen template under "Screens > Templates").
  2. Configure the default I/O-field properties: Layout = Numeric, Display of screen keyboard = Always.
  3. Use the template for every new screen, or copy an existing numeric I/O field, right-click and choose Create screen object from selection (reuse).

To change existing fields en masse, use the project editor's Find and Replace tool across all screens and set the Layout attribute for all I/O fields of a given tag type.

Configuring Numeric vs Alphanumeric Keyboard Layout

The "Layout" property accepts the following values; understanding each prevents most support calls:

Layout value Use for Keys visible Tag-type safety
Automatic Default; chosen by tag data type Numeric for INT / REAL, Alphanumeric for STRING Safe
Numeric Force numeric pad on a tag (recommended for setpoints) 0-9, '.', '-', backspace Safe for INT, DINT, REAL, LREAL
Alphanumeric Force QWERTY even on numeric tags (rare) Full keyboard Safe for STRING
Numeric (with hex) Hex-coded process values, raw DWord bits 0-9, A-F Safe for DWORD, WORD
Date / Time Date / time inputs (PLC date-and-time) Calendar wheel + numeric Safe for DATE_AND_TIME
Field caveat: Setting Layout = Numeric on an I/O field whose tag is a STRING will still produce the numeric pad, but the panel will reject any non-numeric character the operator types at runtime, with no error message — the value simply does not write. To keep operators productive, leave STRING-typed inputs on Automatic and only force Numeric on INT / DINT / REAL / LREAL tags.

Language Mismatch — The Most Common Root Cause

The single most reported failure mode in the Siemens support threads is that the numeric layout appears in some languages but not in the operator's working language. This is not a bug — it is a translation artefact of how TIA Portal stores per-language screen properties.

Why it happens

  1. The screen object (I/O field) has a default numeric layout configured for the project's editing language (typically English or German).
  2. The operator's runtime language (e.g. French) is missing the translation of that screen object, or the Layout property has not been explicitly set in that language.
  3. When the runtime falls back to the missing translation, the panel silently degrades to the alphanumeric pad.

How to fix it

  1. Project tree > right pane > Tasks > Languages & Resources > Editing language. Confirm a single editing language (commonly English or German) and confirm that the operator's runtime language is listed as an active language.
  2. Open every screen containing a numeric I/O field. Switch the editing language to the operator language (toolbar dropdown). Re-confirm Layout = Numeric on the field. The Layout property is language-specific; an English "Numeric" does not automatically carry over to a French translation.
  3. Project tree > Runtime settings > Language & Font: enable every language the panel must support at runtime, and tick Activate language switching so the operator can change language at the panel.
  4. Rebuild and download the project.
Tell-tale sign: On the panel, switch the runtime language from German to French (or vice versa) using the language-switch button. If the pad stays numeric in one language and flips to alphanumeric in the other, you have a translation gap, not a software bug. Re-edit the field in the missing language.

Using the Customizable Screen Keyboard Library (Entry ID 106226404)

For projects where the native layout is not enough — custom buttons, hex entry, signed-decimal only, passwords, regional decimal separator, etc. — Siemens publishes a free library of pre-engineered on-screen keyboards.

Entry ID 106226404 — Customizable Screen Keyboards for WinCC Comfort / Advanced (TIA Portal)

Requirements

  • TIA Portal V13 SP1 or later. V13 without SP1 refuses to open the library project.
  • WinCC Comfort / Advanced V13 SP1 or later.
  • HMI Runtime version on the panel must match the configured version (re-download the full panel image after an SP upgrade).

What the library contains

  • Numeric keypad with comma or period decimal separator (region-aware).
  • Signed-decimal keypad with explicit '+/-' button.
  • Hex keypad for DWORD process values.
  • Alphanumeric keypad for STRING tags.
  • Date / time pickers.
  • Example screens showing how to call each keyboard from your own I/O field via the ShowKeyBoard function block.

Integration Procedure

  1. Download the .zap13 (or .zap14 / .zap15 / .zap16) project from the Siemens support entry. The version you select must match your TIA Portal version exactly.
  2. Extract the archive and open the example project in TIA Portal.
  3. From the project library, drag the desired keypad faceplate onto your own screen, or copy the screen that already contains the keypad.
  4. Wire the keypad to your tag in the faceplate interface: set Tag (the variable to be edited), MinValue, MaxValue, and DecimalPlaces.
  5. Compile, download to the panel, and test on every runtime language.
Tip: If your TIA Portal is V13 SP1, download the .zap13 SP1 version. If your team upgraded to V14 or V15, download the corresponding .zap14 / .zap15 version — the older .zap13 will not open cleanly on V14+ due to schema changes.

VBScript Alternative (When Native Configuration Cannot Be Used)

When the keypad must change layout dynamically based on a user level, an operator action, or a fault state, drive the panel's built-in keyboard through the WinCC CE VBScript API instead of trying to launch an external EXE:

' Attached to a button "Show NumPad" click event
ShowKeyboard "NUMERIC", HMIRuntime, HMIRuntime.Tags("Setpoint_01")

Full pattern as a reusable VBScript function:

Sub ShowNumPad()
    Dim objTag
    Set objTag = HMIRuntime.Tags("Setpoint_01")
    objTag.Read
    ShowKeyboard "NUMERIC", HMIRuntime, objTag
End Sub

The constants for the second parameter are documented in the WinCC Comfort / Advanced V13 SP1 scripting manual:

Layout constant Resulting keypad
"NUMERIC" 0-9, '.', '-', backspace
"NUMERIC_HEX" 0-9, A-F
"ALPHANUMERIC" Full QWERTY keyboard
"ALPHANUMERIC_UPPER" QWERTY, uppercase by default
"DATE" Calendar picker
"TIME" HH:MM:SS spinner

ShowKeyboard invokes WinCC CE's internal keyboard handler and bypasses the broken Windows path. It is documented for V13 SP1 and later; ProgramExecute is not.

Decimal Separator and Regional Behaviour

A common follow-on problem is that the decimal key on the numeric pad shows a comma in DE and a period in US — even though the tag is the same. This is driven by the panel's regional setting:

  1. On the panel, open Control Panel > Regional Settings.
  2. Set the locale to match the operator's nationality (German / German (Germany), English / English (United States), etc.).
  3. Alternatively, override per tag in TIA Portal: Tag properties > Display format > Decimal places > Decimal separator. Choose . (point) or , (comma) independently of the panel's locale.
Important: The decimal separator you choose for display must match the separator the PLC expects on parse. Mixing display period with PLC comma is a classic source of "the value does not write" complaints during commissioning.

Verification Steps

  1. After download, on the panel tap the I/O field — confirm a numeric pad (digits + decimal only) opens.
  2. Switch the runtime language at the panel using the language switch button; confirm the numeric pad still appears in every active language.
  3. Enter a value, press Enter, confirm the PLC tag updates via an HMI tag watch in TIA Portal (online > HMI tags > right-click > Monitoring).
  4. Toggle to alphanumeric mode (if your screen exposes a layout switch) and confirm STRING fields still accept letters.
  5. Reboot the panel via Control Panel > OP > Reboot. Some keypad caching bugs only surface after a cold boot.
  6. Power-cycle the panel (cut 24 VDC for 10 s, restore). Confirm the keypad still works after a cold start — this is the true commissioning test.
  7. Verify with the project backup on a second, identically-configured panel if available — keypad issues that show on one image sometimes disappear on another.

Troubleshooting Matrix

Symptom Likely cause Fix
No keypad opens at all on input focus I/O field property Display of screen keyboard = Never Set to Always or When input focus is acquired
Alphanumeric pad on an INT tag Layout = Automatic + tag typed as STRING in one translation Force Layout = Numeric in every active language
Numeric pad in DE, alphanumeric in FR / EN / ES Missing translation of I/O field's Layout property Re-edit the field in every runtime language, set Layout = Numeric
VBScript error "ProgramExecute undefined" Script copied from a PC Runtime example Replace with native Layout = Numeric or ShowKeyboard "NUMERIC"
VBScript error "TouchInputPC.exe not found" Attempting to run PC helper on Windows CE Use the on-board keyboard; never call an external EXE
Library project won't open in TIA Portal Wrong TIA Portal version (missing SP1) Install V13 SP1 minimum and re-download the matching .zap file
Keypad opens but rejects "0,1,2,.." after entering hex Tag type DWORD but Layout = Numeric (not Numeric with hex) Set Layout = Numeric (with hex) for the field
Decimal key is comma in DE but period in US Region setting of the panel Control Panel > Regional Settings or override per tag in TIA Portal
Operator must tap a key 2-3 times Touch not calibrated Control Panel > OP > Touch > Calibrate
Keypad behaviour lost after firmware upgrade Panel image version mismatch with project Re-download the full panel image from the updated TIA Portal project
Keypad opens but PLC tag does not update Tag area pointer / connection interrupted Check Connections in TIA Portal and tag consistency online
Keypad works in simulation but not on the panel RT simulation on PC; CE Runtime not configured Download the project to the panel and verify the image version

Field-Proven Caveats

  • Firmware matching: After upgrading TIA Portal to a newer version, the Comfort panel firmware is upgraded during the next download. The panel is unreachable via TIA Portal for 2–5 minutes while the new image is written. Plan a maintenance window.
  • Project portability: A V13 project opened in V14 will recompile and warn about the SP level. Confirm the panel image on the device matches the configured Runtime version via Control Panel > OP > Device > Image version.
  • Transfer / Backup: The on-screen keyboard layout is part of the compiled project, not the runtime image. A ProSave backup of the panel restores everything except pending alarms; the keypad behaviour is recovered as soon as the project is re-transferred.
  • Touch calibration: If the numeric pad opens but the operator must tap a key two or three times before it registers, recalibrate the touch via Control Panel > OP > Touch > Calibrate.
  • Performance: Forcing Layout = Numeric on hundreds of I/O fields does not measurably affect runtime performance; the keypad is a single shared object cached by WinCC CE.
  • Password fields: On a "Password" I/O field, WinCC CE automatically hides the keypad's previous digits and toggles to alphanumeric mode by default. To force numeric on a numeric password (rare), use the library faceplate.
  • Multi-touch: The KTP1200 supports capacitive multi-touch, but the on-screen keyboard processes single taps only. Multi-touch gestures (pinch-zoom) on the keypad are ignored by design.
  • Audit trail: If your project writes an audit log of operator entries, configure the I/O field's "Operator input" event and log Before + After to capture the actual entered value, not the focus event.
  • Reset to factory: If the keypad behaviour becomes inexplicably wrong, perform a ProSave restore of the panel image from the last known-good backup before re-downloading the project. This resolves image-cache corruption issues that survive ordinary downloads.

FAQ

Why does ProgramExecute("TouchInputPC.exe -NumPadOn") fail on my KTP1200 Comfort?

The TouchInputPC.exe path belongs to the PC-based WinCC Runtime on Windows 7/10/Server, not the Windows Embedded Compact 7 image the KTP1200 runs. ProgramExecute is not exported on CE panels. Use the I/O field's "Layout = Numeric" property or the ShowKeyboard VBScript instead.

The numeric keypad works in German but not in French — why?

The Layout property is language-specific. Open each screen, switch the editing language to French (or whatever runtime language is missing), and set Layout = Numeric on the I/O field again. Then re-download the project.

Do I need TIA Portal V13 SP1 to use the customizable keypad library?

Yes. Entry ID 106226404 ships as a .zap13 SP1 project. Without SP1, TIA Portal refuses to open the library and the keypad faces will not compile. Re-download the matching library version if you upgrade TIA Portal.

Can I force every numeric input to open the pad without editing each field?

Yes. Open the Global Screen / project template, set the I/O-field default for Layout = Numeric and Display of screen keyboard = Always, then reuse that template for every screen. Alternatively, apply a mass change in the TIA Portal editor.

Will changing Layout = Numeric break STRING tag entry?

On STRING-bound fields, keep Layout = Automatic so the alphanumeric pad opens. Forcing Numeric on a STRING field shows only digits and rejects letters when the operator hits Enter, which looks like a keypad bug but is a configuration error.

The decimal key shows a comma in Germany but a period in the US — how do I unify it?

Either set the panel's regional setting in Control Panel > Regional Settings, or override per tag in TIA Portal under Tag properties > Display format > Decimal separator. The chosen separator must match the one the PLC expects on parse.

Back to blog