hurence / logisland.historian Goto Github PK
View Code? Open in Web Editor NEWa (big) data historian for IIoT
License: Apache License 2.0
a (big) data historian for IIoT
License: Apache License 2.0
As a user, I want to be able to zoom in/out on each chart type so that I can select a time interval of data accordingly to my mouse selection
Ensure that the UI is component-based and that the components developed meet the following criterias :
Also investigate:
As a user, I want to be able to import historical tags data in the form of CSV files so that I can easily
bulk load some existing tags
As an operator, I want the data collection to be smart enough to adapt sample rate accordingly to data change rate so that I saturate my database neither the network bandwith
It is used to:
According to the OPC specification, the scanner module is responsible for keeping the cached data fresh, but it is worth stressing that “freshness” of the data depends on the process state and can change in time drastically. The communication server (in order to optimize the data transfer costs) should adapt the sampling rate to current process control needs.
Logisland Historian must provide an OPC gateway
Logisland.Historian follows the requirements of the OPC specification to provide data access to OPC clients. It implements OPC Data Access (DA) version 2.0a and 3.0. of the OPC custom interface. Furthermore, Logisland.Historian is optimized for high performance and uses multithreaded technology to provide efficient response to client requests. This approach allows multiple clients to connect to and effectively use resources of the server.
Technical concern here : OPC DA is a Windows only feature based on DCOM, how do we make the bridge with JAVA cross platform world ?
frameworks and tools can be found here : http://www.opcconnect.com
As a user, I want to add a data source or multiple data sources so that when i have selected a or multiple data source i can select tags. I want to be able to edit or remove a data source
As a use, I want to schedule daily, hourly, minutely data pipeline transfer from one datasource to another so that I can backup or move data from the historian to another target
As an admin, I want to be warned by email if no data has been recorded since n minutes so that I check if something went wrong or not
Kerberos is supported
As a user, I want to be able to browse all the tags offered by an OPC server so that I can search, filter on groups/tag name and save a selection of item values to be regularlry polled into the historian.
As a user, I want to setup a connection to an existing datasource such as on OPC server, an MQTT broker, a kafka topic, an ftp site, a filesystem so that in can browse available tags, retrieve or inject data
As a user i want to be able to share a graph or part of a graph so that a colleague can see what i'm talking about
As a user, I want to replay the history of event changes for selected tags in my dashboard so that I can be helped to understand what happened right before a threshold has been crossed for example
I also want the alarms sets for example on thresholds (all of them) to be generated in a simulation window to show through alarms what went wrong at which time etc. The use case is diagnosis on data that we import to understand "what happened".
Not sure on which granularity the access rights should be set, but a minimum access rights must be provided on time series data ? on dashboards in the future ? etc. if the time serie is an heart beat from a patient in an hospital not all should be able to see this heart beat ? same if the tool is used to monitor hundreds of private homes in the future ...
As a user, I want to browse or query data through a standalone server, not a SolrEmbeded one.
This server must provide REST API as well as grapher html files
As a user I want to able to smooth (moving average) my data points so that I can visualise more clearly highly oscillating values
It is possible to connect the data historian to an LDAP directory (normally vert.x supports this) to authenticate people. A default should also be supported (simple files ?).
The data historian data must be allow access through SQL from the U to be able to drill down on particular issues.
It is possible to create PDF reports from specific sensors data / dashboards so as to create documents that an auditor can give to a customer (ex. Vincent).
Automate the generation of reports and deliver them in multiple at custom intervals (e.g. hourly, daily, weekly, or monthly). Deliver reports as Word or Excel documents, PDFs, and HTML files or even sent directly to a networked printer
As a user, I want to see trends on historical values so that I ca detect weak signals, or predict system behaviour before it actually happens
As a < type of user >, I want < some goal > so that < some reason >. (ex:As a user, I can backup my entire hard drive.)
as a user i want to be able to filter by date range
As a user, I want to create basic or calculation tags so that I can manage alias or formula based dynamic tags
As a user, I want to read a good documentation so that I don't waste my time finding out how to make it work
Thresholds must not only support to be a triggered when crossing a hardcoded value, but should also support to be configured to be crossed when being (for example) twice as much as the value of another time serie or the difference between two time series.
Thresholds can be set from a dynamic tag value
To support that, we need an expression language to express formulas => this can be done via aliasing
It is possible to embed vectorial designs (3D from CAD tools etc.) and position sensors on them and have this act as a map of problems (with colored points appearing on the designs when problems arise showing where the problem is...). Will serve to model floors, machines, pieces, and to locate sensors and therefore defects...
When a threshold is crossed, it should be able to trigger an action.
the supported actions must be :
It must be possible to attach to the email or the SMS an graph with the latest values of the sensor
All graphical representations must allow to display the threshold values as horizontal lines on graphs.
Security is a big concern, so it deserves a whole big Epic for itself
It is possible to extract data in Excel format as to be able to build reports/analysis/graphs outside of the data historian to give to customers
As a user, I want be able to select the language of the interface so that I can understand the product even if I do not speak english.
With the I18N support, we will be able to address the Localization into many languages
The data historian must support access to the data from third party tools using JDBC.
some use cases can be :
data historian should support some industry standard for thresholds and alarms.
One that seems to have traction is "ISA 18.2-2009 & EEMUA 191"
As a windows user, I want to connect my BI tools to the historian so that I can easily switch to this tool
As a user, I want my data to be automatically displayed with the correct unit so that I don't have to convert the values myself
As a user I want to visualise last current value of each selected tags as auto-updatable compact datable with threshold color code.
this widget should be realtime oriented (websocket on redis ?)
As a user, I want to manage all my events so that I can list, search, filter, define firering rules
holds all servers related issues (like opc, REST, ua stuff)
As a user, I want to know how scalable is that tool so that I know what are the read/write throughput, and how many data a single node can handle.
I also want to know the compression ratio of the time series data
As a user, I want to be provided with built-in advanced data retrieval modes so that I can analyse my data more in§depth
The following functions must be available for the selected tags
As an expert in diagnosis and to explain what happened (in replay mode on in live mode), I want to export the journal of alarms and actions so that it becomes a document that can be provided for legal issues.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.