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:38] – [MIN] su | iphist:index [2022/08/29 12:05] (current) – [Licensing] su | ||
---|---|---|---|
Line 4: | Line 4: | ||
===== Introduction ===== | ===== Introduction ===== | ||
+ | |||
+ | Intelligent Plant' | ||
+ | |||
+ | For many data sources (such as Modbus, MQTT, and more), it is possible to automatically forward tag values from the source using a simple one-click configuration. | ||
+ | |||
+ | Additionally, | ||
Line 15: | Line 21: | ||
+ | ===== 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 ==== | ||
+ | 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), | ||
- | =====Historical Vs. Snapshot===== | ||
+ | ===== Archiving Model ===== | ||
- | =====Functions and Aggregations===== | + | IP Historian supports multiple indexing models depending on the requirements of the data being recorded: |
- | ==== SNAPSHOT ==== | + | * "One Big Index" - optimised for constant or infrequently-changing values. |
+ | * "Index per Day/ | ||
- | Snapshot queries are used to request the current value of an instrument (or instruments). For example, you might have a digital thermometer that you can poll to find out what the current temperature is. When you perform a snapshot query, you don't need to specify any parameters other than the names of the instruments that you want to poll. | + | When recording process data, we normally recommend "Index per Month" as the optimal indexing period. |
- | ==== AVG ==== | ||
- | Returns the average value at interavals defined by the query interval ie adds up all values and returns the average | + | ===== Backing Up ===== |
- | ==== MIN ==== | + | |
- | Returns the minimum value for each interval (the lowest value observed in that time) | + | Indexes can be backed up and restored on another IP Historian instance. |
- | note, with the two filters applied - there is no loss in resolution of the minimum value, that minimum is still recorded | + | |
- | ==== MAX ==== | + | |
- | ==== STDDEV ==== | ||
- | ==== INTERP | + | ===== System Requirements ===== |
- | ==== PLOT ==== | + | See [[app_store_connect: |
- | Plot is a special type of function that returns | + | However, note the system requirements should be adjusted for the particular use-case |
- | Consider the following example. The highlighted points would be returned in a plot query. | + | ===== Configuration Best Practice ===== |
- | {{ : | + | Details to follow. |
- | ==== RAW ==== | ||
- | A raw query returns the unprocessed data for a tag. That is, the actual data points persisted in the historian. Note that this is unlikely to be same as the rate at which a sensor data emits readings as a correctly configured historian will be exercising Compression and Exception (see above). | + | ===== Licensing ===== |
- | Raw queries are generally not advised as they are likely to return a bulky result-set that may well be cropped by size constraints. If connecting | + | When connecting |
+ | IP Historian deployments that are not directly connected to the Industrial App Store (e.g. deployments on a PIN or PCN) require a paid-for licence that is issued in 1000 tag increments. | ||
- | =====Specifying Date-Ranges===== | ||
- | Historical data queries will expect a date-range. | + | ==== How to find your Machine ID ==== |
- | For '' | + | It is necessary |
- | Relative values can be specified using '' | + | Go to your Data Sources and click "Details" on the historian that you wish to use. |
- | =====Archiving Model===== | + | |
+ | {{: | ||
- | =====Backing Up===== | + | {{: |
+ | Under Action, click " | ||
- | =====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.1624635535.txt.gz · Last modified: 2021/06/25 15:38 by su