[Перевод] Анализ надёжности в Wolfram SystemModeler 4.1

0d6b0f0ae80d43bf922abe7b9cd02367.png Перевод поста Jan Brugård и Johan Rhodin «Reliability Analysis in SystemModeler 4.1».Скачать файл с моделями, рассмотренными в посте, можно здесь здесь.Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе. Сегодня мы с радостью анонсируем Wolfram SystemModeler 4.1. В дальнейшем будет представлена серия публикаций, в которых мы осветим новый функционал в сфере надёжности систем.Будет представлено несколько примеров, которые Вы сами сможете опробовать, скачав пробную версию SystemModeler, модель из этого поста и пробную версию Wolfram Hydraulic library.

Большинство людей сталкивались с ситуацией, когда какая-то вещь, которую они купили и пользовались в дальнейшем, вдруг по какой-то причине ломается. За последние несколько лет оба автора статьи сталкивались с подобной проблемой — масштабные неисправности с двигателем в машине Йохана (его пришлось заменить) и проблемы с приёмником у Яна, который совсем стих (его пришлось отправить в сервисный центр и поменять сетевой чип).

В обоих случаях это вызвало проблемы как у потребителей (у нас), так и у производителей. Это всего лишь пара примеров, и я уверен, что у Вас тоже наверняка найдётся подобный пример.

amplifier, satelitte, airplaneБытовая электроника, спутниковые системы, системы для авиации — не важно, всё имеет определённые причины для оценки надёжности.Из-за поломок могут потребоваться затраты на гарантийное обслуживание — как в случае с сетевым чипом; огромные сложности, связанные с ремонтом — как в случае с двигателем, а для спутника потребуется ещё больше затрат. А что касается самолётов — тут уже прямая угроза человеческой жизни.

Напрашивается вопрос — как модели с количественно неопределенными показателями могут быть использованы для повышения надежности и функциональности системы.

Внедрение системы для анализа надёжности в SystemModeler позволяет вычислять надёжность всей системы через надёжность её компонентов. Давайте посмотрим.

Давайте начнём с уровня компонентов и просчитаем вероятность отказа гидравлической трубы:

diagram for pipe in normal, restricted, leaking, and blocked operationsПредставлены диаграммы труб при нормальном функционировании, ограниченном функционировании, при протечке и когда труба заблокирована.

Это довольно простой компонент, который может находиться в трёх возможных состояниях неисправности — протекать, ограниченно пропускать или быть заблокированным.

Вот система, включающая три трубы, в которой мы можем рассмотреть различные виды отказа:

system incorporating three pipes to examine different failure modesМодель с тремя трубами, одним цилиндром и одним насосом. Накачка жидкости приводит к тому, что цилиндр выталкивает стержень, и уровень изменяется.

normal simulation vs simulation with blocked pipeНеисправность обнаружена! Уровень совсем не движется, когда труба заблокирована.

Можно определить вид неисправности, посмотрев на результаты моделирования, и составить список вероятных причин поломки. Вообще, этим занимаются специалисты в диагностике и обнаружении неполадок, и мы не будем особо касаться этой темы. Вместо этого в этом посте мы сосредоточимся на общей надежности систем, наподобие вышеупомянутой.

Работу трубы можно проиллюстрировать классическим деревом неисправностей, где неисправность в одном листе порождает неисправность всей системы:

fault tree for a pipeДерево неисправностей для трубы.

С нововведённым надёжностным подходом в SystemModeler мы можем задать распределения сроков службы отдельных компонентов:

reliability view in SystemModelerНадёжностный подход в SystemModeler, где распределения сроков службы соответствуют отдельным компонентам.

После этого построим дерево неисправностей для трубы, указав, какой именно из типов неисправностей (течь, ограниченная пропускаемость, полная блокировка) приведёт к неисправности системы в целом:

fault tree construction specifying a leak will lead to system failureНадёжностный подход к рассмотрению компонентов с несколькими распределениями сроков службы. Тут задаётся дерево неисправностей вводом логического выражения для данной конфигурации.

Теперь дерево неисправностей доступно для анализа в Wolfram Language (Mathematica):

fault tree analysis in Wolfram Language

Функция WSMModelReliability может возвращать FailureDistribution (когда она использует дерево неисправностей), ReliabilityDistribution (когда она использует блок-схему надёжности) или распределение срока службы компонента. Традиционный способ проиллюстрировать надёжность компонентов или систем — использовать SurvivalFunction, которая выдаёт вероятность того, что система будет исправна в течение времени t. Для одной трубы это будет выглядеть так:

using SurvivalFunction for probability that the system works at time t

Это распределение подобно любому вероятностному распределению в Wolfram Language. Из него можно получить более 30-ти свойств, к примеру условную вероятность того, что труба прослужит более 20,000 часов, учитывая, что она уже проработала 10,000 часов:

conditional probability that pipe will las longer than 20,000 hours

Символ Conditioned Icon является условным оператором Conditioned, а Distributed Icon является дескриптором Distributed распределения случайной величины. Код выше можно прочитать следующим образом: вероятность того, что труба будет всё ещё работать после отработанных 20 000 часов, если 10 000 часов уже отработано.

Системы, конечно, состоят из большого количества труб. Вот схема гидравлической системы закрылков самолёта Cessna, которая содержит несколько труб (см. статью на Хабрахабре «Моделирование сценариев неисправностей закрылков самолёта с помощью Wolfram SystemModeler»):

schematic for hydraulic power plant of Cessna aircraft flap systemГидравлическая система закрылков самолёта Cessna с одним баком, двумя насосами, множеством клапанов и пятнадцатью трубами.

SystemModeler автоматически считывает вшитые показатели надёжности труб гидравлической системы, в результате чего можно просчитать надёжность всей системы. Первый вопрос, который следует рассмотреть — насколько ниже будет надёжность всей гидравлической системы по сравнению с отдельной трубой:

reliability of one pipe vs hydraulic power systemСравнение надёжности одной трубы и всей гидравлической системы.

Чего и следовало ожидать — система из множества труб гораздо менее надёжна, чем одна отдельно взятая труба. Это есть иллюстрация феномена «самого слабого звена»: неисправность в одной трубе вызовет сбой всей системы.

Если мы рассмотрим те же компоненты закрылков самолёта, то столкнёмся с чем-то похожим.

Объединим теперь гидравлическую систему с закрылками (всего 75 компонентов). В SystemModeler достаточно лишь указать, что нам нужна гидравлическая система и система закрылков (hydraulicPower и flaps).

reliability view for full Cessna aircraftСамолёт Cessna с точки зрения надёжности. Тут представлены распределения ожидаемых сроков службы для гидравлической системы и системы закрылков.

reliability functions diagrams of 2 systems

reliability functions for different parts of the systemФункции надёжности для различных частей системы.

Надёжность всей системы ниже, чем надёжность каждого из компонентов. Этот закон применим для всех систем — чем больше компонентов в системе, тем выше вероятность, что откажет какой-то отдельный компонент.

Давайте теперь выясним, какой из компонентов выгоднее всего будет улучшить. Wolfram Language содержит девять различных функций меры важности, и самая простая из них — StructuralImportance. Выясним же, какие именно неисправности проще всего устранить в трубе:

improvement potential for the different failues in a pipeПотенциал усовершенствования для различных неисправностей трубы.

Важность усовершенствования указывает на то, как сильно увеличится надёжность системы при замене компонента на его идеальный аналог. Важность усовершенствования — мера относительная, и чтобы она обладала каким-то смыслом, её необходимо брать в контексте всей системы и её компонентов. Из графика становится ясно, что путь устранения ограниченной пропускаемости трубы сильнее всего увеличит надёжность системы. Можно проделать то же самое для всей системы и сравнить систему закрылков с гидравлической системой:

improvement potential for hydraulic power systemПотенциал усовершенствования для гидравлической системы определённо выше, чем для закрылков.

Из этого графика можно почерпнуть несколько важных моментов. Во-первых, усовершенствование гидравлической системы по сравнению с усовершенствованием закрылков имеет более высокий уровень окупаемости в контексте срока службы всей системы. Во-вторых, окупаемость будет тем выше, чем больше соотношение (начиная с 1.66) между вкладами в усовершенствование гидравлической системы и закрылков. Это не особо видно на графике, однако это становится очевидным при сравнении чисел. К примеру, при сроке службы в 3,788 часов, когда гидравлической системе соответствует самое высокое значение, соотношение будет равным 2.08, а при сроке службы в 10,000 часов — 3.38.

Анализ надёжности показывает, в каком месте следует сосредоточить основные усилия по совершенствованию системы, повышая тем самым надёжность продукта, оценить, где может произойти сбой и привести полученные данные в соответствие с гарантийной политикой.

На сайте SystemModeler Вы можете более подробно ознакомиться с тем, что нового представлено в SystemModeler 4, изучая примеры, бесплатные курсы, исследуя полнофункциональную пробную версию.

P.S. В предыдущем посте «Моделирование сценариев неисправностей закрылков самолёта с помощью Wolfram SystemModeler» изучалась неисправность в электронной системе, а в статье «Reliability Mathematics with Mathematica» подробно была освещена функциональность Mathematica в сфере анализа надёжности. Наконец, из бесплатного курса «Modeling Safety-Critical Systems» можно почерпнуть некоторые знания о моделировании неисправностей отдельных компонентов и как они влияют на поведение системы в целом.

© Habrahabr.ru