Technical FAQs

Ask a Question

Real time data fails on ION Enterprise or PME Vista Client on remote machines but succeeds on server

Issue
On an ION Enterprise 5.6 or later system, Vista on client machines does not get any real-time data in diagrams - instead it displays yellow or orange boxes around the empty numeric objects. Opening the same diagram in Vista on the ION Enterprise server displays real-time data without problems.

Symptoms

  • Data fields in Vista on an ION Enterprise client are highlighted yellow or orange. The tool tips over the fields read "Real Time Data Service is not responding." or "ION Real Time Data Service did not respond on time."
  • Data appears correctly in Vista on the ION Enterprise server.
  • Data appears correctly in WebReach on the ION Enterprise client.
  • Historical data is returned in Vista on the ION Enterprise client.
  • Error Message: "Cannot contact the real time service"
Product Lines
ION Enterprise
Power Monitoring Expert

Environment
Remote Client
 

General Cause
As of ION Enterprise 5.6, real-time data in Vista comes from the ION Real Time Data service. Communication between Vista and the ION Real Time Data service is handled through .NET Remoting instead of DCOM. When a Vista diagram is opened on an ION Enterprise client, a .NET Remoting Channel is established so that the ION Real Time Data service on the ION Enterprise server can provide the real-time data to Vista on the client.

*Warning: Take backups of any files prior to modifying them. Ensure the backups are in a location that will not be overwritten (i.e. the Desktop).
*Warning: This article contains information about editing the registry. Improper changes to the registry can permanently damage the operating system. Always backup the registry before making any changes.*


Potential Cause 1

The callback channel for real-time data refers to both machines by their computer names. The ION Enterprise server and client must be able resolve each other computer name to a routable IP address. If either machine is unable to do this, no real-time data will appear in Vista on the client.

Depending on network configuration, .NET may try to use either the short (e.g. myserver) or full (e.g. myserver.canada.corp.powermeasurement.com) computer name.

In a networking environment, the exact reasons why two computers would not be able to communicate using their names are varied. Consultation with the customer's IT department may be necessary to determine the root of this issue.

Resolution 1

Add entries to the "hosts" file on each computer to allow them to successfully connect using their computer names.

  1. On the ION Enterprise server, find its fully-qualified computer name.
    1. Right click on "My Computer" and select "Properties"
    2. Go to the "Computer Name" tab
    3. Note the value in the "Full computer name" field
  2. On the ION Enterprise client, check if the server can be pinged by both its short and full name.
    1. Open a DOS prompt (Start Menu > Run, type "cmd" in the Run window)
    2. Type "ping [short computer name]" (e.g. "ping myserver") without the double quotes. Hit enter.
    3. Type "ping [full computer name]" (e.g. "ping myserver.canada.corp.powermeasurement.com") without the double quotes. Hit enter.
    4. If for either case, no replies are received, proceed to step 3. If the client can successfully ping the server, skip to step 4.
  3. On the ION Enterprise client, add an entry to the hosts file.
    1. Navigate to C:\Windows\System32\Drivers\Etc
    2. Open the file "hosts" in a text editor such as Notepad
    3.  At the end of the file, add the IP address of the ION Enterprise server and the short name of the server from step 1.
    4. Add the IP address of the ION Enterprise server and the full name of the server from step 1.
    5. Add a period (.) immediately after the full name of the server. The contents of the file should be similar to the example below.
                               127.0.0.1 localhost
                               192.168.0.100 myserver
                               192.168.0.100 myserver.canada.corp.powermeasurement.com.​
  1. Save and close the file.
  2. Repeat step 2. Replies from the server should now be received. If Vista on the client now displays real-time data, the workaround is complete. If Vista on the client still doesn't show real-time data, then proceed to step 4. 
  • NOTE: having both the short and full computer name in the hosts file should not cause any problems, and ensure that .NET Remoting can resolve either to an IP address.
  1. On the ION Enterprise client, find its fully-qualified computer name.
    1. Right click on "My Computer" and select "Properties"
    2. Go to the "Computer Name" tab
    3. Note the value in the "Full computer name" field
  2. On the ION Enterprise server, check if the client can be pinged by both its short and full name.
    1. Open a DOS prompt (Start Menu > Run, type "cmd" in the Run window)
    2. Type "ping [short computer name]" (e.g. "ping myclient") without the double quotes. Hit enter.
    3. Type "ping [full computer name]" (e.g. "ping myclient.canada.corp.powermeasurement.com") without the double quotes. Hit enter.
    4. If for either case, no replies are received, proceed to step 6. If the client can successfully ping the server, skip to Workaround 2.
  3. On the ION Enterprise server, add an entry to the hosts file.
    1. Navigate to C:\Windows\System32\Drivers\Etc
    2. Open the file "hosts" in a text editor such as Notepad
    3. At the end of the file, add the IP address of the ION Enterprise client and the full name of the client from step 4.
    4. Add a period (.) immediately after the full name of the client. The contents of the file should be similar to the example below:
                               127.0.0.1 localhost
                               192.168.0.101 myclient
                               192.168.0.101 myclient.canada.corp.powermeasurement.com.​
  1. Save and close the file.
  2. Repeat step 5. Replies from the client should now be received. If Vista on the client now displays real-time data, the workaround is complete. If Vista on the client still doesn't show real-time data, proceed to Workaround 2.
  • NOTE: having both the short and full computer name in the hosts file should not cause any problems, and ensure that .NET Remoting can resolve either to an IP address.


Potential Cause 2
When Vista is started on a client machine, a brand-new callback channel is established between the ION Real-Time Data Service on the server and the client. This channel is created with dynamic TCP ports on the client and server side; i.e. it is not established on a fixed port - every connection is on a different, dynamic port. This kind of dynamic connection may be blocked by any firewalls between the client and server, and/or anti-virus software, as well as other as-yet unidentified factors that block this kind of dynamic port usage.

If a dynamic connection such as this cannot be created between the client and server, real-time data will not show up in Vista.

Resolution 2
The ION Real-Time Data Service can be configured to use HTTP protocol instead of TCP for this callback channel. Using HTTP has a better chance of working in an environment where dynamic port usage is blocked - it uses a fixed port (80) that is usually left open by default on most firewalls. One drawback of using HTTP is that it is typically slower than TCP.

  1. Shut down all ION Enterprise applications on the client machines.
  2. On the server where the ION Enterprise databases reside, modify the ION_Network database.
    • In the Registry table, in the row with name "Remoting.IONServices.Protocol", change the Value to "Http".
  3. On all ION Enterprise client machines, enter the following key and value into the Windows Registry:
    • under the HKLM\SOFTWARE\Schneider Electric\ION Enterprise\5.6 key, create a new key with name "IONServices"
    • under the HKLM\SOFTWARE\Schneider Electric\ION Enterprise\5.6\IONServices key, create a new String value with name "CallbackChannelProtocol"
    • enter a value of "Http" for it
  4. Restart the ION Real Time Data Service on the primary server.
This must be done on the client machines (doing it on the server is optional, since it will not have any trouble making a TCP connection to itself). Now programs like Vista and Designer on the client machine will be getting real-time updates from the server properly.


More Information
Starting in ION Enterprise 5.6, real-time data between the server and client machines is exchanged via the ION Real-Time Data Service (aka IONServices).

IONServices uses a brand-new architecture to consolidate requests for real-time data from the meters. IONServices is based on a client-server architecture, in which IONServices serves up the real-time data to IONServices clients like Vista, Designer, the VIP, and WebReach.

Instead of using Distributed COM (DCOM) to serve up real-time data like pre-5.6 ION-E, IONServices uses .NET Remoting, a component of the Microsoft .NET framework. .NET Remoting is a communications layer built on top of Windows TCP/IP. It has some specific network configuration requirements for it to work properly (see Cause 1 above.) Additionally, the way .NET Remoting is put to use by IONServices may not work in certain network environments (see Cause 2 above).
Was this helpful?
What can we do to improve the information ?