Reference Manuals 4
Supported Operating Systems 4
Supported Features 4
Diagram of Hardware Connection 7
Data Collection Steps 13
1.Confirm that you can use PI SMT to configure the PI Server. You need not run PI SMT on the same computer on which you run this interface. 13
2.Edit the PI Server’s Trust Table to allow the interface to write data. 13
3.Check the interface nodes time zone properties. An improper time zone configuration can cause the PI Server to reject the data that this interface writes. 13
4.Run the installation kit for this interface on a Windows machine. Copy the extracted SIPowerTG_x.x.x.x_Linux64.tar.gz file and the PIAPI install kit file to the Power TG machine. 13
5.Extract the contents of the PI API install kit and run the pi.install installation script. 13
6.Start the PI API processes and use apisnap to verify the connection to the PI server. 13
7.Extract the interface installation kit into the $PIHOME directory. 13
8.Replace the sitestart and sitestop scripts in the $PIHOME/bin directory with the scripts included in the interface directory. 13
9.In the interface directory, use the template startup script to create the startup script for the interface and edit the command-line parameters. Essential startup parameters for this interface are: 13
10.Use the DumpInputFile and DumpAlarmFile utilities to confirm the format of a sample event data and alarm message files. 14
11.If you will use digital points, define the appropriate digital state sets. The sample file SIPowerTG_digital_set.csv can be imported with PI SMT to create the file status and default quality digital sets. 14
12.Check the contents of the data quality definition file (data_qualitities.ini) and ensure that the TG_DATA_QUALITY digital state set matches the priorities defined in the file. 14
13.Build input tags and, if desired, output tags for this interface. Important point attributes and their purposes are: 14
14.Start the interface interactively and confirm its successful connection to the PI Server without buffering. 14
15.Confirm that the interface collects data successfully. 14
16.Stop the interface and configure the buffer server application (bufserv). 14
17.Start the buffering application and the interface. Confirm that the interface works together with the buffering application by either physically removing the connection between the interface node and the PI Server Node or by stopping the PI Server. 14
18.Replace the default sitestart and sitestop scripts with those included in the install kit so that the interface will start and stop when the pistart and pistop scripts are used. 14
19.Restart the interface node and confirm that the interface and the buffering application restart. 14
Interface Diagnostics 14
1.Configure the Interface Specific performance points. 14
2.Configure UniInt Health Monitoring points 14
3.Configure the I/O Rate point. 14
4.Install and configure the Interface Status Utility on the PI Server Node. 14
5.Configure the Interface Status point. 14
Advanced Interface Features 15
1.Configure the interface for disconnected startup. Refer to the UniInt Interface User Manual for more details on UniInt disconnected startup. 15
Naming Conventions and Requirements 16
Interface Directories 16
PIHOME Directory 16
Interface Installation Directory 16
PI API Installation on a Linux Power TG machine 17
1.As root, create the PI API directory and change the ownership to the user that will be running the PI API processes.
su
mkdir /opt/piapi
chown powertglocal /opt/piapi
exit 17
2.Define the PIHOME environment variable to the name of the PI API directory. export PIHOME=/opt/piapi 17
3.Add the PIHOME definition to the profile of the powertglocal user.
For the csh shell (or tcsh), add the following to the ~/.cshrc file
# PI API settings
setenv PIHOME /opt/piapi
setenv PATH ${PATH}:${PIHOME}/bin::
For the bash shell, add the following to the ~/.bash_profile file
# PI API settings
export PIHOME=/opt/piapi
export PATH=$PATH:$PIHOME/bin:: 18
4.Copy the PI API installation kit piapiLinux64-tar_xxxxx_.gz onto the Power TG machine using FTP/SFTP or similar. Put the file into the /opt/piapi directory. 18
5.Extract the contents of the piapiLinux64-tar_xxxxx_.gz installation file.
cd $PIHOME
gunzip piapiLinux-tar_xxxxx_.gz
tar xvf piapiLinux-tar_xxxxx_
This will create a directory called build which contains the PI API installation files. 18
6.Run the PI API installation script pi.install as root
cd $PIHOME/ build
su
sh ./pi.install
Answer the prompts for your system
Enter an existing user name for PI API [piadmin] ?
powertglocal
Please Enter the Node Name of the Default PI Home Node:
PISERVER1
Is PISERVER1 a PI v3.x (UNIX, NT) system? [Y] or N
Y
Check the installation messages and verify that there were no errors.
exit (to change back to the powertglocal user) 18
7.Start the PI API processes
cd $PIHOME/bin
pistart
Ignore the message “Warning: USER is not root or piadmin applications may not start.” This warning can be removed from the pistart and pistop scripts by changing the scripts to find the owner the of script and using that instead of the hard-coded “piadmin”.
OWNER=`ls -l $0 | awk '{ print $3 }'`
if [ "$USER" != "root" -a "$USER" != "$OWNER" ]; then
echo "Warning: USER is not root or $OWNER. Applications may not start."
fi 18
8.Use the apiverify script to check the running PI API processes. Initially, the bufserv process should not be running because buffering is not enabled by default. 18
9.Use the apisnap utility to verify that the PI API is able to connect to the PI server 18
Interface Installation Procedure 19
1.Copy the SIPowerTG_x.x.x.x.tar.gz file to the $PIHOME directory 19
20.Extract the contents of the SIPowerTG_#.#.#.#.tar.gz file
cd $PIHOME
gunzip SIPowerTG_#.#.#.#.tar.gz
tar xvf SIPowerTG_#.#.#.#.tar
This will create the $PIHOME/interfaces/SIPowerTG directory for the interface if it does not already exist. 19
21.Change to the interface directory
cd $PIHOME/interfaces/SIPowerTG 19
22.Verify that the interface will run by checking the interface version
PISIPowerTG –v 19
23.Copy the sitestop script from the interface directory into the $PIHOME/bin directory
mv $PIHOME/bin/sitestop $PIHOME/bin/sitestop.original
cp sitestop $PIHOME/bin 19
24.Edit the PISIPowerTG_start script to specify the site-specific parameters. Refer to section Command-Line Parameters for details of the command-line parameters available. 19
25.With the PI API processes running (checked with apiverify), start the interface interactively using the PISIPowerTG_start script. Check the output from the interface to ensure that the interface is running correctly. At this stage the interface probably will not have any PI points to load, but that should not cause any errors. 19
26.Press Ctrl-C to stop the interface. 19
27.Once the interface is running correctly as an interactive process, the main background startup script PISIPowerTG.sh script needs to be setup. Copy the template startup script to create the actual startup script to be used by the interface
cp PISIPowerTG.sh_new PISIPowerTG.sh 19
28.Alter the command-line parameters near the end of the PISIPowerTG.sh file to match those used in the PISIPowerTG_start script.
For example :
./${INTF_NAME} -host=PISERVER1:5450 -ps=TG -id=1 \
-alarm=/lg/scada/dat/his/msgdata.his.1.PI.dat \
-data=/lg/scada/dat/his/measdata.his.1.PI.dat \
-qualcode=/lg/scada/fg/en_US/data_qualities.ini \
> ${WORKDIR}/${PROG}.out 2>&1 &
Note the backslash (\) continuation characters on the command-line. Failing to include these will cause problems. 19
29.Use the DumpInputFile and DumpAlarmFile utilities to confirm the format of a sample event data and alarm message files. 19
30.If you will use digital points, define the appropriate digital state sets. The sample file SIPowerTG_digital_set.csv can be imported with PI SMT to create the file status and default quality digital sets. 20
31.Check the contents of the data code definition file (data_qualitities.ini) and ensure that any data qualities that are not required in PI are set to FALSE in the [PI] section of the file and that the TG_DATA_QUALITY digital state set matches the priorities in the file. 20
32.To be able to check when the interface is running as background process, add the interface name PISIPowerTG to the end of the $PIHOME/bin/apiprocs file. 20
33.With the PI API processes running, start the PISIPowerTG.sh script. Use apiverify to check whether the process is running. Check the $PIHOME/dat/PISIPowerTG.log and $PIHOME/dat/pimesslogfile files to check the status of the interface. 20
34.To stop the interface when it is running as a background process, use the PISIPowerTG_stop script. 20
35.When the interface is working correctly, copy the sitestart script from the interface directory into the $PIHOME/bin directory. This will start the interface when the pistart script is run. 20
Point Attributes 30
Tag 30
PointSource 31
PointType 31
Location1 31
Location2 31
Location3 31
Location4 31
Location5 31
InstrumentTag 32
ExDesc 33
Scan 34
Shutdown 34
Command-line Parameters 36
Sample PISIPowerTG.sh File 41
Introduction 43
Point Configuration for Failover 44
Linux 46
Windows and UNIX 47
Interface Startup Script 49
1.Ensure that the PI API processes are running
apiverify
NAME PID TIME %CPU VSZ
bufserv 2260 00:00:00 0.0 5480
bufserv 2261 00:00:00 0.0 7672
bufserv 2263 00:00:00 0.0 7672
WARNING: multiple instances of bufserv are running
mqmgr 2252 00:00:00 0.0 4356
mqsrv 2246 00:00:00 0.0 4360
ioshmsrv 2269 00:00:00 0.0 4360
iorates 2275 00:00:00 0.0 8640
WARNING: PISIPowerTG is NOT running
The above is configured for buffering to 2 replicated PI servers, which is why there are 3 bufserv processes running. When buffering is configured there should be n+1 bufserv processes. Ignore the WARNING in the apiverify output. 49
2.Change to the interface directory
cd $PIHOME/interfaces/SIPowerTG 49
3.Run the interface startup script
PISIPowerTG.sh
Output file is "/opt/piapi/dat/PISIPowerTG.out"
Renamed existing "PISIPowerTG.out" as "PISIPowerTG.old"
Starting interface "PISIPowerTG"
49
Interface Stop Script 49
Automatic startup and shutdown 50
Automatic startup on a reboot 50
1.Change to the root user
su 50
2.Copy the required PIAPI script from the interface directory to /etc/init.d
cp $PIHOME/interfaces/SIPowerTG/PIAPI /etc/init.d
The PIAPI script in the interface kit should be used when the PI API and interface processes are to be run by the root user.
If the PI API and interfaces processes need to be run by a different user (i.e. piadmin), then the PIAPI_nonroot script should be used. 50
3.Edit /etc/init.d/PIAPI script to set the PIHOME variable to match the requirements for the system.
By default, the PIAPI_nonroot script will set the PIUSER variable to use the owner of the $PIHOME/bin/pistart and $PIHOME/bin/pistop files.
If for some reason, the script needs to use a user other than the owner the PI API files, it can be overridden by manually defining the PIUSER variable to be the required user name in the PIAPI script. 50
4.Use chkconfig to add the links and verify the configuration
/sbin/chkconfig --add PIAPI
/sbin/chkconfig --list PIAPI
The PIAPI script should be configured to start at run levels 3, 4 and 5. 51
5.Verify the configuration by running the commands
PIAPI start - start the PI API processes
PIAPI status - show that status of the PI API processes
PIAPI stop - stop the PI API processes 51
6.Once the commands above as working as expected, reboot the system and checking that the PI API processes start and are owned by the correct user. If there are problems with the PIAPI script during a reboot, check the /var/log/messages file for the error messages. If there are no error messages logged then, then check the $PIHOME/dat/pimesslogfile and $PIHOME/dat/PISIPowerTG.out files. 51
Terminating Background Processes 51
Anomalous Background Job Termination 51
Linux Interface Nodes 53
How Buffering Works 53
Buffering and PI Server Security 54
Configuring PI API Buffer Server (bufserv) Manually 54
Performance Settings 54
BufServ and n-way buffering 56
Notes for bufserv on Linux 56
Sample piclient.ini file 56
Interface Specific Performance Points 58
Sample Interface Specific Performance Points 59
Scan Class Performance Points 59
Interface Health Monitoring Points 60
1.the number of scan-based input values the interface collects before it performs exception reporting; and 61
36.the number of event-based input values the interface collects before it performs exception reporting; and 61
37.the number of values that the interface writes to output tags that have a SourceTag. 61
Failover configurations with UniInt Health Points 65
Sample UniInt Health Points 65
I/O Rate Point 65
Configuring I/O Rate Tags On UNIX 65
1.Configuring the PI Point on the PI Server 65
38.Configuration on the interface node 65
1.Edit/Create a file called iorates.ini in the $PIHOME/dat directory. PIHOME is an environment variable that is set equal to the PI home directory name as discussed in the PI API manual.
Within the iorates.ini file define the [PISERVERS] section to contain a list of the PI Servers that iorates will access and a section names for each of the PI Servers, which will contain the iorates points for that PI Server and their corresponding event counter index number and corresponds with the /ec=x parameter in the startup command file. 66
The event counter index can be any number between 1 and 34 or between 51 and 200, inclusive. However, it is best to use an event counter, x, that is not equal to 1 because 1 is the default event counter for UniIntbased interfaces. Each event counter should be unique. 66
For example, 66
[PISERVERS]
SERVER1=PISERVER01 66
[PISERVER01]
IOTAG1=SIPowerTG001,1 66
For more details, refer to the PIHOME/help/iorates.txt file and the sample PIHOME/dat/iorates.ini file. 66
39.Set the /ec=x parameter on the startup command file of the interface to match the event counter in the iorates.ini file. 66
40.The I/O Rate shared memory server and the I/O Rate monitor program must be stopped and started for the changes to take effect. The easiest way to do this is to run the pistop and pistart command scripts with the following commands: 66
Interface Status Point 66
Message Logs 68
Messages 68
Startup 68
Loading PI points 69
Data File Processing 72
Alarm File Processing 73
Getting Latest Timestamp 73
System Errors and PI Errors 74
PI Server Definition 77
Point Collection Definition 80
Installing Data from the SDB for a PI Archive 82
Before You Call or Write for Help 86
Help Desk and Telephone Support 86
Search Support 87
Email-based Technical Support 87
Online Technical Support 87
Remote Access 88
On-site Service 88
Knowledge Center 88
Upgrades 88
OSIsoft Virtual Campus (vCampus) 88