14. July 2018

Two Ways Of Simulating Unit Failures

In your INOSIM project, you can integrate unit failures to represent reality even more precisely in your model, as failures might have a great impact on KPIs like annual production. This is especially helpful when you also apply the Statistical Analysis Add-On. In this Tip & Trick, you will learn how to input your failure data into INOSIM dialogs and via VBA.

Availability vs. MTBF to describe failure behaviour

Apply either unit availability value or MTBF value to describe the failure behavior of units.

In your INOSIM project, you can integrate unit failures to represent reality even more precisely in your model. For example, you examine the consequences of unit failure times regarding an annual production. For this purpose, in dialog Units (Failures view), enter an Availability together with a Mean duration of failures:

Background

INOSIM uses the availability and mean duration of failures to compute the Mean Time Between Failures (MTBF), which is in turn used to define an exponential distribution with the expected value Beta = MTBF.

For that purpose, INOSIM applies the following formula, where V is the availability in percent and MTTR stands for the Mean Time To Recover — which is synonymous to the mean duration of failures:

Formular for computing the MTBF value

TIP: If you already know the MTBF value for your unit, you can:

  • compute the percentage unit availability from the MTBF value;
  • or, by the advanced settings of dialog Units (Failures view), apply the MTBF value directly.

Exponential distributions are the default distributions for the description of reliability data, you can read more on that topic on Wikipedia or Sciencedirect.

Computing unit availability from the MTBF value

For this purpose, apply the following formula:

Formular for computing Unit Availability from MTBF value

Afterwards, you can, as described above, enter this value in dialog Units (Failures view).

Applying the MTBF value directly

For this purpose, in dialog Units (Failures view), select option Use Advanced Settings.

  • In line Interval, select distribution type Exponential then in the sub-dialog in field Beta, enter the MTBF value in seconds (example below: 68400).
  • Afterwards, in line Duration, select distribution type Exponential  now, in the sub-dialog in field Beta, enter the MTTR value in seconds (example below: 3600).

Expert knowledge

In VisualBasic, the percentage unit availability value is not available as a property. Hence, in any case you have to apply option Use Advanced Settings:

  • For Duration, apply an exponential distribution with parameter Beta=MTTR. Now, assign this exponential distribution to the unit as FailureDuration property. Please note that VisualBasic only allows Second (s) as a measure of unit for time.
  • For Interval, define an exponential distribution with parameter Beta=MTBF. Assign this exponential distribution to the unit as FailureInterval property. Please note that VisualBasic only allows Second (s) as a measure of unit for time.
Private Sub Simulation_Init() Handles Simulation.Init

    Dim unitWithFailure As String

    Dim MTTR As Double 'Mean Time to Recover [h]
    Dim availability As Double ' Unit Availability [%]
    Dim MTBF As Double 'Mean Time Between Failures [h]

    Dim newFailureInterval As New Exponential
    Dim newFailureDuration As New Exponential

    unitWithFailure = "Mixer C3"

    MTTR = 1
    availability = 95
    MTBF = availability * MTTR / (100 - availability)

    ' Note that the distribution parameter Beta is defined in seconds
    newFailureInterval.Beta = MTBF * 3600 '[s]
    newFailureDuration.Beta = MTTR * 3600 '[s]

    Units(unitWithFailure).FailureInterval = newFailureInterval
    Units(unitWithFailure).FailureDuration = newFailureDuration

    Console.Print("Setting failures for " & unitWithFailure & " with a mean time between failures of " _
                  & MTBF & " h and a mean time to recover of " & MTTR & " h.")

End Sub

This code is in the language WWB.NET. To do the same in WWB-COM, you have to add a set in front of object assignments.

Downloads

  • PDF printouts of this Tip & Trick

More Questions?

Want to know more about this topic or have another question? Please contact us!

Array ( [posts_per_page] => 3 [post_type] => [category__in] => Array ( [0] => 36 ) [orderby] => rand [order] => ASC )

More Tips & Tricks

Understanding the differences between Null, Empty, and Nothing, and related changes in INOSIM 14 While numbers are initialized with zero (0), and strings with an…

This Tip & Trick describes a multitude of methods to prevent and handle runtime errors of your VBA code. You will be introduced to the…

In this tip and trick, the Transfer Analysis dashboard is introduced. It is an extension of the Power BI standard dashboard that allows you to…

more

Direct Contact

During local business hours

Germany +49 231 97 00 250