Proficy Adaptor Features

The Proficy Adaptor connects to the the GE® Proficy® Historian version 4.5 or 5.5. It provides the ability to read and write time series tag data to and from the historian. Note that the adaptor requires as a prerequisite, the Proficy Historian Client Tools that match the version of the historian installed.

Proficy 2022 Adaptor

The Proficy 2022 Adaptor is a separate adaptor to specifically support the GE Proficy 2022 Historian.


Proficy Adaptor Settings

The following table lists the adaptor's parameters, along with the name and type to be used in the Import/Export spreadsheet.

Parameter Description and example Name Type
Server Fully qualified name of the server machine on which the historian is hosted. SERVER String
User ID User ID to use to connect to the historian. USER_ID String
Password Password for the User ID used to connect to the historian. PASSWORD EncryptedString
Allow Write Whether this datasource should allow P2 Server client applications to write data to tags on the historian. Options: True, False. AllowWrite Boolean
Use Proficy reliable session Whether to enable reliable sessions. Options: True, False. ReliableSessionEnabled Boolean
Server certificate validation mode The method of validating the security certificate on the historian server. Use ‘Chain Trust’ to denote that a certificate is considered valid if the chain builds to a certification authority in the trusted root store. Use ‘None’ to connect to a historian server secured by a self-signed certificate. Default: None. ServerCertificateValidationMode String

Installation

Both Proficy Adaptors are included in the Explorer installer.


Targeting Proficy Client Tools v6.0

To successfully change the configuration to Proficy 6.0.

Check the Prerequisites

1. Ensure that the Proficy Client is properly installed:

  1. Check Add/Remove Programs.

  2. Check the start menu.

  3. Check the file system.

  4. Check the global assembly cache.

2. Check connectivity with the GE Proficy Historian Administrator.

Configure the Redirects

3. For each of the following files, add the following XML.

Note: If the file does not exist, create it. If the file already exists, such as for pre-existing binding redirects, make sure that the <dependentAssembly> element and children shown below are inserted in the correct place for the XML structure.

Files:

  • <installpath>\Data Broker\P2.Server.AdaptorHosting.Console.exe.config
  • <installpath>\Data Broker\P2.Server.AdaptorHosting.Console.32bit.exe.config
  • <installpath>\Data Broker\P2.Server.DataBroker.Service.exe.config
  • <installpath>\Data Broker\P2.Server.TagDiscovery.Console.exe.config
  • <installpath>\Data Broker\P2.Server.TagDiscovery.Console.32bit.exe.config

Note: The default install path is C:\Program Files\P2 Energy Solutions\P2 Server

Add the following XML:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="Proficy.Historian.ClientAccess.API" publicKeyToken="651cf43ad2e50609" culture="neutral"/>
            <bindingRedirect oldVersion="1.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

Troubleshooting

You may encounter the following problems:

Problem: Assembly load error

Description: The following Assembly load error appears during tag name fetch:

C:\Windows\Microsoft.NET\Framework\v4.0.30319>RegAsm.exe "E:\Program Files (x86)
\ISS\BabelFish\Data Acquisition\Adaptors\ProficyAdaptor\P2.Server.ProficyAdaptor.dll"
Microsoft .NET Framework Assembly Registration Utility version 4.0.30319.34209 for Microsoft .NET Framework version 4.0.30319.34209
RegAsm : error RA0000 : Could not load file or assembly 'Proficy.Historian.ClientAccess.API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=651cf43ad2e50609' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Resolution: Check the redirect is correctly configured (steps 3 and 4).

 

Problem: Security error

Description: The following Security error appears during tag name fetch:

Unexpected exception occurred while getting entities.
Exception: System.ServiceModel.Security.MessageSecurityException:
An unsecured or incorrectly secured fault was received from the other party.
See the inner FaultException for the fault code and detail. ---> System.ServiceModel.FaultException: Access denied
   --- End of inner exception stack trace ---
Server stack trace:
   at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
   at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
   at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
   at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
   at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
   at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Proficy.Historian.ClientAccess.API.Internal.IHistorian.Connect()
   at Proficy.Historian.ClientAccess.API.ServerConnection.Connect()
   at P2.Server.ProficyAdaptor.ConnectionManager.get_Connection()
   at P2.Server.ProficyAdaptor.GetAvailableEntitiesHandler.FetchTagsWithPaging(String filter, Int32 startIndex, Int32 maxEntities)
   at P2.Server.ProficyAdaptor.GetAvailableEntitiesHandler.GetEntities(String filter, Int32 startIndex, Int32 maxEntities)
   at P2.Server.ProficyAdaptor.ProficyAdaptor.OnGetAvailableEntities(String filter, Int32 startIndex, Int32 maxEntities)

Resolution: Check that the Server_Certificate_Validation_Mode datasource property is correctly configured for Proficy v6.0.


Release History

  • Explorer 4.11.0
    • Added the GE Proficy 2022 Adaptor to support Proficy 2022
  • Explorer 4.3.0
    • First release of the Proficy Adaptor

 

Comments are closed