Jump to content

How can I create and visualize statistical control limits on my signals?

Recommended Posts

  • Administrators


This method will provide a simple visualization of externally determined control limits or help you accurately calculate new control limits for a signal. Using these limits we will also create a boundary and find excursions for how many times and for how long a signal deviates from the limits.These created signals can be used in follow-on analysis search for periods of abnormal system behavior. In this example we will be creating average, +3 Std Deviation and -3 Standard Deviation boundaries on a Temperature Signal. 



In the Data tab, select the following:

Asset → Example → Cooling Tower 1 → Area A      Signal → Temperature


Option 1: Manually Define Simple Control Limits

From the Tools tab, navigate to the Formula tool. The Formula can be used to easily plot simple scalar values. If you already have calculated values for the upper and lower limit just enter them in the formula editor with their units as shown in the screenshot below.


Formula - Simple Upper Limit



Formula - Simple Lower Limit



Option 2: Calculate The Control Limits

From the Tools tab, navigate to the Formula tool. In formula we are going to define the time period over which we want to calculate our control limits as well as the math behind those limits. 

Step 1 - Calculate the upper limit



$Series Temperature Signal


$calcPeriod = capsule("2018-01-01T00:00:00-06:00","2018-05-01T00:00:00-06:00")
$tempAve = $Series.average($calcPeriod)
$tempStdDev = $Series.standardDeviation($calcPeriod)
$tempAve + 3*$tempStdDev

Description of Code 

$calcPeriod → This is the time range over which we are going to calculate the average and standard deviation of our signal. The start and end time of our period must be written in ISO8601 format (Year - Month - Day "T" Hour : Minutes : Seconds . Fractional Seconds -/+ Timezone)

$tempAve → Intermediate variable calculating the average of the temperature signal over our calculation period

$tempStdDev → Intermediate variable calculating the standard deviation of the temperature signal over our calculation period

$tempAve + 3*$tempStdDev  →  Example control limit calculation 


Step 2 - Duplicate your formula to calculate the lower limits

Click the info icon in the details pane next to your calculated upper limit signal. From the info panel select duplicate to create a copy of the formula. With this copy simply edit the formula to calculate the lower limit. 

$calcPeriod = capsule("2018-01-01T00:00:00-06:00","2018-05-01T00:00:00-06:00")
$tempAve = $Series.average($calcPeriod)
$tempStdDev = $Series.standardDeviation($calcPeriod)
$tempAve - 3*$tempStdDev

**Alternate method number three -- if you wanted $calcperiod to actually changed based on the previous month or week of operation you could use signal from condition based off a periodic condition to achieve this solution. 

Step 3 - Visualize Limits as a Boundary

Using the Boundary Tool  to connect the process variable and upper and lower limits. Select Temperature as your primary signal and select "New"


Select Boundary under relation type, name your new boundary and select the signals for your upper and lower limit. Click save to visualize the boundary on the trend. 


Using this same method you can create and visualize multiple boundaries (simple and calculated) at the same time

Step 4 - Create Capsules when Outside the Boundary

Using the Deviation Search tool create a condition for when the signal crosses the boundary. Name your new condition, select temperature as the input signal, select outside a boundary pair and the upper and lower signals. Estimate the maximum time you would expect any one out of boundary event to last and input that time in the max capsule duration field. 



Step 5 - Create a Scorecard to Quantify How Often and How Long Boundary Excursions Occur

Create a Scorecard to count how many and how long and what % of total time these excursions are occurring. Create each metric using the Scorecard Metric tool and the Count, Total Duration and Percent Duration statistics.

Use a Condition Based scorecard to get weekly or monthly metrics. 



Step 6 - Plot how these KPIs are Changing Over Time

By creating a signal which plots these KPIs over time we can quantify how our process variable is changing relative to these limits.

To begin, determine how often you would like to calculate the KPI per Hour/Day/Week/Month and create a condition for those time segments using the Periodic Condition tool. In the screenshot below we are creating a weekly condition with capsules every week.


Using the Signal from Condition Tool count the number of Outside Simple Boundary capsules which occur within each weekly capsule. This same methodology can be used to create signals for total duration and % duration just like in the scorecard section above. For each week the tool will create a single sample. The timestamp placement and interpolation method selections will determine how those samples are placed within the week and visualized on the chart. The scorecard metrics that you created above can also be trended over time by switching from Scorecard View to Trend View.





  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...