Software Toolbox has a long-standing history of offering supplemental solutions that fit right in with AVEVA™ (formerly Wonderware®) projects. Many of you will be familiar with our TOP Server for AVEVA™ that offers a variety of device connectivity options, and a variety of client interface options like SuiteLink, OPC DA, and OPC UA.
SuiteLink is a communications protocol that runs over TCP/IP at the application layer, created by Wonderware to replace/succeed FastDDE, in the mid-1990's. Unlike OPC DA, SuiteLink doesn’t rely on COM or DCOM technology, making SuiteLink a common choice for remote connectivity to Software Toolbox solutions.
Continuing our Tech Support Corner blog series, this post shares best practices and procedures to follow when attempting to troubleshoot a SuiteLink connection, specifically when it comes to using SuiteLink clients with TOP Server. While this post specifically uses TOP Server as the SuiteLink server, the same techniques and concepts also apply to OmniServer, which also has a SuiteLink client Interface and is commonly used with AVEVA solutions.
Users of AVEVA (formerly Wonderware) solutions such as AVEVA InTouch or AVEVA System Platform have supplemented their device connectivity capabilities for many years using Software Toolbox solutions including TOP Server and OmniServer, both of which have native SuiteLink interfaces for seamless connectivity with AVEVA solutions. Any examples below are specific to TOP Server but similar techniques will apply to OmniServer, as well.
If you happen to have never used AVEVA solutions and Software Toolbox solutions together and are looking for ways to get started, we encourage you to check out the following technical how-to resources on connecting our solutions via SuiteLink:
- Video Tutorial: Using OmniServer with System Platform via SuiteLink
- Video Tutorial: Using OmniServer with InTouch via SuiteLink
- Video Tutorial: Using TOP Server with System Platform via SuiteLink
- Video Tutorial: Using TOP Server with InTouch via SuiteLink
Prerequisites for Using SuiteLink with Software Toolbox Servers
In order to allow FastDDE/SuiteLink connections, Wonderware common components must already be installed before the installation of TOP Server or OmniServer. In many existing InTouch installations, the necessary files will be present already. However, if the server is not running on the same node as Wonderware, you will need to install these components prior to installing the server.
Newer installations (2023) of AVEVA products install with only Encrypted SuiteLink enabled, all unencrypted communications will be rejected. System Management Servers must be configured correctly if using encrypted SuiteLink, otherwise Mixed Mode can be enabled to allow both Encrypted and Unencrypted communications. Please refer to your AVEVA product documentation for further details.
The common components can be installed from the AVEVA / Wonderware Device Integration media.
The location will vary depending on the version of AVEVA software you are running. In the past, some versions have setup.exe located under \DIFolders\WW\SuiteLink\2.0 SP3\SuiteLink.
Please note that the server will not function properly if these components are not installed. The FastDDE/SuiteLink tab under the Project Properties window in TOP Server will either be shown or hidden based on proper installation of these Wonderware components. After installing the Wonderware common components, re-run the TOP Server installer and verify that the FastDDE/SuiteLink Native Client interface was installed on the feature selection page. The feature selection page can be seen in the image below.
When you run the TOP Server Configuration, you will need to enable FastDDE/SuiteLink Communications by:
- Right-clicking on Project in the tree view and opening the Project Properties
- Go to the tab labeled FastDDE/SuiteLink and enable the FastDDE/SuiteLink connection to the server.
If you do not see this tab then you did NOT properly complete the installation of the common components prior to installing TOP Server. It is also possible you did not install the Wonderware SuiteLink Native Client Interface when installing the TOP Server. The default application name is “server_runtime” and there are very few instances where this should ever be changed (for example, if you are replacing another SuiteLink server and either can't or prefer not to alter the application name in your Access Names in AVEVA).
Other than installing the common components, none of the above is necessary for OmniServer - the SuiteLink interface doesn't need to be selected separately during install or enabled after install.
Troubleshooting Tools for SuiteLink Connections
When verifying the connection status of SuiteLink, there are two Wonderware specific tools that we can use. In this next section, we will go over how we can utilize such tools to our advantage.
SLSPING (SuiteLink Server Ping) Utility
SLSPING is a utility that installs as part of the Wonderware common components, and as such, it is a good way to validate the existence of the components. From a command prompt run:
slsping
If the result is the usage instructions, the components are installed. If you get a "command not found" error, then the components are most likely not installed.
The main purpose of the command is to check for the registration of a server with the SuiteLink Service, and that command takes the format of:
slsping <hostname or IP> <server name to query>
Server names include server_runtime (TOP Server) and osrvpoll (OmniServer).
Example 1 - Good Request
Example 2 - Bad Request (SuiteLink Service Running / Application Name wrong or server not running)
Possible Solutions to Example 2:
- Confirm that TOP Server (server_runtime) is running
- Confirm that the SuiteLink interface is enabled in TOP Server
- Confirm Encrypted SuiteLink communication is configured correctly or Unencrypted modes are enabled.
- Verify that the installed TOP Server version is running on a supported Windows Operating System. See here for our TOP Server Operating System Support matrix
Example 3 - Bad Request (Bad Hostname)
Possible Solutions to Example 3:
- Enter correct Hostname
- Check for a problem with the DNS Server as that is what is responsible for resolving hostnames to IP Addresses
- Confirm and enter the IP Address currently associated with your hostname and use that instead of the hostname
Example 4 - Bad Request (Bad IP Address)
Possible Solutions to Example 4:
- Confirm and enter the correct IP Address
Example 5 - Bad Request (SuiteLink service not running or firewall blocking)
Possible Solutions to Example 5:
- Make sure the SuiteLink Service is running
- Configure Firewall by allowing communications across port 5413, which is the port used for remote SuiteLink communications
WWClient (Wonderware Client)
For those familiar with using the OPC Quick Client with TOP Server (and the Software Toolbox OPC Test Client), you will understand the importance of having an independent client for verification purposes when testing communication errors. While these tools are great for troubleshooting/testing OPC DA connections, the WWClient fills this same role as a lightweight application to connect with servers via SuiteLink and troubleshoot connections.
The following steps can be followed to use WWClient to connect and read tags from a SuiteLink enabled server (these steps assume you already have WWClient - if not, your AVEVA distributor should be able to provide it for you):
- With WWClient open, navigate to Connections > Create to create a new server connection.
- Node: Hostname or IP Address where the SuiteLink server is running (localhost if the SuiteLink server is on the same machine as WWClient)
- Application: Application Name (e.g. osrvpoll, server_runtime, etc.)
- Topic: The Topic name configured in the SuiteLink Server. OmniServer also uses Topics, but in TOP Server, this is the same as an Alias. Topics designate where the data should be read from (think of it like a Tag Group) but is NOT the data item itself.
- Connection Type: For SuiteLink, always choose IOT - Thread.
- Create: Clicking the Create button will add the Connection to the WWClient in the background. If the connection is not properly added, using slsping to troubleshoot (see above) is a great way to confirm the Node and Application are correct. You should also verify the Topic is correct.
- Done: Closes the connection creation dialog window.
- Select Item from the menu to add an item to the connection you just created.
- Item: Enter the item reference that you want to read/subscribe to.
- Data Type: Specify the data type corresponding to the tag or item you're accessing in the server(incorrect data type can result in Failed Reads).
- Register: Click to register the item with the SuiteLink server.
- Advise: Click to add the item to an active subscription. The item should now appear under the Connection and start updating whenever the value changes (0x00c0 means Good quality in our example above).
- Done: Closes the Item dialog window.
For the most representative test, you'll want to test with WWClient from the same machine where your AVEVA software. In other words, it's not recommended to test WWClient from a remote machine if AVEVA is on the same machine as TOP Server or OmniServer and vice versa.
If WWClient works as expected, that confirms there is a configuration issue in the AVEVA software you're attempting to connect and you'll want to confirm InTouch, System Platform, etc is using the same settings that work in WWClient.
Troubleshooting Steps for SuiteLink Issues
The following are the progressive steps our support team will go through in troubleshooting issues related to SuiteLink connections:
- The first step we generally recommend is to actually confirm the issue is SuiteLink specific by connecting with one of the OPC test clients we mentioned earlier. This rules out device or server-specific issues if the OPC test client can successfully communicate. Both TOP Server and OmniServer have test clients that can be launched from the server toolbars and automatically connect to configured topics and tags, making it fast and easy to confirm that your server is configured correctly. If the OPC test clients work, that points to a SuiteLink specific issue.
- Verify that the Wonderware SuiteLink service is running and present. This can be easily done with a command prompt on the machine where the server is running. Command:
sc queryex slssvc
Example – SuiteLink Service Installed and Running
Example - SuiteLink Service not Installed on Machine - Once confirmed as running, use slsping on the server machine to validate that the server (TOP Server, OmniServer, etc.) is registered with the SuiteLink service. We strongly recommend that the parameters you pass to slsping match what is configured in the SuiteLink client completely. What this means is that if InTouch is using the hostname as the node, use the hostname and not the IP Address when you use slsping. And if InTouch uses all caps, use all caps in slsping.
- Once confirmed that the server is registered, run the slsping command again, except from wherever the SuiteLink client is running instead. This validates that the machine is reachable and the SuiteLink server is accessible. (NOTE: If the SuiteLink client and server are on the same machine, then you can skip this step).
- Use WWClient (as detailed previously) to validate the connection can be established, and that an item can be read.
- For TOP Server connections, we suggest using System as the Topic with the _time_second tag since this is one that updates at a set rate.
- For OmniServer connections, make sure to select an item that regularly changes for the best test.
- If the SuiteLink client is still having issues, then the Server Event Log (TOP Server or OmniServer) and Wonderware SMC log would need to be checked, and you should contact our Technical Support team.
We hope this blog post has been helpful in showing just how easy it can be to troubleshoot and resolve SuiteLink Connectivity Issues. Please feel free to contact our support team with any questions, and don’t forget to subscribe to our blog to find out about the latest updates to TOP Server, OmniServer and other Software Toolbox solutions.