Understanding SIMATIC BATCH 'MSAA Active!' Diagnostic Messages and UI Accessibility Performance
In SIMATIC BATCH Control Center (BatchCC) and Recipe Editor, the diagnostic message 'MSAA active! Max: 19907' (or similar handle counts) indicates that Microsoft Active Accessibility (MSAA) has been triggered by external Windows UI automation, accessibility tools, or background monitoring software. SIMATIC BATCH natively supports MSAA to enable automated UI testing and assistive screen readers. However, when third-party software (such as remote desktop utilities, touchscreen overlay drivers, or security agents) continuously queries BatchCC controls, the application allocates thousands of internal accessibility handles, logging the status message. To prevent GUI lag and handle exhaustion: disable unused Windows accessibility services and exclude BatchCC processes from invasive UI hooking.
Table of Contents
- Executive Summary
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
During continuous operation or recipe authoring in SIMATIC BATCH V8.x or V9.x, system administrators and batch operators occasionally observe a diagnostic pop-up or trace log entry reading MSAA active! Max: 19907 (or other high integer values such as 3760). In plants where operators are unfamiliar with accessibility protocols, this message triggers concern regarding potential recipe corruption or imminent server crashes. In reality, MSAA refers to 'Microsoft Active Accessibility', an industry-standard API for assistive technologies and automated testing frameworks. This article demystifies the MSAA mechanism within SIMATIC BATCH, identifies the third-party software triggers that cause excessive handle accumulation, and provides remediation steps to optimize BatchCC graphical responsiveness.
Architecture and Fundamental Mechanics
Microsoft Active Accessibility (MSAA) Architecture, BatchCC UI Tree, and Handle Accumulation Mechanics:
- What is Microsoft Active Accessibility (MSAA)?:
- MSAA is a COM-based technology developed by Microsoft that enables software applications to expose their user interface elements (buttons, list views, recipe trees, tables) to external client tools.
-
Primarily designed for screen readers, voice recognition software, and accessibility devices, MSAA is also the foundation for automated GUI test suites (e.g. Ranorex, TestComplete, Microsoft UI Automation).
-
Why SIMATIC BATCH Implements MSAA:
- Siemens integrates standard Windows accessibility interfaces into the SIMATIC BATCH client applications (
BatchCC.exe,BRecEdit.exe). -
When an external process issues an
AccessibleObjectFromWindowcall or hooks the Windows accessibility event stream, BatchCC dynamically builds an internal tree of accessible proxy objects reflecting every recipe phase, unit icon, and toolbar button. -
Root Cause of the 'MSAA active! Max:' Diagnostic Message:
- The message is an internal informational telemetry trace generated by the BatchCC UI host.
- The integer value (e.g.
19907or3760) represents the peak number of accessible UI handles and proxy objects instantiated in memory. -
Typical external triggers in industrial control rooms:
- Remote Desktop and Screen Sharing Tools: VNC, TeamViewer, or specialized KVM-over-IP software that query accessibility hooks to optimize video capture.
- Industrial Touchscreen Drivers: Advanced gesture drivers that hook UI controls to detect text input fields.
- Antivirus and Endpoint Detection (EDR): Security software inspecting application windows for code injection.
- Windows Accessibility Features: Accidental activation of Windows Magnifier, Narrator, or Sticky Keys by operators.
-
Operational Impact:
- The message itself does NOT indicate recipe corruption or controller communication failure.
- However, allocating tens of thousands of MSAA objects consumes GDI handles and desktop heap memory, which can lead to sluggish recipe editing, delayed window refreshes, and eventual UI freezing if handles exceed Windows desktop limits.
Step-by-Step Implementation Procedure
-
Identify the Triggering External Application:
* On the PC exhibiting the message, open Windows Task Manager.
* Check for active accessibility tools:Narrator.exe,Magnify.exe, orEase of Accessservices.
* Check for remote management agents (e.g. VNC, LogMeIn, TeamViewer) or virtual keyboard overlay utilities. -
Disable Unnecessary Windows Accessibility Features:
* Open Windows Control Panel -> Ease of Access Center.
* Ensure that Turn on Narrator, Turn on Magnifier, and Turn on On-Screen Keyboard are all disabled.
* Click 'Make the keyboard easier to use'; uncheck 'Turn on Sticky Keys' and 'Turn on Toggle Keys' shortcuts to prevent accidental operator keystroke triggers. -
Configure Touchscreen and Remote Desktop Hook Exclusions:
* If using industrial touch monitors (e.g. Elo, Hope Industrial), open the touchscreen driver configuration utility.
* Disable 'Accessibility Integration' or 'Assistive Touch' features.
* If remote desktop software is mandatory, configure the agent to use standard desktop mirror drivers rather than UI automation hooking. -
Exclude SIMATIC BATCH Processes from Invasive Antivirus Hooking:
* Open your endpoint protection / antivirus console.
* Add application exclusions for:BatchCC.exeBRecEdit.exesblaunchcoordinatorservice32ux.exe- This prevents security agents from constantly scanning the internal UI object tree.
-
Restart BatchCC and Verify Memory Cleanliness:
* Close BatchCC and restart the application.
* Verify that the 'MSAA active!' message no longer appears and that memory usage remains stable.
Verification
- In Task Manager, monitor
BatchCC.exe; add the column GDI Objects and USER Objects. - Navigate through complex recipes in BatchCC and Recipe Editor.
- Confirm that GDI handles remain well below the 10,000 Windows threshold and no 'MSAA active!' notifications pop up.
- Verify that recipe authoring, validation, and release operations perform smoothly with zero graphical latency.
Limitations and Operational Precautions
Disabling MSAA entirely is an operating system and application interaction; if an industrial site intentionally utilizes automated testing software (e.g. for FDA CFR 21 Part 11 computerized system validation), MSAA must remain active, and handle limits should be managed by periodically cycling the client software.
Engineer FAQ
What does the message 'MSAA active!' mean in SIMATIC BATCH?
It indicates that Microsoft Active Accessibility (MSAA) has been triggered by external software querying the BatchCC UI controls.
Is 'MSAA active!' an error message?
No, it is an internal informational telemetry notification indicating active accessibility proxy object allocation.
Does MSAA affect recipe execution or plant safety?
No, recipe execution in the controller is completely independent of the client GUI; however, excessive MSAA handles can cause UI lag in BatchCC.
What software typically triggers MSAA in control rooms?
Touchscreen overlay drivers, remote management utilities (VNC), antivirus UI hooks, or accidental activation of Windows Narrator/Magnifier.
How do I eliminate the MSAA message?
Disable unused Windows Ease of Access features, configure touchscreen drivers to disable accessibility hooking, and restart BatchCC.
Technical References
- SIMATIC BATCH V9.0 Operating Manual
- Microsoft Active Accessibility (MSAA) Architecture Specification
- Siemens Industry Online Support - SIMATIC BATCH Client Troubleshooting
Related Articles
- Resolving SIMATIC BATCH Launch Coordinator Startup Inhibit After SIMATIC Management Console Upgrades
- Controlling BatchCC Recipe Start Execution and Verifying SFC Preconditions in SIMATIC BATCH
- Handling Aborted and Stopped SFC Phases in SIMATIC BATCH Without Recipe Blocking
- Terminating and Deleting Blocked Control Recipes in SIMATIC BATCH when SFC Phases Hang
Related Tags
- SIMATIC BATCH
- BatchCC
- MSAA
- Microsoft Active Accessibility
- Recipe Editor
- GDI Handles
- UI Performance
- PCS 7 V9.0