Known Servers Table

The PI-SDK stores connection information about particular servers on each system where it is installed. During installation an initial server is defined. Subsequently, servers may be added, removed, and have their information modified in the local storage on the system. This information is collectively referred to as the Known Servers Table (KST) and is described in detail in the Programming Reference.

Systems which already have the PI-API installed will typically have servers defined in the pilogin.ini file (PIHOME\dat\pilogin.ini) These servers are imported into the Known Servers Table during installation. The pilogin.ini file, useful to legacy PI-API applications, is synchronized with the KST when accessed programmatically through the pilog32.dll (a PI-API programming library).

The Known Servers table allows an application to present to an end user a list of identified PI servers. Each server's connection details (such as network path, port, default user name, and server type) are stored once and programs can easily connect using the PI-SDK 's default behavior, providing only overriding information. With version 1.3.6 of the PI-SDK, servers can be added automatically to the KST when addressed in code (Servers.Item). With this feature, the KST can grow dynamically as displays and spreadsheets are opened that reference servers not currently in the KST.

The data for the Known Servers Table is currently stored in the Windows Registry but is managed through PI-SDK calls.  Direct registry access should be avoided as this implementation can change at any time but the PI-SDK interfaces will continue to be supported.  Programs can use the PI Connection Manager dialog, providing the user tools for managing the KST or build custom forms to manage this data using PI-SDK calls. The Connection Manager dialog is exposed in the PISDKUtility application delivered with the PI-SDK and in other PI Client applications that use the PI-SDK. 

As an additional convenience, the PISDKUtility has an import and export menu item to and from a KST.ini file. The listing may be created by the server administrator and shared with users as a manual mechanism to synchronize the known servers table.

Through the use of Windows Policies on a Domain server, it is possible to create a master Known Servers Table that is propagated to the registry on various workstations as they log in. See Microsoft documentation on Poledit for details. This method is flexible and powerful but requires access to a domain controller. Another approach is to export the registry under HKEY_LOCAL_MACHINE\SOFTWARE\PISystem\PI-SDK from a computer where the desired Known Servers Table has been installed using the SDK setup and the Connection manager. The resulting .reg file can then be executed on target machines. These procedures should be considered temporary as the Known Servers Table may not continue to be stored in the registry in future versions though the PI-SDK will continue to support the same programmatic access.


It is possible to define multiple servers during installation using a configuration file.  See the PI-SDK Installation section for details.

Enabling Operational Intelligence