Skip to main content

PI2eLogger

Contributors:

PI2eLogger Overview

Overview

PI2eLogger is an integration application that automates the logging of plant events into eLogger by listening to real-time data events from OSIsoft's PI Data Archive. It uses websockets to connect to Asset Framework attributes linked to PI Points, enabling immediate detection of new, updated, and deleted values through the PI Web API. This automation eliminates manual data entry, streamlines event processing, and helps operators focus on plant operations rather than logging.

The application is configured via a simple JSON file and does not require a database for configuration storage. Built with Node.js, it provides a websocket service, a REST API, and a React.js client for monitoring system events and status. Email notifications are supported for alerting on system issues.

Goals

  • Automate Plant Event Logging: Use PI data to automatically log common plant events such as breaker status changes, pump starts/stops, and turbine signals.
  • Reduce Operator Workload: Minimize manual logging, especially during critical periods like startups, shutdowns, and trips, allowing operators to focus on plant operations.
  • Improve Data Quality: Ensure event logs are accurate, timely, and consistent, supporting compliance and operational analysis.

Challenges

  • Event Schema Handling: The PI Web API delivers different schemas for new, updated, and deleted values, requiring robust real-time parsing and logic.
  • Stepped Values & Exception Deviation: For low-frequency or stepped PI Points, exception deviation can delay data delivery and result in inaccurate timestamps. Disabling exception deviation may be necessary for real-time accuracy.
  • Digital Set Support: Digital (enumerated) PI Points have unique data structures that require special handling.
  • Limited Documentation: Sparse documentation and lack of strong typing in the PI Web API made parsing and handling websocket data events challenging.