Skip to main content

InSource KnowledgeCenter

TN IT269 Consuming and Synchronizing Alarms between Remote Desktop Sessions

Description

 

This article from InSource shows how Remote Desktop (Terminal Services) sessions can synchronize their alarms when using Wonderware InTouch HMI.

  • Author: Dillon Perera
  • Published: 06/22/2017
  • Applies to: Wonderware InTouch HMI 2014 R2

Details

When using Remote Desktop Services (RDS) with InTouch each session works independently of one another.  This can be inefficient if you have multiple sessions for the same area of a plant, as you would need to acknowledge the alarms from each session.

To resolve this, we set a copy of InTouch HMI to run on the console session of the terminal server, and use this as a central repository for all alarms.  From the individual client sessions, we then point to the centralized copy (console session) so that each session sees the same copy of alarms.

 

Method 1 - When all sessions run the same InTouch Application

  1. Open WindowMaker to edit your InTouch application.
  2. Find the Window where your alarms are displayed.
  3. Open the properties for the Alarm Control that is displayed.
  4. Edit the alarm query.  
    The Alarm Queries take the form \Provider!AlarmGroup.  There is also an optional source component allowing you to specify the Name or IP Address of a remote computer.  In this case it would be \\RemotePC\Provider!AlarmGroup.
    1. For this application, you'll want to preface the existing application's Alarm Query with "\\TerminalServerName:".  The ":" tells InTouch to connect to the console session.
      1. ex: \\TSServer1:\InTouch!$System
  5. Run a copy of the InTouch application on the console session of the RDS server.  To do this start InTouch WindowViewer directly on the server.  This will now collect alarms.
  6. Run WindowViewer on the clients, which will now read alarms out of the console session.

 

Method 2 - When different InTouch applications are run on same server

When running different applications the same theory behind Method 1 applies, but the application running on the Console must have all of the alarms/tags for all applications.

To accomplish this, you would need to create a single master application which contains all tags from all applications.  To prevent applications from seeing alarms from other applications, you can create individual Alarm Groups, and assign tags from each application to one group. Once this is completed, you would follow the same steps as in Method 1.