Tech Note 866 - Monitoring and Tracking Suitelink
Tech Note 866 - Monitoring and Tracking Suitelink
All Tech Notes, Tech Alerts and KBCD documents and software are provided "as is" without warranty of any kind. See the Terms of Use for more information.
Topic#: 002665
Created: June 2012
Introduction
Many Wonderware applications communicate to each other via the SuiteLink protocol. Monitoring the SuiteLink process is useful,
especially if there are issues with communication.
This Tech Note describes how you can monitor SuiteLink performance counters by using Performance Monitor (Perfmon), and it outlines
how you can generate a Counter Log (file) for further analysis. It also shows creating a .CSV file with information about SuiteLink.
Content Links
Use the following links to navigate to your topic of interest:
About SuiteLink
SLS Users
Enabling the Logging on Windows Server 2003 SP2 and Windows XP SP3
SuiteLink Notes
Appendix
About SuiteLink
SuiteLink is a Wonderware communications protocol that uses a TCP/IP based communication protocol. SuiteLink is designed specifically
to meet industrial needs, such as data integrity, high throughput, and easier diagnostics. This protocol standard is supported on Microsoft
Windows.
SuiteLink has a unique way of detecting the client overload condition. At the client side, SuiteLink probes the depth of the Windows
message queue of the client process at a particular interval. If the depth of the Windows message queue is above a certain level called
High Water, SuiteLink understands that the client is overloaded and it will not be able to process the data at that rate. At that point, it
will generate a Suspend event and request the server to stop sending the data. Based on the Suspend request, the server will stop
sending the data.
For a particular SuiteLink probe, if the depth of the Windows message queue is below a certain level called Low Water, SuiteLink
understands that the client has come out of the overload condition and it will be able to process the data. It will generate a RESUME
event and request the server to resume sending the data. When the Server processes the RESUME request, the Server will resume
sending the data.
Note: SuiteLink is not a replacement for DDE, FastDDE, or NetDDE. Each connection between a client and a server depends on your
network situation.
Note: You can see the SuiteLink counters in Performance Monitor on Windows XP SP3, Windows 2003 R2 and Windows 2008 SP2 32-bit
Operating Systems after running WindowViewer. On Windows 64 bit you have to type the command mmc /32 perfmon.msc in order
to display the SuiteLink counters. The screenshots in this section are taken from a machine with Windows 2008 SP2.
SL Local Applications
Use SL Local Applications to monitor the local running applications that use SuiteLink.
1. Type Perfmon in the Run field. The Reliability and Performance Monitor window appears (Figure 1 below).
3. Right-click anywhere in the right panel and click Add Counters. The Add Counters window appears (Figure 3 below).
4. Go to SL local applications and expand it, then select some or all of the counters under it. Refer to Appendix for the definition
of each counter.
7. Click OK. The counters are added to the Performance Monitor window (Figure 5 below).
For example, if you have a SuiteLink server application and many SuiteLink client applications running on different machines, you can
monitor the communication to each client individually.
3. Select some, or all, of the counters under it. Refer to the Appendix for the definition of each counter.
Note: In this example, there are two instances of TESTPROT: One to the View application on the GCS12 machine and one
to the View application on GCSSRV01.
For example, if View is running on the local machine, and is connected to some items from a DAServer, like DASABCIP, you can monitor
the communication to each topic individually.
3. Select some, or all, of the counters under it. Refer to Appendix for the definition of each counter.
Note: There are three instances for View, one for each topic in DASABCIP.
6. Click OK. The counters are added to the Performance Monitor window.
3. Select some, or all, of the counters under it. Refer to the Appendix for the definition of each counter.
6. Click OK. The counters are added to the Performance Monitor window.
SLS Users
SuiteLink applications appear under SLS Users with their full path. One of the important SLS Users counters is Open Connections.
3. Select some, or all, of the counters under it. Refer to the Appendix for the definition of each counter.
6. Click OK. The counters are added to the Performance Monitor window.
You can create a Log file for later analysis for any of the counters used in the previous sections. Creating a Log file helps with
troubleshooting.
1. In the Reliability and Performance Monitor window, expand Data Collector Sets.
2. Right-click User Defined, then click New Data Collector Set (Figure 10 below).
3. In the Create New Data Collector Set window, type a name for the set and click Create manually (Figure 11 below).
4. Click Next.
6. Click Next.
8. Add some of the SL counters shown in the previous examples (Figure 15 below).
9. Click OK. The counters appear in the Performance counters panel (Figure 16 below).
11. Type the directory where you would like to save the Log files (Figure 17 below).
13. Click Start this data collector set now, then click Finish (Figure 18 below).
Note: On Windows 2003, the Performance Logs and Alerts service should Log on as a Local System account (Figure 19 below).
For InTouch 10.5, you can use SuiteLink Flow Control Logging to troubleshoot communication issues.
A SuiteLink client can enable logging to a CSV file. The logging configuration data is stored in the registry, and the information is read
one time when the SuiteLink client process starts. The folder where the log file should be generated is specified as well as how large the
log file is allowed to become in megabytes.
Registry
HKEY_LOCAL_MACHINE\Software\Wonderware\SuiteLink\<Module Name>
Key
String
QueueProbeLogFolder
Value
Module
Yes – Module Only – No Global Setting.
Support
Default None
Minimum None
Maximum None
Constraints Folder must exist. Do not end folder specification with a backslash.
If this entry exists in the registration database for the specified module, then a log file will
Purpose be created in the folder when SuiteLink is connected to the module, and that log file will
begin filling with text indicating the status of the flow control handler for that client.
Registry
HKEY_LOCAL_MACHINE\Software\Wonderware\SuiteLink\<Module Name>
Key
DWORD
QueueProbeLogSizeMax
Value
Module
Yes – Module Only – No Global Setting.
Support
Default 512MB
Minimum 0
Constraints None
Control how large the queue probe log file will become. Once the maximum log file size has
been reached, no further messages will be logged to the file.
Purpose
Note that because one last log file message might be pending, the log file maximum size
might be exceeded by a few bytes.
The messages indicating that the SuiteLink client has suspended or resumed by default do not appear in the SMC logger for every
occurrence. You can configure the number of times SuiteLink must be consecutively suspended before a message appears in the Registry.
If you think that the SuiteLink suspends very briefly, but nothing appears in the SMC logger, you can set this number lower and lower.
Setting the number to 1 logs every Suspend event.
Registry
HKEY_LOCAL_MACHINE\Software\Wonderware\SuiteLink\FlowControl
Key
DWORD
MaxHighWaterCountToLogMessage
Value
Module
Yes
Support
Default 10
Minimum 0
Maximum 2^32
Constraints None
A value of 0 or 1 will potentially result in a log file full of SuiteLink suspend and resume
messages.
QPHLog_App_Exe_PID_DDMMYYYY_HHMMSS_MMM.CSV
For example, if the SuiteLink client’s program name was View.Exe and the program started logging on June 02, 2011, the file name is:
QPHLog_View_Exe_2804_02062011_083927_523.CSV
• Wonderware>SuiteLink>FlowControl
• Wonderware>SuiteLink>view.exe (the module you want to log it)
4. Under FlowControl, create a DWORD value and call it MaxHighWaterCountToLogMessage, and set its value to 1 (Figure 21
below).
6. Set its value to C:\SuiteLink\LogFiles (Figure 22 below). This path is manually created to store the log files.
7. Open WindowViewer. The .csv files should be created at the path you provided (C:\SuiteLink\LogFiles).
Note: Each time you restart Viewer, a new .CSV file is created at that location.
Some of the parameters that you will see in the file are:
CountToTriggerOverload: The Suspend event is generated only if the count of consecutive HighWater conditions is greater than
this value. Its default value is 1.
CountToResetOverload: The RESUME event is generated only if the count of consecutive LowWater conditions is greater than this
value. Its default value is 1.
Enabling the Logging on Windows Server 2003 SP2 and Windows XP SP3
For Windows Server 2003 SP2 and Windows XP SP3, repeat the previous steps above but you will find the Registry key of Wonderware
under HKEY_LOCAL_MACHINE\Software instead of HKEY_LOCAL_MACHINE\Software\Wow6432Node.
Solution
For this scenario the IOServer should be moved on another machine. This way the node with the IOServer will not be affected by a high
CPU, for example from using TSE.
InTouch is Busy
The CPU may not be high but InTouch is busy (like a loop or a lot of Synch QF)—client overload.
In this case InTouch sends a Suspend and tells the Server to stop sending data. When InTouch is no longer busy it sends a RESUME and
the IOServer starts sending the data. What happens in this case is that the data between the Suspend and RESUME is lost.
Solution
Find out why the InTouch is busy and why it cannot process the data. Check the loop and Synch QF.
Solution
For this scenario work needs to be done on the IOServer-side (the protocol specific code), as well as the Device to make sure that it is
not so slow. This way fewer Suspend messages will be generated.
By design, SuiteLink generates the Suspended and Resumed messages automatically in the background. These messages are only an
indication of problems when data updates become very sluggish and/or missing (out of synch).
By default, Suitelink Suspend events are not logged unless a Suspend event occurs consecutively for 10 or more times without a Resume
event. This means that Suspend events can still occur, even though they may not appear in the logger. You can monitor Suspend events
more closely by looking at the Performance Counters.
Possible Causes
The following events are possible causes for the Suspend event to be generated.
SuiteLink server shutdown: Closing the InTouch or InControl application, reboot, and so on.
Network issue: Sharing network routers with a large number of nodes with dynamic node addressing assignments; duplicate node
IDs, heavy network traffic, etc.
Suitelink overload: Accompanied by Suspended/Resumed SuiteLink Updates messages. Too many items updating too fast
sometimes corrupts SuiteLink files or something similar.
High CPU utilization: This is one of the most common cause for Suspend events to be generated.
SuiteLink Notes
The network transport protocol is TCP/IP using Microsoft's standard WinSock interface.
SuiteLink does not support multiple Access Names with the same application/topic names. You can configure one of the Access
Names to use DDE and the other to use SuiteLink.
SuiteLink Suspend condition can occur when the machine's CPU is highly loaded or all the machine resources are being used on
some other processes.
Appendix
This section contains SuiteLink Counter names and their definitions.
High Water mark triggered now The transmit queue is now filled to high limit.
Overload forced now The local application has indicated that it is overloaded.
TxQ Bytes in Queue Total number of bytes currently in the transmit queue.
TxQ High Water marks Total number of times the SL transmit queue has filled.
A. Ibrahim, R. Mahmoud
Tech Notes are published occasionally by Wonderware Technical Support. Publisher: Invensys Systems, Inc., 26561 Rancho Parkway South, Lake Forest, CA 92630. There is also
technical information on our software products at Wonderware Technical Support.
Back to top
©2012 Invensys Systems, Inc. All rights reserved. No part of the material protected by this copyright may be reproduced or utilized in any form or by any means, electronic or
mechanical, including photocopying, recording, broadcasting, or by anyinformation storage and retrieval system, without permission in writing from Invensys Systems, Inc.
Terms of Use.