Fundamental to the series transform graph is the concept of Data Schema. A data schema defines the structure of some piece of data. A common example of a data schema is seen in the Table view of a NiagaraAX history with several columns. For example, in the following table, the columns: Timestamp, Trend Flags, Status, and Value together are the Schema of the history.
Each history column has an associated name and data type. The Timestamp column is always an absolute time (BAbsTime) value. The data type of the Value column is based on what type of data the history represents. If the history is placed on a Boolean point, the Value column contains Boolean data. If the point is a Numeric point, the value contains Numeric data.
You configure each graph node on the wiresheet to create an output schema for other graph nodes to use when setting up the desired data transformation. This is what makes the process of manipulating history data and other forms of data possible. To manipulate data, such as the data in a history, you must know the data type (format) of the data. Knowing the data type allows you to assign different value transformations and calculations to specific pieces of the data.
As an example, imagine that you want to scale the value of a history record by a factor of 3.9. How would you know that the Value column can be scaled? If the Value column contains Boolean data, you cannot scale the data by number (what is 3.9 times False?). By knowing both the name and the data type of the column that you want to manipulate, you can create intelligent data transformations that give you more information about that data.
When designing the graph node, you only need the output schema of the source graph node to configure the consuming graph node. By configuring your graph node against the input graph node schema, you are configuring how the graph node will process the data returned by the source graph node at the time the graph is executed.
Copyright © 2000-2014 Tridium Inc. All rights reserved.