Overview
Siemens SIMATIC HMI Comfort Panels persist runtime data — alarm logs, audit trails, process-value logs, and recipe records — on either local storage media or a network share. The path assigned to a log determines where the resulting CSV file is written, and consequently whether the file survives a power cycle, is reachable for diagnostics, and can be archived centrally. A common field issue is the alarm log "not saving" even though the project is compiled and downloaded cleanly. In almost every case the cause is a path string that the panel runtime cannot resolve: a Windows-style absolute path, a relative path, or a folder that has no backing media.
This reference explains the path identifiers that Comfort Panels accept, the TIA Portal configuration procedure for an alarm log, the constraints that apply to local flash, SD, and USB storage, and the prerequisites for using a UNC network path. It then walks through verification, covers migration pitfalls (especially when a project is ported from a WinCC Advanced PC Runtime to a Comfort Panel), and finishes with a troubleshooting matrix and an FAQ.
Two runtime targets are distinguished throughout. The WinCC Advanced Runtime runs as a Windows service on a PC and accepts Windows-style absolute paths and UNC paths directly. The WinCC Comfort Runtime runs on the Comfort Panel firmware and accepts only a small set of predefined symbolic path tokens and UNC paths. Most "log not saving" reports on Comfort Panels are caused by leaving a PC Runtime path in the panel project. The behaviour is silent — the runtime does not raise a popup or write a system alarm when a path is invalid; it simply never opens the file.
Prerequisites
| Requirement | Detail |
|---|---|
| Panel | SIMATIC HMI Comfort Panel (KTP400 Comfort, TP700 / TP900 / TP1200 / TP1500 / TP1900 / TP2200 Comfort) |
| Engineering tool | TIA Portal with the WinCC Comfort / WinCC Advanced option installed. Use a TIA Portal version that is compatible with the panel firmware on the target device; refer to the TIA Portal release notes for the supported matrix. |
| Project state | HMI device added to the project, at least one alarm class configured, and an enabled alarm log under "HMI alarms > Alarm logs" |
| Local media (optional) | Siemens-qualified SD card for permanent local storage; USB stick for service / commissioning verification |
| Network share (optional) | Windows SMB share reachable from the panel's Ethernet interface, with a write-enabled user account |
| Time synchronisation (recommended) | Plant NTP server or panel-side time setting; required for consistent log timestamps across panels |
| User rights (for export and audit) | Configured user accounts in the panel project, with appropriate authorisation levels for the operators who will export or acknowledge logs |
Confirm the TIA Portal version supports your panel firmware. Mismatches between TIA Portal SP level and panel image produce subtle path-resolution bugs that are difficult to diagnose. The TIA Portal compatibility tool in the Siemens Support portal accepts the panel's MLFB / article number and returns the supported TIA Portal versions.
Comfort Panel File System Architecture
A Comfort Panel exposes a small set of predefined storage locations to the runtime. The runtime resolves symbolic path tokens (such as \Storage Card SD\) to physical devices; the engineering software does not allow free-form paths on Comfort Panels the way a PC runtime would. Understanding which device backs each token prevents the most common field error: pointing a log at a slot that has no media inserted.
| Path token | Backing media | Removable at runtime | Typical capacity | Recommended use |
|---|---|---|---|---|
\flash\ |
Internal flash (project + OS image) | No | Limited (project dependent) | Recipes and small administrative files; not recommended for high-volume alarm logs because internal flash has limited write endurance |
\Storage Card SD\ |
SD card in the rear SD slot | Yes (with care) | Up to 32 GB depending on firmware support | Primary location for alarm, audit, and process-value logs in a permanent installation |
\Storage Card USB\ |
USB storage device on the front USB port | Yes | Size of inserted media | Service and engineering transfer; not reliable as the only persistent store because the stick is exposed |
\Storage Card CF\ |
CompactFlash card (older panels only) | Yes | Up to 32 GB on supported firmware | Legacy deployments; not present on current Comfort Panel hardware |
| UNC path | SMB share on a server or PC | Server dependent | Server dependent | Centralised archive; requires panel network configuration and supported firmware. See the official Siemens FAQ entry 92346478 for the prerequisites and supported firmware. |
Internal flash on a Comfort Panel is the same medium that holds the project, the operating system image, and option data. Writing alarm logs to \flash\ will fill the medium over time and shorten the panel's service life. Reserve it for small, infrequently written data such as recipe files. The official Siemens FAQ entry 13336639 summarises the storage media supported by each Comfort Panel variant.
The runtime reserves a small portion of internal flash for system data even when no project is loaded. A 1 GB panel therefore reports approximately 700–900 MB of free \flash\ space to the user. This number is informational; the runtime will not warn when \flash\ is nearly full unless the project-level "Disk space warning" is enabled in the runtime settings.
Path Resolution Flow
Path Identifiers: Accepted and Rejected
When configuring the storage path of a log (alarm log, tag log, audit log, recipe data record, etc.), TIA Portal's runtime expects one of two kinds of path strings.
Predefined symbolic paths (Comfort Panels):
\Storage Card SD\Alarms
\Storage Card USB\Alarms
\flash\Recipes
\Storage Card CF\Alarms
UNC network paths (Comfort Panels with network storage enabled):
\\<server>\<share>\<subfolder>
\\HMI-LOG-01\PanelLogs\Line3\
On a Comfort Panel, you cannot use a Windows-style drive letter, an arbitrary local folder, or a relative path. The runtime rejects the path at compile time, or — more commonly — at runtime, where the log attempt fails silently. This is the root cause of the original support case: a Windows-style path pasted into a panel runtime configuration does not resolve to any media, so the log file is never created and the user sees "nothing saved".
For the PC-based WinCC Advanced Runtime (a Windows service running on a PC), the path rules are different. Absolute Windows paths and UNC paths are accepted directly:
C:\ProgramData\Siemens\Automation\WinCCAdvanced\Logs
D:\HMI_Logs\Line3
\\FILESERVER\HMIArchive\Plant1\
Engineers who port projects between the PC Runtime and a Comfort Panel frequently leave a Windows path in the configuration. This is the single most common reason an alarm log fails to save on a panel.
Rejected examples (cause silent failure on a Comfort Panel):
C:\Logs
.\Logs
Logs\Alarms
/var/log/alarms
D:/HMI_Logs
Each of these strings is syntactically valid for the PC Runtime but is meaningless to the panel runtime, which has no concept of drive letters, working directories, or POSIX paths. The path field in the alarm log properties is type-checked at compile time on TIA Portal V17 and later; on older versions the type check is lax and the failure surfaces only at runtime.
Step-by-Step: Configuring an Alarm Log Path
The procedure below configures the storage path for an alarm log on a Comfort Panel in TIA Portal. The same steps apply to tag logs and audit trails, with minor menu wording differences between TIA Portal versions.
- Open the HMI project in TIA Portal and expand the HMI device in the project tree.
- Navigate to
HMI alarms > Alarm logs. In newer TIA Portal releases the path isLogs > Alarm logs. - Select the log to configure (for example,
Alarm log_1). The properties editor opens on the right. - In the General section, locate the Storage path property (older versions) or Path property (V16 and later).
- Replace any existing value with one of the predefined symbolic paths or a UNC path. Typical production value:
\Storage Card SD\Alarms. Engineering / quick-check value:\Storage Card USB\Alarms. - Confirm the path ends with a trailing backslash. The runtime expects a folder, not a file name, in this property.
- Configure the logging mode: Circular log (overwrite oldest entries when full) or Segmented log (create a new file when the size or time threshold is reached). The segmented mode is usually preferred for alarm logs that need to be archived periodically.
- Set the Maximum size of each segment (typical: 1 MB) and the Number of segments (typical: 30). These values directly affect retention and must match the plant's documentation policy.
- Compile the project. The compiler emits a warning if the path is syntactically invalid. UNC paths to servers that are not reachable from the engineering station at compile time are still accepted; they are validated at runtime.
- Download the project to the panel (right-click the HMI device > Download to device > Software (all)).
- On the panel, open Control Panel > System > Storage Cards (path wording varies by firmware) and confirm the SD card is recognised and has free space. If No storage card is shown, the path token
\Storage Card SD\will not resolve at runtime. - Trigger a test alarm (set a tag used in a discrete alarm or simulate an I/O fault) and verify that the file appears under the configured path. See the Verification Procedure below.
Local Storage: SD, USB, Flash
Local storage is the simplest and most reliable option. Choose the medium by durability, capacity, and physical accessibility.
SD card (\Storage Card SD\) — recommended for production logs. Siemens-qualified SD cards are listed in the Comfort Panel operating instructions. Industrial-grade SLC or pSLC cards are preferred over consumer-grade TLC cards for write-heavy applications. The runtime creates a folder Logs (or whatever the configured path specifies) automatically when the first entry is written. SD cards support hot-swap on most current Comfort Panel firmware; the runtime recovers gracefully if the card is removed and re-inserted, but entries written while the card is absent are lost.
USB stick (\Storage Card USB\) — recommended for service. Logs can be copied off the panel by inserting a USB stick, configuring the path to \Storage Card USB\, and reading the file on a PC. The USB port is not intended as the primary long-term storage in a production environment because the stick is exposed to accidental removal and to environmental contamination. Use the front USB port only when the panel cabinet is opened by authorised personnel.
Internal flash (\flash\) — recipes only. Reserve \flash\ for recipe data records and small administrative files. The medium is shared with the project image and the operating system; writing high-frequency alarm logs here will fill the medium and shorten the panel's service life. The runtime does warn on the panel if free space on \flash\ drops below a threshold, but the warning is operator-visible only and not relayed to the controller.
CompactFlash (\Storage Card CF\) — legacy. Present only on certain older Comfort Panel variants. If the panel does not have a CF slot, the runtime reports an invalid path. Confirm the slot physically exists before using this token. New deployments should use SD cards instead.
File system format. Comfort Panels format SD cards and USB sticks as FAT32. Cards larger than 32 GB must be reformatted by the panel (Control Panel > System > Storage Cards > Format) or pre-formatted on a PC with a 32 KB cluster size. NTFS-formatted media are not recognised. exFAT is supported on Comfort Panel firmware V15 and later; check the panel operating instructions for the exact version cutoff.
Network Storage via UNC
Network storage centralises logs from multiple panels and removes the need to physically collect media. The configuration is more involved than local storage and has prerequisites that frequently trip up first-time deployments.
To enable a network path on a Comfort Panel, configure the following in the panel's runtime settings:
- Open the panel's Network and Internet settings on the Control Panel (or the equivalent item in the project tree under Runtime settings > Network). Confirm the Ethernet interface has a static IP address, subnet mask, and gateway appropriate for the plant network.
- Configure the DNS server and ensure the SMB server's host name resolves. UNC paths in the form
\\server\sharerequire NetBIOS or DNS resolution; the panel does not have a hosts file in the same way as Windows. - Configure the User name and Password that the panel will use to authenticate to the share. The credentials are entered in the Control Panel under Security > User accounts (panel-side) or in the project under Runtime settings > Services > SMB. The account must have write permission on the share and on the underlying NTFS folder.
- In the alarm log properties, set the path to
\\<server>\<share>\<subfolder>\. - Test connectivity from the panel: open the Control Panel's Network dialog and use the ping / connection test to confirm the server is reachable.
- Trigger a test alarm and verify the file appears on the share.
The official Siemens FAQ entry 92346478 details the steps for enabling network storage on Comfort Panels, including the panel firmware prerequisites and the licensing implications. The companion entry entry 13336639 summarises which storage media each Comfort Panel variant supports.
When the UNC path is unreachable, the runtime retries for a configurable interval and then drops the log entry. The drop is recorded internally (ProDiag messages on supported firmware) and is visible if the panel is in Service mode, but on a normal operator screen there is no visible failure. Always confirm file creation during commissioning by listing the share from a PC and reading the generated file.
UNC paths on Comfort Panels have a documented maximum length. Paths longer than the runtime limit are rejected at compile time. If the path must be deep, configure a DFS namespace or a shorter share name and reduce the depth on the client side.
SMB version compatibility. Comfort Panels negotiate SMB 2.x or SMB 3.x by default. If the share is hosted on a system that requires SMB 1 (for example, an older Windows Server), the connection fails silently. Confirm the server's minimum SMB version with the network administrator. If SMB 1 must be supported, enable it on the panel under Control Panel > Security > SMB, but be aware of the security implications.
Authentication. Comfort Panels support NTLM and Kerberos authentication. Kerberos requires that the panel's time is synchronised with the domain controller (within five minutes by default). NTLM is the simpler choice for workgroup-style deployments where no domain controller is available.
Recipes and Other Persistence Targets
Recipes are the only data type for which \flash\ is the recommended location on a Comfort Panel. Recipe records are small, written infrequently, and must survive a power loss; internal flash meets these requirements. Configuring a recipe data record's path is done in Recipes > [data record name] > Properties > Storage path:
\flash\Recipes\Line3\
\Storage Card SD\Recipes\Line3\
Audit trails should be written to removable media (\Storage Card SD\) rather than \flash\, because audit data is append-only and grows faster than recipe data. Configure the audit trail in the same way as an alarm log: the property is in the Audit editor under the HMI device.
Process-value (tag) logs follow the same rules as alarm logs. If both alarm logs and tag logs are needed on the same medium, place them in separate sub-folders to simplify archiving:
\Storage Card SD\Alarms\
\Storage Card SD\Tags\
Migration from PC Runtime to Comfort Panel
Projects are frequently designed on a PC Runtime for ease of debugging and then deployed to a Comfort Panel. The path configuration is the most common item that breaks during this migration. A typical scenario:
- On the PC Runtime, the alarm log path is
C:\Logs\Alarms\. - The project is re-targeted to a TP1200 Comfort in the HMI device properties.
- The path is not changed.
- The project compiles without error (the compiler does not always flag Windows paths in panel projects on every TIA Portal version).
- At runtime on the panel, the log file is never created.
Use the Find and replace function in the TIA Portal editors (Ctrl+F) to swap all C:\... paths in the HMI project to a symbolic token at the same time. The standard replacement is:
C:\Logs\Alarms\ → \Storage Card SD\Alarms\
C:\Recipes\ → \flash\Recipes\
\\server\share\ → \\server\share\ (verify SMB credentials on the panel)
Recompile and re-download after the replacement. The TIA Portal cross-reference (Ctrl+Shift+F) is the fastest way to find every place a path string is used in the project.
Power Loss, Durability, and File System Behaviour
Comfort Panels guarantee a graceful shutdown on power loss. The runtime flushes pending log writes to the configured medium before the panel stops. The flush window is short (typically under one second), but it is sufficient for buffered CSV writes. If the panel loses power mid-flush, the most recent entry may be truncated; the file itself remains intact and the next entry after restart will continue from the last consistent line.
SD cards have a finite write endurance. Industrial-grade SLC cards are rated for approximately 100,000 write cycles per block; consumer TLC cards for 1,000–3,000. A comfort panel writing an alarm log at 1 event per second generates roughly 30,000 writes per hour. The runtime spreads writes across the card's free space, but on a small card in a write-heavy application, the endurance limit is reached within a few years. Use the largest supported card that fits the cabinet, and replace the card on a planned schedule (typically every 3–5 years) rather than waiting for a failure.
The runtime does not implement wear-levelling at the application level; the FAT file system on the SD card handles block allocation. The runtime simply appends to the configured CSV file (in circular mode) or rotates segments (in segmented mode).
Log File Format and Naming
Alarm logs are written as CSV files with a configurable delimiter (default: semicolon, common alternative: comma). The column order is fixed and includes at minimum:
Timestamp;AlarmClass;State;Text;Tag;Area
2024-08-15 12:34:56;Warning;Raised;Motor overload;Motor1.Current;Line3
2024-08-15 12:35:02;Warning;Acknowledged;Motor overload;Motor1.Current;Line3
2024-08-15 12:35:30;Warning;Cleared;Motor overload;Motor1.Current;Line3
File names follow the pattern <LogName>_<YYYYMMDD>_<HHMMSS>.csv in segmented mode, or <LogName>.csv in circular mode. The pattern is configurable under the log's properties. Choose a pattern that includes the timestamp so that rotated segments can be sorted by age on the archiving server.
Tag logs use a similar structure, with one row per logged tag value. The runtime inserts a row at the configured acquisition cycle (typically 1 second for trend logs) regardless of whether the value changed; configure the cycle to match the process dynamics. Polling faster than the process changes wastes disk space.
Troubleshooting Matrix
| Observed symptom | Probable root cause | Verification step | Corrective action |
|---|---|---|---|
| Alarm log file is never created; no file appears on the configured medium. | Windows-style path (for example, C:\Logs) pasted into a Comfort Panel configuration. The runtime cannot resolve it. |
Open the project's alarm log properties in TIA Portal and inspect the path string for drive letters or Windows-specific syntax. | Replace with a symbolic path (\Storage Card SD\) or a UNC path. |
| Log file is created on the SD card but is empty after restart. | Path is correct but the media card is write-protected or has been removed. | On the panel, open Control Panel > System > Storage Cards and check status. | Unlock the SD card (physical switch) or re-insert the media. Confirm the card is seated. |
| Log entries appear for a few minutes, then logging stops. | SD card is full, or has been remounted as read-only by the runtime after a write error. | Check free space on the SD card from the panel or remove and inspect on a PC. | Replace the card. Implement a log rotation strategy in the log's properties (segmented mode with bounded number of segments). |
| UNC path was set, but the log file is not written. | DNS resolution failure, SMB authentication failure, or unsupported firmware. | From the panel, ping the server by name. Try the same UNC path from a Windows PC using the same credentials. | Configure DNS, enter correct credentials, or upgrade panel firmware per the prerequisites in entry 92346478. |
| Compiler warning: "Invalid storage path". | Path string does not match any of the supported symbolic tokens or the UNC format. | Review the path for trailing backslashes, unsupported characters, or empty segments. | Use one of the documented tokens exactly as listed in the WinCC Comfort documentation. |
| Recipe data record is lost after power cycle. | Path is set to \Storage Card SD\ or \Storage Card USB\ but no media is inserted at the time the record is written. |
Inspect the recipe log on the panel; check for "No storage media" error messages. | Move recipe data to \flash\ for guaranteed persistence, or insert media before saving. |
| Log file naming is unexpected (random suffix). | The runtime appends a timestamp or counter to the file name when segmented logging is active. | Inspect the configured "File name" property; verify the segmented mode is enabled. | Adjust the file-name pattern in the log properties; align with the archiving script that reads the share. |
| Logs are written to the panel but cannot be found on the PC. | The file is on \flash\ (internal), which is not visible over SMB or USB export unless explicitly enabled. |
Open the panel's file browser (Control Panel) and navigate to \flash\. |
Move the log to \Storage Card SD\ for export-friendly behaviour, or enable the panel's "Export" function in the project. |
| Log file is present but timestamp is one hour off (or another offset). | Panel time zone or DST setting differs from the SCADA historian. | On the panel, open Control Panel > Date and Time and compare with the historian server. | Configure NTP on both the panel and the server; align the time zone and DST settings. |
| ProDiag messages do not appear in the alarm log. | ProDiag messages are routed to a separate log (ProDiag log) by default. | Open the project's ProDiag editor and check the assigned log. | Either route ProDiag messages to the operator alarm log, or add the ProDiag log to the HMI display. |
Verification Procedure
- With the project downloaded and the panel running in normal mode, navigate to the alarm log's display (usually the "Alarm log" view on the HMI).
- Acknowledge any active alarms to ensure the log captures both raised and acknowledged events.
- Trigger a test alarm by setting the associated tag or by simulating an I/O fault.
- On the panel, open the Control Panel and use the file browser to navigate to the configured path (
\Storage Card SD\Alarms, for example). - Confirm that a CSV file (default extension
.csv) is present and contains a row matching the test alarm event. - Power-cycle the panel and re-open the file from the medium. The file must persist.
- For network storage, verify on the SMB server that the file exists in the configured share and that the timestamp matches the trigger event.
- Check the log rotation setting: the runtime creates a new file when the configured size or time threshold is reached. Confirm the rotation behaviour matches the plant's retention policy.
- Read the CSV file on a PC and verify the columns: timestamp, alarm class, alarm text, state (raised / cleared / acknowledged), and triggering tag or area pointer.
- If any verification step fails, refer to the troubleshooting matrix above before re-commissioning.
Advanced Considerations
Log rotation and retention. The alarm log's properties include a Logging method (circular log / segmented log) and a maximum file size. Configure these to match the plant's documentation policy. A typical value is a 1 MB segmented file with up to 30 segments before the oldest is overwritten. For 21 CFR Part 11-style regulated environments, the segmented mode with a hash-chained audit trail is the standard pattern.
Time synchronisation. Alarm events are time-stamped by the panel's internal clock. Ensure the panel's time is synchronised with a plant NTP server; otherwise, log entries from different panels cannot be correlated in a central archive. Configure NTP under Control Panel > Date and Time > Time server on the panel, or under Runtime settings > Time synchronisation in the project.
Backup and restore. When backing up the panel, recipes stored in \flash\ are included automatically. Alarm logs are not part of the backup image and must be archived separately — typically to the SMB share. Document the archival procedure in the plant's operating manual so that on-call engineers know how to retrieve historical data.
Security. On firmware versions that support user management, the alarm log's Export operation is gated by the user level. Confirm operators have the required rights if the export is part of the daily workflow. The audit trail itself records the user that performed the export, which closes the regulatory loop.
OPC UA export. On Comfort Panels with the OPC UA server option enabled, alarm events can additionally be exposed as OPC UA Alarms & Conditions. This does not replace the CSV log on disk; it provides a parallel, real-time channel for SCADA and historians. Configure the OPC UA server in Runtime settings > OPC UA and verify with an OPC UA client (such as UA Expert).
ProDiag integration. ProDiag messages on the panel can be routed to the same alarm log or to a dedicated log. A dedicated ProDiag log is recommended for fault-diagnosis workflows, because the message structure is different from operator alarms.
Script-based path manipulation. On Comfort Panels with VBScript enabled, the path can be set at runtime via the HMI runtime API. This is rarely needed but is useful for applications that rotate logs between local and network storage based on a tag value (for example, "log to SD if network is down, otherwise log to share"). The relevant function is HMIRuntime.Log.Path in the runtime API documentation.
FAQ
Why does my Comfort Panel not save alarm logs even though the path is set?
The path is almost certainly a Windows-style absolute path or an arbitrary folder that the panel runtime cannot resolve. Comfort Panels accept only the symbolic tokens (\flash\, \Storage Card SD\, \Storage Card USB\, \Storage Card CF\) or a UNC path in the form \\server\share\folder\. Open the alarm log's properties in TIA Portal and replace the path with one of these.
Can I save alarm logs to the internal flash on a Comfort Panel?
Technically yes — the \flash\ token is accepted by the runtime — but it is not recommended for alarm or audit logs. Internal flash is shared with the operating system and project image, and its write endurance is limited. Reserve \flash\ for recipes and use an SD card (\Storage Card SD\) for log data.
How do I enable network storage (UNC) on a Comfort Panel?
Configure the panel's network settings (static IP, DNS, gateway) and SMB credentials, then set the log path to \\server\share\folder\. The detailed prerequisites and supported firmware versions are documented in the official Siemens FAQ entry 92346478. If DNS resolution fails or the credentials are wrong, the runtime silently drops log entries after the configured retry interval.
What is the difference between Storage Card SD and Storage Card USB on a Comfort Panel?
\Storage Card SD\ resolves to the SD card slot on the back of the panel and is the recommended location for production logs. \Storage Card USB\ resolves to the front USB port and is intended for service and engineering. The two tokens do not point to the same physical media; an SD card inserted in the rear slot is not accessible through the USB token.
Can I use the same path for recipes, alarm logs, and audit trails on a Comfort Panel?
You can, but it is not advisable. Recipes should be on \flash\ for guaranteed persistence after a power cycle. Alarm and audit logs grow continuously and should be on removable media (SD card) or a network share so that they can be archived without taking the panel out of service. Use separate sub-folders under the same root path to keep the structure simple.
Does the panel keep writing to the SD card if I remove the SD card and re-insert it later?
The runtime detects the removal and stops writing. When the card is re-inserted, the runtime resumes writing to the existing file, appending new entries after the last consistent line. Entries that would have been written while the card was absent are lost. If continuous logging is required, route the log to a network share (UNC path) in addition to the SD card, or to a redundant local medium.
What is the maximum length of a UNC path on a Comfort Panel?
The runtime enforces a documented maximum path length (typically 250 characters, including the server, share, and sub-folders). Paths longer than this are rejected at compile time. Keep the share name short and avoid deep folder structures to stay within the limit.