Skip to main content
Data Management
PI System
Technology

Deleting Dynamic Types in OSIsoft PI Using OMF and PI Web API: A Detailed Exploration

Facing issues with deleting dynamic types in the PI System using OMF and PI Web API? Explore common causes and workarounds to resolve this challenge.

Roshan Soni

4 min read

Deleting Dynamic Types in OSIsoft PI Using OMF and PI Web API: A Detailed Exploration

When working with dynamic types in OSIsoft’s PI System, especially using the Open Message Format (OMF), engineers often encounter issues with deleting these types. This becomes even trickier when these types are managed through the PI Web API. If you've experienced the hiccup of your dynamic type still appearing within the PI System Explorer despite being supposedly deleted – you're not alone. Let’s delve into why this could happen and how to potentially troubleshoot and resolve this challenge.

Understanding Dynamic Types and OMF

OMF allows you to define and send messages to the PI System, which can involve creating and deleting dynamic types among other operations. Dynamic types are pivotal for managing data streams because they provide a flexible structure to handle information without predefined static setups.

The Deletion Dilemma

Many users report that while the PI Web API returns a successful status code when attempting to delete a dynamic type, these types still persist in the PI System Explorer. Moreover, these types remain functional, allowing the creation of containers, which shouldn't be possible post-deletion.

Common Causes and Workarounds

  1. Unit of Measure Issues: A mismatch in the unit of measure (UOM) in your OMF type definition and that in the PI System can inhibit deletion. Ensure consistency and correct any discrepancies when defining your dynamic type.

  2. Version Considerations: An outdated version of the PI Web API might lack bug fixes and improvements that address these deletion issues. Regularly updating to the latest version can drastically reduce compatibility and functioning errors.

  3. Caching Problems: The PI Web API caches information related to types and containers. This cache might not immediately sync with state changes, such as deletions. Using the "Cache-Control: no-cache" header in your API requests can force the API to bypass its cache and interact with the most current data state directly.

  4. User Permissions: Having insufficient rights to delete types can be a hurdle. Double-checking and confirming the permissions can bypass this problem. The user performing these operations should have adequate rights akin to those needed for creation and modification tasks.

  5. Manual Deletion as a Remedy: Interestingly, users find success by resorting to manual deletion via the PI System Explorer. This approach seems to correctly update all caches and internal references, preventing errors in subsequent API operations.

Additional Insights and Tips

  • Asynchronous Deletion: After deleting a type, subsequent API operations might reflect the old state due to delayed synchronization. Monitoring system responses post a manual explorer deletion provides clues toward system behavior.
  • Monitoring Logs and Errors: Utilize system logs and error messages for further insights. They might throw light on permission issues or system exceptions, providing vital clues for troubleshooting.

Conclusion

Deleting dynamic types within the PI System using OMF and the PI Web API can sometimes be problematic due to various technical nuances. By ensuring the accuracy of your definitions, maintaining updated software, managing caching effectively, and verifying permissions, you can mitigate these issues. For persistent challenges, manual deletion provides a clear path to rectify discrepancies between expected and actual system states. Understanding the interplay between these factors is your first step toward mastering efficient type management with OSIsoft’s PI tools.

We hope this post helps when you encounter stubborn dynamic types in the PI System. Happy troubleshooting!

Tags

#OSIsoft PI
#Troubleshooting
#PI Web API
#Data Management
#OMF
#Dynamic Types

About Roshan Soni

Expert in PI System implementation, industrial automation, and data management. Passionate about helping organizations maximize the value of their process data through innovative solutions and best practices.

Sign in to comment

Join the conversation by signing in to your account.

Comments (0)

No comments yet

Be the first to share your thoughts on this article.

Related Articles

Enhancing PI ProcessBook Trends with Banding and Zones: User Needs, Workarounds, and the Road Ahead

A look at the user demand for trend banding/zoning in OSIsoft PI ProcessBook, current VBA workarounds, UI challenges, and how future PI Vision releases aim to address these visualization needs.

Roshan Soni

Migrating PIAdvCalcFilVal Uptime Calculations from PI DataLink to PI OLEDB

Learn how to translate PI DataLink's PIAdvCalcFilVal advanced calculations—like counting uptime based on conditions—into efficient PI OLEDB SQL queries. Explore three practical approaches using PIAVG, PIINTERP, and PICOunt tables, and get tips for validation and accuracy.

Roshan Soni

Understanding PI Web API WebID Encoding: Can You Generate WebIDs Client-Side?

Curious about how PI Web API generates WebIDs and whether you can encode them client-side using GUIDs or paths? This article explores the encoding mechanisms, current documentation, and best practices for handling WebIDs in your applications.

Roshan Soni