Vielen Dank, dass Sie sich die Zeit genommen haben, dieses Video anzusehen.
Ich gehe davon aus, dass Sie hier sind, weil Sie verwendet haben oder versucht haben,
die Plattform zur Simulation reparierbarer Systeme in JMP.
Vielleicht möchten Sie noch etwas mehr erfahren.
Sie könnten frustriert sein, weil es Dinge gibt
die Sie versuchen zu tun, von denen Sie nicht dachten, dass Sie sie tun können.
Worauf ich heute eingehen werde
sind Dinge, die in der Dokumentation nicht ausführlich erklärt werden,
Dinge, die ich durch Versuch und Irrtum gelernt habe
die nicht in der Dokumentation stehen,
und sogar Dinge, die ich aus Gesprächen mit dem Entwickler gelernt habe
über die Plattform, Dinge, die Sie nicht finden würden
auf jede andere Weise.
Ich gehe davon aus, dass Sie bereits Erfahrung mit dieser Plattform haben.
Ich gehe davon aus, dass Sie ein wenig über Zuverlässigkeitsanalyse wissen,
Ich muss also nicht näher darauf eingehen, was ein paralleles Setup ist.
was ist K von N und so weiter.
Ich möchte hier einige Beispiele ansprechen.
viele Materialien. Lasst uns anfangen.
Bevor wir uns nun mit
Lassen Sie mich Ihnen einen kurzen Überblick über die Repairable System Simulation-Plattform geben.
Hoffentlich haben Sie es schon einmal verwendet und sind damit vertraut.
Wir werden über drei verschiedene Komponenten sprechen
und Aspekte zu diesen Komponenten, die nicht in der Dokumentation enthalten sind
oder werden in der Dokumentation nicht gut erklärt.
Als Erstes werden wir über Blöcke sprechen.
Ich verwende Blöcke, um meine reparierbaren Systemsimulationsgegenstände zu bauen.
wie Parallel, K aus N, Standby.
Ich kann also jedem Block ein Ereignis zuordnen.
Das sind also diese kleinen orangefarbenen Blöcke, die wir sehen, und für jeden Block,
Ich kann ein oder mehrere Ergebnisse oder Aktionen zuordnen.
Das sind die blauen Punkte, die wir sehen,
und das wird mir beim Aufbau meiner Simulation helfen.
Beispielsweise möchte ich wissen, wann ein Block fehlschlägt
und wenn dieser Block ausfällt, möchte ich ihn vielleicht reparieren,
und diese Reparatur könnte, sagen wir, 40 Stunden dauern.
Das ist die Idee hinter der Erstellung dieser RSS-Diagramme.
Beginnen wir mit dem Gespräch über
einige der allgemeinen Eigenschaften der Blöcke.
Es gibt sechs verschiedene Blöcke in einem Knoten,
Dadurch kann ich die Dinge im Diagramm miteinander verknüpfen.
Fünf dieser sechs Blöcke sind Verbundwerkstoffe.
Sie wurden so gebaut, dass sie aus zwei oder mehr Untereinheiten bestehen.
JMP ermöglicht Ihnen die Verwendung mit einer Untereinheit.
Der eigentliche Anwendungsfall besteht jedoch darin, dass sie aus zwei oder mehr Untereinheiten bestehen.
Ereignisse und Aktionen werden auf den gesamten Block angewendet.
Das ist also ein wichtiger Punkt.
Die Komponenten innerhalb des Blocks können nicht einzeln behandelt werden,
mit Ausnahme des Standby-Blocks.
Ihnen wird eine einzige Verteilung zugewiesen.
Zusammengenommen bedeuten diese beiden Punkte, dass Dinge wie Reparatur
oder eine Wartung an Teileinheiten nicht möglich ist
innerhalb dieser zusammengesetzten Blöcke.
Ich muss warten, bis der gesamte Block ausfällt
bevor ich mit diesem Block tatsächlich etwas anfangen kann
bevor ich den Block reparieren kann.
Wenn ich unterschiedliche Verteilungen innerhalb des Blocks möchte,
Das kann ich, mit Ausnahme des Standbys, auch nicht.
Und wir werden etwas später in einem Beispiel darüber sprechen.
Untereinheiten für alle zusammengesetzten Blöcke,
mit Ausnahme der Serienblöcke sind sie parallel.
Das, was diese verschiedenen Verbundblöcke unterscheidet
sind die Anzahl der laufenden Komponenten,
wann der Block ausfällt und wie der Block altert.
Also habe ich eine kleine Tabelle zusammengestellt, die alle zusammengesetzten Blöcke durchgeht
und wie sie sich durch diese Merkmale unterscheiden.
Für alle Verbundblöcke, mit Ausnahme von Standby,
alle Komponenten laufen gleichzeitig.
Mit einem zusammengesetzten Block kann ich K meiner N Einheiten auswählen, die ausgeführt werden sollen
und die restlichen Einheiten dienen als Backups.
Wann versagen diese Blöcke?
Wenn Sie Erfahrung mit Zuverlässigkeit haben, ist ein Serienblock offensichtlich fehlgeschlagen
wenn eine Einheit ausfällt.
Ein Parallelblock fällt aus, wenn alle Einheiten ausfallen.
K aus N, wenn Sie weniger als K Einheiten haben, und so weiter.
Dinge, die Sie bei einer Zuverlässigkeitsanalyse natürlich erwarten würden,
Standby und Sharing weisen eine weitere Fehlerquelle auf.
Bei der Standby-Einheit handelt es sich um einen Umschaltmechanismus.
Es könnte einen Schalter für den gesamten Block geben
oder ein Switch für jedes Backup.
Der Standby kann ausfallen, wenn ich einen einzelnen Schalter habe
wenn dieser Schalter ausfällt oder wenn ich versuche,
jede meiner Backup-Einheiten
und auch der Schalter dieser Backup-Einheiten fällt aus.
Ein Switch-Fehler könnte also eine weitere Ursache für den Blockfehler sein.
Dasselbe gilt für das Teilen von Stress.
Beim Stress Sharing habe ich jedoch nur einen einzigen Schalter.
Das letzte Merkmal, das anders ist
zwischen diesen Verbundblöcken ist ihre Alterung.
In den ersten drei Blöcken altern sie gleichmäßig.
Alle Untereinheiten innerhalb des Blocks altern gleich.
Für Standby und Stress Sharing können die Untereinheiten altern...
Im Standby-Modus können sie unterschiedlich altern.
Was Stress Sharing betrifft, altern sie definitiv unterschiedlich.
Für Standby,
Ich kann eine einzelne Verteilung für meine Betriebseinheiten auswählen.
Für meine Backup-Einheiten,
Ich kann wählen, dass sie nicht altern – das ist kaltes Standby –
oder ich kann ihnen eine andere Verteilung geben
wie sie altern, wenn sie im Standby-Modus sind
oder wenn sie als Backups fungieren.
Das könnte dasselbe sein, da meine Betriebseinheiten etwas anderes sein könnten.
Ich kann also zwei verschiedene Verteilungen auswählen.
Die Sache ist wieder einmal,
wie bei all diesen zusammengesetzten Blöcken erhalte ich eine Verteilung
für alle meine Betriebseinheiten, eine Verteilung für alle meine Backups.
Ich kann nicht mischen und kombinieren.
Endlich funktioniert Stress Sharing
ein bisschen anders.
Beim Stress Sharing wird die Spannung gleichmäßig auf die Blöcke verteilt.
Wenn jedoch eine der Untereinheiten ausfällt,
Mit den verbleibenden Betriebseinheiten ist eine zusätzliche Belastung verbunden.
Die Belastung ändert sich also von Ausfall zu Ausfall.
Wir werden gleich ein Beispiel dafür sehen.
Eines der Dinge, die Sie vielleicht herausgefunden haben,
oder Sie erkennen vielleicht, dass manchmal
Sie möchten etwas mehr Flexibilität
und ich kann Flexibilität aufbauen, indem ich meine Grundblöcke anordne
oder meinen Grundblock, wie ich es mit einer Parallele oder einem K aus N tun würde
als einer meiner zusammengesetzten Blöcke.
Grundblöcke können einfach wie Serie, Parallel oder K aus N angeordnet werden
schwieriger mit den Blöcken Standby und Stress Sharing
wenn Sie mehr als zwei Einheiten haben.
Ich habe gleich ein Beispiel
das ein Standby-Setup mit zwei Basisblöcken zeigt.
Die Vorgehensweise ist relativ einfach.
Aber wenn ich versuchen würde, das auf drei Blöcke auszudehnen,
es wird viel schwieriger.
Nicht unmöglich, nur sehr schwer umzusetzen
weil ich den Überblick darüber behalten müsste, was funktioniert und was nicht,
was passiert, wenn der Fehler auftritt und so weiter.
Dasselbe gilt auch für das Stress-Sharing.
Kommen wir zu unserem ersten Beispiel.
Für unser erstes Beispiel betrachten wir eine einfache K-aus-N-Anordnung.
Wir werden fünf Untereinheiten haben.
Drei davon müssen betriebsbereit sein.
Sie alle werden den Weibull mit einem Alpha von 2.000 und einem Beta von 1 haben.
Wir gehen davon aus, dass bei einem Blockfehler
dass der Austausch 40 Stunden dauert.
Wir werden diese Vereinbarung treffen
in Reihe mit einem K aus N-Verbundblock.
Wir gehen außerdem davon aus, dass der K aus N zusammengesetzte Block 40 Stunden dauert
zu ersetzen, obwohl es fünf Untereinheiten gibt
innerhalb dieses Blocks, die fehlgeschlagen sind.
Wir werden einen Blick darauf werfen, welchen Unterschied es macht
ob ich diese als einzelne Artikel behandle
oder als mein zusammengesetzter Artikel?
So würde mein Setup in RSS aussehen.
Ich habe es sehr einfach gehalten.
Hier sind meine Untereinheiten relativ zu meinem K aus N.
Was aus N ein K macht, liegt im Knoten.
Ich kann angeben, wie viele der eingehenden Artikel
müssen in Betrieb sein.
Und hier habe ich gesagt, ich brauche drei Betriebs. Das macht es zu einem K aus N,
diese Anordnung, K aus N.
Und ich werde es ganz einfach halten.
Das einzige Ereignis, das ich mir anschauen werde, ist, ob der Block fehlschlägt oder nicht.
die einzige Maßnahme, die ich ergreifen werde, ist die Reparatur wie neu.
Lassen Sie uns fortfahren und dies ausführen.
Relativ schnell.
Ich möchte kurz über die Ausgabe sprechen
denn was an den Ausgang gesendet wird und die Zustände
wird uns helfen, wenn wir in Zukunft mit der Erstellung unserer Diagramme beginnen.
Schauen wir uns einfach die Reihenfolge der Operationen an
für diesen allerersten Fehler.
Wir sehen also, dass die Einheit Sub1 seit 766 Stunden ausgefallen ist.
Die Sperre wird aufgehoben.
Das ist wichtig zu beachten, da dies eines meiner potenziellen Ereignisse ist.
Der Block wird also entfernt, ich starte den Prozess und ersetze den Block.
Und nachdem der Block ersetzt wurde, nach den 40 Stunden, die ich angegeben habe
In meinem Setup wird das System automatisch eingeschaltet.
Das ist also ein weiterer wichtiger Punkt.
Wir werden in die Situation geraten
wo das System für einige meiner Ereignisse nicht
automatisch aktiviert, und ich werde darüber sprechen, welche das sind.
Was wir in diesen Fällen tun müssen
ist tatsächlich das System einschalten, oder in einigen Fällen, wenn der Block
nicht automatisch eingeschaltet wird, schalten Sie den Block manuell ein.
Hier haben wir Sub3-Fehler und Sie sehen eine ähnliche Reihe von Ereignissen,
Sub2 schlägt fehl usw. Schauen wir uns an, was passiert
wenn das System ausfällt.
Und wir wissen, dass dies mit Sicherheit passiert, wenn K von N fehlschlägt.
Okay, hier ist also der erste Fall, in dem das System ausfällt.
Auch hier gilt, dass die meisten Operationen sehr ähnlich sind,
Sie werden jedoch feststellen, dass das System dadurch heruntergefahren wird.
Beachten Sie, dass das System heruntergefahren wurde, also kann ich das System herunterfahren.
Es schaltet alle Blöcke im System aus.
Auch hier gilt es, etwas Wichtiges im Hinterkopf zu behalten:
denn es wird Fälle geben, in denen wir wissen müssen
ob ein Block ein- oder ausgeschaltet ist.
Ob wir einen Block manuell aktivieren müssen oder nicht.
Also, los geht's mit dem Austausch.
Sobald der Austausch abgeschlossen ist,
alle Blöcke werden automatisch eingeschaltet.
Und wieder mit diesem ersetzen, mit neuen,
Das Aus- und Einschalten erfolgt automatisch.
Ich muss mir darüber also keine Sorgen machen.
Endlich habe ich meinen K-aus-N-Austausch abgeschlossen und bin bis zum nächsten Ausfall fertig.
Relativ unkompliziert.
Wenn ich mir die Leistung meines Systems ansehen möchte
Ich starte einfach meinen Ergebnis-Explorer.
Standardmäßig werden mir die Informationen auf Komponentenebene nicht angezeigt.
Wenn ich Informationen auf Komponentenebene haben möchte, muss ich zurück zum Hotspot gehen
und wähle aus, ob ich einen Overall möchte,
Ich werde meine Ausfallzeit nach Komponente auswählen.
Was man bei dieser Organisation bedenken sollte,
das sagt mir nur
die Ausfallzeit des Systems im Zusammenhang mit meinen Komponenten.
Das sagt mir also, wie oft K von N das System zum Absturz gebracht hat.
Für jeden dieser Punkte gilt:
diese entsprachen dem Zeitpunkt, als diese Untereinheit das System herunterfuhr.
Wenn man also darüber nachdenkt, entsprechen diese den Zeiten
als die Untereinheit als letzte meiner fünf Einheiten ausfiel,
denn das ist der einzige Zeitpunkt, an dem das System ausfällt
ist, wenn alle dieser fünf Untereinheiten ausfallen.
Wenn ich mir nun die Verteilung auf Komponentenebene ansehen möchte,
Dies sagt mir nur, wann das System abstürzt.
Aber sagen wir, ich bin daran interessiert, wie oft Sub1 ausgefallen ist,
wie oft Sub2 ausgefallen war und so weiter.
Der Hotspot, ich kann mir diese Punktschätzung ansehen
für die Komponentenverfügbarkeit.
Und wenn ich nach unten scrolle, zum Beispiel zu Sub1,
Dies gibt mir meine Verteilungsinformationen
für die Komponente selbst.
Z umfasst nicht nur die Zeiten, in denen Untereinheit 1 das System heruntergefahren hat,
aber als Untereinheit 1 selbst ausfiel.
Der einfachste Weg, in die einzelnen Verteilungen aller meiner Unterkomponenten einzutauchen.
Kommen wir zu einigen dieser Aktionen und Ereignisse
und einige der damit verbundenen besonderen Eigenschaften.
Wir beginnen mit den Ereignissen.
Wird in der Dokumentation nicht erwähnt
Inservice ist jedoch nur für Basisblöcke verfügbar.
Zur Erinnerung: Inservice basiert auf dem Alter des Blocks
und nicht das Alter zum Zeitpunkt der Simulation.
Wenn ich zum Beispiel etwas warten möchte
nach 100 Betriebsstunden würde ich eine Inservice verwenden.
Andernfalls könnte ich einfach ein geplantes Ereignis verwenden.
Eine geplante Veranstaltung würde einmal pro Woche durchgeführt,
aber Inservice ist nur für meinen Basic-Block verfügbar.
Sagen Sie mir also, ob ich Inservice verwenden möchte,
Ich muss diese Grundblöcke aufbauen.
Initialisierung, Blockfehler und Systemausfall
kann für jeden Block nur einmal verwendet werden.
Wenn Sie sie verwenden, werden Sie feststellen,
Sie verschwinden aus Ihrer Ereignispalette und werden daher nicht mehr angezeigt.
Sie können diese also nur einmal verwenden.
Reden wir über Aktionen.
Es gibt 13 Aktionen, die ich verwenden kann.
„Install Used“, „Change Distribution“ und „If“ können nur mit Basisblöcken verwendet werden.
Minimal Repair kann nur mit Basic und Series verwendet werden.
Damit bleiben uns neun Aktionen, die ich für jeden der Blöcke verwenden kann.
Sie sind also das Ein- und Ausschalten eines Blocks, das Ein- und Ausschalten des Systems,
Durch Neues ersetzen, Neues installieren, Block entfernen, Fehler untersuchen,
und Zeitplan. Das sind also die neun
die jeder Block, sei es der Basisblock oder der Verbundblock, verwenden kann.
Es gibt keine Begrenzung, wie oft eine Aktion auf einen bestimmten Block angewendet werden kann.
Ich habe also ein Beispiel, bei dem ich „Block deaktivieren“ mehr als einmal verwendet habe.
Der Grund dafür ist, dass
Was ich tun möchte, nachdem ich drehe oder wenn ich den Block einschalte, kann unterschiedlich sein
abhängig davon, wann der Block aktiviert wird.
Und wir werden gleich noch einmal ein Beispiel dafür sehen.
Aktionen können nur mit anderen Aktionen verbunden werden.
Tatsächlich können Ereignisse nur mit Aktionen verknüpft werden.
Daher kann ich ein Ereignis oder eine Aktion nicht mit einem Block oder einem anderen Ereignis verknüpfen.
Allerdings sind mir hinsichtlich der Anzahl der Aktionen, die ich aneinanderreihen kann, keine Grenzen gesetzt.
Einige spezifische Eigenschaften.
Die Initialisierung erfolgt nur einmal, und zwar ganz am Anfang
des Simulationslaufs.
Wir werden ein Beispiel haben, wo das einen Unterschied macht,
wo ich bei einer Initialisierung einen Block ausschalte,
aber wenn das System wieder online ist, wird dieser Block wieder eingeschaltet.
Ich muss also sicherstellen, dass ich das manuell ausschalte.
Die Initialisierung erfolgt also nur am Anfang.
Das System ist ausgefallen, wenn es für jeden Block auftritt.
unabhängig davon, welcher Block das System zum Absturz gebracht hat.
Das kann ich als Zuhörer also nutzen, um zu sehen …
Wenn beispielsweise das System ausfällt,
Ich möchte möglicherweise Wartungsarbeiten am Block durchführen, obwohl der Block
lief, vielleicht nur, um es wieder hochzufahren
auf nahezu neu oder um es wieder wie neu zu machen.
Es kommt also zu einem Systemausfall, unabhängig davon, welcher Block den Ausfall verursacht hat.
Dann über die Aktionen,
Einschalten. Das System schaltet jeden verfügbaren Block ein.
Mit jedem Block meine ich alles, was noch nicht unten ist
aufgrund eines Fehlers oder einer geplanten Ausfallzeit.
So könnte ich etwas planen, das nicht verfügbar ist
entweder durch Verwendung dieses geplanten Ereignisses oder durch Verwendung der geplanten Aktion.
Durch das Einschalten des Systems werden alle meine Blöcke eingeschaltet.
Blöcke müssen manuell aktiviert werden
nach „Neu installieren“, „Gebraucht installieren“ oder „Distribution ändern“.
Dies sind einige der Fälle, in denen das System nicht eingeschaltet wird.
der Block wird nicht automatisch aktiviert.
Aus diesem Grund möchte ich möglicherweise Folgendes verwenden:
beispielsweise „Neu installieren“ statt „Durch Neues ersetzen“.
Mit „Neu installieren“ kann ich Dinge erledigen, bevor ich das System wieder einschalte.
Es gibt mir die Möglichkeit, andere Operationen durchzuführen
oder andere Aktionen, bevor ich mein System einschalte.
Durch das Einschalten des Blocks wird das System nicht eingeschaltet, wenn der Block manuell ausgeschaltet wurde.
Wie wir in der Ausgabe gesehen haben,
wie Sie vielleicht in der Ausgabe bemerkt haben, dass unabhängig vom eingeschalteten System,
Möglicherweise wird das Ereignis „System einschalten“ angezeigt.
Es schadet nicht, ein System einzuschalten, wenn es bereits eingeschaltet ist.
Ich sage, wenn Sie Zweifel haben, fügen Sie ein Einschaltsystem hinzu
zu Ihrer Ereigniskette, um sicherzustellen, dass das System eingeschaltet ist.
Es spielt übrigens keine Rolle, ob der Block zuerst eingeschaltet wird
oder das System wird zuerst eingeschaltet.
Beide funktionieren auf die gleiche Weise.
Gut, fahren wir mit unserem zweiten Beispiel fort.
Wir werden einen Grundblock bauen
in einer Standby-Anordnung.
Wir werden eine Haupteinheit und eine Standby-Einheit haben.
Wir werden einen Kaltstart durchführen,
Das bedeutet, dass die Standby-Einheit, die Backup-Einheit, nicht altert.
Das Starten des Geräts dauert jedoch 30 Minuten.
Etwas, was ich mit dem Composite-Standby nicht tun kann.
Nach der Kontrolle werden acht Stunden Wartung am Backup durchgeführt
wird an die Haupteinheit zurückgeleitet.
Wir werden uns zwei verschiedene Switch-Situationen ansehen.
Wir werden uns einen unfehlbaren Schalter ansehen und wir werden
um uns einen Switch anzusehen, bei dem wir eine Zuverlässigkeit von 90 % haben.
Für alle meine Blöcke gehe ich von Exponential(500) aus.
Ich gehe davon aus, dass für die Reparatur bzw. Wartung acht Stunden benötigt werden.
Fehlerhafte Blöcke werden durch neue ersetzt.
Wie im vorherigen Beispiel werden wir uns die Grundblöcke ansehen
in dieser Anordnung in Reihe mit einem gleich aufgebauten Reserveblock,
offensichtlich, mit Ausnahme der 30-minütigen Startzeit,
was ich nicht kann.
Werfen wir einen Blick darauf.
Hier ist unsere Grundanordnung.
Ich habe meine Backup-Einheit, meine Haupteinheit, meine Standby-Einheit und für jede dieser Einheiten
Ich habe ein Fehlerereignis und ein Ersetzen durch Neues verknüpft.
Sozusagen das Grundgerüst dessen, womit ich anfangen könnte.
Ich weiß nicht, ob ich zuvor darauf hingewiesen habe, als wir uns die Ausgabe angesehen haben,
aber es ist hilfreich, wenn ich ein Ereignis hinzufüge, eine Aktion hinzufüge, um ihm einen eindeutigen Namen zu geben
weil das die Namen sind, die in meiner Ausgabe erscheinen.
Also gut, beginnen wir mit einer Backup-Einheit.
Wenn mein System zum Zeitpunkt Null online geht, wird alles eingeschaltet.
Ich möchte sicherstellen, dass die Backup-Einheit zum Zeitpunkt Null ausgeschaltet wird.
Ich werde das folgendermaßen machen: Ich werde die Initialisierung verwenden.
Sie werden feststellen, dass bei der Verwendung der Initialisierung
es ist verschwunden.
Als nächstes möchte ich den Block ausschalten.
Wenn Sie RSS bereits verwendet haben,
Sie werden sich daran erinnern, dass, wenn ich versuche, eine Aktion hinzuzufügen,
es wird diese Aktionen übereinander stapeln.
Manchmal ist das nicht der beste Standort für sie.
Was Sie tun können, wenn Sie eine Aktion haben, von der aus Sie arbeiten können,
Ich kann die Aktion auswählen, auf dieses Pluszeichen klicken und es gedrückt halten
und dann einfach das Plus wegziehen.
Jetzt kann ich meine Aktion hinzufügen.
In diesem Fall möchte ich die Sperre aufheben.
Jetzt möchte ich den damit verbundenen Block zum Deaktivieren nicht mehr verwenden, sondern durch Neues ersetzen.
Um das zu vermeiden, werde ich einfach den Pfeil löschen.
Jetzt kann ich mich mit dem gewünschten Ereignis verbinden.
Der Vorteil dabei ist, dass ich den Block jetzt überall hin verschieben kann, wo ich möchte.
Ich bin mit der Funktionsweise dieses Blocks viel flexibler.
Das andere, was ich tun werde, ist, dass ich diese unbedingt beschriften möchte
Wenn ich mir also meine Ergebnistabelle anschaue, weiß ich, was passiert.
Dies ist „Block deaktivieren“ …
Nennen wir es einfach „Backup beim Start deaktivieren“.
Ich werde jedem meiner Ereignisse, jeder meiner Aktionen einen eindeutigen Namen geben
damit ich weiß, wann sie auftreten.
Dadurch wird mein Backup gleich zu Beginn deaktiviert.
Das nächste, was ich tun möchte, ist, wenn die Haupteinheit ausfällt,
Ich möchte die Backup-Einheit einschalten.
Anstatt nun die Backup-Einheit auszuwählen und „Block aktivieren“ zu sagen,
Ich werde meinen Einschaltblock interaktiv auswählen.
Ich werde meine Verbindung hier löschen, damit ich das verschieben kann.
Ich werde die Dinge ein wenig umstellen.
Ich verschiebe das gleich hierher.
Ich möchte dies noch einmal benennen, damit, wenn ich zu diesem Diagramm zurückkomme,
in ein paar Tagen weiß ich, womit diese Aktion verbunden ist.
Wir nennen dies „Backup vom Hauptgerät aus aktivieren“.
Eine weitere Sache, die in der Dokumentation erwähnt wird,
aber ich weiß nicht, wie stark, aber ich kann eine Verbindung herstellen,
in diesem Fall verbinde ich ein Ereignis von einem Block mit einer Aktion
in einem anderen Block.
Das kann ich auf jeden Fall.
Wie ich bereits erwähnt habe, wird dadurch der Block aktiviert
weil dieser Block manuell ausgeschaltet wurde,
Ich muss das System auch einschalten.
Schalten Sie das System ein.
Auch hier möchte ich das wahrscheinlich als Bezeichnung verwenden:
Ich sage: „System aus Backup einschalten“ und so weiter.
Das Einzige, was ich meinem Diagramm noch hinzufügen muss, ist, dass
Wenn mein Hauptcomputer wieder online ist, möchte ich mein Backup deaktivieren.
Führen Sie Wartungsarbeiten an meinem Backup durch.
Jetzt könnte ich wahrscheinlich ...
Beginnen wir damit, die Sicherung auszuschalten. Schalten Sie Block aus.
Löschen Sie das.
Wir nennen das.
Muss „Einschalten“ ausgewählt haben, ich habe „Ausschalten – Blockieren“ bekommen.
Versuchen wir es noch einmal.
Schalten Sie Block aus und beschriften Sie es. Schalten Sie die Sicherung vom Hauptgerät aus aus.
Dort kommt mein Hauptanschluss online.
Dort habe ich mein Backup deaktiviert.
Ich möchte Wartungsarbeiten daran durchführen.
Ich werde das so machen, dass ich einfach „Durch Neu ersetzen“ auswähle.
Okay, wir nennen das einfach vorbeugende Wartung.
Ich glaube, ich sagte, dass die vorbeugende Wartung
Es dauert acht Stunden.
Jetzt muss ich mich wieder daran erinnern
dass „Ersetzen durch Neu“ den Block automatisch startet.
Was ich jetzt tun muss, ist, den Block auszuschalten.
Wenn wir jetzt etwas genauer darüber nachdenken,
Ich hätte wahrscheinlich einfach direkt von der neuen Online-Seite zurückkommen können
zur Durchführung der Wartung.
Denn sobald ich mit der Wartung meines Backups beginne, wird das Backup nicht mehr ausgeführt.
Wenn ich dann mit der Wartung fertig bin,
den Block ausschalten.
Dieser Block schadet nicht, ist aber überflüssig.
Also lasst es uns einfach loswerden.
Das wäre mein Setup.
Ich laufe immer gerne hin, um zu überprüfen, ob alles funktioniert
in der richtigen Reihenfolge und ich generiere meine Ausgabe.
In diesem Fall habe ich es nur für eine Simulation eingerichtet.
Ich muss vielleicht ein paar nehmen
von Simulationen, abhängig von der Zuverlässigkeit meiner Einheiten.
Hier ist der Hauptfehler, das System schaltet ab,
der Standby-Block wird abgeschaltet, ein neuer Hauptblock wird eingesetzt,
Aktivieren Sie die Sicherung für die Hauptleitung.
Wenn wir uns die Spalte „Predator“ ansehen, sehen wir, dass ich als Backup für Main an der Reihe bin.
System aus Backup aktivieren, Blockieren durch System aktivieren.
Auch hier gehe ich diese gerne durch, sobald ich sie erstellt habe, um sicherzugehen
die Dinge passieren in der richtigen Reihenfolge.
Das Turn-System wird eingeschaltet.
Dort ist die neue Hauptleitung eingebaut.
Ich schalte mein System ein,
nochmal, es ist schon an, aber egal, tut nicht weh.
Neues Hauptteil. Durch Neues ersetzen.
Das ist der Block, das Backup wird gedreht
bis hin zum Erhalt einer PM und so weiter.
Das Backup sollte deaktiviert sein.
Auch hier verwende ich diese gerne, nur um zu überprüfen
damit alles richtig funktioniert.
Das ist das Setup ohne den Schalter.
Das Hinzufügen des Schalters ist relativ unkompliziert.
Wo wir das hinstellen würden, ist, wir würden das hinstellen
zwischen dem Ausfall der Hauptleitung und dem Start der Sicherung
und dafür sind die if-Blöcke da.
Lassen Sie mich diese Verbindung loswerden.
Es ist egal, aus welchem meiner Blöcke das kommt
und ich wollte es nicht dort hinstellen.
Lassen Sie mich gehen von... Los geht's.
Ich habe ein Backup, falls so etwas passiert.
Auf geht's.
Da wird mein Backup eingeschaltet.
Das ist mein Hauptfehler.
Wir werden das loswerden.
Ich möchte wahrscheinlich meinen if-Block hinzufügen, damit ich ihn überall schweben lassen kann.
Ich nehme einfach eines davon und wir fügen ein „wenn“ hinzu.
Löschen Sie die Verbindung.
Lassen Sie uns das verbinden.
So würde ich mein if einrichten:
Die Funktionsweise besteht darin, dass es den Inhalt des If-Bedingungsfelds auswertet.
Wenn es wahr ist und die Auswertung eins ergibt, fahren Sie fort.
Wenn das Ergebnis Null ist, hören Sie auf.
Was ich sagen kann ist, wenn ... ich brauche das Wenn dort nicht,
Ich würde sagen, dass die zufällige Gleichmäßigkeit weniger als 0,9 beträgt.
Wenn das zutrifft, wird die Kette fortgesetzt, andernfalls endet sie dort.
Das ist es.
So einfach ist es, diese if-Anweisung einzufügen.
Auch dies möchte ich wahrscheinlich wieder beschriften.
Also, wenn der Wechsel erfolgreich ist oder so etwas.
An diesem Punkt besteht der einzige Nachteil darin, was passieren würde, wenn der Schalter ausfällt?
Nun, der Switch ist ausgefallen, er muss warten, bis die Hauptleitung wieder online ist.
Main kommt wieder online und versucht, mein Backup auszuschalten.
Es schadet nicht, zu versuchen, etwas auszuschalten, das bereits ausgeschaltet ist.
Aber was ich vielleicht nicht tun möchte
ist, dass ich die Wartung möglicherweise nicht durchführen möchte, wenn das Backup nicht verwendet wurde.
In einem späteren Beispiel werden wir sehen, wie wir das umgehen können.
Wie kann ich in das System schauen und sagen, ob das Backup läuft?
Wenn es nicht läuft, führen Sie die Wartung durch.
Wenn es läuft, ist keine Wartung erforderlich.
Fahren wir mit dem nächsten Beispiel fort.
In diesem Fall habe ich zwei Pumpen parallel laufen, mit einer vorbeugenden Wartung
alle zwei Wochen durchgeführt und dauert acht Stunden.
Die PMs werden um eine Woche versetzt, um zu verhindern, dass beide Pumpen ausfallen.
gleichzeitig.
Wenn eine Pumpe ausfällt, wird eine minimale Reparatur durchgeführt, die vier Stunden dauert.
In diesem Fall wird die Simulation über einen Zeitraum von einem Jahr durchgeführt.
Beginnen wir hier mit dem Nötigsten.
Hier sind meine Pumpen mit den Pumpenausfällen und -ersetzungen.
Wie richte ich die Wartezeit von einer Woche ein, bevor Sie mit den PMs beginnen?
Wie im letzten Beispiel beginne ich mit der Initialisierung.
Ich würde sagen: Warten Sie eine Woche.
Wie sage ich, warte eine Woche?
Nun, ich werde die Planungsaktion verwenden.
Ich werde das tun, was ich in der Vergangenheit getan habe.
Wir richten den Zeitplan ein und löschen meine Verbindung.
Ich habe verschiedene Optionen für den Zeitplan.
Ich möchte, dass dies nur einmal geschieht. Ich möchte, dass es ganz am Anfang geschieht
es ist also mit meinem Initialisierungsereignis verbunden.
Wir nennen das eine Wartezeit von einer Woche.
Ich möchte, dass dies nur einmal passiert.
Ich möchte, dass es 168 Stunden dauert.
Das liegt daran, dass ich meine Simulation innerhalb weniger Stunden eingerichtet habe.
Das bedeutet, dass beim Start eine Woche gewartet wird
und führt dann die Aktion aus, die ich hier verbinde.
Welche Aktion werde ich verbinden?
Nun, ich werde den Zeitplan erneut verwenden.
Das wird PM an Pumpe 2 sein.
Ich werde mein maximales Vorkommen leer lassen.
Dies geschieht bis zum Ende der Simulation.
Die Fertigstellungszeit beträgt 168 x 2, also 336.
Was nun passiert, ist, dass nach dieser ersten Woche alle 336 Stunden
Ich werde in der Lage sein, eine weitere Operation durchzuführen.
Für diesen Vorgang gibt es mehrere Möglichkeiten.
Wir gehen davon aus, dass es 1. Uhr ist [unverständlich 00:37:03].
Also sagen wir: „Ersetzen durch Neu.“
Ich kann hier sagen, Pumpe B ersetzen.
Nun, eines der Dinge, die Sie vielleicht denken, ist, dass
Was passiert, wenn ich meine vorbeugende Wartung durchführe?
und alles ist gestaffelt, aber aus irgendeinem Grund ist Pumpe A ausgefallen,
es könnte einen Fehler gegeben haben.
Ich würde meine Pumpe B nicht unbedingt abbauen
zur vorbeugenden Wartung.
Tun Sie das und schalten Sie das System ab. Was wir verwenden werden, ist, dass wir
um eine versteckte Variable namens Simulationskontext zu verwenden.
Über den Simulationskontext kann ich Einblick in mein System nehmen.
Wir werden den Simulationskontext einfügen,
wir werden es zwischen meine geplante und meine tatsächliche vorbeugende Wartung legen.
Lass es uns tun.
Lassen Sie uns das loswerden und es mit einem if implementieren.
Lassen Sie mich eine Verbindung herstellen und wir nennen dies, wenn Pumpe A funktioniert,
nun die Frage, wie erkenne ich, ob Pumpe A funktioniert?
Nun, in meiner if-Bedingung muss ich die versteckte Variable angeben
das hängt mit Pumpe A zusammen … ob sie aktiv ist oder nicht.
Ich würde das im Simulationskontext tun.
und die Groß-/Kleinschreibung spielt keine Rolle.
Simulationskontext und die Variablen,
Die Systemvariablen werden als zugehöriges Array gespeichert.
Dies wird als Status der Pumpe A bezeichnet.
Was ich nun herausgefunden habe, ist,
dieser spezielle Teil des Dialogfelds ist nicht ganz so flexibel.
Wenn ich etwas Komplexeres bauen möchte,
dann mache ich es normalerweise in einem Skriptfenster und kopiere es und füge es dann ein
in dieses Fenster.
Aber das ist relativ klein und wir können einfach weiterschreiben.
Wir sagen, dies ist aktiv.
Das ist, was ich verwenden würde.
Woher wusste ich, dass ich das verwenden muss?
Nun, wie sich herausstellt, diese if-Bedingung und ein wenig
später, wenn wir über die Stressteilung sprechen,
Dies funktioniert wie ein Skript.
Was ich kann und was ich oft getan habe
wird in eine Druckanweisung eingefügt. Woher weiß ich, was mir zur Verfügung steht?
Lassen Sie uns dort eine Druckanweisung einfügen
und wir sagen, drucke Simulationskontext, okay.
Das Einzige, worüber wir uns sicher sein müssen
ist diese if-Anweisung, die letzte Anweisung in dieser if-Bedingung wird als wahr ausgewertet.
Nur um Ihnen zu zeigen, was passiert
Wenn ich das mache, lassen Sie uns einfach weitermachen und es ausführen.
Ich werde das einfach mal durchgehen, um Ihnen eine Vorstellung zu geben
von dem, was in das Protokoll gedruckt wird.
Lassen Sie mich weitermachen und mein Protokoll holen, und es ist auf einem meiner anderen …
Hier ist mein Logbuch
und los geht's.
Dies wurde in das Protokoll gedruckt.
Dadurch erhalte ich Informationen zu allen verfügbaren Variablen
im Simulationskontext für dieses spezielle Diagramm.
Wenn ich mehr Blöcke hineingelegt hätte, mehr Aktionen, mehr Ereignisse
dann würden diese angezeigt, und auch Informationen dazu würden angezeigt.
Aber das ist eine gute Möglichkeit, um zu sagen
was sich in meinem System befindet und auf welche Variablen ich Zugriff habe.
Das Wichtigste, was Sie hier beachten sollten, ist
Ich kann dies lesen, aber ich kann nicht in diese bestimmte Variable zurückschreiben.
Ich habe nicht die Möglichkeit, Dinge in meiner Simulation zu ändern,
aber ich kann diese Informationen verwenden.
Um auf unser letztes Beispiel zurückzukommen: Was hätte ich tun können?
ist, dass ich dort eine if-Anweisung hätte einfügen können
und sagte, wenn mein Backup aktiv wäre,
dann schalten Sie es aus und führen Sie die Wartung durch.
Okay.
Aus Zeitgründen werde ich nun weitermachen
zu meiner letzten Information, die ich mit Ihnen teilen möchte.
Übrigens werde ich ein Tagebuch zur Verfügung haben,
sollte eine Beschreibung verfügbar sein,
Ich werde noch weitere Beispiele haben, die ich aus Zeitgründen nicht behandeln konnte.
Sie werden noch ein paar weitere Aktionen sehen
wir hatten keine Gelegenheit, uns anzusehen, wie sie umgesetzt werden
und vielleicht einige der anderen Dinge
das ist vielleicht nicht ganz einfach.
Die benutzerdefinierte Stressfreigabe ist insofern etwas ungewöhnlich, als dass standardmäßig
Die Belastung wird gleichmäßig auf die Untereinheiten verteilt.
Dies wird durch die Änderung der Alterung dieses Blocks umgesetzt.
und die Verteilung nicht explizit zu ändern.
Wenn ich keine Spannungsverteilung habe, sagen wir, ich habe n Untereinheiten parallel,
Nehmen wir an, der erste schlägt zum ersten Mal fehl, der zweite zum zweiten Mal und so weiter.
Mit Stress teilen, wie ich den Block altere
ist, dass der erste Fehler bei t einmal n auftritt,
mal der Anzahl der Arbeitseinheiten.
Der zweite altert den Block um weitere n minus eins
mal der Unterschied zwischen meinem ersten und zweiten Fehlschlag.
Die dritte n minus zwei mal die Differenz zwischen
der dritte, zweite Fehler und so weiter.
Auf diese Weise altern die Blöcke.
Dies sind die Informationen, die an diese benutzerdefinierte Funktion übergeben werden.
Wenn ich versuche, dies in meine Stressbewältigung einzubauen,
okay, dann möchte ich Ihnen dieses letzte Beispiel zeigen, wie das eingerichtet wird.
Lassen Sie mich mein Beispiel finden.
Okay, hier habe ich drei verschiedene Stressverteilungen.
Das ist meine grundlegende Stressfreigabe, also habe ich das als grundlegend eingerichtet.
Hier ist mein Brauch.
Das ist das Ende, von dem ich spreche.
Sie wissen, dass es in diese Protokollfunktion eingebettet ist.
Dies geschieht, damit die Alterung des Blocks übereinstimmt
mit den Verteilungen, die ich für meinen benutzerdefinierten Stress-Sharing-Block verwenden kann.
Was ich tue, ist, dass ich über Dinge nachdenke, indem ich sie erkläre.
dass die erste Einheit mit einem bestimmten Multiplikator mal der Zeit altert,
die zweite mit einem gewissen Multiplikator mal der Differenz zwischen
meine ersten und zweiten Fehlerzeiten und so weiter. So denke ich
über all diese Dinge. Nehmen wir zum Beispiel an, ich wollte einrichten,
Nun, bevor ich dorthin gehe, möchte ich nur kurz sagen:
Wie beim if-Block kann ich hier Druckanweisungen einfügen.
Wenn ich hier eine Druckanweisung einfügen würde,
Sie werden feststellen, dass dies ausgeführt wird, bevor das System startet.
also wird es fünf drucken und es wird fünf drucken
denn in diesem Fall besteht der Block aus fünf Einheiten.
Ich werde fünf drucken, wenn der erste fehlschlägt.
es geht zurück in die Funktion print four,
und so weiter, so weiter und so fort.
Nehmen wir an, ich möchte dies als benutzerdefinierten Fehler einrichten, bei dem der Block
Alter mit dem 10-fachen, nicht 5-fachen, sondern 10-fachen Tempo,
der zweite wird mit fünf Jahren alt, der dritte mit drei Jahren.
Der zweite altert mit einem Jahr,
und letztere wird überbeansprucht und altert doppelt so schnell.
Was ich tun könnte, ist,
Lassen Sie uns das noch einmal hier einfügen.
Lassen Sie mich ein wenig Platz hinzufügen
und meine Box etwas größer machen.
Ich könnte etwas schreiben wie:
Ich möchte das Protokoll noch einmal einfügen. Das Protokoll muss dort drin sein.
log und ich würde so etwas wie „wählen“ sagen.
Was choose basierend auf n macht, wird zurückgegeben,
Mal sehen, wenn es eine Einheit gibt, möchte ich, dass eine Hälfte zurückgegeben wird, eine mit zwei Einheiten,
sagen wir 2,5 mit 3 Einheiten,
5 mit 4 Einheiten und dann schließlich 10.
So würde ich mein individuelles Stress-Sharing erstellen.
Ich bin nicht auf diese Auswahlfunktion beschränkt.
Hier habe ich in diesem speziellen Beispiel,
Ich verwende eine Funktion.
Okay, noch einmal, das Wichtige hier
ist, dass dies alles in diese Protokollfunktion eingebettet wird, so dass die Alterung
des Blocks und die Verteilungen können übereinstimmen.
Okay, leider ist das alles, worüber ich heute Zeit habe.
Ich wünschte, ich hätte mehr Zeit. Es gibt sicherlich viel
von anderen Dingen, über die wir reden könnten.
Diese finden Sie in den Materialien, die ich Ihnen zur Verfügung gestellt habe.
und ich würde mich über Ihr Feedback freuen
und Fragen und Kommentare, die Sie haben.
Nochmals vielen Dank, dass Sie sich die Zeit genommen haben. Schauen Sie sich das an.
Ich hoffe, das ist wirklich hilfreich. Danke.