Welcome
Search…
Batch & RtReports synchronization user and administration guide
Batch & RtReports synchronization user and administration guide

Introduction

Purpose

This document serves as the user and administration guide for the Batch & RtReports synchronization utility (BSU) which was designed and developed by TQS Integration Ltd.

Intended Audience

This manual is aimed at system engineers who will be performing migration of PI Batches, UnitBatches, Assets and/or RtReports, using this utility from TQS Integration.

Scope

This manual describes the concepts of the Batch & RtReports Synchronization Utility (BSU). The information within this manual should be enough to provide a system engineer with the knowledge needed to successfully install, configure, and perform necessary actions. The following topics will be covered in upcoming sections:
  • Installation: This chapter contains information about the default installation including default components and their configuration.
  • Configuration: This chapter describes configuration options for BSU utility. This chapter will outline all possible use scenarios and all possible parameters users can specify in the configuration XML file.
  • Operations and Troubleshooting: This chapter explains how the utility operates.

Definitions, Acronyms and Abbreviations

Term
Definition/Description
BSU
Batch & RtReports synchronization utility.
IP Address
Internet Protocol address.
OSIsoft
PI Server and PI SDK software vendor.
PI
Plant Information (Data Archive system).
PI Alias
PI Module attribute which is a reference to PI Point.
PI BDB
PI Batch Database. Contains hierarchy of PI Batch objects.
PI Batch
OSIsoft nomenclature for objects representing S88 Procedure level object.
PI MDB
PI Module Database. Contains hierarchy of PI Module objects.
PI Module
OSIsoft nomenclature for logical or physical assets.
PI Point
Data stream container. Contains time-series data.
PI Property
Named Value pair.
PI SDK
OSisoft software development kit for communications with PI Server.
PI Server/System
Real-time data and events management infrastructure.
PI SubBatch
OSIsoft nomenclature for object representing S88 Operation and Phase+ levels object.
PI Unit
OSIsoft nomenclature for physical piece of equipment.
PI UnitBatch
OSIsoft nomenclature for objects representing S88 Unit Procedure level object.
RtReports
OSIsoft reporting application used with the PI System for generating electronic and printed reports.
XML
Extensible Markup Language. XML was designed to store and transport data.

Installation

The Batch & RtReports Synchronization Utility application comes as a TQS Windows Installer. The installer contains all components necessary to configure and run the BSU application. This chapter will examine installation components, basic requirements, and the folder/file structure created by the installer.

Prerequisites

It is required that the following components must be installed before installing BSU:
  1. 1.
    PI SDK version 1.4.6.494 or later.
  2. 2.
    Visual C++ redistributables 2015.

Security

The Batch & RtReports Synchronization Utility is designed to interact with both source and destination PI Servers and therefore inherits all of its security settings.

Access Configuration

PI Access must be established through a Trust mapping for BSU node as per PI Server Administration Guidelines on both source and destination PI Servers.

Installation Directory

The Utility will be installed to the following default directory if not otherwise defined by the user at installation time:
<root>:\Program Files (x86)\PIPC\BSU

Installing BSU From TQS

The Batch & RtReports Synchronization Utility is packaged as a TQS installer. In Order to start installation – double click on the provided *.TQS installation file.

Setup Splash Screen

When the installer is initiated the following splash screen should appear. Click the “Next >” button to proceed to next screen.
SetupScreen

Installation Folder Screen

On this screen user can choose installation folder for the BSU application and supporting files. By clicking on “Browse” button, the folder selection dialog will be open. Proceed to next installation step by clicking the “Next >” button.
Setup_InstallFolderScreen
Installation Folder Dialog
Setup_FolderSelect

Ready To Install Screen

This is informational screen. Click the ‘Install’ button to start the installation process.
Setup_ReadyToInstall
Installation Progress Screen
An informational Screen shows the progress of installation. No user action is required during this process. This screen will continue to the Installation Completed screen once successfully installed.
Setup_InstallationProgress

Successful Installation Screen

On successful Install the user should be able to see the following screen. Click button “Finish” to exit the installer.
Setup_Completed

How to Cancel the Installation Process

On any screen, at any time, the user has an option to interrupt the installation process. Installation process can be terminated by clicking the “Cancel” button. The Cancellation confirmation dialog will appear.
CancelPopup
By clicking the “Yes” button, the user confirms the intent to terminate installation. On successful termination of installation, the following screen should appear:
Setup_Cancelled
Click button “Finish” to exit installation program.

Configuration

Input XML File and BAT File Setup

The BSU migration utility can be setup to use a .bat file to allow automation of this task or to allow for easier use when running manually.
The ‘input.xml’ file can be placed anywhere on the system however it is recommended that it be kept in the install directory of the Batch Sync Utility. To create this simply copy one of the input files from the ‘Examples’ folder and paste it into the install directory. The name of the input file does not matter except for when it is referenced in the .bat file.
The .bat file can also be run from anywhere on the system however it is recommended that this be kept in the install directory also. The contents of the .bat file is simply a one-line statement to start the Utility and should be similar to the following:
With these files added to the installation directory, it should now contain the following.
Once these steps have been completed the user can run the Utility manually by simply running the run.bat file that has been created. This .bat file can then in turn be linked to a scheduled task to automate the utility.

Automating the BAT File with a Scheduled Task

  1. 1.
    Open Task Scheduler by clicking the Start button
    , clicking Control Panel, clicking System and Security, clicking Administrative Tools, and then double-clicking Task Scheduler.‌
If you're prompted for an administrator password or confirmation, type the password or provide confirmation.
  1. 1.
    Click the Action menu, and then click Create Basic Task.
  2. 2.
    Type a name for the task and an optional description, and then click ‘Next’.
  3. 3.
    Do one of the following:
    • To select a schedule based on the calendar, click Daily, Weekly, Monthly, or one time, click ‘Next’; specify the schedule you want to use, and then click Next.
    • To select a schedule based on common recurring events, click ‘When the computer starts’ or ‘When I log on’, and then click ‘Next’.
    • To select a schedule based on specific events, click ‘When a specific event is logged’, click ‘Next’; specify the event log and other information using the drop-down lists, and then click ‘Next’.
  4. 4.
    To schedule a program to start automatically, click Start a program, and then click ‘Next’.
  5. 5.
    Click Browse to find the program you want to start, which in this case will be the .bat file located in the installation directory of the Batch Sync Utility and then click ‘Next’.
  6. 6.
    Click Finish.

Input XML File Configuration

The BSU migration utility uses an XML file as a source for its configuration. The XML file consists of several sections which are described below.
<Input>
<Parameters> …</Parameters>
<Source> … </Source>
<Destination> … </Destination>
</Input>
Examples of XML configuration files are provided in Appendix A of this document.

Parameters Section

This section contains the BSU processing parameters.
Usage Example: <Parameters> …. </Parameters>
Name
Description
Valid values
Default value
Id
(optional)
Parameter represents the ID of application instance
Example:
<Id>1</Id>
any number
0
Mode
Parameter represents data processing mode.
Example:
<Mode>WRITE</Mode>
WRITE - writes data from source to destination
DELETE - reads data from source and deletes corresponding data in destination
Debug
(optional)
Parameter represents debug messages level.
Example:
<Debug>0</Debug>
0 - Critical
1 - Medium
2 – Debug/information
0
SyncBatchData
(optional)
Parameter enables/disables synchronization of PI Batch data (all levels). Synchronization includes PI Batch PI Properties.
Example:
<SyncBatchData>true</SyncBatchData>
true/false
false
SyncUnitBatchData
(optional)
Parameter enables/disables synchronization of PI Unitbatch data (all levels)
Example:
<SyncUnitBatchData>true</SyncUnitBatchData>
true/false
false
SyncAssetData
(optional)
Parameter enables/disables synchronization of asset model data. Synchronization includes PI Module properties such as Name, Description, PI Properties, PI Aliases and PI Module children.
Example:
<SyncAssetData>true</SyncAssetData>
true/false
false
SyncRTReports
(optional)
Parameter enables/disables synchronization of RtReports configuration data. Synchronization is performed on the following databases: DataTemplateDS, FormatTemplateDS, PreDefinedActionDS, FormatStyleSheetDS and Template Reviews.
Example:
<SyncRTReports>true</SyncRTReports>
true/false
false
RecoveryStart
(optional)
Parameter represents start time of batch processing.
Example:
<RecoveryStart>*-1mo</RecoveryStart>
Any PI supported time stamp format, i.e.*-18mo, 10-Oct-2014, 10-Oct-2014 12:00:00, t-10d, etc.
Current time
RecoveryEnd
(optional)
Parameter represents end time of batch processing.
Example:
<RecoveryEnd>*-1d</RecoveryEnd>
Any PI supported time stamp format i.e. *-18mo, 10-Oct-2014, 10-Oct-2014 12:00:00, t-10d, etc.
Current time
MaxQueryTimeFrame
(optional)
Parameter specifies query time interval in days. If overall recovery time interval is greater than query time interval, than several queries will be performed to cover recovery time interval.
Example:
<MaxQueryTimeFrame>150</MaxQueryTimeFrame>
Any number of days
30
LogDirectory
(optional)
Parameter specifies directory path where execution logs are going to be stored. If not specified, BSU will write to pipc.log
Example:
<LogDirectory>D:\ BatchSync\TEST\Logs</LogDirectory>
Any valid path to file
NOTE: directory must exist
none
Locale
(optional)
Parameter defines Numerical Settings
Example:
<Locale>C</Locale>
Locale abbreviation string
“С” (us - English)
AbandonTO
(optional)
Parameter represents max time in days since last known batch timestamp before utility forcibly closes batch.
Example:
<AbandonTO>10</AbandonTO>
Any number of days
30
MaxStopTime
(optional)
Parameter specifies time in seconds service waits for the main thread to reach a safe exit point before the exit handler continues with its cleanup operations.
Example:
<MaxStopTime>120</MaxStopTime>
Any valid integer value representing seconds
120

Source/Destination Section

This section contains the settings for batch data source and destination storage locations (PI or XML file).
Usage example: <Source>
… parameters…
</Source>
<Destination>
….parameters …
</Destination>
Common Settings
Name
Description
Valid values
Default value
Type
Parameter represents the type of batch data source.
Example:
<Type>PI</ Type>
“PI” – PI Server
“XML” – xml file
none
Directory
Parameter specifies path to the directory where xml data source files are stored or will be stored in case if it is destination configuration.
Note: Applicable to XML data source type only
Note 2: Required for Xml as source or destination
<Directory>X:\ TEST\Output</Directory>
Any valid path
Note: directory must exist
none
Server
Parameter specifies PI server name or IP address. Required for PI Server as source or destination.
Example:
<Server>PI-Int-test</Server>
Any valid server name string or IP address
none
ConnectionTO (optional)
Parameter specifies PI server data access (query) timeout in seconds. PI-SDK default connection timeout is used if this parameter is not set.
Example:
<ConnectionTO>45</ConnectionTO>
Any integer number representing seconds.
PI-SDK connection timeout
DataAcessTO (optional)
Parameter specifies PI server data access timeout in seconds.
Example:
<DataAccessTO>45</DataAccessTO>
Any integer number representing seconds.
PI-SDK data access timeout
Destination PI Server Settings
The following table provides settings which are available when PI Server is selected as destination:
Name
Description
Valid values
Default value
StartModulePath
(optional)
Parameter represents destination PI server PI MDB root path. By specifying this parameter, user can copy source PI MDB structure into substructure in destination PI MDB, where StartModulePath defines the root path where to store source PI MDB data.
Example:
<StartModulePath>Country\Region
</StartModulePath>
Any valid path string
none
AliasServerMap
(optional)
During Asset PI Alias synchronization - this parameter allows to remap each PI Alias’s source PI Server to any other PI server defined by this parameter.
Note: Remapping occurs only if source PI server name is found in this parameter.
Example:
<AliasServerMap>
<Server Source="TqSsrv1" Destination="Demo" />
</AliasServerMap>
Xml node with 2 attributes:
<Server Source=”{name of source PI server}” Destination=”{name of destination PI Server}” />
none
RTReportServerMap
(optional)
During RtReports synchronization - this parameter allows to remap each RT Report source PI Server reference to any other PI server defined by this parameter.
Note, remapping occurs only if source PI server name is found in this parameter.
Example:
< RTReportServerMap>
<Server Source="TqSsrv1" Destination="Demo" />
</ RTReportServerMap>
Xml node with 2 attributes:
<Server Source=”{name of source PI server}” Destination=”{name of destination PI Server}” />
none
RTReportPrefix
(optional)
Parameter allows to prefix RT Report names with specified prefix.
Example:
<RTReportPrefix>RTA_</RTReportPrefix>
any valid string
none
ResolveConflicts
(optional)
Parameter enables/disables conflict resolution due to differences between source and destination RtReports configurations.
Example:
<ResolveConflicts>true</ResolveConflicts>
true/false
False

Operations and Troubleshooting

This chapter will cover common issues, error messages, and steps for troubleshooting problems related to the BSU operation.

PI Batch/UnitBatch Synchronization:

PI Batch Synchronization

To run the BSU in PI Batch Synchronization only mode, the following parameters must be set in the XML configuration file:
<SyncBatchData>true</SyncBatchData>
<SyncUnitBatchData>false</SyncUnitBatchData>
<SyncAssetData>false</SyncAssetData>
During synchronization in Batch only mode, the following objects are copied from source server to the destination server: all PI Batches, child PI UnitBatches, child PI SubBatches, PI Batch properties and all related PI MDB modules will be copied from the source PI Server to the destination PI Sever.
Note: PI UnitBatches that do not have parent PI Batches will not be copied.

PI UnitBatch Synchronization

To run the BSU in PI UnitBatch Synchronization only mode, the following parameters must be set in the XML configuration file:
<SyncBatchData>false</SyncBatchData>
<SyncUnitBatchData>true</SyncUnitBatchData>
<SyncAssetData>false</SyncAssetData>
During synchronization in PI UnitBatch only mode, the following objects are copied from the source server to the destination server: All PI UnitBatches, which do not have parent PI Batches, child PI SubBatches, and all related PI MDB modules.
Note: Any UnitBatches that do have parent PI Batches will not be copied.

PI MDB PI Modules Synchronization

The BSU configuration utility synchronizes all PI Modules from the source, except the %OSI Module tree. To run the BSU in PI MDB Modules Synchronization only mode, the following parameters must be set in the XML configuration file:
<SyncBatchData>false</SyncBatchData>
<SyncUnitBatchData>false</SyncUnitBatchData>
<SyncAssetData>true</SyncAssetData>

Backfilling

To backfill data with a query start time less than the start time of the destination PI Server’s primary archive, archive reprocessing is required if the PI Server version is lower than 3.4.390.16.
Batch migration in this case must be performed in 3 steps:
  1. 1.
    Run BSU in PI MDB module synchronization only:
<SyncBatchData>false</SyncBatchData>
<SyncUnitBatchData>false</SyncUnitBatchData>
<SyncAssetData>true</SyncAssetData>
All related PI Modules with PIUnit flag set to true will be created and reflected in Primary archive
  1. 1.
    Reprocess required non-primary archives to reflect information about created PI Modules (as PI Unit). Note, as soon as a PI Module is marked as a PI Unit, a PI specific PI Point is created for such Unit. If reprocessing is not done, non-primary archives do not have information about created tags, thus backfilling to these archives is impossible.
  2. 2.
    Run BSU in PI Batch/PI UnitBatch synchronization mode.

PI RtReports Synchronization:

To run the BSU in RtReports Synchronization only mode, the following parameters must be set in the XML configuration file:
<SyncRTReports>true</SyncRTReports>
During RtReports configuration synchronization the following PI MDB Modules are copied from the source PI Server to the destination PI Server:
DataTemplateDatabase,
FormatTemplateDatabase,
PIUnitClasses,
PreDefinedActionsDatabase,
StyleSheetsTemplateDatabase
If a module with the same name already exists on the destination server, parameter <ResolveConflicts> is taken into consideration. When this parameter is set to true, the destination module gets overwritten, otherwise the module processing is skipped.

Clear RtReports Builder Cache

In order to see changes in RtReports builder after the migration, the internal RtReports builder cache has to be cleared. To clear cache, rename folder C:\Program Files (x86)\PIPC\RtReports\CACHE to CACHE_, and then rename it back to CACHE.

Multiple Version Support

The BSU interface supports multiple report template versions synchronization. Each report template version is associated with specific time frame for which it is valid. The interface process report templates versions regardless of its status. The approved and released versions of a report template on the source cannot be altered on the source. The BSU utility transfers RtReports data without any alteration. All released report templates synchronized to destination cannot be altered. Both data transfer routes are supported: direct PI to PI server data transfer or via processing source data to xml files with later restoration on destination PI server.

Application Logs:

The BSU writes all of its messages to local PIPC log logs. Example of info messages.
Below is an example of normal Debug messages that appear in the log:
DEBUG Level (/DB) set to: [1]
2015-11-01 02:13:39 > Input XML file (/inputXML) set to: 'D:\dev\MIRABO\BatchSync\TEST3\tqssrv1_pi_pi.xml'
2015-11-01 02:13:39 > Statistics file (/statfile) set to: 'D:\dev\MIRABO\BatchSync\TEST3\stat.txt'
2015-11-01 02:13:39 > Initializing: Source: 'testsrv1'...
2015-11-01 02:13:41 > PIDriver::Init: PI Server <tqssrv1> Connection - Open
2015-11-01 02:13:41 > PIDriver::SetRootModule: StartModulePath set to MDB Root.
2015-11-01 02:13:41 > Initializing: Source: 'testsrv1' - Initialized Successfully.
2015-11-01 02:13:41 > Initializing: Destination: 'mpsrv2013'...
…….
2015-11-01 02:13:42 > SyncRTReportData: Driver: 'PI: DEMO' PI RTReports synchronization - Started...
2015-11-01 02:13:42 > PIDriver::SyncRTReportData: Server='DEMO' ModulePath: '%OSI\RtReports' - Found.
2015-11-01 02:13:42 > PIDriver::DataTemplateDatabase: [S] Synchronizing ...
2015-11-01 02:13:42 > PIDriver::DataTemplateDatabase: [.] Source Module='Database' - Found.
2015-11-01 02:13:42 > PIDriver::DataTemplateDatabase: [.] Source PIProperty='Database\TemplateDataSet' - Found.
..….
2015-11-01 02:13:42 > PIDriver::DataTemplateDatabase: [.] Dest PIModule='Database' - Found.
2015-11-01 02:13:42 > PIDriver::DataTemplateDatabase: [.] Dest PIProperty='Database\TemplateDataSet' - Found.

Troubleshooting

Common Error Messages

Message
Description
Maximum stop time has been exceeded...Terminating interface.
Error occurs when user requested utility to stop and it did not stop within allowed timespan.
Main: Error, Failed to set Numerical Settings to : [<Locale>]
Error occurs when invalid <Locale> is specified in configuration Xml file
Main: Error, Failed to initialize COM Library.
Critical error – failed to initialize COM.
Main: Error, the Source Driver is NOT Loaded.
No source defined. Check xml configuration
Main: Encountered Critical Error in SrcInit(), terminating.
Error occurred during source driver initialization. There should be an additional message specifying root cause or error.
Main: Error, One of the Destination (Host) Drivers was NOT Loaded.
One of the destination drivers failed to load. See additional messages for root cause of error.
WARNING: Dest Driver: ‘<driver id>’ is identical to Src Driver: '<driver id>'
Multiple instances of identical destination driver are specified. Check configuration Xml file.
Main: Error, Destination (Host) Drivers were NOT loaded.
One of the destination drivers failed to load. See additional messages for root cause of error.
ReadParamsFromFile: Error, <Parameters* params> = NULL.
Invalid Parameters specified in configuration. Check your input.
LoadInputFromXML: Error, unable to locate XML input file: <input xml file path>
Either /inputxml parameter was not specified in command line or its file path is invalid.
LoadInputFromXML: Error, unable to open XML input file in READ MODE: <input xml file path>
Specified input xml file cannot be opened in read mode. Check file security settings.
LoadInputFromXML: Error, More than 1 source system defined. This Sync Utility accepts only ONE data source. Please check your input.
Only 1 source driver can be defined as input. Check input xml.
LoadInputFromXML: Error, XML file must start with RootNode <Input>. Please check your input.
Invalid inputxml file Xml structure. Check input xml.
LoadInputXML: Parse Error at position: [<position>] - <Message>
Generic Xml parsing exception error. Examine <Message> string for root cause of error.
main: Error, provided Recovery Start Time (/RST) is INVALID, check your input
<RecoveryStart> Parameter in input xml has invalid data.
main: Error, provided Recovery End Time (/RET) is INVALID, check your input
<RecoveryEnd> Parameter in input xml has invalid data.
MyParameters::InitStartup: Failed to get current GMT time. Terminating.
Critical Error. Possibly PI-SDK is not installed. Contact vendor.
Error, missing Source Type definition parameter. Allowed Types: PI, XML.
Source driver type is undefined. Check your input.
Error, missing Server parameter.
If Source type is PI, then Server name or ip has to be provided.

XML Driver Error Messages

Message
Description
XMLDriver::Init: Error, passed <ConnectInfo* connPtr> = NULL.
This error most likely caused by running out of memory. Please re-run utility with reduced number of days in <MaxQueryTimeFrame>.
XMLDriver::Init: Error, XML file directory is not defined. Please check your input.
XML Driver Directory parameter is not defined.
XMLDriver::Init: Error, Failed to access XML directory: <directory path>: [errno=<number>]: <Message>
XML Driver failed to access directory. See <Message> string for detailed error.
XMLDriver::GetBatchData: [?] Error, unable to locate XML file: '<file name>’
Xml Driver – failed to find specific file. Check that specified file exist in xml directory.
XMLDriver::GetBatchData: [?] Error, unable to open XML file in READ MODE: '<file name>
Xml Driver – failed to open file for reading. Check specified file security settings.
XMLDriver::GetBatchData: Parse Error at position: [<position>] - <Message>
Xml Driver – failed to parse Xml file representing batch/unitbatch. See <Message> string for details.
XMLDriver::GetTimeData: DriverID: '<driver id>' Error: FindFirstFile(): [error=<number>] : <Message>
System Error. Check <Message> string for details.
XMLDriver::SyncBatchData: Error, failed to open XML file for writing: '<file name>', Error: [errno=<number>] : <Message>.
System Error. Possibly file is locked by another process. See <Message> string for details.
XMLDriver::SyncBatchData: Error, file: '<file name>' - current user does not have sufficient privileges for READ/WRITE mode.
Check user security settings on BSU node.
XMLDriver::SyncBatchData: Error, file: '<file name>' - Delete failed.
Either file does not exist anymore or user has insufficient privileges.
XMLDriver::SyncAssetData: [?] Error, failed to open XML file for writing: ‘<file name>', Error: [errno=<number>] : <Message>.
System Error. Possibly file is locked by another process. See <Message> string for details.
XMLDriver::GetAssetData: [?] Error, unable to open XML file in READ MODE: '<file name>’
Xml Driver – failed to open file for reading. Check specified file security settings.
XMLDriver::GetAssetData: [?] Error, XML file must start with RootNode <ModuleList>. Please check your input.
Xml Driver – invalid xml structure encountered during asset synchronization.
XMLDriver::GetAssetData: [?] Parse Error at position: [<position>] - <Message>
Xml Driver – loading Asset tree from file failed. See <Message> string for details.
XMLDriver::GetRTReportsData: [?] Error, unable to open XML file in READ MODE: '<file name>’
Xml Driver – failed to open file for reading. Check specified file security settings.
XMLDriver:: GetRTReportsData: [?] Error, XML file must start with RootNode <RTReportData>. Please check your input.
Xml Driver – invalid xml structure encountered during RtReports synchronization.
XMLDriver:: GetRTReportsData: [?] Parse Error at position: [<position>] - <Message>
Xml Driver – loading RtReports loading from file failed. See <Message> string for details.
XMLDriver::SyncRTReportData: [?] Error, failed to open XML file for writing: ‘<file name>', Error: [errno=<number>] : <Message>.
System Error. Possibly file is locked by another process. See <Message> string for details.

PI Driver Error Messages

Message
Description
UTCFromString: COM Error [<number>] : <Message>
Failed to convert time from string to UTC seconds
InitializeTimeObjects: [?] COM ERROR: Failed to access GMT timezone Information: : COM Error [<number>] : <Message>
Failed to find and add PI-SDK TimeZone info “BSUGMTTZInfo”.
InitializeTimeObjects: [?] COM Error [<number>] : <Message>
PI-SDK Error. See <Message> string for details.
PIDriver::Init: [?] Error, passed <ConnectInfo* connPtr> = NULL.
This error most likely caused by running out of memory. Please re-run utility with reduced number of days in <MaxQueryTimeFrame>.
PIDriver::Init: [?] Memory allocation error, while creating <IPISDKPtr PISDK> object, COM Error [<number>] : <Message>
PI-SDK Error. See <Message> string for details.
PIDriver::Init: [?] Failed to Open connection to server: '<server name or IP>’ - COM Error [<number>] : <Message>
PI-SDK exception error. See <Message> string for details. Possibly trust in not setup or invalid server name/IP provided.
PIDriver::Init: [?] (StartModulePath) PIRootModulesPtr = NULL. Terminating.
Generic error. See the error right before it for root cause.
PIDriver::SetRootModule: [?] Error, PIRootModulesPtr = NULL.
This error most likely caused by running out of memory. Please re-run utility with reduced number of days in <MaxQueryTimeFrame>.
PIDriver::SetRootModule: [?] Error, Module: '<Module Name>’ - COM Error [<number>] : <Message>
PI-SDK exception error. See <Message> for details.
PIDriver::SetRootModule: [?] Error, Module: '<Module Name>’ – Not Found.
One of the Modules in provided ModulePath is not found on destination. This error stops processing for Mode=STAT or DELETE. For WRITE Mode – this error should be ignored.
PIDriver::Init: [?] PI Server <server name/IP> Connection - Failed to connect.
Depending on which driver (destination or source) failed, Check trust setting on destination and/or source PI Server.
PIDriver::Init: [?] COM Error [<number>] : <Message>
PI-SDK exception error. See <Message> for details.
PIDriver::Destroy: [?] COM Error [<number>] : <Message>
PI-SDK exception error. See <Message> for details.
PIDriver::verifySDK: [?] Error, old PI-SDK version detected (<current PI-SDK version>), Minimum version required: 1.4.2.444
An old version of PI-SDK encountered. Please upgrade PI-SDK and re-run Utility again.
PIDriver::verifySDK: [?] COM Error [<number>] : <Message>
PI-SDK exception error. See <Message> for details.
PIDriver::ping_server: [?] COM Error [<number>] : <Message>
PI-SDK exception error on getting the version of connected PI Server. See <Message> for details.
PIDriver::ping_subsystems: [?] Error Invalid RPC Arguments for table: <rpc table name>
Error caused by encountered different RPC request arguments in customer PI Server version from PI server version used for development.
PIDriver::ping_subsystems: [?] Subsystem: <PI subsystem name> - OFFLINE. Will check on next scan.
One of the critical subsystems is offline or busy. Please re-run utility again. Possible failed subsystem: pibasess, piupdmgr, piarchss, pisnapss, pimsgss.
PIDriver::check_archivesubsystem: [?] Call: SafeArrayPutElement(argIn,&Index,(void *)&varTitles) Failed, with error: <error number>
This error most likely caused by running out of memory. Please re-run utility with reduced number of days in <MaxQueryTimeFrame>. Check PI-SDK documentation for error number <number> for more details.

RtReports Error Messages

Message
Description
RTReports::<Database Name>: [?] Error, Dest XmlAttribute = '<Attribute Path>' - Not Found or its value is NULL. Skipping table.
RtReports processing error.
RTReports::<Database Name>: [?] Error, Source XmlAttribute[<id>] = '<Attribute Path>' - Not Found or its value is NULL. Skipping table.
RtReports processing error.
RTReports::<Database Name>: [?] Error, Source XmlAttribute[<id>] = '<Attribute Path>' = '<Attribute Value>' - Not Found on Destination.
RtReports processing error.
RTReports::<Database Name>: [?] Error, Dest XmlNode: '<Xml Tag>' with UID='<UID Attribute Value>' found, but its Attribute: <Destination Xml Attribute with value> - does not match Source: <Source Xml Attribute with value>
RtReports processing error.
<Calling function name> [?] Failed to find PI Module name=’<module name>’, COM Error [<number>] : <Message>
PI-SDK exception error. Failed to Find specific PI Module by name. See <Message> string for error details.
<Calling function name> [?] Failed to add PI Module name=’<module name>’, COM Error [<number>] : <Message>
PI-SDK exception error. Failed to Add specific PI Module by name. See <Message> string for error details.
<Calling function name> [?] Failed to delete PI Module name=’<module name>’, COM Error [<number>] : <Message>
PI-SDK exception error. Failed to Delete specific PI Module by name. See <Message> string for error details.
<Calling function name> [?] Failed to find PI Property name=’<property name>’, COM Error [<number>] : <Message>
PI-SDK exception error. Failed to Find specific PI Property by name. See <Message> string for error details.
<Calling function name> [?] Failed to add PI Property name=’<property name>’, COM Error [<number>] : <Message>
PI-SDK exception error. Failed to Add specific PI Property by name. See <Message> string for error details.
<Calling function name> [?] Failed to delete PI Property name=’<property name>’, COM Error [<number>] : <Message>
PI-SDK exception error. Failed to Delete specific PI Property by name. See <Message> string for error details.
RTReports::GetLeafModuleFromPath: Error, failed to find module: <module name>.
Generic error. See preceding error for details.
RTReports::GetLeafModuleFromPath: COM Error [<number>] : <Message>
PI-SDK exception error. Failed to locate one of the PI modules in the provided module path. See <Message> string for error details.
RTReports::FormatTemplateDataXml : [?] Error, Source XmlNode='<Xml Node path>' <uniqueid Attribute> - Attribute='<target xml attribute name>' - either Not Found or its value is <null>. Skipping Node.
RtReports processing error. For specific UniqueID report - Xml attribute search by name – returned no results.
RTReports::FormatTemplateDataXml : [?] Error, Source XmlNode='<Xml Node path>' <uniqueid Attribute> - Attributes: 'd2p1:PIUnitClass', 'd2p1:Version' - either Not Found or its values are <null>. Skipping Node.
RtReports processing error. For specific UniqueID report, required Xml Attributes 'd2p1:PIUnitClass', 'd2p1:Version' are not found. Skip processing this report.
RTReports::FormatTemplateDataXml : [?] WARNING, Skipping XML Node='<Xml Node name>', Reason - node does not belong to known list. Contact Development.
RtReports processing warning. This warning indicates that unsupported xml node type was encountered. Please report this error to vendor so software can be updated.
RTReports::FormatDataXml Generic: [?] Error, Source XmlNode='<Xml Node Path>' Attribute: '<Attribute name>' - either Not Found or its value is <null>. Skipping Node.
RtReports processing error. Required Xml attribute was not found for the given xml node. Skip processing this report.
RTReports::FormatDataXml Generic: [?] Error, Source XmlNode='<Xml Node Path>' Attributes: 'd2p1:PIUnitClass', 'd2p1:Version' - either not Found or its values are <null>. Skipping XmlNode.
RtReports processing error. Required Xml Attributes 'd2p1:PIUnitClass', 'd2p1:Version' are not found. Skip processing this report.
RTReports::F FormatDataXml Generic: [?] WARNING, Skipping XML Node='<Xml Node name>', Reason - node does not belong to known list. Contact Development.
RtReports processing warning. This warning indicates that unsupported xml node type was encountered. Please report this error to vendor so software can be updated.
RTReports::SyncTemplateReviews: [?] Error, Source <PI property as path> Value is empty or null. Skipping processing.
Processing error. PI Property’s value is empty or null.

Appendix A – Examples

PI Batch and PI UnitBatch Synchronization Examples

PI to PI

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncBatchData>true</SyncBatchData>
<SyncUnitBatchData>true</SyncUnitBatchData>
<SyncAssetData>false</SyncAssetData>
<RecoveryStart>*-18mo</RecoveryStart>
<RecoveryEnd></RecoveryEnd>
<MaxQueryTimeFrame>150</MaxQueryTimeFrame>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>PI</Type>
<Server>tqssrv1</Server>
</Source>
<Destination>
<Type>PI</Type>
<Server>DEMO</Server>
</Destination>
</Input>

PI to XML

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncBatchData>true</SyncBatchData>
<SyncUnitBatchData>true</SyncUnitBatchData>
<SyncAssetData>false</SyncAssetData>
<RecoveryStart>*-18mo</RecoveryStart>
<RecoveryEnd></RecoveryEnd>
<MaxQueryTimeFrame>150</MaxQueryTimeFrame>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>PI</Type>
<Server>DEMO</Server>
</Source>
<Destination>
<Type>XML</Type>
<Directory>C:\TEST\XMLOutput</Directory>
</Destination>
</Input>

XML to PI

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncBatchData>true</SyncBatchData>
<SyncUnitBatchData>true</SyncUnitBatchData>
<SyncAssetData>false</SyncAssetData>
<RecoveryStart>*-18mo</RecoveryStart>
<RecoveryEnd></RecoveryEnd>
<MaxQueryTimeFrame>150</MaxQueryTimeFrame>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>XML</Type>
<Directory>C: \TEST\XMLOutput</Directory>
</Source>
<Destination>
<Type>PI</Type>
<Server>10.8.25.29</Directory>
</Destination>
</Input>

RtReports Synchronization Examples

PI to PI

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncRTReports>true</SyncRTReports>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>PI</Type>
<Server>tqssrv1</Server>
</Source>
<Destination>
<Type>PI</Type>
<Server>10.8.25.29</Server>
<RTReportServerMap>
<Server Source="tqsSRV1" Destination="WIN-79G2D28E2R1" />
</RTReportServerMap>
<RTReportPrefix>RT_</RTReportPrefix>
<ResolveConflicts>true</ResolveConflicts>
</Destination>
</Input>

PI to XML

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncRTReports>true</SyncRTReports>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>PI</Type>
<Server>10.8.25.29</Server>
</Source>
<Destination>
<Type>XML</Type>
<Directory>C: \TEST\XMLOutput</Directory>
</Destination>
</Input>

XML to PI

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncRTReports>true</SyncRTReports>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>XML</Type>
<Directory>C: \TEST\XMLOutput</Directory>
</Source>
<Destination>
<Type>PI</Type>
<Server>10.8.25.29</Server>
<RTReportServerMap>
<Server Source="tqsSRV1" Destination="WIN-79G2D28E2R1" />
</RTReportServerMap>
<RTReportPrefix>RT_</RTReportPrefix>
<ResolveConflicts>true</ResolveConflicts>
</Destination>
</Input>

Synchronize Assets, Batches, UnitBatches, RtReports

PI to PI

<Input>
<Parameters>
<Id>1</Id>
<Mode>WRITE</Mode>
<Debug>1</Debug>
<SyncRTReports>true</SyncRTReports>
<SyncBatchData>true</SyncBatchData>
<SyncUnitBatchData>true</SyncUnitBatchData>
<SyncAssetData>true</SyncAssetData>
<RecoveryStart>*-18mo</RecoveryStart>
<RecoveryEnd>*</RecoveryEnd>
<MaxQueryTimeFrame>150</MaxQueryTimeFrame>
<LogDirectory>C:\TEST\Logs</LogDirectory>
<Locale></Locale>
<AbandonTO></AbandonTO>
<MaxStopTime>120</MaxStopTime>
</Parameters>
<Source>
<Type>PI</Type>
<Server>tqssrv1</Server>
</Source>
<Destination>
<Type>PI</Type>
<Server>10.8.25.29</Server>
<AliasServerMap>
<Server Source="tqSsrv1" Destination=" WIN-79G2D28E2R1" />
</AliasServerMap>
<RTReportServerMap>
<Server Source="tqsSRV1" Destination="WIN-79G2D28E2R1" />
</RTReportServerMap>
<RTReportPrefix>RT_</RTReportPrefix>
<ResolveConflicts>true</ResolveConflicts>
</Destination>
</Input>