Configuring Siemens 840D HMI Soft Keys to Open PDF Help Files

David Krause12 min read
HMI ProgrammingSiemensTutorial / 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

Overview and Engineering Use Case

The SINUMERIK 840D / 840D sl control family supports custom horizontal and vertical soft keys on the operator panel that launch user-defined actions. A common field requirement is to map a soft key to a PDF file (drawing, maintenance procedure, lubrication diagram, or operator instructions) that resides on the PCU 50 / PCU 50.3 hard disk or compact flash. A second common use case is to extend the Help key of an NC/PLC alarm (for example, a user alarm 700009 reporting "lubrication oil pressure not OK") so that the operator receives the troubleshooting PDF in one click instead of scrolling through text.

Two distinct software generations are in service and the procedure differs:

  • HMI Advanced (MMC103/MMC104 with PCU 50, Windows XPe). The classic configuration path is the regie.ini registry file plus an OEM area on the CF/HDD.
  • HMI sl / SINUMERIK Operate (PCU 50.3 with WinXP/XPe or PCU 50.5 with Windows 7, NCU 710/720/730). The configuration is XML-driven through slmmcd.ini and the OEM directory tree under /oem/sinumerik/hmi/.

Both generations can launch an external program (for example, AcroRd32.exe, FoxitReader.exe, or the Windows shell verb open) to display the PDF.

Prerequisites

Item Requirement Notes
Control SINUMERIK 840D or 840D sl Confirm via HMI menu Setup > About
PCU PCU 50, PCU 50.3, PCU 50.5 PCU 50.3/50.5 required for HMI sl
HMI software HMI Advanced (06.x or 07.x) or HMI sl / SINUMERIK Operate 02.x, 04.x, 04.7, 04.8 Read version field in Diagnostics > Version
Service access Service mode (password level 1 or higher) and Windows Explorer Required for editing files in protected areas
Storage path PDF placed under D:\User\ or /oem/sinumerik/hmi/ (HMI sl) Persistent on CF/HDD, survives NCU backup
PDF reader Adobe Reader 9.x (HMI Advanced) or Foxit Reader 7.x+ (HMI sl) Acrobat 9 is the default reference for HMI Advanced
Backup CF/HDD image, MMC card copy, or ghost image Mandatory before writing to system paths
Safety notice: Always create a complete image of the PCU hard disk or compact flash card before modifying files under C:\HMI or /oem/sinumerik/. A corrupted regie.ini will prevent the HMI from booting past the splash screen and requires a ghost restore.

Method A - HMI Advanced (Classic regie.ini Configuration)

HMI Advanced uses the Windows-based Regie subsystem to register user-defined programs and to bind them to soft keys. The configuration file is regie.ini, normally located at C:\HMI\regie.ini (Windows path) or /HMI/regie.ini in the embedded file system view.

A.1 - Place the PDF on the PCU

  1. Connect a USB keyboard and mouse to the PCU.
  2. Log on at Windows XPe with the service account.
  3. Copy the target PDF, e.g. LubricationManual.pdf, to a stable directory: D:\User\Manuals\LubricationManual.pdf.
  4. Confirm the path does not contain spaces or national characters; otherwise the command line will need quoting.

A.2 - Register the application in regie.ini

Edit regie.ini with a Windows editor (Notepad, not Word). Add a new section that names the application and references the executable plus its arguments:

[TaskConfiguration]
Task7 = name:=showPDF, cmd:="C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe", par:="D:\User\Manuals\LubricationManual.pdf", stdin:=CON, stdout:=CON, stderr:=CON, dir:=, time:=0, workdir:=C:\HMI, background:=0, restart:=0, terminate:=1, startup:=0

The key parameters:

  • Task7 - sequential task number; pick one that is not already in use (search the file for the highest existing TaskN).
  • name - symbolic name referenced from menu and easyLanguage files.
  • cmd - full path to the executable. For HMI Advanced PCU 50 this is typically C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe.
  • par - arguments, here the PDF path. Quote the path if it contains spaces.
  • terminate:=1 - the task ends after the PDF is closed, freeing the reader instance.
  • restart:=0 - the task does not need to auto-restart.

A.3 - Bind the task to a horizontal or vertical soft key

HMI Advanced soft keys are defined in easyscreen / EASY LANGUAGE files under C:\HMI\USER\ (OEM area) or C:\HMI\OEM\:

  1. Create or open the file C:\HMI\OEM\SK_Setup.txt (or the file associated with the area you want to extend, e.g. SK_Machine.txt).
  2. Append a soft-key definition. The format for MMC menu lines is:
// Soft key 7 in the horizontal bar of the "Machine" area
HSK7 = ("Open Manual", "help_manual.bmp", 0, "showPDF");

Where:

  • HSK7 - horizontal soft key index 7 (1-8 in the standard bar; 9-16 in the second bar reached with the << key).
  • "Open Manual" - label text shown above the key.
  • "help_manual.bmp" - 24x24 / 30x30 / 40x40 bitmap located in C:\HMI\OEM\ICONS\.
  • 0 - access level (0 = operator, 1 = user, 2 = service, 3 = manufacturer).
  • "showPDF" - the name value from regie.ini.
If the soft key bar is already full, free an entry or move the new function to the second bar (keys HSK9-HSK16). Removing a stock Siemens key is not recommended on production machines; extending the existing bar is the supported path.

A.4 - Reboot the HMI

Changes to regie.ini are read only at HMI startup. Reboot via the OEM menu Setup > HMI > Reboot, or by a complete PCU restart. After the splash screen the new soft key label "Open Manual" must appear at the chosen position.

Method B - HMI sl / SINUMERIK Operate (XML-driven)

On 840D sl with HMI sl or SINUMERIK Operate, the configuration is data-driven and lives under the OEM directory of the CF card. The active OEM area is /card/oem/sinumerik/hmi/ (PCU 50.3) or /oem/sinumerik/hmi/ (NCU CF when the PCU boots from the NCU). All files are case-sensitive.

B.1 - Copy the PDF to a persistent location

# Target path (example, NCU-based CF)
/card/oem/sinumerik/hmi/pdf/manual_lubrication.pdf
# Or PCU 50.3 local
/oem/sinumerik/hmi/pdf/manual_lubrication.pdf

Create the directory if missing:

mkdir -p /card/oem/sinumerik/hmi/pdf

B.2 - Create a launch script

HMI sl uses the easyscreen interpreter for menu logic. The simplest way to open a PDF is via a small launcher script that calls the operating system.

// File: /oem/sinumerik/hmi/launch_pdf.com
// Launch the default PDF viewer with the requested document

PROC open_pdf
  STRING sDoc = "manual_lubrication.pdf"
  ; HMI sl exposes a "start.exe" helper for launching shell commands
  ; The syntax is documented in the HMI sl Programming Manual, section "Start".
  CALL "start.exe" "C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\FoxitReader.exe" "C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\FoxitReader.exe /A page=1 D:\\user\\manuals\\manual_lubrication.pdf"
  ; The /A page=1 switch opens at page 1 regardless of last session
ENDPROC
Confirm the actual Foxit or Adobe install path on the specific PCU 50.3 / 50.5 image. PCU 50.5 with Windows 7 Embedded installs Foxit Reader 7.x under C:\Program Files (x86)\Foxit Software\Foxit Reader\ by default. Older PCU 50.3 with XPe ships Adobe Reader 9 under C:\Program Files\Adobe\Reader 9.0\Reader\.

B.3 - Declare the soft key in slmmcd.ini

The custom menu descriptor slmmcd.ini is the HMI sl equivalent of the HMI Advanced regie.ini. Locate or create /card/oem/sinumerik/hmi/cfg/slmmcd.ini:

; --- slmmcd.ini (HMI sl custom menu descriptor) ---
[CONTROL]
appName      = openManual
appCmdLine   = /oem/sinumerik/hmi/launch_pdf.com
appIconName  = manual.png
appText      = Open Manual
appAccessLevel = 0          ; visible to all operators
appType      = 1            ; 1 = program/com file, 0 = HTML page

B.4 - Expose the new entry on the area menu

For HMI sl the soft-key row of a specific operating area is controlled by the menu configuration. Add the entry to the desired area, for example Machine:

  1. Open /card/oem/sinumerik/hmi/proj/Machine/menu.xml (or the relevant operating area).
  2. Insert a <menuEntry> node referring to the previously declared application:
<menu name="MACHINE_HORIZ_SK7">
  <menuEntry name="OpenManual" text="Open Manual" icon="manual.png" accessLevel="0" />
</menu>

Save, then trigger an HMI reload by navigating to Setup > HMI > Reload OEM or by rebooting the HMI sl runtime. The new soft key appears in horizontal bar 7 of the Machine area.

Linking the Soft Key to an Alarm Help Text

To attach the PDF to the Help key of an alarm (for example the user alarm 700009 "lubrication oil pressure not OK"), the PDF reference must be reachable from the alarm handler. The standard SINUMERIK help pipeline is:

  1. Operator selects the alarm line and presses the Help soft key.
  2. HMI sl resolves the alarm number against alarms_de.ts / alarms_en.ts for translated message text, and then against the help URL configured for the alarm.
  3. The configured URL can be a file:// pointing to a PDF, a help:// entry in a chm/HLP, or a http:// intranet link.

HMI Advanced - alarm help

User alarm help in HMI Advanced is defined in the EASY LANGUAGE alarm text file C:\HMI\OEM\ALARM\alarms_eng.txt (or alarms_deu.txt). The %helpfile or $NC_USER_DATA attribute is used. Example:

700009 0 "Lubrication oil pressure not OK" ; HELP=file:///D:/User/Manuals/LubricationManual.pdf

After the change, the help system recompiles on the next HMI start, and pressing Help on alarm 700009 launches the PDF.

HMI sl - alarm help via myhelpconfig.xml

HMI sl uses an XML-based alarm help system. Configure the per-alarm help target in /card/oem/sinumerik/hmi/cfg/myhelpconfig.xml:

<?xml version="1.0" encoding="utf-8"?>
<HelpBook>
  <HelpContext name="700009" url="file:///D:/user/manuals/manual_lubrication.pdf" />
  <HelpContext name="700010" url="file:///D:/user/manuals/manual_coolant.pdf"    />
</HelpBook>

Reload the HMI: Diagnostics > Help > Reload. The Help soft key next to the alarm will open the configured PDF directly, bypassing the slim text view.

If the HMI cannot find the PDF path, the help viewer falls back silently to the built-in text. Check the Diagnostics > HMI Log (mdistatus.log, hmisl.log) for the actual HRESULT returned by the shell. A typical 0x80004005 indicates a wrong file path or insufficient access rights.

PDF File Association and Launch Behaviour

Launching AcroRd32.exe with an explicit document is the most reliable method on PCU 50 because the Windows shell on XPe can be slow to initialise on the first call. A few rules of thumb:

  • Use an absolute, short path (D:\PDF\manual.pdf) and avoid UNC paths.
  • Prefer the executable + document syntax over explorer.exe manual.pdf; explorer relies on the registered verb and may spawn an error dialog if the PDF association is missing.
  • Do not call AcroRd32.exe with a relative path - the HMI Advanced working directory after boot is not user-controlled.
  • When using start.exe from HMI sl, quote every argument. start.exe "C:\Path\Reader.exe" "/A page=1 \"C:\Path With Space\file.pdf\"".

Verification and Acceptance Test

  1. Press the newly configured soft key. The PDF reader must appear within 3 s on a PCU 50.3 with a 5 MB file. Wait time on a PCU 50 with XPe is 5-8 s.
  2. Close the PDF reader and confirm that the HMI returns to the previous screen without a fault. The HMI log must not contain the string Task 7 terminated abnormally.
  3. Open an alarm and press Help; the configured PDF opens on the first attempt.
  4. Cycle power to the PCU and verify the soft key still appears and still functions after the reboot. This catches path issues that are only visible during the second regie.ini read.
  5. Sign off with the operator: the soft key label, position, and resulting document must be acknowledged on the commissioning sheet.

Troubleshooting Matrix

Symptom Probable cause Action
Soft key not visible Wrong operating area or wrong access level Confirm the area (Machine / Setup / Diagnostics) and the configured accessLevel; lower the level for the test
Soft key visible, nothing happens regie.ini typo, wrong TaskN index, executable path wrong Open Diagnostics > Task List; check HMI Log for "command not found" or "access denied"
Acrobat flashes then closes Bad quoting of the PDF path Wrap the path in straight double quotes inside par:=
Acrobat reports "file not found" PDF was deleted or moved Verify the file with dir from a service shell; restore from the last known good image
Help key opens empty page Wrong URL in myhelpconfig.xml or alarms_eng.txt Check the path uses forward slashes and the file:// scheme with three slashes
HMI sl does not load the soft key after edit OEM area not reloaded Setup > HMI > Reload OEM or full reboot
Reader opens but HMI blocks terminate:=0 in regie.ini (task keeps the console) Set terminate:=1
Acrobat error 0x80004005 Shell access blocked, or PDF path contains Cyrillic / CJK characters Rename the file and the directory to ASCII, retry
Soft key visible at commissioning but missing after NCU replacement OEM directory was not on the backed-up card Always include /oem/sinumerik/hmi/ in the NCU backup series start-up

Service Mode, Backups, and Version Notes

  • Service mode (password level 2 / 3) is required to write into C:\HMI\ on HMI Advanced and into /oem/sinumerik/ on HMI sl.
  • When the PCU boots from the NCU CF (NCU 710/720/730), the OEM directory tree is replicated automatically. To force a refresh, use the OEMSetup tool delivered on the HMI sl install media.
  • Document the HMI version, the reader version, the OEM build number, and the date of the regie.ini or slmmcd.ini change. Siemens' own change procedure for the SINUMERIK service plan requires this trace in the machine logbook.
  • For HMI Advanced 07.06 and later, the regie.ini task numbers must be unique across the merged OEM and customer file. Renumbering the section is sometimes necessary after a service pack upgrade.
  • For SINUMERIK Operate 04.8 and later, start.exe was deprecated in favour of the mcdopenfile helper. If start.exe no longer exists, switch the appCmdLine to a direct executable call.

Where exactly is regie.ini on a PCU 50?

On HMI Advanced the file is at C:\HMI\regie.ini in the Windows XPe file system; in the embedded navigation tree it appears as /HMI/regie.ini. Use Notepad, not Word, to edit it. Any BOM or non-ASCII character can prevent the HMI from starting.

Which PDF reader does Siemens pre-install on a new PCU 50.3?

PCU 50.3 images with HMI sl ship with Foxit Reader 7.x under C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe. PCU 50 images with HMI Advanced ship with Adobe Reader 9 under C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe. Always verify the path on the running image before referencing it from regie.ini or slmmcd.ini.

Can the soft key open a PDF stored on a network share?

Yes, but the PCU must be logged in with an account that has read access to the share and the share must be reachable at boot. UNC paths in par:= must be quoted. If the share is down, the soft key will hang or return an error from the reader; an offline copy on the CF/HDD is more reliable for production machines.

How do I link a user alarm (e.g. 700009) to a PDF help file?

For HMI sl, add an entry in /oem/sinumerik/hmi/cfg/myhelpconfig.xml using the alarm number as name and a file:// URL as url. For HMI Advanced, append ; HELP=file:///D:/path/manual.pdf to the alarm line in the EASY LANGUAGE alarm text file under C:\HMI\OEM\ALARM\. Reboot or reload the OEM area to activate the change.

The soft key worked at commissioning but disappeared after a backup restore. What happened?

The regie.ini or slmmcd.ini change is OEM data and must be included in the machine backup. On NCU-based systems make sure the backup series covers /oem/sinumerik/ and that the image restore does not come from a stock partition. Reapply the file or restore the complete OEM directory from the last known good image.

Back to blog