Giter Site home page Giter Site logo

gridprotectionalliance / openxda Goto Github PK

View Code? Open in Web Editor NEW
17.0 31.0 9.0 1.44 GB

eXtensible Disturbance Analytics

License: MIT License

C# 9.12% Batchfile 0.01% PowerShell 0.01% CSS 2.07% JavaScript 84.64% XSLT 0.01% TypeScript 0.74% Makefile 0.01% HTML 1.60% Rich Text Format 0.28% TSQL 1.23% Roff 0.01% ASP.NET 0.01% Sass 0.05% Less 0.13% SCSS 0.13%
fault-calculations fault-distance automated-analytics extensible-disturbance-analytics disturbance-records

openxda's Introduction

IconopenXDA

eXtensible Disturbance Analytics

CodeQL

About

openXDA is an extension of work conducted in 2012 on openFLE for the Electric Power Research Institute (EPRI) which is posted under the project EPRIopenFLE.codeplex.com. The openFLE project included an open source C# parser for PQDIF formatted power quality files (IEEE 1159.3-2003).

openXDA continues to be expanded through active projects and forms the data layer for the 2014 EPRI project PQ Dashboard v1.0.3.

Overview

openXDA is an extensible platform for processing event and trending records from disturbance monitoring equipment such as digital fault recorders (DFRs), relays, power quality meters, and other power system IEDs. It includes a parser for COMTRADE, PQDIF, or E-max native formatted records, and demonstrations have been conducted using Schweitzer Engineering Laboratories (SEL) .eve files. Additional input formats are under development. openXDA can be used as a data integration layer and can facilitate the development of automated analytic systems. openXDA has been deployed in a number of major US utilities to perform automated fault distance calculations based on disturbance waveform data combined with line parameters. openXDA determines the fault presence and fault type, and uses 6 different single ended fault distance calculation methods to determine the line-distance to the fault. Additionally, if data is present for locations identified at each end of a line, a double-ended distance calculation is performed. For more information see: The BIG Picture - Open Source Software (OSS) for Disturbance Analytic Systems, Advanced Automated Analytics Using OSS Tools Presentation, Advanced Automated Analytics using OSS Tools Paper and openFLE overview.

How it Works

openXDA is a platform comprised of a back office service designed to consume all disturbance records that conform to any of the developed input formats, and a configuration manager that controls the operation of the service and the automated analytics. A graphical user interface (GUI) is provided to configure the openXDA database and the openXDA service.

Two Major Components

  • The openXDA service
    • Automatically discovers input data files.
    • Parses files into timestamp-value sets.
    • Calculates frequency domain values.
      • True RMS voltage and current magnitudes.
      • Sine wave curve fit to determine phase angles.
    • Determines fault presence.
    • Calculates fault type and fault distance.
    • Populates results folder and/or SQL Server database.
    • Stores trending values in openHistorian
    • Emails results to selected users.
  • The openXDA Manager
    • Configures the openXDA service.

Two Major Layers

  • Get Event Data
    • Reliably frees developers from the chore of parsing and positioning event data for analysis.
    • Automatically converts time domain data from IEDs into frequency domain values.
  • Perform Calculations
    • Determines event type
    • Performs distance to fault calculations
    • Sends email notifications
    • Logs trending data alarm excursions
    • openXDA can be easily extended with new distance algorithms.
    • Additional analytics can be included as new modules in the platform.

openXDA Overview

Where It Fits In: Where-It-Fits-In

Why openXDA?

Traditional disturbance analytic processes typically require manual retrieval of the data from a variety of substation devices, and a thorough knowledge of many different proprietary vendor software packages. Ultimately, the process requires a significant investment of staff time to retrieve, analyze, and notify, or publish results of the analysis. openXDA provides a platform that is designed for easy extension and integration into existing data processes to facilitate the development and deployment of fully automated analysis systems. An example system could produce automated fault recognition, type determination, and distance to fault calculations to be included in notifications, emails, or an event database. Systems built on the openXDA platform can produce analytic results as quickly as files can be retrieved from the remote devices. For installations where multiple substation devices are being used, openMIC can be used to expedite and simplify remote data retrieval. The openXDA platform is suitable for developing systems to automatically perform any analysis that is appropriate for data contained in disturbance records from IEDs.

Documentation and Support

  • Documentation for openXDA can be found on the openXDA wiki.
  • Documentation on all GPA products can be found on the GPA wiki.
  • Get in contact with our development team on our new discussion boards.

Deployment

Instructions on how to deploy openXDA can be found in the openXDA wiki

Contributing

If you would like to contribute please:

  1. Read the Coding Style Guidelines.
  2. Fork the repository.
  3. Work your magic.
  4. Create a pull request.

openxda's People

Contributors

adambhagemeyer avatar ajstadlin avatar arianalaur3n avatar chefsteph9 avatar clackner-gpa avatar eeparker avatar elwills avatar flelmend avatar gcsantos-gpa avatar gpa-jhyder avatar gsfbuildbot avatar jeffhwalker avatar pdinsdale avatar prestoncraw avatar ritchiecarroll avatar stephencwills avatar vitisadi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openxda's Issues

Exception when Configuring GTC.BreakerRestrikeResource

When the systems attempts to GetResource<FaultData.DataResources.GTC.BreakerRestrikeResource> and calls Configure on that Resource it throws an exception.

Object reference not set to an instance of an object.
at FaultData.DataSets.MeterDataSet.GetResource[T](Func1 resourceFactory) in D:\Projects\openXDA\Source\Libraries\FaultData\DataSets\MeterDataSet.cs:line 113

Recognize 'flat spot' in E-max waveform

A common failure mode for some E-max DFRs it a flat spot in the waveform. The bad data detection logic for openXDA needs to be modified to identify and report on this issue.
e-max flat noname

Prefault trigger setting by line

The prefault trigger is now a global setting. It would be more effective if it could be specified by line. i.e. modify FaultLocation.PrefaultTrigger from a global variable to line specific.

openXDA Database Install

While installing openXDA, my install follows the Walk through guide until after step 8. I receive an error message "Unable to connect to the database. Please verify the connection configuration and try again".

This is a fresh install of openXDA. I thought by the selections in step 5, the database should have been created?

sql ending comment

openXDA.sql script is missing end comment */ ??? I am getting this on install.

Reprocess FileGroup with no FileBlob

Using dD Workbench to reprocess a FileGroup that contains a DataFile with no FileBlob record associated with it produces a NullReferenceException. This is a regression from v2.6 that came about as a result of implementing the multi-node architecture. The dD Workbench reprocessing function merely pushes an analysis task into the analysis task queue, but the analysis node expects the files to have been uploaded to the database before triggering the analysis.

Expected behavior comes from the v2.6 version of openXDA, where data will first be retrieved from the file system before attempting to use the FileBlob records for analysis. This suggests that we may need to issue a command for the file processor node to reupload a file from the watch folder.

Allow same version Upgrade in Installer

The Installer throws an error when a new version of openXDA is installed because Windows does not check build numbers. The AllowSameVersionUpgrade property in WIX should be able to take care of this

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.