Jump to content

Identify Leading Cause of Process Downtime


Lindsey.Wilcox

Recommended Posts

  • Seeq Team

Background

In this use case, process engineers are investigating a process during which downtime frequently occurs.  They have already identified the downtime periods as a condition in Seeq.  Additionally, process engineers have also identified the 3 leading causes (pump, compressor, and level) of downtime and created conditions for when these parameters exceed an alarm limit, causing the process to shut down.

image.png

To identify the leading cause of each downtime event, engineers would like to determine which of the 3 cause conditions are present 1 hour before the downtime event and which event happened first.  The following method can be used.

Method

1. Create a condition for the 1 hour prior to downtime

Process engineers are interested in identifying which of the 3 causes are present in the 1 hour prior to process downtime.  To do this, we first need to create a condition for the 1 hour prior to downtime.  This can be accomplished in formula using the following syntax:

$downtime.beforeStart(1h)

image.png

 

2. Combine all cause conditions and assign capsule properties

To perform the analysis, we need to combine all of our cause conditions into a one condition, Leading Events.  However, to know which capsules in the Leading Events condition correspond to which cause, capsule properties must be used.  This can be achieved using the following Formula:

//Assign a property to each of the cause conditions
$compProp=$comp.setProperty('cause','compressor')
$levelProp=$level.setProperty('cause','level')
$pumpProp=$pump.setProperty('cause','pump')

//Combine the cause conditions
$compProp.combineWith($LevelProp).combineWith($pumpProp)

image.png

You can view the Cause property of each capsule in the Leading Events condition by adding it to the capsules pane.

image.png

 

3. Filter the Leading Events condition to only contain capsules that overlap with the 1 hour before downtime capsules. 

This can be accomplished within the Composite Condition tool.

image.png

 

4. Create a signal that reports the value of the 'cause' capsule property for each capsule in the Leading Events before Downtime condition.

This can be achieved in Formula using the following syntax (Note: '4h' indicates a maximum interpolation of 4 hours between data points and may be adjusted as needed).

$eventsBeforeDowntime.toSignal('cause',startkey()).toStep(4h)

image.png

 

5. Identify the first value of the cause signal for each downtime event.

When we calculate the first value in the Cause signal, the result should overlap with the downtime events, so that the cause can be associated with the downtime.  To do this, first create a new condition using the Composite Condition tool to identify the union between the 1 hour before downtime condition and the Leading Events before Downtime condition. 

image.png

Now, use the Signal from Condition tool to identify the first value in the cause signal.  Note that it is important to place the result of this calculation at the end of the bounding condition so that the results can be associated with each downtime event.

image.png

 

6. Create a scorecard that lists the leading cause of each downtime event

image.png

 

 

Link to comment
Share on other sites

  • 2 weeks later...
  • Seeq Team

Hi Jemma - 

To do this, you will need to create a separate condition for each subcategory.  There are several ways that you can do this.  One simple way would be to use the Custom Condition tool to manually select capsules in the Pump condition for each sub-category condition:

image.png

Once you have the sub-categories identified as separate conditions, you can combine all of the cause conditions just as we did in Step 2.

image.png

image.png

Please let me know if you have any additional questions.

 

Thanks,

Lindsey

Link to comment
Share on other sites

Hi Lindsey, 

 

Thank you for the reply. 

If you wanted to keep "Pump" as a Cause but within Capsules View have a secondary column called secondary cause how would you create a secondary or sub-set of causes? These would be pressure/motor/flow etc. 

 

Many thanks

Jemma

 

Link to comment
Share on other sites

fantastic! thank you 😁

Just one small issue , on the 19th of Aug - if the pump trip was only due to Motor failure, not flow and pressure as well? 

As when I create a histogram from this information it would show the pump failure due to all three secondary causes when it is only one cause?

Many thanks

Jemma

Edited by Jemma Ward
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...