User Tools

Site Tools


iphist:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
iphist:index [2021/06/25 15:52] – [IPHist - IPHist replication] suiphist:index [2022/08/29 12:05] (current) – [Licensing] su
Line 5: Line 5:
 ===== Introduction ===== ===== Introduction =====
  
-Intelligent Plant's data historian is integrated as a part of DataCorethis is able to use data from any DataCore datasource, and to record data from that as subscribed to with DataStream+Intelligent Plant's data historian is integrated as a part of Data Core. As suchit can take advantage of Data Core'data streaming capabilities to observe and record incoming tag values from any other supported data source. 
 + 
 +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, IP Historian tags can be configured up-front to define source data source and tag name, allowing new source-to-destination tag mappings to be configured automatically as you create new historian tags. 
  
-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 17: Line 21:
  
  
 +===== Data Query Types =====
  
 +IP Historian supports a number of different types of data queries.
  
-=====Historical Vs. Snapshot=====+==== Snapshot ====
  
 +Snapshot queries return the current values of the tags polled.
  
-=====Functions and Aggregations===== 
  
-==== SNAPSHOT ====+==== Raw ====
  
-Snapshot queries are used to request the current value of an instrument (or instruments). For example, you might have digital thermometer that you can poll to find out what the current temperature isWhen 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.+A raw query returns the unprocessed data for tag i.e. the actual data points persisted in the historian's archive.
  
-==== AVG ====+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.
  
-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) +==== Plot ====
-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+Plot queries return a best-fit data set for a given query time range and level of granularity, suitable for visualisation in a chart. For every interval in the chart, the minimum and maximum values for a tag will be returned, as well as values that best represent the shape of the raw data (as far as is possible based on the requested granularity).
  
-==== STDDEV ==== 
  
-Returns the standard deviation of the values in each interval+==== Values-at-Times ====
  
-==== INTERP ====+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.
  
-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 data samples then it tends to return the same values that were recorded (within a reasonable tolerance as defined by exception and compression) if this is called at a resolution that is lower than that, it may miss maximums, and minimums 
-==== 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.+==== 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.
  
-==== RAW ====+== AVG ==
  
-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 sensor data emits readings as a correctly configured historian will be exercising Compression and Exception (see above)+Groups the raw data for a tag into buckets using the specified sample interval and computes the mean value of tag in each bucket
  
-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 to a Process Data Historian, it is far more efficient to request “Get Processed Data” with an “INTERP” function instead.+== 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.
  
-=====Specifying Date-Ranges=====+== DELTA ==
  
-Historical data queries will expect date-range.+Groups the raw data for tag into buckets using the specified sample interval and returns the signed difference between the first and last raw samples in each bucket.
  
-For ''start'' and ''end'', you can specify either an absolute value or a relative value.  Absolute values should be specified in ISO 8601 format (i.e. ''yyyy-MM-ddTHH:mm:ss'').  You can also include a suffix of ''Z'' to indicate a UTC time stamp, or you can specify an offset from UTC.  If no time zone information is provided, the date is assumed to be UTC.  For example, if you wanted to specify 3:30:35am on 01 August 2017 in Central US time, you could specify ''2017-08-01T03:30:35-06:00''.  +== INTERP ==
  
-Relative values can be specified using ''*'' to represent the current time.  For example: ''*-1d'' = "1 day before current time", ''*-27.5m'' = "27.5 minutes before current time", and so on.  Possible time units when specifying relative time stamp are: ''d'', ''h'', ''m'', ''s'', ''ms''. +Groups the raw data for a tag into buckets using the specified sample interval and interpolates value at each bucket start and/or end time using the values from the previous and current buckets.
-=====Archiving Model=====+
  
-IPHist supports +== MIN ==
  
-A Single index for all data (recommended for constants, or values that change infrequently) +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 returnedso the values are the "true" minimum values.
-An index per yearmonth, 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,  +== MAX ==
-=====System Requirements=====+
  
 +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 "true" maximum values.
  
-=====Licensing=====+== 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 "bad".
  
-IPHist instances that are connected to the Industrial App Store are free. +== PERCENTGOOD ==
-The free 1000 tag license is applied automatically, but increasing this tag count will be done free of charge by client request.+
  
-Instances that are not directly connected to the app store (on the PIN or PCN) are charged per 1000 tags+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 "good".
  
 +== 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), or as relative timestamps (e.g. 30 minutes before the current time).
 +
 +
 +===== Archiving Model =====
 +
 +IP Historian supports multiple indexing models depending on the requirements of the data being recorded:
 +
 +  * "One Big Index" - optimised for constant or infrequently-changing values.
 +  * "Index per Day/Month/Year" - stores data in an index that will periodically roll over to provide the best balance between data storage and query performance.
 +
 +When recording process data, we normally recommend "Index per Month" as the optimal indexing period.
 +
 +
 +===== Backing Up =====
 +
 +Indexes can be backed up and restored on another IP Historian instance. 
 +
 +
 +===== System Requirements =====
 +
 +See [[app_store_connect:system_requirements|See App Store Connect System Requirements]].
 +
 +However, note the system requirements should be adjusted for the particular use-case of the historian. If you intend to support historization of large data volumes and intensive data queries, a more powerful spec is required. Please consult with the Intelligent Plant support team for detailed guidance.
 +
 +===== Configuration Best Practice =====
 +
 +Details to follow.
 +
 +
 +
 +===== Licensing =====
 +
 +When connecting IP Historian to the Industrial App Store, there is no licensing cost. An initial 1000 tag licence is supplied, but can be increased free of charge by client request.
 +
 +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.
 +
 +
 +==== How to find your Machine ID ====
 +
 +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 "Configure Data Core"
 +
 +Go to your Data Sources and click "Details" on the historian that you wish to use.
 +
 +{{:app_store_connect:data_core_-_data_sources_selection.png?300|}} 
 +
 +{{:app_store_connect:data_core_-_details.png?500|}}
 +
 +Under Action, click "Configure Data Source Settings"
 +
 +{{:app_store_connect:data_core_-_configure_settings.png?300|}}
 +
 +And at the bottom you will see the Machine ID for your system. 
 +
 +{{:app_store_connect:data_core_-_machine_id.png?800|}}
 =====IPHist - IPHist replication===== =====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. 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.
  
-this can be configured by ..+For further information regarding replication and data resilience, contact support@intelligentplant.com.
  
 =====Other historian - IPHist replication, or vice-versa ===== =====Other historian - IPHist replication, or vice-versa =====
iphist/index.1624636367.txt.gz · Last modified: 2021/06/25 15:52 by su