History Transporter with PI-Bridge Interface
History Transporter objects can be configured to connect to OSI PI systems by opening the Transporter Configuration property compound in the History Controller and then further opening the Alternative Interface options. "PI-Bridge" can then be selected from the Alternative Interface Selection drop-down menu (if using a newly created History Controller, click the + to add a new Transporter instance).

When using History Transporter objects in combination with a History Controller it is recommended to make Transporter configuration changes in the History Controller Object Properties panel (these changes are then also registered in the Transporter object itself). If using a stand alone History Transporter, the following instructions are also applicable for configuring the History Transporter object properties. |
To transfer data from an OSI PI historian you must have the PI-Bridge service installed. This can either be installed:
-
As a package on a Connector instance, running on the same machine as the PI Server itself.
-
As a package on a Connector instance, running on a local machine along with the OSI PI AF Client.
You can find information on how to install the PI-Bridge as a Package on a Connector here. Information on the OSI PI Asset Framework and installation of the OSI PI AF Client can be found on the OSIsoft website.
Transporter Configuration
When using a Pi-Bridge Interface with a History Transporter object, the Transporter Configuration Datasource property can be selected as the Connector object that has the Pi-Bridge packet installed. The Transporter will then be created directly below the Connector.

Selecting a Connector object for the Datasource property is in most cases only valid when using an alternative interface. Using History Transfer Chain objects without an alternative interface normally requires that an actual Datasource object is selected here to avoid connection issues. |
-
Enter a name for the History Transporter in the Object Name property field. This will be the name for the History Transporter in the I/O model namespace so should be unique, otherwise errors will be encountered when the system tries to create the object.
-
Set the Processing Mode to "Continuous". In this mode, the History Transporter will create DataHolder objects to historize the transferred data (see Tag Configuration section below). The "Subscription" Processing Mode will only work when using the History Transporter below Datasource objects. Also, set the Recurrence to "Each minute" so that you can troubleshoot any potential errors without having to wait a long time between cycles.
Figure 3. Transporter Configuration - Processing Mode and Recurrence
Configuring the Alternative Interface
-
Open the Transporter Configuration property compound in the History Controller and then open the Alternative Interface options. Select "PI-Bridge" from the Alternative Interface Selection drop-down menu and then expand the PI Connection options.
Figure 4. Alternative Interface - PI Connection options -
The Host Name or IP property can be set to "127.0.0.1" or "localhost" as the PI-Bridge service is running on the same host as the Connector service, the default Port of the PI-Bridge service is "5959". It is also necessary to enter the PI-Server name which is wil be dependant on your own system.
Figure 5. Alternative Interface - PI Bridge and PI Server SettingsIf using the OSI PI AF Client to connect to a remote PI Server, the PI Server name used at installation of the client will be the same as the PI Server name property entered in the PI Bridge Alternative Interface settings. -
Click Apply to confirm the settings.
Tag Configuration - Transporter Configuration
The Tag Configuration table in the Transporter Configuration property compound is populated with the tags from the PI Server that you wish to transfer historical data from. More information about the table can be found on the Tag Configuration property page.
-
Go to the Transporter Configuration section of the History Controller Object Properties panel and open the Tag Configuration table.
Figure 6. Tag Configuration -
Tags can be entered into the table, using a different row for each tag. The ExternalID and ObjectName columns are mandatory, the ExternalID should match the ItemID of the tag in the PI Server namespace (see here for more details). The ObjectName will be used as the name of the IO Item/DataHolder that will be created by the History Transporter to historize the transferred data. The NodeName can be used to create a Folder object to place the new DataHolder items in (this node can be created outside of the History Transporter children namespace by using a relative path, see here for more details). The TargetID is not mandatory but is relevant when transferring data from one external historian to another with a History Sink object with a configured Alternative Interface, in this example we will leave it blank. Click OK when finished.
Figure 7. Tag Configuration - PI Server
When you use the NodeName column the History Transporter will attempt to create a Folder object in the specified path. Be aware that errors will be encountered if the Transporter does not have rights to create new objects using the specified NodeName path as a parent. For example, a History Transporter underneath a Connector will be unable to create an object under the Core object. |
Beginning Transfer
To start the transfer, switch the Processing Mode of the History Controller from "Configuration" to "Operation" (this is the Processing Mode property in the Common property compound of the History Controller) and click Apply.

The Controller creates the History Transporter underneath the Connector and the Transporter creates the Node folder and DataHolder items as well. The DataHolder items will show a "red" state until the first transfer cycle has been made and the historical data written to the items.

The History Transporter will continue to transfer new values from the selected Tags upon each cycle and write them to the DataHolder items. The History Controller is showing a "red" state in the I/O model because a History Sink Item has not been configured. Please visit here to learn how to do this.