Merci d'avoir pris le temps de regarder cette vidéo.
Je suppose que vous êtes ici parce que vous avez utilisé ou essayé d'utiliser
la plateforme de simulation de systèmes réparables au sein de JMP.
Vous voudrez peut-être en apprendre un peu plus.
Vous pourriez être frustré parce qu'il y a des choses
que vous essayez de faire et que vous ne pensiez pas pouvoir faire.
Alors, ce que je vais aborder aujourd'hui
sont des choses qui ne sont pas expliquées en profondeur dans la documentation,
choses que j'ai apprises par essais et erreurs
qui ne sont pas dans la documentation,
et même des choses que j'ai apprises en discutant avec le développeur
à propos de la plateforme, des choses que vous ne pourriez pas trouver
de toute autre manière.
Je vais supposer que vous avez déjà été exposé à cette plateforme.
Je vais supposer que vous en savez un peu plus sur l’analyse de fiabilité,
je n'ai donc pas besoin d'entrer dans les détails de ce qu'est une configuration parallèle,
qu'est-ce que quelque chose qui est K sur N, et ainsi de suite.
J'ai donc un certain nombre d'exemples que je souhaite aborder,
Beaucoup de matériel. Commençons.
Maintenant, avant de regarder réellement
la plateforme de simulation de systèmes réparables, laissez-moi juste vous donner un aperçu.
J'espère que vous l'avez déjà utilisé, que vous le connaissez,
nous allons parler de trois composants différents
et des aspects sur ces composants qui ne sont pas dans la documentation
ou ne sont pas bien expliqués dans la documentation.
La première chose dont nous allons parler sont les blocs.
Les blocs sont ce que j'utilise pour construire mes objets de simulation de système réparable
comme Parallèle, K sur N, Veille.
Ainsi, pour chaque bloc, je peux associer un événement à ce bloc.
Ce sont donc ces petits blocs orange que nous voyons, et pour chaque bloc,
Je peux associer un ou plusieurs résultats ou actions.
Ce sont ces points bleus que nous voyons,
et cela va m'aider à construire ma simulation.
Par exemple, je voudrais savoir quand un bloc échoue.
et lorsque ce bloc tombe en panne, je pourrais vouloir réparer ce bloc,
et cette réparation pourrait prendre, disons, 40 heures.
C’est l’idée derrière la construction de ces diagrammes RSS.
Commençons par parler de
quelques-unes des propriétés générales des blocs.
Il y a six blocs différents dans un nœud,
ce qui me permet de relier les choses entre elles dans le diagramme.
Cinq de ces six blocs sont des composites.
Ils ont été construits pour être constitués de deux ou plusieurs sous-unités.
JMP vous permet de les utiliser avec une sous-unité.
Mais en réalité, le cas d’utilisation est qu’ils sont constitués de deux ou plusieurs sous-unités.
Les événements et les actions sont appliqués à l’ensemble du bloc.
C’est donc un point important.
Les composants du bloc ne peuvent pas être traités individuellement,
à l'exception du bloc de secours.
Une seule distribution leur est attribuée.
Pris ensemble, ces deux points signifient que des choses comme la réparation
ou la maintenance des sous-unités n'est pas possible
au sein de ces blocs composites.
Je dois attendre que le bloc entier tombe en panne
avant de pouvoir réellement faire quoi que ce soit avec ce bloc
avant que je puisse réparer le bloc.
Si je veux des distributions différentes au sein du bloc,
Je ne peux pas faire ça non plus, à l'exception du Standby.
Et nous en parlerons dans un exemple que nous aurons un peu plus tard.
Sous-unités pour tous les blocs composites,
à l'exception des blocs Série, sont en parallèle.
Ce qui différencie ces différents blocs composites
sont le nombre de composants en cours d'exécution,
quand le bloc tombe en panne et comment le bloc vieillit.
J'ai donc mis au point un petit tableau qui passe en revue tous les blocs composites
et comment ils diffèrent avec ces caractéristiques.
Pour tous les blocs composites, à l'exception de Standby,
tous les composants fonctionnent simultanément.
Avec un bloc composite, je peux choisir K de mes N unités à exécuter
et ensuite les unités restantes seront des sauvegardes.
Alors, quand ces blocs échouent-ils ?
Évidemment, si vous avez une certaine expérience en matière de fiabilité, un bloc série échoue
lorsqu'une unité tombe en panne.
Un bloc parallèle échoue lorsque toutes les unités échouent,
K sur N lorsque vous avez moins de K unités, et ainsi de suite.
Donc, des choses auxquelles on pourrait s’attendre naturellement dans l’analyse de fiabilité,
La veille et le partage ont une autre méthode d’échec.
Avec l'unité de veille, il y a un mécanisme de commutation.
Il pourrait y avoir un seul interrupteur pour l'ensemble du bloc
ou un commutateur pour chaque sauvegarde.
Le mode veille peut échouer si j'ai un seul commutateur
lorsque ce commutateur tombe en panne, ou si j'essaie d'utiliser
chacune de mes unités de sauvegarde
et l'interrupteur de ces unités de secours tombe également en panne.
Une défaillance du commutateur pourrait donc être une autre cause de défaillance du bloc.
La même chose s’applique au partage du stress.
Cependant, avec le partage du stress, je n'ai qu'un seul interrupteur.
La dernière caractéristique qui est différente
entre ces blocs composites se trouve la façon dont ils vieillissent.
Pour les trois premiers blocs, ils vieillissent de manière égale.
Toutes les sous-unités du bloc vieillissent de la même manière.
Pour la veille et le partage du stress, les sous-unités peuvent vieillir...
Pour Standby, ils peuvent vieillir différemment.
Pour le partage du stress, ils vieillissent définitivement différemment.
Pour la veille,
Je peux choisir une distribution unique pour mes unités opérationnelles.
Pour mes unités de sauvegarde,
Je peux choisir qu'ils ne vieillissent pas - c'est une veille froide -
ou je peux leur donner une distribution différente
quant à la façon dont ils vieillissent lorsqu'ils sont en mode veille
ou lorsqu'ils agissent en tant que sauvegardes.
Cela pourrait être la même chose, car mes unités opérationnelles pourraient être quelque chose de différent.
Je peux donc choisir deux distributions différentes.
Le problème, c'est que, encore une fois,
comme avec tous ces blocs composites, j'obtiens une distribution
pour toutes mes unités opérationnelles, une seule distribution pour toutes mes sauvegardes.
Je ne peux pas mélanger et assortir.
Enfin, avec le partage du stress, le partage du stress fonctionne
un peu différemment.
Avec le partage du stress, le stress est réparti de manière égale entre les blocs.
Cependant, lorsqu’une des sous-unités tombe en panne,
un stress supplémentaire est associé aux unités opérationnelles restantes.
Le stress varie donc d’un échec à l’autre.
Nous verrons un exemple de cela dans un instant.
Maintenant, l’une des choses que vous avez peut-être trouvées,
ou vous pourriez réaliser que parfois
vous voulez avoir un peu plus de flexibilité
et la façon dont je peux développer la flexibilité est que je peux organiser mes blocs de base
ou mon bloc de base comme je le ferais pour un parallèle ou un K sur N
comme l'un de mes blocs composites.
Les blocs de base peuvent être facilement organisés comme des séries, des parallèles ou K sur N
plus difficile à faire avec les blocs Veille et Partage du stress
quand vous avez plus de deux unités.
J'ai un exemple dans un instant
qui montre une configuration de veille avec deux blocs de base.
C'est relativement simple de savoir comment procéder.
Mais si je devais essayer d’étendre cela à trois blocs,
ça devient beaucoup plus difficile.
Pas impossible, juste très difficile à faire
parce que je devrais garder une trace de ce qui fonctionne, de ce qui ne fonctionne pas,
ce qui se passe lorsque la panne survient, etc.
La même chose s’applique également au partage du stress.
Passons à notre premier exemple.
Pour notre premier exemple, nous allons examiner un arrangement K sur N de base.
Nous allons avoir cinq sous-unités.
Trois d’entre eux doivent être opérationnels.
Ils auront tous le Weibull avec un Alpha de 2 000 et un Beta de 1.
Nous allons supposer que lorsqu'un bloc échoue
qu'il faut 40 heures pour le remplacer.
Nous allons mettre cet arrangement
en série avec un bloc composite K sur N.
Nous supposerons également que le bloc composite K sur N prend 40 heures
à remplacer, malgré le fait qu'il y ait cinq sous-unités
dans ce bloc qui ont échoué.
Nous allons voir quelle différence cela fait
si je les traite comme des éléments individuels
ou comme mon élément composite ?
Voici à quoi ressemblerait ma configuration dans RSS.
Je l'ai gardé très simple.
Voici mes sous-unités par rapport à mon K sur N.
Ce qui en fait un K sur N est dans le nœud.
Je peux spécifier combien d'articles entrants
doivent être opérationnels.
Et là, j'ai dit qu'il me fallait trois opérations. C'est donc ça qui fait un K sur N.
cet arrangement, K sur N.
Et je vais juste garder les choses très simples.
Le seul événement que je vais examiner est de savoir si le bloc échoue ou non,
la seule action que je vais entreprendre est de réparer à neuf.
Allons-y et exécutons ceci.
Relativement rapide.
Je voudrais parler un peu du résultat
car ce qui est envoyé à la sortie et aux états
cela nous aidera lorsque nous commencerons à construire nos diagrammes à l'avenir.
Jetons un œil à l’ordre des opérations
pour ce tout premier échec.
Nous voyons donc que cela fait 766 heures que l'unité Sub1 est en panne.
Le bloc est supprimé.
C'est donc important à noter car c'est l'un de mes événements potentiels.
Donc le bloc est supprimé, je lance le processus, je remplace le bloc.
Et après le remplacement du bloc, après les 40 heures que j'ai spécifiées
dans ma configuration, le système s'allume automatiquement.
C’est donc un autre point important.
Nous allons nous retrouver dans une situation
où pour certains de mes événements, le système ne fonctionne pas
activé automatiquement, et je vais parler de ceux-là.
Ce que nous devrons faire dans ces cas-là
est en fait d'allumer le système, ou dans certains cas, lorsque le bloc
ne s'active pas automatiquement, activez le bloc manuellement.
Ici, nous avons un échec de Sub3 et vous voyez une série d'événements similaires,
Sub2 échoue, etc. Voyons ce qui se passe
lorsque le système tombe en panne.
Et nous savons que cela se produit avec certitude lorsque K sur N échoue.
Bon, voici donc le premier cas où le système échoue.
Encore une fois, très similaire par rapport à la plupart des opérations,
mais vous remarquerez que cela arrête le système.
Notez qu'il a désactivé le système, donc je peux désactiver le système.
Il désactive tous les blocs du système.
Encore une fois, quelque chose d’important à garder à l’esprit,
parce qu'il y aura des cas où nous aurons besoin de savoir
si un bloc est activé ou désactivé.
Si nous devons ou non activer un bloc manuellement.
Alors, nous voici au remplacement.
Une fois le remplacement terminé,
tous les blocs sont activés automatiquement.
Et encore avec ce remplacement, avec du nouveau,
l'extinction et la mise en marche se font toutes automatiquement.
Je n'ai donc pas à m'inquiéter de ça.
Enfin, j'ai terminé mon remplacement K out N et j'en ai fini jusqu'au prochain échec.
Relativement simple.
Si je voulais voir comment mon système a fonctionné
Je vais simplement lancer mon explorateur de résultats.
Par défaut, je ne verrai pas les informations au niveau des composants.
Si je veux les informations au niveau des composants, je dois remonter au point d'accès
et choisir si je veux une combinaison,
Je vais choisir mon temps d'arrêt par composant.
Maintenant, la chose à garder à l’esprit avec cette organisation,
ça me dit juste
le temps d'arrêt du système associé à mes composants.
Cela me dit donc combien de fois K sur N a fait tomber le système.
Pour chacun d'entre eux,
ceux-ci correspondaient au moment où cette sous-unité a fait tomber le système.
Donc si vous y réfléchissez, cela correspond à l'époque
quand la sous-unité était la dernière de mes cinq unités à tomber en panne,
parce que c'est le seul moment où le système va tomber en panne
c'est lorsque ces cinq sous-unités tombent en panne.
Maintenant, si je veux regarder ma distribution au niveau des composants,
cela me dit seulement quand cela fait tomber le système.
Mais disons que je suis intéressé par la fréquence à laquelle Sub1 était en panne,
à quelle fréquence Sub2 était en panne et ainsi de suite.
Le point chaud, je peux regarder cette estimation ponctuelle
pour la disponibilité des composants.
Et si je fais défiler vers le bas, par exemple, pour Sub1,
cela me donne mes informations de distribution
pour le composant lui-même.
Z inclut les moments non seulement où la sous-unité 1 a mis le système hors service,
mais lorsque la sous-unité 1 est tombée en panne.
Le moyen le plus simple de plonger dans les distributions individuelles de tous mes sous-composants.
Passons maintenant à certaines de ces actions et événements
et certaines des propriétés particulières qui leur sont associées.
Nous allons commencer par les événements.
Non mentionné dans la documentation
mais Inservice n'est disponible que pour les blocs de base.
Donc pour vous rappeler, Inservice est basé sur l'âge du bloc
et non l'âge du moment de la simulation.
Donc, par exemple, si je veux entretenir quelque chose
après 100 heures d'utilisation, j'utiliserais un Inservice.
Sinon, je pourrais simplement utiliser un événement programmé.
Un événement programmé serait organisé une fois par semaine,
mais Inservice n'est disponible que pour mon bloc de base.
Alors, dites-moi si je veux utiliser Inservice,
Je vais devoir construire ces blocs de base.
Initialisation, échec de bloc et système en panne
ne peut être utilisé qu'une seule fois pour chaque bloc.
Donc ce que vous verrez, c'est que lorsque vous les utiliserez,
ils disparaissent de votre palette d'événements, donc ils n'apparaîtront plus.
Vous ne pouvez donc les utiliser qu'une seule fois.
Parlons d'actions.
Il y a 13 actions que je peux utiliser.
Les options Installer utilisé, Modifier la distribution et Si ne peuvent être utilisées qu'avec les blocs de base.
La réparation minimale ne peut être utilisée qu'avec les versions Basic et Series.
Cela nous laisse donc neuf actions que je peux utiliser pour n’importe lequel des blocs.
Il s'agit donc d'activer et de désactiver un bloc, d'activer et de désactiver le système,
Remplacer par un neuf, installer un neuf, supprimer un bloc, inspecter une panne,
et le calendrier. Voilà donc les neuf
que n'importe quel bloc, qu'il s'agisse des blocs de base ou des blocs composites, peut utiliser.
Il n'y a pas de limite au nombre de fois qu'une action peut être utilisée sur un bloc donné.
J'ai donc un exemple où j'ai utilisé le bloc Désactiver plus d'une fois.
La raison est que
ce que je veux faire après avoir tourné ou lorsque j'allume le bloc peut différer
en fonction du moment où le bloc est activé.
Et encore une fois, nous verrons un exemple de cela dans un instant.
Les actions ne peuvent être connectées qu'à d'autres actions.
En fait, les événements ne peuvent être liés qu’à des actions.
Je ne peux donc pas connecter un événement ou une action à un bloc ou à un autre événement.
Cependant, je suis illimité en termes de nombre d'actions que je peux enchaîner.
Quelques propriétés spécifiques.
L'initialisation ne se produit qu'une seule fois, et c'est au tout début
de l'exécution de la simulation.
Nous allons avoir un exemple où cela fait une différence,
où je désactive un bloc lors d'une initialisation,
mais lorsque le système revient en ligne, ce bloc est à nouveau activé.
Je vais donc devoir m'assurer de désactiver cela manuellement.
L'initialisation n'a donc lieu qu'au début.
Le système est en panne se produit pour chaque bloc,
quel que soit le bloc qui a fait tomber le système.
Je peux donc l'utiliser comme un écouteur pour voir...
Par exemple, si le système tombe en panne,
Je souhaiterais peut-être effectuer une maintenance sur le bloc même si le bloc
était en marche, peut-être juste pour le faire remonter
pour le rendre presque neuf ou pour le remettre comme neuf.
Ainsi, un système en panne se produira quel que soit le bloc qui l'a provoqué.
Ensuite, à propos des actions,
Activer Le système active chaque bloc disponible.
Maintenant, par chaque bloc, j'entends tout ce qui n'est pas déjà en place
en raison d'une panne ou d'une panne programmée.
Je pourrais donc programmer quelque chose pour qu'il soit arrêté.
soit en utilisant cet événement planifié, soit en utilisant l'action planifiée.
Activer le système va activer tous mes blocs.
Les blocs doivent être activés manuellement
après l'installation d'une nouvelle distribution, l'installation d'une distribution d'occasion ou la modification d'une distribution.
Ce sont quelques-uns de ces cas où le système ne s'allume pas,
le bloc ne s'active pas automatiquement.
C'est pourquoi je pourrais vouloir utiliser,
par exemple, installez nouveau au lieu de Remplacer par nouveau.
Installer nouveau me permet de faire des choses avant de rallumer le système.
Cela me donne la possibilité de réaliser d'autres opérations
ou d'autres actions avant d'allumer mon système.
L'activation du bloc n'active pas le système si le bloc a été désactivé manuellement.
Comme nous l'avons vu dans la sortie,
comme vous l'avez peut-être remarqué dans la sortie, que peu importe que le système soit allumé,
vous pourriez obtenir un événement Activer le système.
Il n’y a pas de mal à allumer un système si celui-ci est déjà allumé.
Ce que je dis, c'est qu'en cas de doute, ajoutez un système d'activation
à votre chaîne d'événements pour vous assurer que le système est activé.
Au fait, peu importe que le bloc soit activé en premier
ou le système est allumé en premier.
Les deux fonctionnent de la même manière.
Très bien, passons à notre deuxième exemple.
Ce que nous allons faire, c'est construire un bloc de base
dans un arrangement de secours.
Nous aurons une unité principale et une unité de secours.
Nous allons faire un démarrage à froid,
ce qui signifie que l'unité de secours, l'unité de secours, ne vieillit pas.
Cependant, il faudra 30 minutes pour démarrer l'unité.
Quelque chose que je ne peux pas faire avec le mode veille composite.
Huit heures de maintenance sur la sauvegarde sont effectuées après contrôle
est renvoyé à l'unité principale.
Nous allons examiner deux situations de commutation différentes.
En fait, nous allons examiner un commutateur infaillible et nous allons
pour regarder un commutateur où nous avons 90% de fiabilité.
Pour tous mes blocs, je vais supposer Exponentiel (500).
Je vais supposer qu'il faut huit heures pour réparer ou entretenir.
Les blocs défaillants seront remplacés par de nouveaux.
Comme dans l'exemple précédent, nous allons examiner les blocs de base
dans cet agencement en série avec un bloc de secours ayant la même configuration,
évidemment, à l'exception de ce temps de démarrage de 30 minutes,
ce que je ne peux pas faire.
Jetons un oeil.
Voici notre arrangement de base.
J'ai mon unité de secours, mon unité principale, mon unité de secours, et pour chacune d'entre elles
J'ai associé un événement d'échec et un remplacement par un nouveau.
En quelque sorte, l'essentiel de ce avec quoi je pourrais commencer.
Je ne sais pas si je l'ai déjà souligné lorsque nous regardions le résultat,
mais c'est utile lorsque j'ajoute un événement, j'ajoute une action pour lui donner un nom unique
parce que ce sont les noms qui apparaissent dans ma sortie.
Très bien, commençons donc par une unité de sauvegarde.
Lorsque mon système sera en ligne à l’instant zéro, tout sera activé.
Je veux m’assurer qu’au moment zéro, cette unité de secours soit éteinte.
La façon dont je vais procéder est d'utiliser l'initialisation.
Vous remarquerez que lorsque j'ai utilisé l'initialisation,
il a disparu.
La prochaine chose que je veux faire est d’éteindre le bloc.
Maintenant, si vous avez déjà utilisé RSS,
vous vous en souviendrez lorsque j'essaie d'ajouter une action,
il va empiler ces actions les unes sur les autres.
Parfois, ce n’est pas le meilleur endroit pour eux.
Ce que vous pourriez faire à chaque fois que vous avez une action sur laquelle travailler,
Je peux sélectionner l'action, cliquer et maintenir ce signe plus
et ensuite, faites simplement glisser le plus.
Maintenant, je peux ajouter mon action.
Dans ce cas, je souhaite désactiver le blocage.
Maintenant, je ne veux pas que le bloc Désactiver soit associé à cela, Remplacer par Nouveau.
Ce que je vais faire pour éviter que cela se produise, c'est simplement supprimer la flèche.
Je peux maintenant me connecter à l'événement que je souhaite.
L’avantage de faire cela est que je peux maintenant déplacer ce bloc où je veux.
J'ai beaucoup plus de flexibilité avec la façon dont ce bloc fonctionne.
L’autre chose que je vais faire, c’est que je veux absolument les étiqueter.
donc je sais que lorsque je regarde mon tableau de résultats, je saurai ce qui se passe.
Ceci est Désactiver le blocage...
Appelons simplement cela désactiver la sauvegarde au démarrage.
Je vais donner à chacun de mes événements, à chacune de mes actions un nom unique
donc je sais quand ils se produisent.
Cela désactive ma sauvegarde au démarrage.
La prochaine chose que je vais vouloir faire, c'est quand l'unité principale tombe en panne,
Je vais vouloir allumer l'unité de sauvegarde.
Maintenant, encore une fois, plutôt que de sélectionner l'unité de sauvegarde et de dire Activer le blocage,
Je vais choisir mon bloc d'activation de manière interactive.
Je vais supprimer ma connexion ici pour pouvoir déplacer ceci.
Je vais déplacer un peu les choses.
Je vais déplacer ça juste ici.
Encore une fois, je veux nommer cela afin que si je reviens à ce diagramme
dans quelques jours, je saurai à quoi est associée cette action.
Nous appellerons cela activer la sauvegarde à partir du principal.
Une autre chose qui est mentionnée dans la documentation,
mais je ne sais pas à quel point, mais je peux me connecter,
dans ce cas, je connecte un événement d'un bloc à une action
dans un autre bloc.
Je peux certainement le faire.
Maintenant, comme je l'ai mentionné plus tôt, cela activera le bloc
parce que ce bloc a été désactivé manuellement,
Je vais devoir allumer le système également.
Allumez le système.
Encore une fois, je veux probablement étiqueter cela,
Je dirai, activez le système à partir de la sauvegarde et ainsi de suite.
Maintenant, la seule autre chose que je dois ajouter à mon diagramme est que
lorsque mon serveur principal revient en ligne, je souhaite désactiver ma sauvegarde,
faire la maintenance de ma sauvegarde.
Maintenant, je pourrais probablement...
Eh bien, commençons par désactiver la sauvegarde, désactiver le blocage.
Supprime ça.
Nous appellerons cela.
J'ai dû choisir "Activer", j'ai choisi "Désactiver" et "Bloquer".
Essayons à nouveau.
Désactivez le blocage et étiquetez-le, désactivez la sauvegarde à partir du principal.
C'est là que mon principal entre en ligne.
Là, j'ai désactivé ma sauvegarde.
Je souhaite effectuer une maintenance dessus.
La façon dont je vais procéder est de simplement remplacer par un nouveau.
Ok, nous appellerons simplement cela une maintenance préventive.
Je crois que j'ai dit que la maintenance préventive allait
ça fait huit heures que ça dure.
Maintenant encore, je dois me rappeler
que Remplacer par Nouveau démarre automatiquement le bloc.
Ce que je vais devoir faire maintenant, c'est éteindre le bloc.
Maintenant, en y réfléchissant un peu plus en détail,
J'aurais probablement pu passer directement du nouveau au retour en ligne
pour faire l'entretien.
Parce qu'une fois que je démarre la maintenance de ma sauvegarde, la sauvegarde cesse de fonctionner.
Ensuite, une fois que j'ai terminé mon entretien,
éteindre le bloc.
Ce bloc ne fait pas de mal, mais il est redondant.
Alors débarrassons-nous-en.
Ce serait ma configuration.
J'aime toujours courir pour vérifier si les choses fonctionnent
dans le bon ordre et je générerai ma sortie.
Dans ce cas, je l'ai configuré uniquement pour effectuer une simulation.
Je devrais peut-être en prendre quelques-uns
de simulations en fonction de la fiabilité associée à mes unités.
Voici les principaux échecs, le système tombe en panne,
le bloc de secours est éteint, mettez-en un nouveau principal,
activer la sauvegarde pour le principal.
Si nous regardons la colonne des prédateurs, c'est mon tour de faire la sauvegarde pour le principal.
Activer le système à partir de la sauvegarde, activer le blocage par le système.
Encore une fois, j'aime les parcourir une fois que je les ai construits pour m'assurer
les choses se passent dans le bon ordre.
Le système de virage est activé.
Voilà, la nouvelle canalisation principale est installée.
J'allume mon système,
encore une fois, c'est déjà fait, mais ça n'a pas d'importance, ça ne fait pas mal.
Nouveau principal Remplacer par Nouveau.
C'est le bloc, la sauvegarde étant tournée
pour obtenir un PM et ainsi de suite.
Cette sauvegarde devrait être désactivée.
Encore une fois, j'aime les utiliser juste pour vérifier
pour que les choses fonctionnent correctement.
Voilà la configuration sans le commutateur.
Ajouter le commutateur est relativement simple.
Où nous mettrions cela, nous mettrions cela
entre la panne principale et le démarrage de la sauvegarde
et c'est à cela que servent les blocs if.
Laissez-moi me débarrasser de cette connexion.
Peu importe de quel bloc cela vient
et je ne voulais pas le mettre là.
Laisse-moi partir de... C'est parti.
J'ai une sauvegarde au cas où quelque chose comme ça arriverait.
On y va.
Voilà ma sauvegarde qui est activée.
Voilà mon principal défaut.
Nous allons nous en débarrasser.
Je veux probablement ajouter mon bloc if pour pouvoir le faire flotter n'importe où.
Je vais simplement en prendre un et nous ajouterons un si.
Supprimer la connexion.
Connectons cela.
Maintenant, la façon dont je configurerais mon si,
la façon dont if fonctionne est qu'il évalue ce qui se trouve dans la case de condition if.
Si c'est vrai, si cela donne un résultat, alors vous continuez.
Si l'évaluation est à zéro, vous vous arrêtez.
Ce que je peux dire c'est que si... je n'ai pas besoin du si là,
Je vais dire que l'uniforme aléatoire est inférieur à 0,9.
Quand c'est vrai, la chaîne continue, sinon, elle s'arrête là.
C'est ça.
C'est aussi simple que cela de mettre cette instruction if.
Encore une fois, je voudrais probablement aussi étiqueter cela.
Donc si le changement est un succès ou quelque chose comme ça.
À ce stade, le seul inconvénient est le suivant : que se passerait-il si le commutateur échouait ?
Eh bien, le commutateur est tombé en panne, il va falloir attendre que le principal soit à nouveau en ligne.
Main revient en ligne, il essaie de désactiver ma sauvegarde.
Cela ne fait pas de mal d'essayer de désactiver quelque chose qui est déjà désactivé.
Mais la chose que je ne voudrais peut-être pas faire
je ne voudrais peut-être pas faire la maintenance si la sauvegarde n'était pas utilisée.
Dans un exemple ultérieur, nous verrons comment contourner ce problème,
Comment examiner le système et dire si la sauvegarde est en cours d'exécution ?
S'il ne fonctionne pas, oui, faites la maintenance.
S'il est en cours d'exécution, vous n'avez pas besoin de maintenance.
Passons à l’exemple suivant.
Dans ce cas, j'ai deux pompes fonctionnant en parallèle avec une maintenance préventive
effectué toutes les deux semaines et d'une durée de huit heures.
Les PM sont décalées d'une semaine pour éviter d'avoir les deux pompes en panne
en même temps.
En cas de panne d'une pompe, une réparation minimale, prenant quatre heures, est effectuée.
Dans ce cas, la simulation est exécutée sur une période d’un an.
Commençons par l'essentiel ici.
Voici mes pompes avec les pannes et les remplacements de pompes.
Comment puis-je configurer l'attente d'une semaine avant de commencer les PM ?
Comme dans le dernier exemple, je vais commencer par l'initialisation.
Ce que je vais dire, c'est d'attendre une semaine.
Comment dire "attends une semaine" ?
Eh bien, ce que je vais faire, c'est utiliser l'action de planification.
Je vais faire ce que j'ai fait dans le passé.
Nous allons mettre en place le planning, supprimer ma connexion.
J'ai un certain nombre d'options différentes avec le calendrier.
Je veux que ça n'arrive qu'une fois. Je veux que ça arrive dès le début.
il est donc connecté à mon événement d'initialisation.
Nous allons appeler cela une attente d'une semaine.
Je veux que cela n'arrive qu'une fois.
Je veux que cela prenne 168 heures.
C'est parce que j'ai mis en place ma simulation en quelques heures.
Ce que cela fait, c'est qu'au démarrage, on attend une semaine
et exécute ensuite l'action à laquelle je me connecte ici.
Quelle est l'action que je vais connecter ?
Eh bien, je vais à nouveau utiliser le calendrier.
Ce qui va se passer, c'est que ce sera du PM sur la pompe 2.
Je vais laisser mon occurrence maximale vide.
Il en est ainsi jusqu'à la fin de la simulation.
Le temps d'exécution sera de 168x2 donc 336.
Ce qui se passe maintenant, c'est qu'après cette première semaine, toutes les 336 heures,
Je vais pouvoir effectuer une autre opération.
Cette opération peut être réalisée de plusieurs manières différentes.
Nous allons supposer que c'est PM [inaudible 00:37:03].
Nous allons donc dire : Remplacer par Nouveau.
Je peux dire ici, remplacez la pompe B.
Maintenant, l’une des choses que vous pourriez penser est que
que se passe-t-il si je vais faire ma maintenance préventive
et tout est décalé mais pour une raison quelconque la pompe A est en panne,
il se peut que cela ait eu un échec.
Je ne démonterais pas forcément ma pompe B
pour la maintenance préventive.
Faites cela et détruisez le système. Ce que nous allons utiliser, c'est
d'utiliser une variable cachée appelée contexte de simulation.
Le contexte de simulation est la façon dont je peux observer mon système.
Ce que nous allons faire, c'est mettre le contexte de la simulation,
nous le mettrons entre mon entretien préventif programmé et mon entretien préventif réel.
Faisons-le.
Débarrassons-nous de cela et nous l'implémenterons avec un si.
Laissez-moi me connecter et nous appellerons cela, si la pompe A fonctionne,
maintenant la question est, comment puis-je savoir si la pompe A fonctionne ?
Eh bien, dans ma condition if, je dois spécifier la variable cachée
qui est associé à la pompe A... Qu'elle soit active ou non.
La façon dont je procéderais serait dans un contexte de simulation.
et le cas n'a pas d'importance.
Contexte de simulation et les variables,
les variables système sont stockées sous forme d'association de tableau.
C'est ce qu'on appelle l'état de la pompe A.
Maintenant, ce que j'ai découvert, c'est que,
cette partie particulière de la boîte de dialogue n'est pas aussi flexible.
Si j'ai quelque chose de plus complexe que je veux construire,
alors je le fais généralement dans une fenêtre de script, puis je le copie et le colle
dans cette fenêtre.
Mais c'est relativement petit et nous allons simplement continuer à taper.
Nous allons dire que c'est actif.
C'est ce que j'utiliserais.
Maintenant, comment ai-je su que c'était ce que je devais utiliser ?
Eh bien, il s'avère que cette condition et un peu de
plus tard, lorsque nous parlerons du partage du stress,
cela agit comme un script.
Ce que je peux faire et ce que j'ai souvent fait
est mis dans une déclaration imprimée, comment puis-je savoir ce qui est à ma disposition ?
Mettons une instruction d'impression ici
et nous dirons imprimer le contexte de simulation, d'accord.
La seule chose dont nous devons être sûrs
est-ce que cette instruction if, la dernière instruction dans cette condition if évalue le vrai.
Juste pour vous montrer ce qui se passe
quand je fais ça, allons-y et exécutons ça.
Je vais le faire juste pour vous donner une idée
de ce qui est imprimé dans le journal.
Laisse-moi aller de l'avant et prendre mon journal et c'est fini sur l'un de mes autres...
Et voilà, voilà mon journal
et c'est parti.
C'est ce qui a été imprimé dans le journal.
Cela me donne des informations sur toutes les variables disponibles
dans le contexte de simulation pour ce diagramme particulier.
Si j'avais mis plus de blocs là-dedans, plus d'actions, plus d'événements
alors ceux-ci apparaîtraient, les informations sur ceux-ci apparaîtraient également.
Mais c'est une bonne façon de le dire
qu'est-ce qu'il y a dans mon système et quelles sont les variables auxquelles j'ai accès.
La chose importante à retenir ici est
Je peux lire ceci, mais je ne peux pas écrire dans cette variable particulière.
Je n'ai pas cette option pour changer les choses dans ma simulation,
mais je peux utiliser cette information.
Pour revenir à notre dernier exemple, ce que j’aurais pu faire
j'aurais pu y mettre une instruction if
et j'ai dit que si ma sauvegarde était active,
Eh bien, baissez le volume et faites l'entretien.
D'accord.
Maintenant, pour gagner du temps, je vais passer à autre chose.
pour ma dernière information que je veux partager avec vous.
Au fait, j'aurai un journal disponible,
devrait avoir un écrit disponible,
J'aurai d'autres exemples que je n'ai pas eu le temps de couvrir.
Vous verrez quelques actions supplémentaires
nous n'avons pas eu l'occasion de voir comment ils sont mis en œuvre
et peut-être quelques autres choses
ce n’est peut-être pas très simple.
Le partage de stress personnalisé est un peu inhabituel dans le sens où, par défaut,
le stress est partagé de manière égale entre les sous-unités.
Cela est mis en œuvre en modifiant la façon dont ce bloc vieillit
et ne modifie pas explicitement la distribution.
Lorsque je n'ai pas de partage de stress, disons que j'ai n sous-unités en parallèle,
disons que le premier échoue au premier instant, le deuxième au deuxième instant, et ainsi de suite.
Avec le partage du stress, la façon dont je vieillis le bloc
c'est que, ce premier échec se produit à t fois n,
fois le nombre d'unités de travail.
Le deuxième fait vieillir le bloc de n moins un supplémentaire
fois la différence entre mon premier et mon deuxième échec.
Le troisième n moins deux fois la différence entre
le troisième, le deuxième échec et ainsi de suite.
C'est ainsi que vieillissent les blocs.
Il s’agit des informations qui sont transmises à cette fonction personnalisée.
Lorsque j'essaie d'intégrer cela dans mon partage du stress,
ok, alors laissez-moi partager avec vous ce dernier exemple sur la façon dont cela est configuré.
Laissez-moi trouver mon exemple.
Ok, ici j'ai trois partages de stress différents.
Voilà mon partage de stress de base, donc je l'ai configuré comme base.
Voici ma coutume.
C'est de cette fin dont je parle.
Vous saurez qu'il est intégré dans cette fonction de journal.
Cela se fait de cette façon pour que le vieillissement du bloc corresponde
avec les distributions que je peux utiliser pour mon bloc de partage de stress personnalisé.
Ce que je fais, c'est que je pense aux choses en termes de mon explication.
que la première unité vieillit à un certain multiplicateur de temps,
le deuxième à un certain multiplicateur de fois la différence entre
mes premier et deuxième échecs, etc. C'est comme ça que je pense.
à propos de toutes ces choses. Par exemple, disons que je voulais créer,
Eh bien, avant d'y aller, laissez-moi juste dire brièvement,
comme avec le bloc if, je peux mettre des instructions d'impression ici.
Si je devais mettre une déclaration imprimée ici,
vous remarquerez que cela est exécuté avant le démarrage du système,
donc il va en imprimer cinq et il va en imprimer cinq
car dans ce cas le bloc a cinq unités.
Je vais en imprimer cinq lorsque le premier échoue,
ça va revenir à la fonction print four,
et ainsi de suite, ainsi de suite et ainsi de suite.
Disons que je voulais configurer cela comme un échec personnalisé où le bloc
vieillit à un rythme 10 fois supérieur, pas 5 fois supérieur, mais 10 fois supérieur,
le deuxième vieillit à cinq ans, le troisième à trois ans.
Le deuxième vieillit à un an,
et le dernier est trop stressé et vieillit deux fois plus vite.
Ce que je pourrais faire, c'est
encore une fois, mettons cela ici.
Laissez-moi ajouter un peu d'espace
et agrandir un peu ma boîte.
Je pourrais mettre quelque chose comme,
encore une fois, je veux mettre ce journal, ce journal doit être là,
connectez-vous et je dirais quelque chose comme choisir.
Ce que vous choisissez en fonction de n, il retournera,
voyons voir, quand il y a une unité, je veux qu'elle renvoie une moitié, une avec deux unités,
disons 2,5 avec 3 unités,
5 avec 4 unités, puis finalement 10.
C'est ainsi que je créerais mon partage de stress personnalisé.
Je ne suis pas limité à cette fonction de choix.
Ici, j'ai cet exemple particulier,
J'utilise une fonction.
Bon, encore une fois, ce qui est important ici
est-ce que tout cela est intégré dans cette fonction de journalisation afin que le vieillissement
du bloc et les distributions peuvent correspondre.
Bon, malheureusement, c'est tout ce que j'ai le temps de couvrir aujourd'hui.
J'aimerais avoir plus de temps. Il y en a certainement beaucoup.
d'autres choses dont nous pourrions parler.
Ceux-ci seront dans les documents que je vous ai fournis,
et j'aimerais entendre vos commentaires
et les questions et commentaires que vous avez.
Encore une fois, merci d'avoir pris le temps. Regardez ça.
J'espère que cela vous sera vraiment utile. Merci.