All Projects → lkev → wtphm

lkev / wtphm

Licence: GPL-3.0 license
SCADA data pre-processing library for prognostics, health management and fault detection of wind turbines. Successor to https://github.com/lkev/wt-fdd

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to wtphm

Opc
OPC DA client in Golang for monitoring and analyzing process data based on Windows COM.
Stars: ✭ 113 (+197.37%)
Mutual labels:  scada
prickly-pete
A script using Docker to quickly bring up some honeypots exposing lots of services. For research, reconnaissance, and fun. (DISCLAIMER may not be fun, not to be taken internally, aim away from face)
Stars: ✭ 29 (-23.68%)
Mutual labels:  scada
awesome-energy-forecasting
list of papers, code, and other resources
Stars: ✭ 31 (-18.42%)
Mutual labels:  wind-energy
Trisis Triton Hatman
Repository containting original and decompiled files of TRISIS/TRITON/HATMAN malware
Stars: ✭ 178 (+368.42%)
Mutual labels:  scada
Iobroker.vis
Visualisation for ioBroker platform.
Stars: ✭ 242 (+536.84%)
Mutual labels:  scada
TcOpen
Application framework for industrial automation built on top of TwinCAT3 and .NET.
Stars: ✭ 187 (+392.11%)
Mutual labels:  scada
Cutehmi
CuteHMI is an open-source HMI (Human Machine Interface) software written in C++ and QML, using Qt libraries as a framework. GitHub repository is a mirror!
Stars: ✭ 90 (+136.84%)
Mutual labels:  scada
ma-core-public
Mango Automation Core public code
Stars: ✭ 66 (+73.68%)
Mutual labels:  scada
HVACScanner
Locates Honeywell/Tridium/Niagara HVAC JACEs/Controllers via HTTP fingerprints/strings. Very handy for vulnerability/pentesting.
Stars: ✭ 26 (-31.58%)
Mutual labels:  scada
SVDD-Python
Python code for abnormal detection using Support Vector Data Description (SVDD)
Stars: ✭ 118 (+210.53%)
Mutual labels:  fault-detection
Oshmi
SCADA HMI for substations and automation applications.
Stars: ✭ 180 (+373.68%)
Mutual labels:  scada
Pyscada
PyScada is a open source scada system that uses the Django framework as backend
Stars: ✭ 233 (+513.16%)
Mutual labels:  scada
nalu-wind
Solver for wind farm simulations targeting exascale computational platforms
Stars: ✭ 85 (+123.68%)
Mutual labels:  wind-energy
Sharpscada
C# SCADA
Stars: ✭ 2,043 (+5276.32%)
Mutual labels:  scada
turbinesFoam
Actuator line modeling extension library for OpenFOAM.
Stars: ✭ 63 (+65.79%)
Mutual labels:  wind-energy
Pycomm3
A Python Ethernet/IP library for communicating with Allen-Bradley PLCs.
Stars: ✭ 102 (+168.42%)
Mutual labels:  scada
ZKShS
Search shodan without any knowledge about its queries
Stars: ✭ 37 (-2.63%)
Mutual labels:  scada
iot-master
物联大师是开源免费的物联网智能网关系统,集成了标准Modbus和主流PLC等多种协议,支持数据采集、公式计算、定时控制、自动控制、异常报警、流量监控、Web组态、远程调试等功能,适用于大部分物联网和工业互联网应用场景。
Stars: ✭ 119 (+213.16%)
Mutual labels:  scada
tahu
Eclipse Tahu addresses the existence of legacy SCADA/DCS/ICS protocols and infrastructures and provides a much-needed definition of how best to apply MQTT into these existing industrial operational environments.
Stars: ✭ 132 (+247.37%)
Mutual labels:  scada
Industrial-Security-Auditing-Framework
ISAF aims to be a framework that provides the necessary tools for the correct security audit of industrial environments. This repo is a mirror of https://gitlab.com/d0ubl3g/industrial-security-auditing-framework.
Stars: ✭ 43 (+13.16%)
Mutual labels:  scada

WTPHM

The Wind Turbine Prognostics and Health Management library processes wind turbine events (also called alarms or status) data, as well as operational SCADA data (the usually 10-minute data coming off of wind turbines) for easier fault detection, prognostics or reliability research.

Turbine alarms often appear in high numbers during fault events, and significant effort can be involved in processing these alarms in order to find what actually happened, what the root cause was, and when the turbine came back online. This module solves this by automatically identifying stoppages and fault periods in the data and assigning a high-level "stoppage category" to each. It also provides functionality to use this info to label SCADA data for training predictive maintenance algorithms.

Although there are commercial packages that can perform this task, this library aims to be an open-source alternative for use by the research community.

Please reference this repo if used in any research. Any bugs, questions or feature requests can be raised on GitHub. Can also reach me on twitter @leahykev.

This library was used to build the "batch creation" and "data labelling" steps of this paper.

Installation

Install using pip!

pip install wtphm

Documentation

Full documentation and user guide can be found on readthedocs.

A local copy of the docs can be built by running docs/build_docs.bat with sphinx installed.

Is my Data Compatible?

The data manipulated in this library are turbine events/status/alarms data and 10-minute operational SCADA data. They must be in the formats described below.

Event Data

The event_data is related to any fault or information messages generated by the turbine. This is instantaneous, and records information like faults that have occurred, or status messages like low- or no- wind, or turbine shutting down due to storm winds.

The data must have the following column headers and information available:

  • turbine_num: The turbine the data applies to
  • code: There are a set list of events which can occur on the turbine. Each one of these has an event code
  • description: Each event code also has an associated description
  • time_on: The start time of the event
  • stop_cat: This is a category for events which cause the turbine to come to a stop. It could be the functional location of where in the turbine the event originated (e.g. pitch system), a category for grid-related events, that the turbine is down for testing or maintenance, in curtailment due to shadow flicker, etc.
  • In addition, there must be a specific event code which signifies return to normal operation after any downtime or abnormal operating period.

SCADA/Operational data

The scada_data is typically recorded in 10-minute intervals and has attributes like average power output, maximum, minimum and average windspeeds, etc. over the previous 10-minute period.

For the purposes of this library, it must have the following column headers and data:

  • turbine_num: The turbine the data applies to
  • time: The 10-minute period the data belongs to
  • availability counters: Some of the functions for giving the batches a stop category rely on availability counters. These are sometimes stored as part of scada data, and sometimes in separate availability data. They count the portion of time the turbine was in some mode of operation in each 10-minute period, for availability calculations. For example, maintenance time, fault time, etc. In order to be used in this library, the availability counters are assumed to range between 0 and n in each period, where n is some arbitrary maximum (typically 600, for the 600 seconds in the 10-minute period).
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].