Configuring service layer components

You must configure Power Operation to use the service layer components. For calls to be forwarded properly from service-to-service, configure the Web Application, PsoWebService, and Platform Server components as described below.

Configuring the web application

If you want to change the machine name or port, you must configure the web application to know how to reach PsoWebService. The web application consists of two separate IIS services: PsoDataService and WebHmi.

It is not recommended to edit web.config files. Incorrectly modifiying these files can lead to loss of functionality for the WebHmi.

notice

UNINTENDED DATA LOSS OR LOSS OF SOFTWARE FUNCTION

Only overwrite files and folders you are certain are from Power Operation with Advanced Reporting and Dashboards.
Back-up important files from other software before overwriting Power Operation with Advanced Reporting and Dashboards.

Failure to follow these instructions can result in irreversible damage to software and databases.

To edit the web application configuration:

  1. Navigate to the respective web.config files:
    C:\Program Files (x86)\Schneider Electric\Power Operation\v2024\Applications\Web\SystemDataService\Web.config
    and:
    C:\Program Files (x86)\Schneider Electric\Power Operation\v2024\Applications\Web\WebHMI\Web.config
  2. In the appSettings section of each web.config file, find the line:
    <add key=”PsoWebService” value=”localhost:23200”/>
    This value is the address at which the web application can contact PsoWebService, in the form
    IPAddress:Port.
  3. Configure the IP address with the same machine name as the one used to generate the SSL certificates.

Configuring PsoWebService

You must configure PsoWebService to know its own address.

To edit the PsoWebService configuration:

  1. Navigate to the appsettings.json file:
    C:\Program Files (x86)\Schneider Electric\Power Operation\v2024\Applications\Services\Pso Webservice
  2. Configure the Endpoint, ConnectionTimeoutSeconds, and Host sections as follows:
  • Endpoint: Use the same machine name and port configured in the web.config file previous.
  • ConnectionTimeoutSeconds: PsoWebService constantly receives calls from each connected PlatformServer. Set the number of seconds after which PsoWebService will consider a Platform Server to be disconnected. If a Platform Server doesn’t call PsoWebService within that time frame, it is marked Disconnected.
  • Host: Use the same machine name as Endpoint. The port numbers should not change unless there is a port conflict.

    NOTE: If there is a port conflict, PsoWebService will not start, and will log a message stating the application has been terminated. To resolve the issue, reconfigure PsoWebService to use a different port.

Configuring PlatformServer

Because the PlatformServer communicates with Citect to read data by default, you do not need to configure it.

To edit the PlatformServer configuration:

  1. SimulationMode: false.

    NOTE: Do set to anything other than false in a production environment.

  2. Identity / Endpoint: Set to the IPAddress:Port of the machine where the PlatformServer is running.
  3. Responsibilities: "RealtimeData", "AlarmData", "DocumentData", "EquipmentData", "AuthenticationData", and "WaveformData". Details what types of calls from PsoWebService this PlatformServer can handle. When you configure a responsibility, it advertises this information to its PsoWebService(s) by a ping call that PlatformServer makes up to PsoWebService. This information is recorded by PsoWebService so that it knows if it can route particular kinds of calls to the PlatformServer.

    NOTE: There are currently six types of responsibilities, and their RequestType values must be spelled exactly as they appear in step 3 (case-sensitive). Each responsibility also has a Priority value, where 1 is the lowest priority, and a lower value indicates a higher priority. For example, if you have three PlatformServer instances on three separate machines, you could configure one to be “Priority”: 1, another 2, and the other 3. When a call comes in for that type of request to PsoWebService, if it sees multiple PlatformServer instances that service that type of request, it will send the request to the PlatformServer that has the lowest numerical value for “Priority”.

  4. PingInterval: A number in units of seconds that indicates how much time passes between ping calls to the PsoWebServices.
  5. WebServices: A json array of IPAddress:Port addresses of PsoWebService instances to which the PlatformServer should ping or connect. These should match the Endpoint values in their corresponding PsoWebService appsettings.json files.
  6. Host: Configure with the same machine name used under Endpoint. The port numbers should not change unless there is a port conflict.