iphist:index
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
iphist:index [2021/06/25 15:49] – [Backing Up] su | iphist:index [2022/08/29 12:05] (current) – [Licensing] su | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Intelligent Plant' | + | Intelligent Plant' |
+ | |||
+ | For many data sources (such as Modbus, MQTT, and more), it is possible | ||
+ | |||
+ | Additionally, | ||
- | eg. Modbus, OPC, MQTT, etc.. The majority of data can all be automatically recorded and mostly filtered with default exception and compression rules. | ||
=====How Historians Work - Exception and Compression===== | =====How Historians Work - Exception and Compression===== | ||
Line 16: | Line 20: | ||
</ | </ | ||
+ | |||
+ | ===== Data Query Types ===== | ||
+ | |||
+ | IP Historian supports a number of different types of data queries. | ||
+ | |||
+ | ==== Snapshot ==== | ||
+ | |||
+ | Snapshot queries return the current values of the tags polled. | ||
+ | |||
+ | |||
+ | ==== Raw ==== | ||
+ | |||
+ | A raw query returns the unprocessed data for a tag i.e. the actual data points persisted in the historian' | ||
+ | |||
+ | Raw queries are generally not advised as they are likely to return a bulky result-set that may well be cropped by size constraints. In the majority of cases, a plot or aggregated data query can return a data set that is acceptable for the task at hand. | ||
+ | |||
+ | |||
+ | ==== Plot ==== | ||
+ | |||
+ | Plot queries return a best-fit data set for a given query time range and level of granularity, | ||
+ | |||
+ | |||
+ | ==== Values-at-Times ==== | ||
+ | |||
+ | A values-at-times query is used to retrieve the value of a tag at specified points in time. IP Historian will return the closest raw value at or before each specified sample time. | ||
+ | |||
+ | |||
+ | ==== Aggregated ==== | ||
+ | |||
+ | Aggregated queries can be used to perform ad hoc processing and filtering of raw historical data based on a query time range and sample interval. IP Historian supports a number of aggregation functions, as described below: | ||
+ | |||
+ | == ANNOTATIONCOUNT == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the number of annotations defined on a tag in each bucket. | ||
+ | |||
+ | == AVG == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and computes the mean value of a tag in each bucket. | ||
+ | |||
+ | == COUNT == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the number of raw samples in each bucket. | ||
+ | |||
+ | == DELTA == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the signed difference between the first and last raw samples in each bucket. | ||
+ | |||
+ | == INTERP == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and interpolates a value at each bucket start and/or end time using the values from the previous and current buckets. | ||
+ | |||
+ | == MIN == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the minimum value from each bucket. Note that the original raw samples are returned, so the values are the " | ||
+ | |||
+ | == MAX == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the maximum value from each bucket. Note that the original raw samples are returned, so the values are the " | ||
+ | |||
+ | == PERCENTBAD == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and computes the percentage of raw samples in each bucket that have a quality flag set to " | ||
+ | |||
+ | == PERCENTGOOD == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and computes the percentage of raw samples in each bucket that have a quality flag set to " | ||
+ | |||
+ | == RANGE == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the absolute difference between the first and last raw samples in each bucket. | ||
+ | |||
+ | == STDDEV == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the standard deviation for each bucket. | ||
+ | |||
+ | == TAVG == | ||
+ | |||
+ | Calculates a time-based rolling average for a tag. | ||
+ | |||
+ | == VARIANCE == | ||
+ | |||
+ | Groups the raw data for a tag into buckets using the specified sample interval and returns the variance for each bucket. | ||
+ | |||
+ | |||
+ | ==== Annotations ==== | ||
+ | |||
+ | IP Historian allows annotations to be recorded against tags at specific points in time. Annotations can be used to track or highlight events a tag value exceeding an operating limit, an action taken as part of a workflow, and so on. | ||
+ | ==== Specifying Query Time Ranges ==== | ||
- | =====Historical Vs. Snapshot===== | + | As part of the Data Core data connectivity layer, IP Historian can accept query time ranges specified as both absolute timestamps (using standard ISO 8601 formatting), |
- | =====Functions and Aggregations===== | + | ===== Archiving Model ===== |
- | ==== SNAPSHOT ==== | + | IP Historian supports multiple indexing models depending on the requirements of the data being recorded: |
- | Snapshot queries are used to request the current value of an instrument (or instruments). For example, you might have a digital thermometer | + | * "One Big Index" - optimised for constant |
+ | * "Index per Day/ | ||
- | ==== AVG ==== | + | When recording process data, we normally recommend "Index per Month" as the optimal indexing period. |
- | Returns the average value at interavals defined by the query interval ie adds up all values and returns the average | ||
- | ==== MIN ==== | ||
- | Returns the minimum value for each interval (the lowest value observed in that time) | + | ===== Backing Up ===== |
- | note, with the two filters applied - there is no loss in resolution of the minimum value, that minimum is still recorded and delivered. | + | |
- | ==== MAX ==== | + | |
- | Returns the maximum value for each interval - as above this is the maximum observed value in that interval | + | Indexes can be backed up and restored on another IP Historian instance. |
- | ==== STDDEV ==== | ||
- | Returns the standard deviation of the values in each interval | + | ===== System Requirements ===== |
- | ==== INTERP ==== | + | See [[app_store_connect: |
- | returns an interpolated value for the exact time of the interval (taking the value recorded before and after the interval) - if interp is used at a simliar rate to the original | + | However, note the system requirements should be adjusted |
- | ==== PLOT ==== | + | |
- | Plot is used to draw applicable graphs of data with minimal data exchange and loss of data. for any interval the maximum and minimum value will be retained, along with the shape of the values that were recorded as far as can be done with the interval passed. | + | ===== Configuration Best Practice ===== |
+ | Details to follow. | ||
- | ==== RAW ==== | + | ===== Licensing ===== |
- | A raw query returns | + | When connecting IP Historian to the Industrial App Store, there is no licensing cost. An initial 1000 tag licence |
- | Raw queries | + | IP Historian deployments that are not directly connected |
- | =====Specifying Date-Ranges===== | + | ==== How to find your Machine ID ==== |
- | Historical data queries will expect a date-range. | + | It is necessary to know the Machine ID of your system for licensing to be completed. To find your Machine ID, you must first open App Store Connect and select " |
- | For '' | + | Go to your Data Sources |
- | Relative values can be specified using '' | + | {{:app_store_connect: |
- | =====Archiving Model===== | + | |
- | IPHist supports | + | {{: |
- | A Single index for all data (recommended for constants, or values that change infrequently) | + | Under Action, click " |
- | An index per year, month, etc.. | + | |
- | we normally recommend index per month as the indexing period for process data. | + | |
- | =====Backing Up===== | + | |
- | Indexes can be backed up and restored on another IPHist instance, | + | {{: |
- | =====System Requirements===== | + | |
+ | And at the bottom you will see the Machine ID for your system. | ||
- | =====Licensing===== | + | {{: |
+ | =====IPHist - IPHist replication===== | ||
+ | Connections can be setup in datacore to provide reslient transfer of historical data between IPHist instances. this means that a loss in connectivity will not result in a permanent loss of data on the remote IPHist to the datasource. that data will be back filled, and consistent. | ||
+ | For further information regarding replication and data resilience, contact support@intelligentplant.com. | ||
+ | =====Other historian - IPHist replication, |
iphist/index.1624636146.txt.gz · Last modified: 2021/06/25 15:49 by su