Data Management
Real-Time Data
OSIsoft PI

A Beginner's Guide to Learning the OSIsoft PI System

Unlock the power of real-time data management and analytics with OSIsoft PI System. This beginner's guide provides a structured learning path and key resources to help you effectively learn the PI System.

Roshan Soni

9 min read

In today's data-driven world, the ability to collect, analyze, and visualize real-time data is crucial for making informed decisions. The OSIsoft PI System is a powerful suite of software tools designed to handle high-fidelity, time-series data from various sources. Whether you're an engineer, data scientist, or software developer, learning the PI System can significantly enhance your skill set and open up new opportunities in industries like energy, manufacturing, and utilities.

This blog post will guide you through the steps to start learning the OSIsoft PI System effectively, providing a structured learning path and highlighting key resources to accelerate your journey.


Understanding the OSIsoft PI System

Before diving into the learning process, it's essential to grasp what the PI System is and its core components.

What is the PI System?

The PI System is an enterprise infrastructure for managing real-time data and events. It collects data from various sources like sensors, equipment, and control systems, storing it in a time-series database. The system enables users to:

  • Collect: Gather data from multiple sources in real-time.
  • Store: Maintain high-fidelity historical data for analysis.
  • Analyze: Perform calculations and derive insights from the data.
  • Visualize: Create dashboards and displays to monitor operations.
  • Share: Distribute data and insights across the organization.

Structured Learning Path

To master the PI System, it's beneficial to follow a structured learning path that builds upon each component's understanding.

1. Start with the Basics

PI System Overview

  • Objective: Understand the overall architecture and capabilities.
  • Focus Areas:
    • Core components (PI Data Archive, PI Asset Framework).
    • How data flows through the system.
    • Use cases in different industries.

2. Dive into Core Components

PI Data Archive

  • Objective: Learn how data is stored and retrieved.
  • Focus Areas:
    • Time-series data storage concepts.
    • Data compression and archiving.
    • Basic administration tasks.

PI Interfaces and Connectors

  • Objective: Understand how data is collected from sources.
  • Focus Areas:
    • Configuring interfaces for different data sources.
    • Data collection mechanisms.
    • Troubleshooting data collection issues.

PI Asset Framework (AF)

  • Objective: Organize data into a meaningful structure.
  • Focus Areas:
    • Building AF hierarchies and models.
    • Defining elements and attributes.
    • Utilizing templates for consistency.

3. Visualization and Analysis

PI Vision

  • Objective: Learn to create interactive dashboards.
  • Focus Areas:
    • Building displays and trends.
    • Using symbols and graphics.
    • Sharing displays with stakeholders.

PI DataLink

  • Objective: Integrate PI data with Microsoft Excel.
  • Focus Areas:
    • Retrieving data for reports.
    • Performing ad-hoc analyses.
    • Automating data refreshes.

4. Advanced Topics for Developers

As a software engineer with experience in Python and C#, you can leverage your skills to interact with the PI System programmatically.

PI AF SDK (C#)

  • Objective: Access and manipulate PI System data using C#.
  • Focus Areas:
    • Setting up development environment.
    • Reading and writing data.
    • Managing AF elements and attributes.

PI Web API (Python and C#)

  • Objective: Interact with PI System over RESTful services.
  • Focus Areas:
    • Authenticating and making API calls.
    • Fetching and updating data.
    • Handling JSON responses in your applications.

Scripting and Automation with Python

  • Objective: Automate tasks and perform data analysis.
  • Focus Areas:
    • Using libraries like requests for API calls.
    • Data manipulation with pandas.
    • Integrating with data science workflows.

5. Hands-On Practice

  • Set Up a Development Environment: If possible, get access to a test PI System environment.
  • Work on Sample Projects: Implement small projects to reinforce learning.
  • Contribute to Community Projects: Engage with open-source projects or examples provided by the community.

Essential Resources

To support your learning journey, make use of the following resources:

YouTube Channels

  1. OSIsoft Learning

  2. PI Square Community Videos

Online Documentation

  • OSIsoft PI System Documentation

Communities and Forums

Social Media

LinkedIn Pages

  1. OSIsoft

  2. PI Developers Club

Twitter Accounts

  1. OSIsoft (@OSIsoft)

  2. PI Developers Club (@PIDevClub)


Practical Tips for Developers

As a seasoned software engineer, you can accelerate your learning by focusing on areas that leverage your programming skills.

Integrating PySpark with PI System

  • Objective: Process PI System data using PySpark for big data analytics.
  • Approach:
    • Use the PI Web API to fetch data into your PySpark environment.
    • Handle data transformations and analyses in a distributed manner.
    • Consider data volume and optimize for performance.

Accessing Full PI Point Data in Python

  • Use PI Web API:

    • Fetch complete historical data for a PI Point.
    • Handle authentication (Kerberos for Windows credentials).
    • Manage SSL certificates and warnings appropriately.
  • Sample Code Snippet:

    import requests
    from requests_kerberos import HTTPKerberosAuth, OPTIONAL
    
    url = "https://your-piwebapi-server/piwebapi/streams/{webId}/recorded"
    auth = HTTPKerberosAuth(mutual_authentication=OPTIONAL)
    
    params = {
        'startTime': '*-1y',
        'endTime': '*',
        'maxCount': 100000
    }
    
    response = requests.get(url, auth=auth, params=params, verify=False)
    data = response.json()
    

Setting Up Development Environment

  • Windows vs. macOS:
    • PI System tools are primarily Windows-based.
    • Use virtual machines or remote desktops if on macOS.
    • Leverage cross-platform tools like PI Web API for development.

Conclusion

Learning the OSIsoft PI System is a valuable investment for professionals in industries reliant on real-time data. By following a structured learning path, utilizing available resources, and leveraging your existing programming skills, you can effectively master the PI System.

Remember to engage with the community, participate in forums, and continuously explore new features and updates. The combination of practical experience and community support will accelerate your proficiency and open up new opportunities in your career.


Additional Resources

  • OSIsoft Learning Courses

  • PI World Conferences


Happy learning, and welcome to the world of real-time data with the OSIsoft PI System!

Tags

#OSIsoft PI
#PI System
#Data Management
#Real-time Data
#Data Analytics
#Beginner's Guide

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

Developing Expertise in PI System and Related Technologies: A Comprehensive Training Roadmap

This blog outlines a comprehensive training roadmap for developing expertise in the PI System and related technologies. Structured over four weeks, the program covers essential technologies like the PI System, Asset Framework, and various APIs, providing a strong foundation for data management and analytics.

Roshan Soni

Traversing an AF Database Hierarchy to Count All Elements Using OSIsoft AF SDK

Learn how to use the OSIsoft AF SDK in C# to traverse an AF database and count all elements within its hierarchy. This blog post provides a comprehensive guide with code examples for connecting, traversing, and counting AF elements.

Roshan Soni

Exporting Partial AF Databases into Well-Formed XML: Strategies and Best Practices

Explore strategies for exporting part of an AF database into a single, well-formed XML file, ensuring integrity and ease of re-import in PI System.

Roshan Soni