Skip navigation
All Places > PI Developers Club > Blog > 2014 > August
2014
skwan

PI Server 2014 R2 and Beyond

Posted by skwan Employee Aug 29, 2014

As you may have already noticed, PI Server 2014 R2 has been released.  More specifically, PI AF, a component of the PI Server, has been updated to version 2.6.1.  This release corrects several issues with notification upgrades in PI AF 2014 (v2.6) which I know affected some of you.  My apologies for the issues that you may encountered.  This release also introduces steam functions to analyses.  Now you're able to calculate steam properties in your analyses using the latest IAPWS-IF97 (industrial formulation) standards.  There are many other fixes and enhancements in this release so please consult the relevant release notes and documentations for details.  There are many more enhancements on the way so if you have any specific features that you need, please let me know.

 

I have received some questions and comments on our current naming convention.  I want to take this opportunity to remind everyone that back in 2010, we made a strategic move to redefine what "PI Server" means.  Today, the PI Server is not a single product, but rather it consists of several components.  These components include the PI Data Archive, PI Asset Framework, PI Notifications, PI ACE and a few interfaces for monitoring the health of the servers.  Therefore, although this release consists of an upgrade to PI AF, it is considered an upgrade to the PI Server and hence the PI Server 2014 R2 label.

 

Lastly, for those of you that may be testing the PI Data Archive CTP which provides for native support for data with future time stamps, you may have noticed that the estimated release date is now Q2 2015.  As such, we're tentatively labeling it "PI Data Archive 2015", which is a change from past communications.  I wanted to bring this up in this blog post to minimize confusion.

 

Feel free to consult the PI System Roadmap for the latest information on product releases.  Hope to see you all at the Lisbon User's Conference in a few weeks.

 

--

 

Steve Kwan

Long time since since my last blog post, so I thought I'd share this little system integration trick I had to do for a customer in the T&D industry.

 

Different departments use ProcessBook for different content. The operation center is interested in fast flowing / high resolution data, such as PMU/synchro phasors, while the maintenance dept. is more interested in long term analysis for individual assets, or the whole fleet of assets. Some of the more intense PB display applications for the maintenance dept. take 20-30 seconds to load, as an example.

 

As a result we've ended up with setting up their ProcessBook installations with different data update frequencies. As you might already know, this is done by editing the Procbook.ini file in the PIPC\DAT folder - adding the following lines to the bottom of the file (number in milliseconds):

 
[Data Manager]
Timer=10000

Now our customer has asked that we merge their different ProcessBook displays and AF databases into one package. Ideally we would like to set the refresh rate for each display independently, but unfortunately that isn't possible. Instead I created two shortcuts to start ProcessBook with different update frequencies, and basically change between two Procbook.ini files containing different settings every time the program is started. Here's what I did:

  1. I didn't want to work directly in the PIPC\DAT folder, as I believe that'll require elevated permissions every time you "start" ProcessBook. Instead I looked at the current user's AppData folder, where I know a copy of Procbook.ini is placed the first time a user starts ProcessBook after installation. Here I made two copies of Procbook.ini with different names, and different configurations. For this example I use 10 and 20 seconds as update frequencies. I start with "Procbook.ini" and "Procbook_10sec.ini".
     
  2. The next step was to create a PowerShell script to do the swap between the two files, and then start ProcessBook.exe. Here's the script, which takes a parameter to determine if you want 10 or 20 seconds:
     
    param([Int32]$Seconds=10)
    $pbIni = $env:APPDATA + '\PISystem\PI-ProcessBook\en\ProcBook.ini'
    $pb20sec = $env:APPDATA + '\PISystem\PI-ProcessBook\en\ProcBook_20sec.ini'
    $pb10sec = $env:APPDATA + '\PISystem\PI-ProcessBook\en\ProcBook_10sec.ini'
    
    If ($Seconds -eq 10) 
    {
         Rename-Item $pbIni ProcBook_20sec.ini
         Rename-Item $pb10sec ProcBook.ini
    }
    Else
    {
         Rename-Item $pbIni ProcBook_10sec.ini
         Rename-Item $pb20sec ProcBook.ini
    }
    
    $path = $env:PIHOME + '\Procbook\Procbook.exe'
    & $path
    

    The script loads with the parameter "Seconds" = 10 as default.

  3. If you havent run PowerShell scripts in your computer before, you need to set the execution policy to be allowed to execute them. Run this in an elevated PowerShell prompt (Scope = LocalMachine means all users, or alternatively CurrentUser if you only want your own account to be allowed):
    Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
    

     
  4. Next step is to create two shortcuts on your desktop. Since PowerShell scripts cannot be executed by double clicking them we need to work around it. The paths for the two shortcuts should be:
    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "& 'C:\Path\To\Your\Script\script.ps1' -Seconds 10"
    
    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "& 'C:\Path\To\Your\Script\script.ps1' -Seconds 20"
    

     
  5. The last step is just for looks, but make sure you configure the shortcuts to have the same icon as ProcessBook.exe. Go into the properties of the shortcut, click "Change icon" and browse your way into the PIPC\Procbook folder to select ProcessBook.exe.

     4747.shortcuts.jpg

 

 

Now you'll have two shortcuts on your desktop where you can quickly select between the two different data update frequencies. Might not be necessary for most users, but there are always someone who might find it useful!

Filter Blog

By date: By tag: