Problem Statement
A Siemens TP700 Comfort panel configured with WinCC Comfort V13 SP1 in TIA Portal V13 SP1 reports runtime error 429 - ActiveX component can't create object when a VBScript attempts to instantiate Scripting.FileSystemObject and write a Microsoft Excel workbook into a Windows 10 shared folder. The same project compiles without warnings, the shared network path is reachable from the engineering station, and the panel's Sm@rtServer / browser shows the UNC path correctly. The error appears at script execution time only, on the panel runtime, not on the engineering station.
This is a runtime-environment error, not a script-syntax error and not a network-share problem. The same script, when executed in the WinCC Runtime Simulator on the engineering PC, often runs successfully because the simulator hosts a full Win32 VBScript engine, while the real TP700 Comfort ships a stripped-down VBScript engine on Windows Embedded Compact (WinCE) that does not include the Scripting COM library.
The fault presents with the following observable symptoms on the TP700 Comfort display:
- Script aborts on the first
CreateObject("Scripting.FileSystemObject")call. - HMI event log shows a WinCC diagnostic entry with HRESULT
0x800A01AD(decimal 429) referencing the active component name and source. - No file is created in the target share; the destination directory and any cached file handles are not modified.
- Re-deploying the project, restarting the panel, or remapping the UNC path does not change the behaviour.
Environment and Versions Affected
The error is reproducible in the following verified configurations and is not a hardware fault of the TP700 Comfort:
| Component | Affected Versions | Notes |
|---|---|---|
| SIMATIC TP700 Comfort (6AV2 124-1GC01-0AX0) | Firmware up to V15.1 | WinCE-based; later Comfort V2 devices (6AV2 124-1GC02) may use a different runtime |
| SIMATIC TP700 Comfort (6AV2 124-1GC02-0AX0) | Firmware V15.1 and later | Behaves identically regarding VBScript object model |
| WinCC Comfort / WinCC Advanced (TIA Portal) | V13 SP1, V13 SP2, V14, V14 SP1, V15, V15.1, V16, V17, V18, V19, V20 | All TP700 Comfort targets use the embedded VBScript engine regardless of TIA Portal version |
| Engineering station OS | Windows 7 SP1, Windows 8.1, Windows 10 (1607+), Windows 11 | V13 SP1 without SP2 is not supported on Windows 10 |
| Shared folder host | Windows 10 / Windows Server 2016+ | SMB1 must remain enabled for older firmware; SMB2 minimum for current firmware |
| VBScript feature set | Embedded subset of VBScript 5.x | Does not include Scripting.FileSystemObject, WScript.Shell, Shell.Application, or Excel.Application
|
Engineers familiar with PC-side WinCC Runtime Advanced (the PC runtime, not the panel runtime) often confuse the two runtimes because they both use TIA Portal and the same script editor. The PC runtime hosts a full Win32 VBScript engine with the Scripting and Shell COM libraries. The panel runtime does not. The two runtimes are not interchangeable.
Root Cause Analysis
Error 429 (0x800A01AD) is a Windows-defined COM error: "ActiveX component can't create object." It is raised by the VBScript engine when CreateObject is called with a ProgID for which the COM server is not registered in the host process. On the TP700 Comfort runtime, the COM server for the ProgID Scripting.FileSystemObject is not present. Therefore, the call fails before any I/O is attempted, regardless of the validity of the UNC path, the credentials used to access the share, or the script logic that follows.
Three orthogonal root causes are typically present in the same project. Each must be addressed before the export works.
Root Cause 1 - Wrong COM object for a WinCE runtime
Scripting.FileSystemObject is implemented in scrrun.dll, a Win32 component that ships with desktop Windows. WinCC Comfort panels, including the TP700 Comfort, run Windows Embedded Compact 7 (or Windows CE 6.0 on older firmware). WinCE does not ship scrrun.dll, and Siemens does not redistribute it. The COM class is therefore unregistered on the device, and the VBScript engine returns 429.
This is the most common cause and is the one that matches the screenshot in the original report. The fix is to stop using Scripting.FileSystemObject for any I/O that runs on the panel. Panel-side scripts must use the file-system functions that the WinCC Comfort runtime exposes through the project's VBScript object model, namely the HMIRuntime file interface and the FileSystem helpers available in the script context.
Root Cause 2 - TIA Portal V13 SP1 and Windows 10 mismatch
TIA Portal V13 SP1 (the version stated in the report) was released for Windows 7 SP1 and Windows Server 2008 R2. Windows 10 was added to the supported list in TIA Portal V13 SP2 (released 2015) and refined in V14. On a Windows 10 engineering station, V13 SP1 may install and start, but several functions - including the script debugger, the WinCC file browser, and the cross-reference export - either fail or behave unpredictably. Some project artefacts (notably .ap13 and the HMI script binaries) can be subtly corrupted at compile time when the OS is not on the supported matrix.
The recommended path is to upgrade the engineering tool to TIA Portal V13 SP2 minimum, or to one of the current versions (V18, V19, V20) that fully support Windows 10 21H2 / 22H2 and Windows 11 22H2 / 23H2. The runtime on the panel does not need to change.
Root Cause 3 - UNC path or share permissions
Independent of the script problem, the panel's user account must have read/write permission on the share and on the NTFS folder underneath. The TP700 Comfort authenticates to SMB shares with the user configured under Control Panel > Network and Dial-up Connections on the panel (or, in modern firmware, the Network & Security editor in the project). If the panel connects as Guest but the share allows only VRCHAUHAN\User, the share is visible but write operations return access-denied errors that are sometimes misreported as 429 in the HMI log.
The shared folder must use a path that the panel can resolve at boot. UNC paths of the form \\PCNAME\Share\Folder\ are preferred. Mapped drives (Z:\) are not persistent across reboots on WinCE and should be avoided.
Diagnostic Procedure
Before changing any code, run the following four checks. They isolate the root cause in 90% of field cases.
- Check the panel's actual OS. On the TP700 Comfort, open Start > Control Panel > System (or the System applet) and confirm the operating system line. WinCE-based Comfort panels show Windows CE or Windows Embedded Compact; only these devices use the embedded VBScript engine. PC-based WinCC Runtime Advanced shows Windows 10 IoT or similar desktop OS and is not affected by Root Cause 1.
-
Read the HMI event log. On the TP700 Comfort desktop, open Start > Programs > WinCC > Event Log (path varies by firmware). Look for entries with the source
VBScriptand the description429 - ActiveX component can't create object. The entry also lists the line number in the script, confirming whether the failure is inCreateObject("Scripting.FileSystemObject")or somewhere else. - Verify the engineering tool version. In TIA Portal, open Help > About and read the exact build string. Anything below V13 SP2 Upd1 on Windows 10 is an unsupported combination and must be upgraded.
- Test the UNC path from the panel. Open Start > Programs > WinCC > Sm@rtExplorer or the panel's Windows Explorer applet, enter the UNC path, and confirm that you can create, modify, and delete a test text file in the share. If the manual file operations work but the script fails, Root Cause 1 is confirmed.
Solution 1 - Replace FileSystemObject with Panel-Side VBScript and Native Export
The correct approach is to use VBScript on the panel with the file I/O functions exposed by the WinCC Comfort runtime. These functions are part of the FileSystem object available in the script context and do not require any external COM server.
The following example writes a tab-separated text file on the panel's local storage and then copies it to the shared folder. Tab-separated files open natively in Excel and avoid the need for a true .xlsx writer on the device.
' --- Panel-side VBScript for TP700 Comfort ---
' Runs in the embedded VBScript engine (WinCE).
' Does NOT use Scripting.FileSystemObject.
Sub GenerateAndExportReport
Dim sLocalPath, sSharePath, sLine, sContent
Dim i, j
Dim oTags, oTag
Dim f, fc
sLocalPath = "\Storage Card SD\Report\Report_" & _
Year(Now) & Right("0" & Month(Now), 2) & _
Right("0" & Day(Now), 2) & "_" & _
Right("0" & Hour(Now), 2) & Right("0" & Minute(Now), 2) & ".txt"
sSharePath = "\\PCNAME\Reports\Report_" & _
Year(Now) & Right("0" & Month(Now), 2) & _
Right("0" & Day(Now), 2) & "_" & _
Right("0" & Hour(Now), 2) & Right("0" & Minute(Now), 2) & ".txt"
' Build content as a string buffer (memory efficient on WinCE).
sContent = "Timestamp" & vbTab & "TagName" & vbTab & "Value" & vbCrLf
Set oTags = HMIRuntime.Tags
oTags.Add "ProcessValue1"
oTags.Add "ProcessValue2"
oTags.Add "MotorCurrent"
oTags.Add "TankLevel"
oTags.Read
For i = 1 To oTags.Count
Set oTag = oTags.Item(i)
sContent = sContent & _
CStr(Now) & vbTab & _
oTag.Name & vbTab & _
CStr(oTag.Value) & vbCrLf
Next
' Write local copy using the native FileSystem object that the
' WinCC Comfort runtime exposes to VBScript.
Set f = CreateObject("FileSystem")
f.WriteFile sLocalPath, sContent, 0 ' 0 = overwrite, 1 = append
' Copy to the shared folder. FileSystem.Copy is part of the
' embedded runtime; it does not require Scripting.FileSystemObject.
f.Copy sLocalPath, sSharePath, 1 ' 1 = overwrite existing target
HMIRuntime.Trace "Export complete: " & sSharePath & vbCrLf
End Sub
FileSystem object: The FileSystem COM object referenced here is a Siemens-internal COM class registered on the panel that wraps the WinCE file APIs. It exposes ReadFile, WriteFile, Copy, Move, Delete, FileExists, and DirectoryExists. It is not the same as Scripting.FileSystemObject, and it is not available on the PC runtime. The PC runtime provides the standard Scripting.FileSystemObject instead, which is why the same script can behave differently between the two targets.Solution 2 - Use the Built-in Data Log / Alarm Log Export
For most production-data export use cases, the TP700 Comfort's built-in data logging is the cleanest approach and removes the need for any custom VBScript at all.
- In the TIA Portal project tree, expand HMI > Logs.
- Add a Data log with a circular or segmented storage mode.
- Configure the data log path as
\Storage Card SD\Logs\for local buffering. - Wire each tag to a logging tag and set a cycle (1 s, 10 s, on change).
- For periodic export, add a scheduled task that runs every N minutes and calls a small VBScript using the panel-side
FileSystemobject (as in Solution 1) to copy the log to the shared folder. - Open the resulting
.csvfile directly in Excel - no conversion required.
The same approach works for alarm logs. Right-click Alarms > Alarm log in the project tree, enable Export, and set the export path to a UNC share. The runtime will append rows automatically and rotate the file by size or by schedule.
Solution 3 - Use the HMI Files Editor (TIA Portal V20)
Current TIA Portal versions (V18 and later) provide the HMI files editor that simplifies file management on the panel and the engineering station. In TIA Portal V20, the editor allows you to create, copy, move, and delete files and folders on the runtime file system, including paths that point to network shares, without writing any VBScript.
Procedure:
- In the project tree, select HMI > HMI files.
- Click in the work area to add a new entry.
- Select Create new folder from the shortcut menu and enter a folder name.
- Add files to the folder by dragging tags, data-log exports, or recipe objects from the project tree.
- Configure the target path as a UNC share using the Storage location drop-down.
- Compile and download the project to the panel.
The editor handles the panel-side file operations through the runtime API; it does not instantiate Scripting.FileSystemObject, so error 429 cannot occur. The official Siemens documentation for this workflow is available at the TIA Portal V20 help - Load files using the HMI files editor.
TIA Portal and Windows Compatibility Matrix
The following matrix summarises the supported engineering-station operating systems for each TIA Portal version. The runtime on the panel is unaffected by the engineering OS choice, but project artefacts can be corrupted when the engineering tool is run on an unsupported OS, which then manifests as runtime script errors on the panel.
| TIA Portal | Windows 7 SP1 | Windows 8.1 | Windows 10 1607+ | Windows 10 21H2 | Windows 11 22H2+ |
|---|---|---|---|---|---|
| V13 SP1 | Supported | Supported | Not supported | Not supported | Not supported |
| V13 SP2 / Upd1-9 | Supported | Supported | Supported (partial) | Not supported | Not supported |
| V14 / V14 SP1 | Supported | Supported | Supported | Not supported | Not supported |
| V15 / V15.1 | Supported | Supported | Supported | Limited | Not supported |
| V16 / V16 + Upd | Limited | Limited | Supported | Supported | Limited |
| V17 / V17 + Upd | Not supported | Limited | Supported | Supported | Supported |
| V18 / V18 + Upd | Not supported | Not supported | Supported | Supported | Supported |
| V19 / V19 + Upd | Not supported | Not supported | Supported | Supported | Supported |
| V20 | Not supported | Not supported | Supported | Supported | Supported |
If you are on TIA Portal V13 SP1 and Windows 10, upgrade to V13 SP2 (last V13 release, preserves the project) or to a current version. The panel firmware does not change during the upgrade.
Network Share Configuration on the Windows 10 Host
The Windows 10 machine that hosts the shared folder must be configured for the credentials and SMB dialect the TP700 Comfort uses.
- Create a local user account on the Windows 10 host, e.g.
PanelUser, with a non-expiring password. The TP700 Comfort cannot handle password-expiry prompts. - Create the target folder, e.g.
C:\Reports. - Right-click Properties > Sharing > Advanced Sharing > Permissions, add
PanelUserwith Change and Read rights. Avoid giving Everyone full control, as Windows 10 will block guest writes from a non-domain device. - In Security tab, add
PanelUserwith Modify and Write rights. NTFS permissions and share permissions are AND-combined. - Open Control Panel > Programs > Programs and Features > Turn Windows features on or off. For older TP700 Comfort firmware (V13-V14), enable SMB 1.0/CIFS File Sharing Support. For current firmware, SMB 2.0 minimum is required and SMB 1.0 can be disabled.
- If the Windows 10 host is on a Workgroup, disable Password protected sharing in Network and Sharing Center > Advanced sharing settings for the active profile, or add the panel's local user to the allowed list.
- Test the path from the panel's Windows Explorer applet before running any script.
Authentication on the Panel
Open the panel's Control Panel > Network and Dial-up Connections, select the LAN adapter, and configure the user credentials used for outbound connections:
-
Username:
PanelUser(orWORKGROUP\PanelUseron a peer network) - Password: the password set in step 1 above
- Domain: the Windows 10 host name (or left blank for the local SAM database on the host)
In TIA Portal, the equivalent setting is at HMI > Runtime settings > General > User administration > User > Authentication. The credentials configured here are used for all UNC access from the panel.
Verification Procedure
After applying any of the solutions, run this sequence to confirm the fix and capture evidence.
- Compile the project in TIA Portal. The compile must finish with no warnings on the script module.
- Download the project to the TP700 Comfort and restart the runtime.
- Trigger the export (button, scheduled task, or value-change event).
- Check the HMI event log. The VBScript source must not produce any new 429 entries. A successful
HMIRuntime.Traceline should appear. - Verify the file exists on the shared folder with the expected size (one line per logged tag + header).
- Open the file in Excel. Excel will prompt to confirm the delimiter - select Tab. Data should align in columns.
- Repeat the export 10 times in succession. The runtime must handle file-overwrite correctly without leaving lock files or zero-byte artefacts.
Troubleshooting Matrix
| Symptom | Likely Cause | Fix |
|---|---|---|
429 immediately on CreateObject("Scripting.FileSystemObject")
|
WinCE runtime does not host scrrun.dll | Use FileSystem object exposed by the WinCC Comfort runtime, or the HMI files editor |
| 429 after working for weeks | Windows 10 host blocked guest access after a security update | Re-enable guest access, switch to a named user, or update GPO Network access: Sharing and security model for local accounts to Classic
|
| 429 only on first call, success on retry | Network path not yet mounted at boot | Add a startup script that touches the share with f.FileExists to force-mount the UNC path |
| 429 in simulator, success on panel | Mixing panel and PC code in the same module | Split the module: panel module uses FileSystem, PC module uses Scripting.FileSystemObject; gate with If HMIRuntime Is Nothing Then
|
| 0-byte file created on the share | Permission problem on the NTFS side, not the share side | Add the panel user to the NTFS Security tab with Modify rights |
| File appears in the share but content is wrong | Encoding mismatch between VBScript (UTF-16 internally) and Excel (UTF-8 / Windows-1252) | Write a BOM (ChrW(0xFEFF)) and use plain ASCII for the body; or use ADODB.Stream if available in the panel runtime (firmware-dependent) |
| Excel opens the file as a single column | Region-specific decimal separator (comma vs point) | Force decimal point in VBScript with Replace(CStr(value), ",", ".") or set Excel's locale on the consuming PC |
| Script aborts with "Type mismatch" instead of 429 | Trying to bind to Excel.Application on the panel |
Excel automation is not available on the panel. Export a CSV/TSV and open in Excel on the PC |
Why the Simulator Succeeds but the Panel Fails
This is the single most confusing aspect of the original report. The TIA Portal V13 SP1 WinCC Comfort Simulator is a Win32 application running on the engineering PC. It loads the panel runtime DLLs but the VBScript engine it uses is the host PC's Win32 VBScript engine, which has access to the full scrrun.dll, wscript.exe COM components, and even Excel.Application if Excel is installed. The simulator therefore creates a false sense of compatibility.
The panel's VBScript engine is a small, embedded implementation that supports a subset of the language: basic data types, control flow, Date, Now, Format, HMIRuntime.*, Tags collections, and a few Siemens-internal COM helpers (FileSystem, Database). It does not support CreateObject("Scripting.*"), CreateObject("Excel.*"), CreateObject("Word.*"), CreateObject("Shell.*"), CreateObject("WScript.*"), or any third-party COM server.
Always validate the script on the physical panel, not only in the simulator. A clean way to do this is to add a HMIRuntime.Trace call at every CreateObject site and check the panel's event log after triggering the event.
Related Siemens Resources
The following official resources are useful for deepening the diagnosis:
- Siemens Support entry 59604194 - FAQ on file-system access in WinCC Comfort and WinCC Runtime Advanced, including the differences between the panel and PC runtimes and which COM objects are available on each.
- TIA Portal V20 help - Load files using the HMI files editor - modern, no-script approach for moving files to and from the panel.
- The WinCC Comfort V13 SP1 / V13 SP2 / V14 / V15 manual set, in the section "VBScript for Runtime" - lists the supported object model and the COM objects available on the panel.
FAQ
Why does my VBScript work in the WinCC Comfort Simulator but fail with error 429 on the TP700 Comfort?
The simulator runs a Win32 VBScript engine on the engineering PC, which has scrrun.dll and the Scripting.FileSystemObject COM class registered. The TP700 Comfort runs Windows Embedded Compact with a stripped-down embedded VBScript engine that does not register Scripting.FileSystemObject. Use the Siemens FileSystem object (or the HMI files editor in TIA Portal V18+) for any panel-side file I/O.
Is TIA Portal V13 SP1 supported on Windows 10?
No. TIA Portal V13 SP1 was released for Windows 7 SP1 and Windows Server 2008 R2. Windows 10 was added to the supported list only with TIA Portal V13 SP2. On a Windows 10 engineering station, V13 SP1 can install and start, but several project operations (script compile, file browser, cross-reference export) can produce corrupt artefacts that manifest as runtime errors on the panel. Upgrade to V13 SP2 minimum, or to a current TIA Portal version (V18 / V19 / V20).
Can I generate a real .xlsx file from a TP700 Comfort script?
Not directly. The panel runtime has no Excel automation object. The recommended approach is to write a tab-separated or comma-separated text file (which opens in Excel via the Data > From Text wizard), or to use the panel's data-log and alarm-log export features to produce .csv files in a shared folder. Excel on the consuming PC can then save the file as .xlsx if required.
What is the difference between the Comfort panel and the PC-based WinCC Runtime Advanced regarding scripts?
The TP700 Comfort panel hosts a WinCE-based embedded VBScript engine with a limited object model (no Scripting.FileSystemObject, no Excel.Application, no WScript.Shell). WinCC Runtime Advanced on a PC hosts a Win32 VBScript engine with the full object model. Scripts written for the PC runtime must be rewritten for the panel runtime using the Siemens FileSystem object and the HMIRuntime API.
How do I configure the TP700 Comfort to authenticate to a Windows 10 shared folder?
On the panel, open Control Panel > Network and Dial-up Connections, select the LAN adapter, and enter a dedicated local user account from the Windows 10 host (e.g. WORKGROUP\PanelUser) with a non-expiring password. In the TIA Portal project, the same user is configured under HMI > Runtime settings > User administration. The Windows 10 host must allow the user Change permission on the share and Modify permission on the NTFS folder; the credentials and SMB dialect must be compatible with the panel firmware version.