Skip to main content

XMPro Control Insight is a Python library designed for monitoring and analyzing industrial control loops using various performance metrics. This package provides an easy-to-use framework to measure key performance indicators (KPIs) related to control systems and identify potential issues such as saturation, tuning problems, and disturbances.

Project description

XMPro Control Insights

XMPro Control Insights is a Python library for monitoring and analyzing the performance of industrial control loops using key performance indicators (KPIs). This package offers a flexible framework to measure metrics and detect control system issues such as saturation, tuning problems, and disturbances.

Features

  • Built-in Metrics: Includes metrics such as Service Factor, OP Saturation, PV Saturation, Integral Absolute Error, and more.
  • Custom Metrics: Allows for the creation of custom metrics by extending the Metric abstract base class.
  • Configurable Analysis: Supports custom configuration for different control loop settings.
  • Control Loop Management: Use ControlLoop and ControlLoopMonitor classes to manage and analyze multiple control loops.
  • Factory Pattern: Easily create metrics using the MetricFactory.

Installation

Install the package via pip:

pip install xmci

Usage

Create a control loop, add metrics, and analyze the data:

from xmci import ControlLoop, MetricFactory, MetricType
from datetime import datetime, timedelta

data = {
    'mode': [1, 1, 0, 1],
    'op': [10, 50, 90, 100],
    'pv': [25, 30, 40, 45],
    'sp': [30, 35, 40, 50],
    'timestamp': [datetime.now(), datetime.now() + timedelta(minutes=1), ...]
}

config = {'op_high_limit': 100, 'pv_high_limit': 80}

# Create a control loop and add a metric
loop = ControlLoop('Compressor Loop', data, config)
loop.add_metric(MetricType.OP_SATURATION, MetricFactory.create(MetricType.OP_SATURATION))

# Analyze the control loop
results = loop.analyze()
print(results)

Monitor multiple control loops:

from xmci import ControlLoopMonitor

monitor = ControlLoopMonitor()
monitor.add_control_loop(loop)
all_results = monitor.analyze_all()
print(all_results)

Dependencies

  • numpy: For numerical computations.
  • datetime: To handle timestamps.

License

This package is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmci-0.0.35.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xmci-0.0.35-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file xmci-0.0.35.tar.gz.

File metadata

  • Download URL: xmci-0.0.35.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for xmci-0.0.35.tar.gz
Algorithm Hash digest
SHA256 67d68eebc6d455cee4912e4cdf99d2891307c35d8e24903fc83af2d94f97fcf2
MD5 9724391e9c62b4018a20a8a02d52f5bb
BLAKE2b-256 fb7d8aebbbf1cd65623ea8cd877bb5f80421948d011a9ddd87cc3c4da6dc8f85

See more details on using hashes here.

File details

Details for the file xmci-0.0.35-py3-none-any.whl.

File metadata

  • Download URL: xmci-0.0.35-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for xmci-0.0.35-py3-none-any.whl
Algorithm Hash digest
SHA256 7c3974d967ecd877d381ecd69dd49df31b3c1ff1f0153fd725de7c1fe38871a7
MD5 928a7b9815df33f797f1c96df6886eb9
BLAKE2b-256 5db920df0d63a8048f45ea4b9159885b337f627007bb2f0b514172eaf3de7c59

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page