Search the Community
Showing results for tags 'chain view'.
Seeq's grouping functionality is helpful when you want to align multiple conditions and signals, but a signal (or set of signals) only applies to a subset of the conditions. Grouping a signal with a condition will only display that signal during the grouped condition. For example, here I have two temperature signals and a condition for each signal. I have used Profile Search to identify the profile for each signal I would like to compare. When I use Chain View or Capsule Time, the default will cause both signals to show up during each capsule. In this Chain View, the information of Reactor Temperature 1 is not relevant during the Profile Reactor 3 condition and vice versa: In order to view only the relevant signal information, I can use the grouping functionality in Chain View and Capsule Time to compare the relevant signals during each condition: 1) Select grouping in the toolbar. 2) Navigate to the grouping icon next to the condition in the details pane and select the signal that corresponds to the condition. Select multiple signals, if necessary. I can also view this in Capsule Time. As an additional option, I can overlay both signals using the One Lane and One Axis selections in the tool bar:
Summary Chain View enables a nice visual of all the time periods stacked side-by-side; however, sometimes it is useful to create a new signal from all these capsules that has been scrunched together. This avoids the maximum limit of how many capsules can be shown in Chain View. Note this is different from "time warping" which realigns the samples by some amount. Signal scrunching keeps the relative sample alignment the same within each capsule - but it does move each "snippet" of the signal next to each other. Steps Here is a screenshot of all the signals and conditions needed for this analysis. Add signal to the display with the specified time range. Create the time periods, condition capsules, of interest. Using the Custom Condition tool, create a new capsule that surrounds all the capsules containing the data for the new signal. Note, the signal will start at the beginning of this capsule. Create Inverse of the time periods of interest that occurs within the 'Condition for New Signal'. This will be used to calculate the time lag between the capsules in the 'Condition for Time Periods of Interest'. $cftp.inverse().removeLongerThan(1wk).intersect($cfns) Create the signal snippets that occur only within the 'Condition for Time Periods of Interest' and the 'Condition for New Signal'. $t.within($cftp.intersect($cfns)) Create a new signal to calculate the delay between each of the 'Condition for Time Periods of Interest' capsules. 1.toSignal().aggregate(totalized(), $icfc, startKey()).convertUnits('h').toStep() Create a running sum of the delay - this will be used to shift all the snippets to the beginning of the 'Condition for New Signal' capsule. $dbtp.runningSum($cfns) Scrunch the signal. $ts.delay(0-$rsod, 1wk)
Here is a nice a simple example from a question emailed in this morning. This can be accomplished in a couple of minutes using a combination of Value Search to create a condition that captures our "Pump Running" state and Chain view to filter our trends to only those "Pump Running" time periods Step 1 - Create a condition that captures your event of interest. In our simple example that will be whenever the Stage tag is != to "OFF". This step can be much more complex and use the full range of tools in the "Identify" category to refine your search to exactly the periods relevant to your analysis. Step 2 - Switch to Chain View and zoom to range you want to look at. You can also now add any other signals that might be of interest to view in the context of your "Running" condition
FAQ: I've got a signal for which the average and standard deviation are believed to be drifting over time. When I view the average and standard deviation in calendar time, it isn't helpful because they are highly dependent upon the production grade that I am running. Is there a better way that I could be viewing my data to get a sense of the drift of the average and standard deviation by production grade over time? Solution 1: Histogram 1. Add your signal of interest and your production grade code signal to the display. 2. Create a condition for all production grades using formula: $gradeCode.toCondition() 3. Use the Histogram tool to calculate the average reactor temperature during each grade campaign and display them aggregated over production grade, and time. The same methods from step 3 can be applied to get a second histogram of the distribution of the standard deviation of the signal of interest by grade over time. Solution 2: Chain View 1. Add your signal of interest and your operating state signal to the display. 2. Use Formula to create a condition for all operating states: $stateSignal.toCondition() 3. Use the Signal from Condition tool to calculate the average temperature over the all operating states condition. 4. Use the Signal from Condition tool to calculate the standard deviation of temperature over the all operating states condition. 5. Use Formula to calculate two new signals for “Avg + 2 SD” and “Avg – 2 SD”. 6. Filter your all operating states condition for only the state that you are interested in viewing. In this example we want to view only the capsules during which the compressor is in stage 2, for which the syntax is: $AllOperatingStates.removeLongerThan(7d).removeShorterThan(4h).filter($capsule -> $capsule.getProperty('Value').isEqualTo('STAGE 2')) This formula is taking our condition for all operating states, keeping only capsules that are between 4h and 7d in length, then filtering those capsules to include only those for which the value is equal to stage 2. 7. Swap to chain view and view a longer time range.