Presentation on theme: "Slide 2 Session Description This breakout session will cover troubleshooting techniques that we recommend for Wonderware InTouch. We will also take a."— Presentation transcript:
Slide 2 Session Description This breakout session will cover troubleshooting techniques that we recommend for Wonderware InTouch. We will also take a look into some of the new functionalities with Wonderware InTouch 2012. Duration: 90 min
Slide 4 Overview New Features in InTouch 2012 Mind Map View 100% CPU Issue Process Explorer View Crash Causes and Solutions
Slide 5 New Features in InTouch 2012 Smart Card Show/ Hide Graphics Tag Viewer WWHeap Setting Windows Memory Caching CPU Affinity Lock Window Size – Scale For Resolution GetWindowName Script Function
Slide 6 Smart Card InTouch utilizes the following smart card related APIs exposed by Microsoft. Note: The AppServer xxSecurity also utilizes these APIs to support smart card authentication for the Galaxy OS authentication using smart card. Windows Smart Card APIs will be used to detect the presence of the smart card in the system. Refer to the following link for details: http://go.microsoft.com/fwlink/?LinkId=93347 http://go.microsoft.com/fwlink/?LinkId=93347 Microsoft Cryptographic services will be leveraged to read certificates that are stored in the smart card. Refer to following link for details: http://msdn.microsoft.com/en-us/library/ms925963.aspx http://msdn.microsoft.com/en-us/library/ms925963.aspx
Slide 7 Smart Card Hardware C2-40 Mini Driver Smart Card OK 3021 USB Smart Card Readers
Slide 8 Show/Hide Graphics The Show/Hide Graphic script functions allow you to write ArchestrA Graphics scripts to display a symbol as a pop-up window and close the pop-up window. The HideGraphic script function allows you to close any ArchestrA symbol, displayed through the ShowGraphic script function. The HideSelf script function allows you to close the symbol, displayed by either the ShowGraphic script function or the ShowSymbol animation.
Slide 9 Show Graphic Function Structure Dim graphicInfo as aaGraphic.GraphicInfo; graphicInfo.Identity = " "; graphicInfo.GraphicName = " "; ShowGraphic( graphicInfo );
Slide 10 Show/Hide Graphic Script Tips and Examples The Show/Hide Graphic script functions allow for a wide range of scripted uses: Using Predefined and Named Scripts Working with Modal Windows Using Hierarchical References and Containment Relationships Scripting the Owning Object Scripting Multiple Symbols
Slide 11 Important Note on ShowGraphic Function The ShowGraphic function can be used in a symbols action script, named script and pre-defined script. Although the system allows you to include it in a server script, such as Start Up, On Scan, OffScan, Shut Down and Execute, you will not be able to execute the function at run time. Detailed Examples are on Tech Note 815
Slide 12 Tag Viewer You can start Tag Viewer only if WindowViewer is running, and Tag Viewer has been enabled at design time. You can launch Tag Viewer from the WindowViewer menu or from a script calling the LaunchTagViewer() function. The above function can be executed from any script type, except application scripts: OnStartup and OnShutdown. If Tag Viewer is not enabled, calling the function will not start Tag Viewer and a warning message will be logged in the logger. You must have adequate security privileges to run Tag Viewer
Slide 14 WWHEAP Memory Settings You can configure the wwHeap Memory settings by specifying the wwHeap size and start location. The default size, default start location, and allowable location range vary by operating system. The default sizes are described in the following table: Operating SystemDefault Size 32 – bit1519 MB 32 – bit with /3GB switch enabled 2048 MB 64 – bit2048 MB
Slide 15 WWHEAP Memory Settings The default locations and allowable location ranges are described in the following table: Operating SystemDefault Start Location Allowable Range 32 –bit0x210000000x00010000 to 0x7FFEFFFF 32-bit with the /3GB switch enabled 0x400000000x00010000 to 0xBFFEFFFF 64-bit0x800000000x00010000 to 0xFFFEFFFF
Slide 17 Memory Caching for WindowViewer Windows You can configure how WindowViewer uses memory for Windows to improve performance at run time. Windows can be kept in memory at run time in certain conditions to allow for fast retrieval. You can also specify the interval for a periodic memory health check and settings for the heap memory segment.
Slide 18 Viewer Memory Caching In-Memory Window Caching Memory Limit for In-Memory Windows The default memory limit is 70% of process memory. In-Memory Window Expiration Time The default value is 0 hours, which designates no time limit. You can enter a value between 0 and 8760 hours (365 days) High Priority Window Caching Enable High Priority Window Caching This allows some windows to be marked as high priority. Memory Limit for High Priority Windows The default memory limit is 90%.
Slide 22 Expose Window Name Property GetWindowName script function enables the user to retrieve the name of the window under which the function has been called. The syntax of the script function is as follows: Resultcode = GetWindowName(tagname); Resultcode indicates the success or failure of the script function. The resultcode can be a Discrete/Integer/Real data type. Resultcode will be 1 or 0, based on the success or failure of the script function: Resultcode is 1 when the script function is called from window context. Resultcode is 0 when the script function is called from non-window context.
Slide 24 Issue 1: View %100 CPU Does WindowViewer seem like it is running in an infinite loop?
Slide 25 Issue 1: View 100% CPU SR 44210117 – Happens several times a day on all InTouch Deployed Apps.
Slide 26 Issue 1 - Mind Map for View 100% CPU issue
Slide 27 Issue 1 - Mind Map a way to share the history of a complicated issue Lets compare Call Tracking Database Text Summary Mind Map
Slide 28 28 Pages long! Issue 1 - Mind Map a way to share the history of a complicated issue
Slide 29 Issue 1 - Mind Map a way to share the history of a complicated issue Can use this to share the history of a case with: Colleagues Development System Integrator Distributor Customer Management OR use for training a new Engineer
Slide 30 Issue 1: Tools/Techniques used in this SR Increase WWHeap – Must use GUI for InTouch 10.5 not the old Registry settings Process Explorer Log Viewer ArchestrA Symbol Analysis and Repair Tool for SP 2012 – not posted on WDN; has not helped any customers as far as we know; use older version of tool before migration to SP 2012 Performance Monitor - Tech Note 868 Event Viewer Galaxy Backup to view InTouch app Rebuild App with Tech Note 570 Qslice Dump
Slide 31 Issue 1: Options to Create Dump Tech Note 726 Capturing a Memory Dump File Using the Microsoft® Debug Diagnostic Tool (32bit) Tech Note 793 Capturing a Memory Dump File Using the Microsoft® Debug Diagnostic Tool (64bit) Process Explorer version 15.13 or later. Right click on the process and select Dump.
Slide 32 Issue 1: Which View Thread is consuming the most CPU? Option 1 – Use Qslice Option 2 – Use Process Explorer
Slide 33 Issue 1: QSlice CPU Stress – an internal utility Qslice – free download from Microsoft Double click the process to show the threads
Slide 34 Issue 1: Process Explorer Right click on the Process Select Properties Click on the Threads tab
Slide 35 Issue 1: Process Explorer Demo Free download from Microsoft Show how to identify AppEngine name
Slide 37 Issue 2: View freezes when Alarm occurs Use WindowMaker File/Print to print all scripts to file Caused by Application While Running Script PlaySound( "C:\Windows\Media\Afternoon\Windows Notify.wav", 0 );
Slide 41 Issue 4: Event Viewer for View Crash and Hang
Slide 42 Issue 4: View Crash Causes / Solutions Cause #1: WWHeap conflict or Out of Memory. Look for WWHeap messages in Log Viewer or Event Viewer Solution #1: Increase WWHeap Memory (Tech Note 768) or in Node Properties for InTouch 10.5 Cause #2: Not having the latest InTouch Service Pack and patch installed. Cause #3: Running View on a non-supported OS / Service Pack. Solution #3: Check the InTouch Readme for supported OS Cause #4: View out of memory Solution #4: Verify with Performance Monitor. Isolate to individual windows or window combinations
Slide 43 Issue 4: View Crash Causes / Solutions Cause #5: Scripting. Application While Running script causing resource issue or an individual script causing a crash. Solution #5: Isolate down to individual script. Print scripts to file for analysis. Cause #6: View caused an invalid page fault in module CBTREENT.dll. Solution #6: Corrupt InTouch History Files. Isolate to individual day causing the problem. Cause #7: Corrupt window or InTouch App Solution #7: Recompile the app OR rebuild the app (Tech Note 570 for Managed Apps, Tech Note 774 for Standalone apps) Use Crash Dump if still unresolved
Slide 44 Issue 5: Handle Leaks What can happen when there is a handle leak?
Slide 45 Issue 5: aaGR Handle Leak causes View Crash Various SP 2012 customers reporting View crash due to aaGR Handle Leak (34657 handles in one case) The scenario is that the ArchestrA Galaxy Repository is installed, but the node is just being used as an InTouch Runtime. Hotfix CR L00121244 Number of Handles used by process. Seen with Task Manager, Process Explorer or Wonderware Tech Support Info Tool Demo of Wonderware Tech Support Info Tool and Performance Monitor in session TSS 10 – WAS Advanced Troubleshooting