Vielen Dank, dass Sie sich etwas Zeit genommen haben. Sehen Sie sich dieses Video an.
Ich gehe davon aus, dass Sie hier sind, weil Sie es verwendet haben oder versucht haben, es zu verwenden
die Repairable Systems Simulation-Plattform innerhalb von JMP.
Vielleicht möchten Sie noch ein bisschen mehr lernen.
Sie könnten frustriert sein, weil es Dinge gibt
dass du versuchst, das zu tun, was du nicht für möglich gehalten hast.
Also, was ich heute besprechen 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 enthalten sind,
und sogar Dinge, die ich durch Gespräche mit dem Entwickler gelernt habe
über die Plattform, Dinge, die Sie nicht finden würden
auf irgendeine andere Art und Weise.
Ich gehe davon aus, dass Sie diese Plattform schon einmal kennengelernt haben.
Ich gehe davon aus, dass Sie sich ein wenig mit Zuverlässigkeitsanalysen auskennen.
Daher muss ich nicht näher darauf eingehen, was ein paralleles Setup ist.
was ist etwas, das K aus N ist, und so weiter.
Ich habe also eine Reihe von Beispielen, die ich behandeln möchte:
viele Materialien. Lass uns anfangen.
Nun, bevor wir uns das tatsächlich ansehen
Lassen Sie mich Ihnen einen Überblick über die Repairable Systems Simulation-Plattform geben.
Hoffentlich haben Sie es schon einmal verwendet und sind damit vertraut.
Wir werden über drei verschiedene Komponenten sprechen
und Aspekte zu den Komponenten, die nicht in der Dokumentation enthalten sind
oder in der Dokumentation nicht ausführlich erläutert werden.
Das erste, worüber wir sprechen werden, sind Blöcke.
Blöcke sind das, was ich verwende, um meine reparierbaren Systemsimulations-Dinge 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 gilt:
Ich kann ein oder mehrere Ergebnisse oder Aktionen zuordnen.
Das sind diese blauen Punkte, die wir sehen,
und das wird mir beim Aufbau meiner Simulation helfen.
Beispielsweise möchte ich möglicherweise wissen, wann ein Block ausfällt
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 Reden darüber
einige der allgemeinen Eigenschaften der Blöcke.
Es gibt sechs verschiedene Blöcke in einem Knoten,
Dadurch kann ich Dinge innerhalb des Diagramms miteinander verbinden.
Fünf dieser sechs Blöcke sind zusammengesetzt.
Sie wurden so gebaut, dass sie aus zwei oder mehr Untereinheiten bestehen.
Mit JMP können Sie sie mit einer Untereinheit verwenden.
Der eigentliche Anwendungsfall besteht jedoch darin, dass sie aus zwei oder mehr Untereinheiten aufgebaut sind.
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 einzelne Verteilung zugewiesen.
Zusammengenommen bedeuten diese beiden Stichpunkte Dinge wie Reparatur
oder eine Wartung an Untereinheiten ist nicht möglich
innerhalb dieser zusammengesetzten Blöcke.
Ich muss warten, bis der gesamte Block fehlschlägt
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 auch nicht, mit Ausnahme des Standby.
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 parallel.
Das, was diese verschiedenen zusammengesetzten Blö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 in diesen Merkmalen unterscheiden.
Für alle zusammengesetzten Blö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 dann die restlichen Einheiten als Backups.
Wann versagen diese Blöcke?
Wenn Sie Erfahrung mit Zuverlässigkeit haben, schlägt ein Serienblock natürlich fehl
wenn eine Einheit ausfällt.
Ein Parallelblock schlägt fehl, wenn alle Einheiten ausfallen.
K aus N, wenn Sie weniger als K Einheiten haben, und so weiter.
Also Dinge, die man bei einer Zuverlässigkeitsanalyse natürlich erwarten könnte:
Standby und Freigabe haben eine andere Fehlermethode.
Bei der Standby-Einheit gibt es einen Umschaltmechanismus.
Es könnte einen Schalter für den gesamten Block geben
oder ein Schalter für jedes Backup.
Der Standby kann ausfallen, wenn ich einen einzelnen Switch habe
wenn dieser Schalter ausfällt oder wenn ich versuche, ihn zu verwenden
jede meiner Backup-Einheiten
und der Schalter dieser Backup-Einheiten schlägt ebenfalls fehl.
Ein Schalterfehler könnte also eine weitere Ursache für den Blockausfall sein.
Das Gleiche gilt für Stress Sharing.
Allerdings habe ich beim Stress Sharing nur einen einzigen Schalter.
Das letzte Merkmal, das anders ist
Zwischen diesen zusammengesetzten Blöcken liegt die Art und Weise, wie sie altern.
In den ersten drei Blöcken altern sie gleich.
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.
Beim Stress-Sharing altern sie definitiv unterschiedlich.
Für Standby,
Ich kann eine einzige Distribution für meine Betriebseinheiten auswählen.
Für meine Backup-Einheiten:
Ich kann wählen, dass sie nicht altern – das ist Cold Standby –
oder ich kann ihnen eine andere Verteilung geben
wie sie im Standby-Modus altern
oder wenn sie als Backups fungieren.
Das könnte das Gleiche sein, da meine Betriebseinheiten etwas anderes sein könnten.
Ich kann also zwei verschiedene Distributionen auswählen.
Die Sache ist wiederum,
Wie bei all diesen zusammengesetzten Blöcken erhalte ich eine Verteilung
für alle meine Betriebseinheiten, eine Distribution für alle meine Backups.
Ich kann nicht mischen und kombinieren.
Schließlich funktioniert Stress Sharing mit Stress Sharing
ein bisschen anders.
Beim Stress Sharing wird der Stress gleichmäßig auf die Blöcke verteilt.
Wenn jedoch eine der Untereinheiten ausfällt,
Mit den übrigen Betriebseinheiten ist eine zusätzliche Belastung verbunden.
Der Stress ändert sich also von Misserfolg zu Misserfolg.
Wir werden gleich ein Beispiel dafür sehen.
Nun, eines der Dinge, die Sie vielleicht gefunden haben:
oder Ihnen wird vielleicht klar, dass das manchmal der Fall ist
Sie möchten etwas mehr Flexibilität haben
Und die Art und Weise, wie ich Flexibilität aufbauen kann, besteht darin, dass ich meine Grundblöcke anordnen kann
oder mein Grundblock, wie ich es mit einem Parallel- oder K-aus-N-Block tun würde
als einer meiner Verbundblöcke.
Grundblöcke können einfach wie Reihen, Parallelen oder K aus N angeordnet werden
Mit den Standby- und Stress-Sharing-Blöcken ist das schwieriger
wenn Sie mehr als zwei Einheiten haben.
Ich habe gleich ein Beispiel
Das zeigt ein Standby-Setup mit zwei Grundblöcken.
Relativ einfach, wie das geht.
Aber wenn ich versuchen würde, das auf drei Blöcke auszudehnen,
es wird viel schwieriger.
Nicht unmöglich, nur sehr schwierig umzusetzen
weil ich im Auge behalten müsste, was in Betrieb ist und was nicht.
was passiert, wenn der Fehler auftritt und so weiter.
Das Gleiche gilt auch für das Stress-Sharing.
Kommen wir zu unserem ersten Beispiel.
In unserem ersten 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 ein Block ausfällt
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-Verbundblock 40 Stunden dauert
zu ersetzen, obwohl es fünf Untereinheiten gibt
innerhalb dieses Blocks, die fehlgeschlagen sind.
Wir schauen uns an, welchen Unterschied es macht
ob ich diese als Einzelstücke 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 es zu einem K aus N macht, ist der Knoten.
Ich kann angeben, wie viele der eingehenden Artikel
müssen in Betrieb sein.
Und hier habe ich gesagt, ich brauche drei Operationen. Das ist es also, was es zu einem K aus N macht,
diese Anordnung, K aus N.
Und ich werde es ganz einfach halten.
Das einzige Ereignis, das ich mir ansehen werde, ist, ob der Block fehlschlägt oder nicht.
Die einzige Maßnahme, die ich ergreifen werde, besteht darin, es wie neu zu reparieren.
Lassen Sie uns fortfahren und dies ausführen.
Relativ schnell.
Ich möchte ein wenig über die Ausgabe sprechen
denn was wird an den Ausgang und die Zustände gesendet
wird uns helfen, wenn wir in Zukunft mit der Erstellung unserer Diagramme beginnen.
Werfen wir einfach einen Blick auf die Reihenfolge der Operationen
für diesen allerersten Misserfolg.
Wir sehen also, dass Einheit Sub1 seit 766 Stunden ausgefallen ist.
Die Sperre wird entfernt.
Das ist wichtig zu beachten, denn das ist eines meiner potenziellen Ereignisse.
Der Block wird also entfernt, ich starte den Vorgang und ersetze den Block.
Und nach dem Austausch des Blocks, nach den von mir angegebenen 40 Stunden
In meinem Setup wird das System automatisch eingeschaltet.
Das ist also ein weiterer wichtiger Punkt.
Wir werden in die Situation geraten
Bei manchen meiner Veranstaltungen kommt das System nicht hin
automatisch eingeschaltet, und ich werde darüber sprechen, welche das sind.
Was wir in solchen Fällen tun müssen
ist tatsächlich das Einschalten des Systems oder in einigen Fällen das Blockieren
nicht automatisch aktiviert wird, schalten Sie die Sperre manuell ein.
Hier haben wir einen Ausfall von Sub3 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 mit Sicherheit, dass das passiert, wenn K aus N ausfällt.
Okay, hier ist der erste Fall, in dem das System ausfällt.
Auch hier ist es in Bezug auf die meisten Operationen sehr ähnlich:
Sie werden jedoch feststellen, dass dadurch das System heruntergefahren wird.
Beachten Sie, dass das System heruntergefahren wurde, also kann ich das System herunterfahren.
Es schaltet alle Blöcke im System ab.
Nochmals etwas Wichtiges, das Sie im Hinterkopf behalten sollten:
denn es wird Fälle geben, in denen wir es wissen müssen
ob ein Block ein- und ausgeschaltet ist oder nicht.
Ob wir einen Block manuell aktivieren müssen oder nicht.
Kommen wir also zum Ersatz.
Sobald der Austausch abgeschlossen ist,
Alle Blöcke werden automatisch aktiviert.
Und wieder mit diesem Ersetzen, durch Neues,
Das Aus- und Einschalten erfolgt automatisch.
Deshalb muss ich mir darüber keine Sorgen machen.
Endlich habe ich meinen K-out-N-Austausch abgeschlossen und bin bis zum nächsten Fehler fertig.
Relativ unkompliziert.
Wenn ich einen Blick auf die Leistung meines Systems werfen wollte
Ich werde gerade meinen Ergebnis-Explorer starten.
Standardmäßig werden mir die Informationen auf Komponentenebene nicht angezeigt.
Wenn ich Informationen auf Komponentenebene möchte, muss ich zum Hotspot zurückkehren
und wähle aus, ob ich einen Overall möchte,
Ich werde meine Ausfallzeit nach Komponente auswählen.
Nun, das, was man bei dieser Organisation im Hinterkopf behalten sollte:
Das sagt es mir nur
die Ausfallzeit des Systems, das mit meinen Komponenten verbunden ist.
Das sagt mir also, wie oft K von N das System zum Absturz gebracht hat.
Für jedes davon gilt:
Diese entsprachen dem Zeitpunkt, als diese Untereinheit das System herunterfuhr.
Wenn man also darüber nachdenkt, entsprechen diese der Zeit
Als die Untereinheit als letzte meiner fünf Einheiten abstürzte,
denn das ist das einzige Mal, dass das System ausfällt
ist der Zeitpunkt, an dem alle fünf Untereinheiten ausfallen.
Wenn ich mir nun die Verteilung auf Komponentenebene ansehen möchte,
Das sagt mir nur, wann es das System zum Absturz bringt.
Aber sagen wir mal, mich interessiert, wie oft Sub1 ausgefallen war,
wie oft war Sub2 ausgefallen und so weiter.
Den Hotspot kann ich mir anhand dieser Punktschätzung ansehen
für die Komponentenverfügbarkeit.
Und wenn ich zum Beispiel für Sub1 nach unten scrolle,
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 abstürzte.
Der einfachste Weg, in die einzelnen Verteilungen aller meiner Unterkomponenten einzutauchen.
Kommen wir nun zu einigen dieser Aktionen und Ereignisse
und einige der damit verbundenen besonderen Eigenschaften.
Wir beginnen mit den Ereignissen.
In der Dokumentation nicht erwähnt
Inservice ist jedoch nur für Basic-Blöcke verfügbar.
Zur Erinnerung: Inservice basiert auf dem Alter des Blocks
und nicht das Alter zum Zeitpunkt der Simulation.
Also zum Beispiel, wenn ich etwas warten möchte
Nach 100 Betriebsstunden würde ich einen Inservice verwenden.
Ansonsten könnte ich einfach eine geplante Veranstaltung gebrauchen.
Eine geplante Veranstaltung wird einmal pro Woche betreut.
aber Inservice ist nur für meinen Basic-Block verfügbar.
Sagt 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.
Was Sie also sehen werden, ist, wenn Sie sie verwenden:
Sie verschwinden aus Ihrer Ereignispalette, sodass sie nicht mehr angezeigt werden.
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 Basic-Blö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 prüfen,
und Zeitplan. Das sind also die Neun
dass jeder Block, entweder der Basis- oder der zusammengesetzte Block, verwendet werden kann.
Es gibt keine Begrenzung, wie oft eine Aktion auf einen bestimmten Block angewendet werden kann.
Ich habe also ein Beispiel, bei dem ich Turn Off Block mehr als einmal verwendet habe.
Der Grund ist, dass
Was ich nach dem Abbiegen oder beim Einschalten des Blocks tun möchte, 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 verbinden.
Allerdings sind mir hinsichtlich der Anzahl der Aktionen, die ich verketten kann, keine Grenzen gesetzt.
Ein paar spezifische Eigenschaften.
Die Initialisierung findet nur einmal statt, 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.
„System ist ausgefallen“ tritt bei jedem Block auf.
unabhängig davon, welcher Block das System zum Absturz gebracht hat.
Das kann ich also als Zuhörer nutzen, um zu sehen...
Wenn beispielsweise das System ausfällt,
Möglicherweise möchte ich Wartungsarbeiten am Block durchführen, obwohl der Block
lief, vielleicht nur, um es wieder hochzufahren
auf nahezu neu zu bringen oder es wieder in den Neuzustand zu versetzen.
Es kommt also zu einem Systemausfall, unabhängig davon, welcher Block ihn zum Absturz gebracht hat.
Dann über die Aktionen,
Beim Einschalten des Systems werden alle verfügbaren Blöcke aktiviert.
Mit jedem Block meine ich nun alles, was noch nicht unten ist
aufgrund eines Fehlers oder eines geplanten Ausfalls.
Ich könnte also planen, dass etwas ausfällt
entweder durch Verwendung dieses geplanten Ereignisses oder durch Verwendung der geplanten Aktion.
Wenn Sie das System einschalten, werden alle meine Blöcke aktiviert.
Blöcke müssen manuell aktiviert werden
nach „Neu installieren“, „Gebraucht installieren“ oder „Verteilung ä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 vielleicht Folgendes verwenden:
Installieren Sie beispielsweise „Neu“ anstelle von „Durch Neu 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.
„Blockierung aktivieren“ schaltet das System nicht ein, wenn die Blockierung manuell deaktiviert wurde.
Wie wir in der Ausgabe gesehen haben,
Wie Sie vielleicht in der Ausgabe bemerkt haben, gilt, dass unabhängig davon, ob das System eingeschaltet ist,
Möglicherweise wird das Ereignis „System einschalten“ angezeigt.
Es schadet nicht, ein System einzuschalten, wenn das System bereits eingeschaltet ist.
Was ich sage, ist, im Zweifelsfall ein „Turn on System“ hinzuzufügen
Fügen Sie Ihrer Ereigniskette hinzu, um sicherzustellen, dass das System eingeschaltet ist.
Es spielt übrigens keine Rolle, ob die Sperre zuerst aktiviert wird
oder das System wird zuerst eingeschaltet.
Beide funktionieren auf die gleiche Weise.
Also gut, fahren wir mit unserem zweiten Beispiel fort.
Was wir tun werden, ist, einen Basisblock zu bauen
in einer Standby-Anordnung.
Wir werden eine Haupteinheit und eine Standby-Einheit haben.
Wir werden einen Kaltstart durchführen,
Dies bedeutet, dass die Standby-Einheit, die Backup-Einheit, nicht altert.
Allerdings dauert es 30 Minuten, bis das Gerät hochgefahren ist.
Etwas, das ich mit dem Composite-Standby nicht machen kann.
Nach der Kontrolle wird eine achtstündige Wartung des Backups durchgeführt
wird an die Haupteinheit zurückgeleitet.
Wir werden uns zwei verschiedene Wechselsituationen ansehen.
Wir werden uns tatsächlich einen unfehlbaren Schalter ansehen und loslegen
um einen Schalter zu betrachten, 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 die Reparatur bzw. Wartung acht Stunden in Anspruch nimmt.
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 Standby-Block mit gleichem Aufbau,
Natürlich, mit Ausnahme dieser 30-minütigen Startzeit,
was ich nicht tun kann.
Lass uns einen Blick darauf werfen.
Hier ist unsere Grundvereinbarung.
Ich habe meine Backup-Einheit, meine Haupteinheit, meine Standby-Einheit und für jede dieser Einheiten
Ich habe ein Fehlerereignis und ein Ersetzen durch Neu zugeordnet.
Sozusagen das Nötigste dessen, womit ich beginnen könnte.
Ich weiß nicht, ob ich bereits darauf hingewiesen habe, als wir uns die Ausgabe angesehen haben,
Aber wenn ich ein Ereignis hinzufüge, ist es hilfreich, eine Aktion hinzuzufügen, um ihm einen eindeutigen Namen zu geben
denn das sind die Namen, die in meiner Ausgabe erscheinen.
Also gut, fangen wir mit einer Backup-Einheit an.
Wenn mein System zum Zeitpunkt Null online geht, wird alles eingeschaltet sein.
Ich möchte sicherstellen, dass die Backup-Einheit zum Zeitpunkt Null ausgeschaltet wird.
Ich werde das so machen, dass ich die Initialisierung verwende.
Sie werden feststellen, dass ich bei der Verwendung der Initialisierung
es verschwand.
Als nächstes möchte ich die Sperre deaktivieren.
Wenn Sie RSS schon einmal 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 jederzeit tun können, wenn Sie eine Aktion haben, mit der 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 deaktivieren.
Jetzt möchte ich nicht, dass der damit verbundene Ausschaltblock durch „Neu“ ersetzt wird.
Um das zu vermeiden, lösche ich einfach den Pfeil.
Jetzt kann ich mich mit der gewünschten Veranstaltung verbinden.
Der Vorteil dabei ist, dass ich den Block jetzt überall hin verschieben kann, wo ich möchte.
Ich habe viel mehr Flexibilität bei der Funktionsweise dieses Blocks.
Das andere, was ich tun werde, ist, dass ich diese auf jeden Fall kennzeichnen möchte
Ich weiß also, was passiert, wenn ich mir meine Ergebnistabelle ansehe.
Dies ist der Ausschaltblock...
Nennen wir das einfach „Backup beim Start deaktivieren“.
Ich werde jedem meiner Ereignisse, jeder meiner Aktionen einen eindeutigen Namen geben
So weiß ich, wann sie auftreten.
Dadurch wird mein Backup von Anfang an ausgeschaltet.
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 „Blockierung einschalten“ 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 verschieben.
Ich verschiebe das hierher.
Ich möchte dies noch einmal benennen, damit ich wieder auf dieses Diagramm zurückkomme
In ein paar Tagen weiß ich, womit diese Aktion verbunden ist.
Wir nennen dies „Sicherung vom Hauptgerät aktivieren“.
Eine weitere Sache, die in der Dokumentation erwähnt wird:
Aber ich weiß nicht wie stark, aber ich kann mich verbinden,
In diesem Fall verbinde ich ein Ereignis von einem Block mit einer Aktion
in einem anderen Block.
Das kann ich auf jeden Fall.
Nun, wie ich bereits erwähnt habe, wird dadurch der Block aktiviert
weil dieser Block manuell deaktiviert wurde,
Ich muss auch das System einschalten.
Schalten Sie das System ein.
Ich möchte das wahrscheinlich noch einmal benennen:
Ich sage: „System aus Backup einschalten“ und so weiter.
Das Einzige, was ich jetzt noch zu meinem Diagramm hinzufügen muss, ist Folgendes
Wenn mein Hauptrechner wieder online ist, möchte ich mein Backup ausschalten.
Führen Sie Wartungsarbeiten an meinem Backup durch.
Jetzt könnte ich wahrscheinlich...
Nun, fangen wir damit an, die Sicherung auszuschalten und die Blockierung auszuschalten.
Lösch das.
Wir nennen es.
Muss „Einschalten“ ausgewählt haben, ich habe „Ausschalten blockieren“ erhalten.
Versuchen wir es nochmal.
Deaktivieren Sie „Blockieren und kennzeichnen“ und deaktivieren Sie die Sicherung vom Hauptserver.
Dort kommt mein Hauptthema 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 werde.
Okay, wir nennen das einfach vorbeugende Wartung.
Ich glaube, ich habe gesagt, dass die vorbeugende Wartung im Gange ist
acht Stunden, die es dauert.
Jetzt muss ich mich noch einmal erinnern
Mit „Ersetzen durch Neu“ wird der Block automatisch gestartet.
Was ich jetzt tun muss, ist, den Block auszuschalten.
Wenn ich jetzt etwas genauer darüber nachdenke,
Ich hätte wahrscheinlich direkt vom Neuen zurückgehen können, indem ich wieder online ging
um die Wartung durchzuführen.
Denn sobald ich mit der Wartung meines Backups beginne, funktioniert das Backup nicht mehr.
Sobald ich mit meiner 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 renne immer gerne los, um noch einmal zu überprüfen, ob alles funktioniert
in der richtigen Reihenfolge und ich werde meine Ausgabe generieren.
In diesem Fall habe ich es nur für eine Simulation eingerichtet.
Vielleicht muss ich ein paar nehmen
von Simulationen abhängig von der Zuverlässigkeit meiner Einheiten.
Hier sind die Hauptfehler, das System schaltet ab,
der Standby-Block wird ausgeschaltet, ein neuer Hauptblock eingesetzt,
Aktivieren Sie die Sicherung für den Hauptserver.
Wenn wir uns die Predator-Spalte ansehen, sehen Sie dort mein eingeschaltetes Backup für main.
Aktivieren Sie „System aus Backup“ und „Blockieren durch System“.
Auch hier möchte ich diese gerne durchgehen, sobald ich sie erstellt habe, um sicherzugehen
Dinge passieren in der richtigen Reihenfolge.
Das Turn-System wird eingeschaltet.
Da ist die neue Hauptleitung eingebaut.
Ich schalte mein System ein,
Auch hier ist es schon an, aber egal, tut nicht weh.
Neue Hauptseite durch „Neu“ ersetzen.
Das ist der Block, das Backup, das gedreht wird
eine PN zu bekommen und so weiter.
Das Backup sollte deaktiviert sein.
Auch hier verwende ich diese gerne nur zur Überprüfung
damit die Dinge richtig funktionieren.
Das ist das Setup ohne Schalter.
Das Hinzufügen des Schalters ist relativ einfach.
Wo wir das hinstellen würden, ist, wir würden das hinstellen
zwischen dem Hauptausfall und dem Start des Backups
und dafür sind die if-Blöcke gemacht.
Lassen Sie mich diese Verbindung loswerden.
Es spielt keine Rolle, aus welchem meiner Blöcke das Wenn kommt
und ich wollte es nicht dort ablegen.
Lass mich gehen von...Auf geht's.
Ich habe ein Backup für den Fall, dass so etwas passieren sollte.
Auf geht's.
Da ist mein Backup aktiviert.
Das ist mein größter Fehler.
Wir werden das loswerden.
Ich möchte wahrscheinlich meinen if-Block hinzufügen, damit ich ihn überall schweben lassen kann.
Ich schnappe mir einfach eines davon und wir fügen ein Wenn hinzu.
Löschen Sie die Verbindung.
Lassen Sie uns das verbinden.
Nun, die Art und Weise, wie ich mein if einrichten würde,
Die Funktionsweise von if besteht darin, dass ausgewertet wird, was im If-Bedingungsfeld enthalten ist.
Wenn es wahr ist, wenn es eins ergibt, fahren Sie fort.
Wenn das Ergebnis Null ist, hören Sie auf.
Was ich sagen kann ist, wenn... Ich brauche das wenn da nicht,
Ich gehe davon aus, dass die zufällige Gleichmäßigkeit weniger als 0,9 beträgt.
Wenn das wahr ist, wird die Kette fortgesetzt, andernfalls hört sie dort auf.
Das ist es.
So einfach ist es, diese if-Anweisung einzufügen.
Auch dies möchte ich wahrscheinlich noch einmal kennzeichnen.
Also, ob der Wechsel ein Erfolg ist oder so etwas in der Art.
An dieser Stelle besteht der einzige Nachteil darin, was passieren würde, wenn der Schalter fehlschlägt.
Nun, der Wechsel ist fehlgeschlagen. Es muss warten, bis die Hauptverbindung wieder online ist.
Main kommt wieder online und versucht, mein Backup auszuschalten.
Es schadet nicht, zu versuchen, etwas auszuschalten, das bereits ausgeschaltet ist.
Aber das, was ich vielleicht nicht tun möchte
ist, dass ich die Wartung möglicherweise nicht durchführen möchte, wenn das Backup nicht verwendet wird.
In einem späteren Beispiel werden wir sehen, wie wir das umgehen können.
Wie kann ich in das System schauen und feststellen, ob das Backup ausgeführt wird?
Wenn es nicht läuft, ja, führen Sie die Wartung durch.
Wenn es läuft, benötigen Sie keine Wartung.
Kommen wir zum nächsten Beispiel.
In diesem Fall habe ich zwei parallel arbeitende Pumpen mit vorbeugender Wartung
wird alle zwei Wochen durchgeführt und dauert acht Stunden.
Die Ministerpräsidenten sind um eine Woche versetzt, um zu verhindern, dass beide Pumpen ausfallen
gleichzeitig.
Fällt eine Pumpe aus, 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 Grundgerüst.
Hier sind meine Pumpen mit den Pumpenausfällen und -austausch.
Wie richte ich die Wartezeit eine Woche ein, bevor Sie mit den PMs beginnen?
Wie im letzten Beispiel beginne ich mit der Initialisierung.
Was ich sagen werde, ist, eine Woche zu warten.
Wie soll ich sagen, eine Woche warten?
Nun, ich werde die Zeitplanaktion verwenden.
Ich werde das tun, was ich in der Vergangenheit getan habe.
Wir richten den Zeitplan ein und löschen meine Verbindung.
Ich habe eine Reihe verschiedener Optionen mit Zeitplan.
Ich möchte nur, dass das einmal passiert. Ich möchte, dass es ganz am Anfang passiert
es ist also mit meinem Initialisierungsereignis verbunden.
Wir nennen das eine Woche warten.
Ich möchte nur, dass das einmal passiert.
Ich möchte, dass es 168 Stunden dauert.
Das liegt daran, dass ich meine Simulation in wenigen Stunden eingerichtet habe.
Das bedeutet, dass beim Start eine Woche gewartet wird
und führt dann die Aktion aus, mit der ich mich hier verbinde.
Mit welcher Aktion werde ich eine Verbindung herstellen?
Nun, ich werde wieder den Zeitplan verwenden.
Das wird PM an Pumpe 2 sein.
Ich lasse mein maximales Vorkommen leer.
Dies geschieht also 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.
Diese Operation bietet verschiedene Möglichkeiten, dies zu tun.
Wir gehen davon aus, dass es PM ist [unverständlich 00:37:03].
Wir sagen also „Durch Neu ersetzen“.
Ich kann hier sagen, Pumpe B austauschen.
Nun, eines der Dinge, die Sie vielleicht denken, ist das
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 ausbauen
zur vorbeugenden Wartung.
Tun Sie das und nehmen Sie das System herunter. Was wir verwenden werden, ist, dass wir gehen
um eine versteckte Variable namens Simulationskontext zu verwenden.
Der Simulationskontext ist die Art und Weise, wie ich in mein System hineinschauen kann.
Was wir tun werden, ist, den Simulationskontext zu setzen,
Wir werden es zwischen meiner geplanten und meiner tatsächlichen vorbeugenden Wartung einordnen.
Lass uns das machen.
Lassen Sie uns das loswerden und wir werden es mit einem If umsetzen.
Lassen Sie mich eine Verbindung herstellen und wir nennen dies: Wenn Pumpe A funktioniert,
Nun stellt sich die Frage: Wie erkenne ich, ob Pumpe A funktioniert?
Nun, in meiner if-Bedingung muss ich die versteckte Variable angeben
das hängt mit der Pumpe A zusammen ... Ob es aktiv ist oder nicht.
Ich würde das im Simulationskontext tun
Und der Fall spielt keine Rolle.
Simulationskontext und die Variablen,
Die Systemvariablen werden als assoziiertes Array gespeichert.
Dies wird als Status von Pumpe A bezeichnet.
Was ich nun herausgefunden habe, ist Folgendes:
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, kopiere es und füge es dann ein
in dieses Fenster.
Aber das ist relativ klein und wir machen einfach weiter und tippen weiter.
Wir werden sagen, dass dies aktiv ist.
Das würde ich verwenden.
Woher wusste ich nun, dass ich das verwenden muss?
Nun, wie sich herausstellt, ist dies ein Zustand und ein bisschen
Wenn wir später über das Stress-Sharing sprechen,
das funktioniert wie ein Skript.
Was ich kann und was ich schon oft getan habe
in eine Druckabrechnung aufgenommen wird, woher weiß ich, was mir zur Verfügung steht?
Lassen Sie uns dort eine Druckerklärung einfügen
und wir sagen Drucksimulationskontext, okay.
Das Einzige, dessen wir uns sicher sein müssen
ist die if-Anweisung, die letzte Anweisung in dieser if-Bedingung, die das Wahre auswertet.
Nur um dir zu zeigen, was passiert
Wenn ich das mache, lasst uns das einfach ausführen.
Ich werde das nur durchführen, um Ihnen eine Vorstellung zu geben
davon, was im Protokoll gedruckt wird.
Lass mich weitermachen und mir meinen Baumstamm schnappen, und schon liegt er auf einem meiner anderen …
Los geht's, da ist mein Protokoll
und es geht los.
Dies ist, was im Protokoll gedruckt wurde.
Dadurch erhalte ich Informationen zu allen verfügbaren Variablen
im Simulationskontext für dieses bestimmte Diagramm.
Wenn ich dort mehr Blöcke eingefügt hätte, mehr Aktionen, mehr Ereignisse
dann würden diese auftauchen, und Informationen darüber würden auch auftauchen.
Aber das ist eine gute Möglichkeit, es zu sagen
Was befindet sich in meinem System und auf welche Variablen habe ich Zugriff?
Hier ist es wichtig, sich daran zu erinnern
Ich kann dies lesen, aber ich kann nicht auf diese bestimmte Variable zurückschreiben.
Ich habe nicht die Möglichkeit, Dinge in meiner Simulation zu ändern.
aber ich kann diese Informationen gebrauchen.
Zurück zu unserem letzten Beispiel, was ich hätte tun können
Hätte ich dort eine if-Anweisung einfügen können?
und sagte, wenn mein Backup aktiv wäre,
Na dann dreh es leiser und führe die Wartung durch.
Okay.
Aus Zeitgründen werde ich jetzt weitermachen
Zu meinen letzten Informationen, die ich mit Ihnen teilen möchte.
Übrigens werde ich ein Tagebuch zur Verfügung haben,
sollte einen Aufsatz zur Verfügung haben,
Ich werde weitere Beispiele nennen, für deren Behandlung ich keine Zeit hatte.
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.
Das benutzerdefinierte Stress-Sharing ist insofern etwas ungewöhnlich, als standardmäßig
Stress wird gleichmäßig auf die Untereinheiten verteilt.
Dies wird durch die Änderung der Alterung dieses Blocks implementiert
und die Verteilung nicht explizit ändern.
Wenn ich keinen Stressausgleich habe, sagen wir, ich habe n Untereinheiten parallel,
Nehmen wir an, das erste System schlägt zum ersten Mal fehl, das zweite zum zweiten Mal und so weiter.
Mit Stress-Sharing, der Art und Weise, wie ich den Block altere
ist, dass der erste Fehler bei t mal n auftritt,
mal die Anzahl der Arbeitseinheiten.
Der zweite Schritt lässt den Block um weitere n minus eins altern
mal so groß wie der Unterschied zwischen meinem ersten und zweiten Misserfolg.
Das dritte ist n minus das Zweifache der Differenz zwischen
der dritte, zweite Fehler und so weiter.
Dadurch altern die Blöcke.
Dies sind die Informationen, die an diese benutzerdefinierte Funktion übergeben werden.
Wenn ich versuche, dies in mein Stress-Sharing einzubauen,
Okay, lassen Sie mich dieses letzte Beispiel mit Ihnen teilen, wie dies eingerichtet ist.
Lassen Sie mich mein Beispiel finden.
Okay, hier habe ich drei verschiedene Stressverteilungen.
Es gibt mein grundlegendes Stress-Sharing, also habe ich es 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 so, dass die Alterung des Blocks übereinstimmt
mit den Verteilungen, die ich für meinen benutzerdefinierten Stress-Sharing-Block verwenden kann.
Ich denke über die Dinge im Sinne meiner Erklärung nach
dass die erste Einheit mit einem Multiplikator multipliziert mit der Zeit altert,
der zweite mit einem Multiplikator multipliziert die Differenz zwischen
mein erstes und zweites Mal, dass ich gescheitert bin, und so weiter.So denke ich
über all diese Dinge.Nehmen wir zum Beispiel an, ich wollte Folgendes einrichten:
Nun, bevor ich dorthin gehe, möchte ich kurz sagen:
Wie beim if-Block kann ich hier print-Anweisungen einfügen.
Wenn ich hier eine Druckerklärung 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 hat der Block 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 wollte dies als benutzerdefinierten Fehler einrichten, bei dem der Block vorhanden ist
altert um das Zehnfache, nicht um das Fünffache, sondern um das Zehnfache,
der zweite wird mit fünf Jahren alt, der dritte mit drei.
Der zweite altert um eins,
und der letzte ist überlastet und altert doppelt so schnell.
Was ich tun könnte, ist,
Nochmals, lasst uns das hier einfügen.
Lassen Sie mich etwas Platz hinzufügen
und meine Box etwas größer machen.
Ich könnte so etwas sagen wie:
Noch einmal, ich möchte dieses Protokoll ablegen, dieses Protokoll muss da drin sein,
log und ich würde so etwas wie „Wählen“ sagen.
Was wählt basierend auf n aus, es wird zurückgegeben,
Mal sehen, wenn es eine Einheit gibt, möchte ich, dass sie eine Hälfte zurückgibt, 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 Wichtigste hier
ist, dass dies alles in diese Protokollfunktion eingebettet wird, so dass die Alterung erfolgt
des Blocks und die Verteilungen können übereinstimmen.
Okay, leider ist das alles, worauf ich heute eingehen kann.
Ich wünschte, ich hätte mehr Zeit. Es gibt sicherlich eine Menge
von anderen Dingen, über die wir reden könnten.
Diese befinden sich in den Materialien, die ich für Sie bereitgestellt habe.
und ich würde gerne Ihr Feedback hören
und Fragen und Kommentare, die Sie haben.
Nochmals vielen Dank, dass Sie sich die Zeit genommen haben. Schau dir das an.
Ich hoffe, das ist wirklich nützlich. Danke.