Simulating Preventive Maintenance as a Failure Mode

A Preventive Maintenance failure mode is added (and removed) in exactly the same manner as for other failure modes.  The failure mode to select is PM: Preventive maintenance:

When you select a PM: Preventive Maintenance failure mode, you must then specify a trigger for the PM event (via a triggering dialog):

As is the case for other failure modes, the Preventive Maintenance mode can be “repaired” automatically, using the same time distributions available to other failure modes.  This does not mean a Preventive Maintenance mode is “repaired” in the same sense as other failure modes.  Rather, it provides a way to specify the amount of time required to complete the preventive maintenance.

   Note: You must select Automatically repair failures when defining a PM failure mode.  Otherwise, the PM will continue indefinitely (and GoldSim will issue a warning message when the model is run).

Whether or not a Preventive Maintenance event impacts another failure mode is determined by the Control Variable Settings for the other failure mode (accessed by selecting the failure mode in the Failure Modes tab, and pressing the Settings… button):

At the bottom of this dialog is a section labeled "Repair Upon Preventive Maintenance".  This setting, in conjunction with the "Repair Definition" directly above, determines how the failure mode is impacted by a Preventive Maintenance event:

Repair mode if this condition is true:  If this input field is true, the failure mode repair begins when the PM mode starts.  Otherwise, it is not repaired.  If the failure mode is FMCV-based, the FMCV is set to the value specified in the "Repair Definition" when it is repaired.

By default, this condition field is initialized to

~FM_Failed

FM_Failed is a locally available property of the failure mode.  It is true if the failure mode is in a failed state, and false if the failure mode is in an unfailed state.  Hence, by default a Preventive Maintenance event automatically repairs other failure modes that are currently in a failed state, but does not repair other failure modes that are in an unfailed state.

   Note: The FM_Failed locally available property can only be used in the "Repair Following Preventive Maintenance" (Repair mode if this condition is true) field and the "Repair Definition" (When repaired, reset FMCV to) field. It is quite useful, as it allows you to use logic to differentiate the impact of a PM event on failed and unfailed modes.

When specifying whether or not a PM repairs a failure mode, another locally available property can also be referenced in the Repair mode if this condition is true field: FM_TimeToFail. This variable represents an estimate of the time to failure (if the mode is already failed, it will be 0). This allows you to specify that the mode is to be repaired even if it has not yet failed, based on your prediction that it will likely fail soon.  For example, if you thought it would fail before the next PM (scheduled for 90 days from now), you could specify that the mode be repaired:

Using the FM_TimeToFail locally available property in this manner provides a mechanism by which you can use GoldSim to design and optimize a reliability-centered (or predictive) maintenance program.  In particular, you can simulate alternative maintenance programs, and quantify the benefit of each. The concept is that during each PM, some diagnostic tests are carried out in order to estimate the time to failure. If this is below a predefined limit, the component is replaced or repaired rather than running the risk of failure while the system is operating.

   Note: The FM_TimeToFail locally available property can only be used in the "Repair Upon Preventive Maintenance" (Repair mode if this condition is true) field.

   Note: For some types of failure modes (e.g., Exponential/Poisson, Defective Component), it is not possible to compute an estimated time to failure.  In these cases, FM_TimeTo_Fail is not provided as a locally available property.

When a reliability element that is being modeled as a system undergoes preventive maintenance, the impact on the child elements within the component is as follows:

   If a child element has no defined Preventive Maintenance modes of its own, it automatically undergoes preventive maintenance when its parent undergoes preventive maintenance.

   If a child element has at least one Preventive Maintenance mode of its own defined, it does not automatically undergo preventive maintenance when its parent undergoes preventive maintenance.  However, an "Auto Maintenance" trigger will be available within the trigger dialog for the child's PM failure modes which can cause the child's PM mode to be triggered when the parent's PM mode is triggered:

Preventive maintenance triggers will often be defined as functions of locally available properties such as operating time or total time.  For example, you may want to trigger a preventive maintenance every month of operating time.  These variables are available as locally available properties within the trigger input field.

By default, like all failure modes, PM failure modes are added to the Internal Requirements list. As a result, when the PM is taking place, the element will be inoperable (and the Status for the element will report 1). However, you can choose to remove the PM failure mode from the Internal Requirements list.  If you do so, when the PM is taking place, the element will be not be inoperable (and the Status for the element will NOT report 1; if all other requirements are met, for example, it would report 0).

   Note: When a PM takes place, any other failure mode that is repaired by the PM is automatically set to failed and a repair begins.  This is important to keep in mind since as a result of this, when a PM occurs, the Status for the element will not necessarily report 1.  If a triggered repair takes longer than the PM itself, the Status will first report 1, and then 2 (indicating a failed mode that has not yet been repaired), and then eventually 0 (when all modes are repaired).

Related Topics…

Learn more about: