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
In this example, you plan to investigate the influence of failures in your the model. For this purpose, in dialog Units (Failures view), enter an Availability together with a Mean duration of failures:
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:
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.
Computing unit availability from the MTBF value
For this purpose, apply the following formula:
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 by seconds (example below: 68400).
- Afterwards, in line Duration, select distribution type Exponential — now, in the sub-dialog in field Beta, enter the MTTR value by seconds (example below: 3600).
Set Failures via Visual Basic
To set the failure behaviour via VBA, you define distributions, similar as described for the part Use Advanced Settings. The example code given below defines the same behaviour as described above.
- For the failure durations, define an exponential distribution with parameter Beta = MTTR. Now, assign this exponential distribution to the unit’s FailureDuration property.
- For the failure interval, define an exponential distribution with parameter Beta = MTBF. Assign this exponential distribution to the unit’s FailureInterval property.
Please note that Visual Basic only allows Second (s) as a measure of unit for time. You can also use other distribution functions if they describe your data better. INOSIM offers the most important distribution types, e.g., Normal, Uniform, Bathtub, Erlang, Gamma, Weibull, Poisson and LogNormal and the possibility to define custom distributions.
Private Sub 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] Set Units(unitWithFailure).FailureInterval = newFailureInterval Set 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