Skip to content

hapi-ds/pyFMEA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Why pyFMEA?

Why do you need a Python module for an FMEA when there are plenty of Excel templates available?

Yes, you have to elaborate a bit and go into detail here. The "modern" FMEA, according to the AIAG handbook, consists of 7 steps:

  1. Planning
  2. Structure Analysis
  3. Function Analysis
  4. Failure Analysis
  5. Risk Analysis and Prioritization
  6. Optimization
  7. Results Documentation

The aforementioned Excel templates fulfill all these functions in one. This also allows for very good management (assessment and tracking) of risks. However, the failure analysis itself is no longer as easily achievable as it originally was – even before Excel existed. This might be surprising, as the tabular format also comes from the original, very effective FMEAs – but there's a small, yet very significant difference. The original idea behind FMEA was to break down the problem – starting from a design element or a function of a part/process – into very small and therefore manageable "chunks" and to proceed only in small steps. The following scheme was used for this:

  • Step 1: Copy the blank table template (only the header is filled in).
  • Step 2: Enter exactly ONE (obvious/first) failure into the "Failure" column.
  • Step 3: Based on this one failure, enter all possible failure effects that come to mind into the "Failure Effect" column.
  • Step 4: Based on this one failure, enter all possible failure causes into the "Failure Cause" column.
  • Step 5: Take a new, blank table template (header is filled in)! (This makes THE diffence)
  • Step 6: Transfer one of the identified failure causes or failure effects into the "Failure" column and then, as in Step 3 and 4, fill in the "Failure Effect" and "Failure Cause" columns for this one failure.
  • Step 7: Repeat Step 5 for each of the failure effects and failure causes from the first sheet.
  • Step 8: Repeat Step 5 for all sheets until you reach a failure cause or failure effect that requires no further iteration.

This results in a very detailed analysis. All failures, failure effects, and failure causes are "comprehensible" and can also be checked for completeness and supplemented by others, page by page. The problem with this, in turn, is that you have many failure chains spread across many sheets, which are then difficult to assess or manage. So, you have to choose between a rock and a hard place.

A common remedy is to carry out the failure analysis using other tools – for example, creating an Ishikawa diagram for each line.

With pyFMEA, I am trying to re-enable the original form of failure analysis while also preserving all the steps of the modern FMEA process without increasing the effort involved. The basic idea is to use a PDF form for entering failure effects and causes for ONE failure. The PDF is then iteratively supplemented with the identified FEs & FCs as new failure input forms.

In detail, I have envisioned the following workflow:

  • In the first step, a Word template is filled out. This contains all the basic information (corresponding to FMEA steps 1 to 3).
  • In the next step, pyFMEA generates the first version of the FMEA PDF from the word-file, which contains a form page for each listed focus function/process into which the primary failures can be entered.
  • In the next pyFMEA call, a failure-form-page is generated for each identified failure, into which FEs and FCs can be entered.
  • The next call, in turn, generates further new failure-form-pages for all found FEs and FCs as failures where new FEs and FCs can be inserted.
  • The previous step is repeated until, finally, the last FE or FC is reached (marked in form).
  • At this point, the failure chains are exported to a standard Excel FMEA template, in which the assessment (risk analysis), optimizing and tracking (risk management) are carried out.

Additional functions such as exporting to JSON, NetworkX, etc., and a mechanism for revising/updating the risk analysis are planned.

Summary

pyFMEA is for failure mode and effect analysis (in contrast, FMEA Excel templates are for risk-analysis and risk-management)

pyFMEA is for developers and technicians who want to record error sequences and error causes as completely as possible.

pyFMEA helps to focus and create a lasting overview.

pyFMEA allows you to quickly find your way around revisions and later additions.

pyFMEA is compatible with “traditional” FMEA through export options - where risk analysis and risk management should be done.

pyFMEA is NOT a substitute for risk management software.

Installing

The plan is to make a package out of it, just like all the other cool stuff you can do with Github (CI/CD) - it's just going to take some time. In the meantime, it's probably best to just clone the source to your PC and install all the necessary packages with

uv -init

Usage

With

uv run pyfmea -h

you should get something like that

usage: pyfmea [-h] [-j] [-i] [-f] [-d] [-v] directory

generate/update/export failure analysis

positional arguments:
  directory          work directory

options:
  -h, --help         show this help message and exit
  -j, --export_json  Export data to FMEA_*.json
  -i, --import_json  Import data from FMEA_*.json and build a FMEA_*.pdf
  -f, --freeze       Generate FMEA*.xlsx from FMEA_*.pdf for risk analysis
  -d, --export_db    Export fmea informations to Postgresql DB
  -v, --verbose

Next, copy the Word file from the test folder to a folder of your choice, edit it and specify the folder when calling up the program.

uv run pyfmea ..\folder_of_your_choice

Now you find a pdf in your folder with some of the content of the word-file, and - at the end of the file - there are forms which have to be filled with FEs and FCs as described above.

Re-run pyfmea

uv run pyfmea ..\folder_of_your_choice

fill pdf again, and again, and again, ...

Last, call pyFMEA with option -f

uv run pyfmea -f ..\folder_of_your_choice

and pyFMEA will produce a Excel-FMEA file.

If you want, you can run a few high level with:

uv run pytest

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages