1. Problem Description
A ProTool V6.0 SP2 project that compiles and renders correctly on the original engineering notebook suddenly shows enlarged fonts and oversized input fields when opened on a different, newer Windows notebook. Buttons, IO fields, text lists, and status displays all appear at a larger physical size; the layout still fits the screen, but the typography is mismatched against the original panel image, and re-importing the compiled HMI binary into the target MP370 produces screens that look different from what was approved during acceptance.
This is one of the most common ProTool engineering complaints in mixed-fleet environments and almost always correlates with the engineering PC being upgraded (e.g. Windows XP SP3 with 96 DPI default replaced by Windows 7 / 10 with 100 % or 125 % scaling default). The PLC side of the system (S7-315-2DP, MPI/Profibus DP) is not at fault; the issue is purely in the ProTool configurator on the engineering workstation and in the way the configurator stores font sizes relative to the Windows display driver.
2. Affected Software and Hardware Versions
| Component | Version confirmed affected | Notes |
|---|---|---|
| ProTool / ProTool/Pro | V6.0 SP2 (Build 6.0.2.x) | Last ProTool release before WinCC flexible migration path |
| ProTool | V5.2 + SP1 | Source project edited successfully on this version |
| STEP 7 | V5.3 + HF1 (Hotfix 1) | STEP 7 integration of ProTool projects |
| HMI panels | 3 x MP370 (6AV6 545-0 series, 12" / 15" TFT) | Windows CE 5.0 runtime |
| PLC | SIMATIC S7-315-2DP (6ES7 315-2AFxx) | DP master for HMI / drive communication |
| Engineering OS | Windows 7 / 10 with default DPI > 96 | Modern notebooks ship at 125 % (120 DPI) by default |
ProTool_to_WinCC_flexible is required to migrate MP370 projects forward. DPI mismatch behavior described here is characteristic of the ProTool configurator running on Windows XP and can be reproduced on newer operating systems if the application is not run with explicit DPI awareness override.
3. Root Cause: Windows DPI Scaling Mismatch
ProTool V6.0 SP2 was developed for Windows XP and assumes a 96 DPI (100 %) display. The configurator's text output, IO field sizing, and layout grid are sized in device-independent pixels relative to a 96 DPI base. When the configurator is launched on a Windows 7 / 10 / 11 notebook whose display is set to a higher DPI (commonly 120 DPI / 125 % or 144 DPI / 150 %), the Windows GDI subsystem reports a different pixels-per-inch value, and ProTool — being a legacy DPI-unaware Win32 application — scales its font metrics proportionally.
The visible symptom is unambiguous:
- Fonts in the ProTool editor (label text, button captions, alarm text) appear roughly 25 %–50 % larger than on the source PC.
- IO field input boxes are enlarged because the field height is computed from font metrics.
- The compiled
*.fwdruntime file loaded onto the MP370 carries the same enlarged metrics, so the runtime panel looks different from the original. - Object positions (X/Y on the screen grid) are unaffected — only text and field height change.
Cross-checking the original engineering PC: the source PC almost certainly runs at 96 DPI, while the new notebook is at 120 DPI (125 % scaling) or 144 DPI (150 % scaling). Reverting the new PC to 96 DPI restores correct rendering, which is the diagnostic confirmation.
4. Solution: Match DPI Settings Between Source and Target PC
- Close ProTool V6.0 SP2 and the STEP 7 SIMATIC Manager if either is running.
- Right-click the Windows desktop, choose Display settings (Windows 10) or Personalize → Display (Windows 8.1).
- Under Scale and layout, set the Change the size of text, apps, and other items dropdown to 100 % (Recommended). This forces 96 DPI.
- Click Apply and sign out / sign back in (or reboot) so all GDI handles reinitialize.
- Re-launch ProTool V6.0 SP2 and open the project. Fonts and IO field heights will now render at the original size.
- Re-compile the project, regenerate the
*.fwdfile, and re-transfer to the MP370.
5. Per-Application DPI Override for ProTool
For workstations that must remain at 125 % or 150 % scaling for usability with other tools (Office, EPLAN, TIA Portal), force ProTool to run in system DPI unaware mode at 96 DPI:
- Locate the ProTool executable, typically:
C:\Program Files\Siemens\Automation\ProTool_V62\Bin\ProTool.exeC:\Program Files (x86)\Siemens\Automation\ProTool_V62\Bin\ProTool.exe
- Right-click → Properties → Compatibility tab.
- Click Change high DPI settings.
- Under Program DPI, check Override high DPI scaling behavior and select System (Enhanced) or Application.
- Also enable Run this program in compatibility mode for: Windows XP SP3.
- Click OK twice.
- Launch ProTool — fonts will render at 96 DPI even though the desktop is at 125 %.
The same override is recommended for the ProTool runtime builder PTProCS.exe and the STEP 7 SIMATIC Manager S7MANAGR.exe when used together. Save the override to a registry-friendly manifest if you want to deploy it across an engineering team via group policy.
6. Verification
- Open the ProTool project and visually compare a known text object (e.g. a screen title) against a screenshot from the source PC — font height and IO field height must match within 1 pixel.
- Compile the project. The resulting
*.fwdfile size should be identical (or within <1 %) to the previous build — a large delta indicates object sizes changed. - Transfer the binary to the MP370 using ProSave over Ethernet or MPI and confirm runtime display.
- On the MP370, navigate the screens and verify that long text strings still fit inside the IO fields (a sign that the font metric is now correct).
- Repeat for all three MP370 panels to confirm consistent appearance.
7. Secondary Issue: VBScript FileCopy Does Not Work on MP370
The same engineering thread raises a second, common MP370 / Windows CE problem: the VBScript function call f.FileCopy filename1, filename2 is accepted by the ProTool script editor at compile time but the runtime on the MP370 does not execute the copy. The MP370 returns no error, but the destination file never appears.
Root cause: The MP370 runtime supports a subset of VBScript. The full FileSystemObject from scrrun.dll is not present on Windows CE 5.0 — only a few file I/O functions (open, read, write, close, line input) are exposed via the ProTool VBScript host. FileCopy, CopyFile, DeleteFile, and similar methods have no implementation on WinCE. The ProTool script editor does not validate against this runtime subset, so compile-time acceptance does not guarantee runtime behavior.
Siemens documents this limitation in FAQ entry Entry ID 13408815 — "Which VBScript functions are supported on Windows CE panels?" The runtime supports file stream operations through Open ... For Input / Output / Append, Line Input #, Print #, Close, plus basic directory checks via Dir(). The full FileSystemObject object model is unavailable.
8. Workaround: Replace FileCopy With Stream Read/Write
' ProTool VBScript on MP370 / WinCE 5.0
' Copy a text file using the runtime-supported stream API.
Sub CopyFile_OnRuntime(srcPath, dstPath)
Dim fIn, fOut, sLine
Set fIn = CreateObject("ADODB.Stream")
Set fOut = CreateObject("ADODB.Stream")
fIn.Mode = 3 ' adModeReadWrite
fIn.Type = 2 ' adTypeText
fIn.Charset = "ascii"
fIn.Open
fIn.LoadFromFile srcPath
fIn.Position = 0
fIn.CopyTo fOut
fIn.Close
' Persist destination via direct file write (alternative pattern):
Dim ff, i
Set ff = fOut
ff.SaveToFile dstPath, 2 ' adSaveCreateOverwrite
ff.Close
End Sub
If the ADODB.Stream object is not available on the target CE build, fall back to the explicit line-by-line read/write pattern (the approach already in use on the affected project):
' Fallback pattern - read source into array, write to destination.
' This is the method the operator is already using to bypass the
' FileCopy limitation; it works on every MP370 / WinCE build.
Dim arrLines(10000), i, n
Dim f, s
n = 0
' --- Read source file ---
f = OpenFile("\\Storage Card\\PLC\\source.csv", fmOpenRead)
Do While Not Eof(f)
Line Input #f, s
arrLines(n) = s
n = n + 1
Loop
Close #f
' --- Write destination file ---
f = OpenFile("\\Storage Card\\PLC\\dest.csv", fmOpenWrite)
For i = 0 To n - 1
Print #f, arrLines(i)
Next i
Close #f
This pattern is functionally equivalent to FileCopy for text-based logs, recipe files, and CSV exchanges between the S7-315-2DP and the panel — but executes on the WinCE 5.0 runtime. Performance is the documented concern in the original case (the operator noted "Spending a lot of time on the network"), so prefer it for small files (≤256 KB). For large data sets, consider switching the integration from file-based to tag-based block transfer over MPI/Profibus DP, where the S7-315-2DP and MP370 exchange data via process tags without any file I/O.
9. VBScript on Windows CE: Full Function Support Matrix
| VBScript function | Win32 PC runtime | MP370 / WinCE 5.0 | Notes |
|---|---|---|---|
| MsgBox, InputBox | Yes | Limited (InputBox not supported) | Use Screen.ShowDialog where possible |
| Open, Close, Line Input #, Print # | Yes | Yes | Core file I/O subset |
| FileSystemObject.FileCopy | Yes | No | Use stream read/write pattern |
| FileSystemObject.CopyFile / DeleteFile | Yes | No | Replace with Open/Print/Close |
| FileSystemObject.FileExists | Yes | No | Use Dir() with vbDirectory attribute |
| CreateObject("Scripting.FileSystemObject") | Yes | No | Object not registered on CE |
| CreateObject("ADODB.Stream") | Yes | Partial (panel firmware ≥ V6.0.4.0) | Verify on target build first |
| Shell, AppActivate | Yes | No | No external process model on CE |
| WScript.Sleep | Yes | No | Use project scheduler or tag-based delays |
| FormatDateTime, FormatNumber | Yes | Yes | Locale-aware on CE regional build |
| LCase, UCase, Left, Right, Mid, Len | Yes | Yes | Full string subset |
@ScriptError on the panel. If the runtime cannot resolve the call, the script silently exits and @ScriptError remains 0 — the absence of an error message is not proof of success.
10. MP370 Runtime Image and Firmware Considerations
The MP370 panel comes in two primary hardware variants that share a WinCE 5.0 runtime but differ in image size and supported features:
- MP370 Touch 12" / 15" — 6AV6 545-0BA15-2AX0 / -0CA15-2AX0
- MP370 Key 12" / 15" — 6AV6 545-0BB15-2AX0 / -0CB15-2AX0
The runtime image version (read on the panel under Start → Settings → Control Panel → OP → Info) must match the ProTool configurator's expected runtime. Recommended baseline for projects using VBScript file I/O is image ≥ V6.0.4.0. Earlier images lack the ADODB.Stream registry keys even if the file is present on disk. Update the image using ProSave (Siemens order number Entry ID 21827968 — ProSave V6.x) over Ethernet, MPI, or USB.
For the S7-315-2DP side, verify that the DP bus profile configured in STEP 7 (baud rate, slot time, Ttr) is consistent across all three MP370 nodes. Mismatched DP parameters on a mixed-fleet project can produce the same "runtime looks different" symptom but originate from tag-update latency, not font metrics — rule this out before re-uploading the runtime image.
11. Long-Term Recommendation: Migrate to WinCC flexible
ProTool V6.0 SP2 is end-of-life and Windows 7 / 10 are out of mainstream engineering support for it. The recommended path forward is to migrate the project to WinCC flexible 2008 SP3 (the last release that supports MP370) and then to TIA Portal WinCC Comfort/Advanced (which supports the successor panels TP1500 / TP2200 Comfort). The migration tool is invoked from the WinCC flexible project administration:
- Open WinCC flexible 2008 SP3.
- File → Migration → Migrate ProTool Project.
- Select the
*.pdb/*.ldbsource and the target panel (MP370 or successor). - Run the converter. WinCC flexible reports conversion warnings — accept and resolve fonts, area pointers, and tag connections.
- Re-compile, transfer, and validate on the panel.
WinCC flexible handles DPI scaling on Windows 7 / 10 correctly because it is built against a modern .NET / Win32 GDI stack. The original DPI mismatch symptom disappears on the engineering side once the project is migrated. Refer to the official migration guide at Entry ID 22031831 — Migrating from ProTool to WinCC flexible.
12. Troubleshooting Matrix
| Symptom | Likely cause | First check | Fix |
|---|---|---|---|
| Fonts and IO fields oversized in ProTool editor | Windows DPI > 96 | Display → Scale and layout | Set 100 % (96 DPI) or apply per-app override |
| Compiled MP370 runtime shows larger fonts than original | DPI mismatch on engineering PC | Compare .fwd file build timestamp / size | Re-compile on a PC at 96 DPI |
| VBScript FileCopy silently does nothing on MP370 | FileSystemObject not on WinCE | Check @ScriptError tag value | Use stream read/write pattern |
| Script compiles, runs on PC, fails on MP370 | WinCE VBScript subset | Siemens FAQ 13408815 | Port to Open / Line Input / Print |
| ProTool crash on launch under Windows 10 | DPI virtualization bug | Event Viewer application log | Compatibility mode XP SP3 + DPI override |
| MP370 node drops off Profibus DP randomly | DP bus parameter mismatch | STEP 7 HW Config → DP diagnostics | Align Ttr, slot time, baud rate across all nodes |
| Recipe file copied but values still old on next screen | File transfer race with tag update | Tag trace in STEP 7 | Use acknowledge tag from S7-315-2DP |
Why are ProTool V6.0 SP2 fonts oversized on a new Windows notebook?
Windows 7 / 10 / 11 notebooks commonly ship with 125 % (120 DPI) or 150 % (144 DPI) display scaling. ProTool V6.0 SP2 is a Win32 DPI-unaware application designed for 96 DPI, so its font and field metrics are scaled up on higher-DPI displays. Match the engineering PC to 96 DPI (100 % scaling) or apply a per-application DPI override on the ProTool executable.
How do I force ProTool V6.0 SP2 to render at 96 DPI on a 125 % display?
Right-click ProTool.exe → Properties → Compatibility → Change high DPI settings. Enable Override high DPI scaling behavior and choose System (Enhanced) or Application. Also enable compatibility mode for Windows XP SP3. Re-launch ProTool — text will render at 96 DPI even when the desktop is at 125 %.
Why does VBScript FileCopy compile but fail on the MP370?
The MP370 runs Windows CE 5.0, which does not include the full Scripting.FileSystemObject COM library. The ProTool script editor validates against the Win32 VBScript spec, not the CE runtime, so compile-time acceptance does not guarantee execution. Replace FileCopy with the Open / Line Input # / Print # / Close pattern, or use the ADODB.Stream object on runtime images ≥ V6.0.4.0.
What is the recommended runtime image version for the MP370 with ProTool V6.0 SP2?
Use the latest available WinCE 5.0 image for the panel — minimum build V6.0.4.0 for projects that rely on VBScript file I/O or ADODB.Stream. Update via ProSave V6.x (Siemens Entry ID 21827968) over Ethernet, MPI, or USB. The image version is reported on the panel under Start → Settings → Control Panel → OP → Info.
Should I migrate the ProTool project to WinCC flexible?
Yes. ProTool V6.0 SP2 is end-of-life and exhibits DPI, runtime, and OS compatibility issues on any Windows newer than XP. Migrate to WinCC flexible 2008 SP3 (the last release that supports MP370) using File → Migration → Migrate ProTool Project, then forward to TIA Portal WinCC Comfort/Advanced for successor panels. See Siemens Entry ID 22031831 for the official migration procedure.