Sample PI XML.bat File The following is an example file: REM=============================================================== REM REM pixml.bat REM REM Sample startup file for the OPC XML-DA interface REM REM======================================================================= REM REM OSIsoft strongly recommends using PI ICU to modify startup files. REM REM Sample command line REM .\pixml.exe ^ /ps=XML ^ /id=1 ^ /f=00:00:05 ^ /f=00:00:10 ^ /f=00:00:30 ^ /host=XXXXXX:5450 ^ /server="http://opcfoundation.org/XmlDaSampleServer/service.asmx" ^ /dll=".\Plug-Ins\OPC\PIXML_OPC.dll" ^ /stopstat="Intf Shut" REM REM End of pixml.bat File The above command line instructs the interface to service PI points whose point source is XML and Location1 is 1, define three scan classes with periods of 5, 10 and 30 seconds connect to the PI3 Server “XXXXXX” connect to an XML server with this URL: http://opcfoundation.org/XmlDaSampleServer/service.asmx use the post-processing dll for the OPC XML-DA specification (version 1.01), write Intf Shut to its list of points upon exit
Failover Control Points The following table describes the points that are required to manage failover. In Phase 2 failover, these points are located in a data file shared by the Primary and Backup interfaces. OSIsoft recommends that you locate the shared file on a dedicated server that has no other role in data collection. This avoids potential resource contention and processing degradation if your system monitors a large number of data points at a high frequency. Point Description Value / Default ActiveID Monitored by the interfaces to determine which interface is currently sending data to PI. ActiveID must be initialized so that when the interfaces read it for the first time, it is not an error. ActiveID can also be used to force failover. For example, if the current Primary is IF-Node 1 and ActiveID is 1, you can manually change ActiveID to 2. This causes the interface at to transition to the primary role and the interface at IFNode1 to transition to the backup role. From 0 to the highest interface failover ID number / None) Updated by the redundant interfaces Can be changed manually to initiate a manual failover Heartbeat 1 Updated periodically by the interface on IFNode1. The interface on IF-Node2 monitors this value to determine if the interface on IFNode1 has become unresponsive. Values range between 0 and 31 / None Updated by the interface on IF-Node1 Heartbeat 2 Updated periodically by the interface on The interface on IF-Node1 monitors this value to determine if the interface on IF-Node2 has become unresponsive. Values range between 0 and 31 / None Updated by the interface on IF-Node2 PI Tags The following tables list the required UniInt Failover Control PI tags, the values they will receive, and descriptions. Active_ID Tag Configuration Attributes ActiveID Tag <Intf>_ActiveID Compmax 0 ExDesc [UFO2_ActiveID] Location1 Match # in /id=# Location5 Optional, Time in min to wait for backup to collect data before failing over. Point Source Match x in /ps=x Point Type Int32 Shutdown 0 Step 1
[UFO2_STATE:#] (IF-Node2) Optional State 2 Tag The ExDesc must start with the case sensitive string: [UFO2_STATE:#] The number following the colon (:) must be the failover ID for the interface running on IFNode2 The failover state tag is recommended. Normally updated by the interface currently in the Primary state. Values range between 0 and 5. See description of State 1 tag.
Creating the UniInt Failover Control and Failover State Tags (Phase 2) To use the ICU Failover page to create these tags, right-click any of the failover tags in the tag list and choose Create all points (UFO Phase 2). If this menu choice is disabled, you must first create the UFO_State digital state set. To create the digital state set, choose Create UFO_State Digital Set on Server servername… When the failover control and failover state tags have been created, the Failover page of the ICU looks similar to the illustration below.