Bryan Owen

"PI Interfaces – Keeping it simple (Part 2)"

Blog Post created by Bryan Owen on Feb 26, 2009

A systemic naming convention is helpful to automate management of numerous interface services. But there is still the pesky problem of uniqueness in the startup bat files.




This issue is normally handled by the PI-ICU (a.k.a. intensive care unit).  The Interface Configuration Utility helps create new interface services interactively during commissioning; however an automation interface is not provided.  Using ICU to manage 80 services could be somewhat error prone.




For example, consider multiple relational database interface services.  The startup file will usually differ by service id, pointsource and dsn. By convention, these parameters can all use a format based the pointsource string (eg. “SQLDB1”).




Since there isn’t really a built-in ‘grep|awk’ construct  for Windows, a Powershell function could help clone the new startup files by replacing parameters derived from the pointsource:




Function ReplaceRDBMSps { param([string]$oldps,[string]$newps)




Foreach-Object {$_ -replace $oldps, $newps} |






Some additional helpers could also leverage the naming convention, such as service creation.  A stop script would query windows service status, filter on the base interface name and issue stop commands. 




Startup sequence is probably important enough to setup manually. For this number of interface services, I certainly do not recommend the automatic services startup setting.  Launching startup using the group policy logon script mechanism provides a much more orderly start on reboot.




Simple! Well maybe. What about saving the interface startup parameters in the PI module database?  This important feature is provided by PI-ICU and drives layered management tools like automatic point synchronization and the SMT interface services control plug-in. There could be other limitations such as interfaces or APS connectors that don’t yet support multi-character pointsource or string service IDs.




The ICU will continue to support an interface node centric user experience.  Scale up for multiple interface nodes and services fits better in the PI system management tool suite.  SMT is also a good vantage point to manage service mobility between nodes, n-way buffering, and fail over schemas. 




13750osi8 Buffer> Add support for remote configuration using PI Management Subsystem.


16946osi8 SMTHost> Add plugin to edit ICU configuration remotely using management subsystem.




Obviously, the PLI enhancements above aren’t an all inclusive functional list for easing administration of interfaces but simple is good and we will continue to work in this direction!