5 Replies Latest reply on Jan 15, 2014 11:26 AM by Gregor

    PI ICU Fast Load Interfaces


      We have many (20-30) interface nodes that have 20+ interfaces running on them and all of the nodes are being replaced with new hardware so we are going to need to transfer all of the interfaces.  


      Is there a fast way to get all of the interfaces loaded into the ICU?  Currently adding a new interface through the ICU forces a reload of all of the interfaces on the current node.  This means that as the number of interfaces increases so does the load time per interface to be added.  I believe that this is due to the ICU walking the Module Database for registered interfaces.  Is this correct and if so can we script the creation of the proper module database elements?


      Thanks in advance for the help and suggestions

        • Re: PI ICU Fast Load Interfaces

          Yes you can, you need to script the MDB PI Modules with all the Properties required for the version of the interface, scan classes, Point Sources etc and then create the corresponding .bat files for on the Interface node itself. I've done it in PowerShell before. PowerShell an option for you?

            • Re: PI ICU Fast Load Interfaces

              Anything is an option at this point including PowerShell (though I have not used it before)


              Instead of writing to the MDB directly would it be easier for us to write to AF and allow the AF to MDB sync to do the actual writing to the MDB.  Thinking that writing a quick tool to do this might be easier and supported going forward as I know they want more things to be in done through AF and relying less on the MDB.

                • Re: PI ICU Fast Load Interfaces

                  Hi John,


                  AF Sync doesn't synchronize the %OSI node in MDB by default. Not sure if you can force this, I've never tried. The AFSync GUI doesn't give you the option. I've used the technique that Rhys is suggesting and it works well. Be warned that this method is technically not supported, the general rule is your not meant to touch the %OSI node.


                  Hint to OSIsoft. I'm hoping that a replacement for ICU comes out in the not to distant future that stores its configuration in AF.

              • Re: PI ICU Fast Load Interfaces

                Hi John,


                Rhys' method is tested from my side also, but not sure whether it is technically supported. You may try AF-MDB sync

                  • Re: PI ICU Fast Load Interfaces

                    Dear all,


                    PI Interface Configuration Utility (ICU) is the utility to configure OSIsoft interfaces. It maintains the .BAT files that are used by interface instances - independently if an interface is launched as a service or interactively. In addition to updating the configuration of an interface instance in the .BAT file - as a kind of backup - ICU stores the configuration in the Module Database (MDB) under %OSI\Interfaces\<nterfaceNodeName>\<InterfaceInstance>. When loading the configuration of a particular interface instance in the ICU, it compares the configuration stored in that .BAT against the configuration in the MDB. In case of a mismatch, the user is prompted to decide between the .BAT file, the MDB configuration or to cancel loading the configuration.


                    When moving interface instances from one interface node to another the following procedure is appropriate:


                    - Install particular interface versions installed on the 'old' interface node to the 'new' interface node
                    - Copy .BAT files from the 'old' interface node to the corresponding folders on the 'new' interface node
                    - Use the ICU -> menu "Interface" -> "New Interface Instance from BAT file ..." and select one of the copied .BAT files.


                    When the ICU loads a .BAT file for the first time, it will create the corresponding entries in the MDB. As soon as the configuration exists redundantly (MDB and .BAT file) the ICU will compare both each time a particular interface instance is selected within the ICU. This said, I don't see any requirement to use another tool / method than the ICU to create MDB records.


                    It's recommended but not a requirement using the ICU. Interface instance services can also be created from a command prompt.


                    PI AF Link Subsystem is supposed to keep records in MDB the corresponding (selected) AF Database in sync except %OSI, %OSI_MCN, and %OSI_Managed. This behavior is by intention and there's no way to change it.