|
Autor
|
Thema: Mengen- und instandhaltungsabhängige Störung (1391 mal gelesen)
|
mistercoolios Mitglied Student
 Beiträge: 7 Registriert: 23.12.2012
|
erstellt am: 28. Dez. 2012 15:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte, dass die Störwahrscheinlichkeit einer Einzelstation abhängig von der produzierten Menge ist. In der StörMethode soll sie so definiert werden, dass sie für jedes produzierte Teil z.B. um 1 Prozentpunkt steigt. Ist das grundsätzlich machbar und wenn ja, wie? Außerdem soll die Einzelstation dann so lange gestört bleiben, bis eine Instandhaltungseinheit frei geworden ist. Dazu habe ich die Variable "Instandeinheit" mit dem Typ integer eingeführt, wobei ihre Anzahl z.B. auf 2 begrenzt werden soll und sie für mehrere Einzelstationen zuständig sein sollen. Die InstandMethode soll von der StörMethode aufgerufen werden und der Quellcode könnte so aussehen: is do waituntil Instandeinheit > 0 prio 1; Instandeinheit := Instandeinheit - 1; --die gestörte Einzelstation, die diese Methode aufgerufen hat, soll z.B. noch 600 Sekunden gestört bleiben, was also der Instandsetzungszeit entspricht. Geht das mit --"Einzelstation.stören(60)" und weiß die Methode dann, dass damit die Einzelstation gemeint ist, die diese Methode aufgerufen hat? Bei BEs gibt es das @-Zeichen --Störwahrscheinlichkeit wieder auf 0 setzen waituntil Einzelstation.bereit prio 1; --denn die Instandhaltungseinheit steht erst dann wieder zur Verfügung, aber eventuell gleiches Problem wie oben Instandeinheit := Instandeinheit + 1; end; [Diese Nachricht wurde von mistercoolios am 28. Dez. 2012 editiert.] [Diese Nachricht wurde von mistercoolios am 28. Dez. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mistercoolios Mitglied Student
 Beiträge: 7 Registriert: 23.12.2012
|
erstellt am: 29. Dez. 2012 18:08 <-- editieren / zitieren --> Unities abgeben:         
Da ich nicht weiß, wie das mit der zunehmenden Störwahrscheinlichkeit geht, habe ich angenommen, dass meine Einzelstation definitiv nach 4 gefertigten Teilen ausfällt. Dazu habe ich folgenden Quellcode in der Ausgangssteuerung der Einzelstation geschrieben und die problematischen Zeilen hervorgehoben: Code: is Instandanfang:time; do Einzelstation.inhalt.umlagern(Vertrieb); Anzahl_nach_Störung := Anzahl_nach_Störung + 1; if Anzahl_nach_Störung = 4 then --Anzahl der gefertigten Teile seit der letzten Störung gleich 4 ZuEi2 := "gestört"; --nach 4 Teilen Einzelstation gestört waituntil Instandeinheit >= 1 prio 1; --warten bis Instandhaltung möglich ist Instandeinheit := Instandeinheit - 1; --eine Instandhaltungseinheit ist nun beschäftigt Instandanfang := ereignisverwalter.zeit; waituntil ereignisverwalter.zeit = Instandanfang + Instandzeit prio 1; --Instandzeit wurde als 10 Minuten --festgesetzt, aber hier tritt das Problem auf, dass nicht wieder auf lauffähig gesetzt wird, wieso? ZuEi2 := "lauffähig"; Instandeinheit := Instandeinheit + 1; end; ZuEi1 := "leer"; end;
Wenn zusätlich zu diesem Problem jemand noch schreiben könnte, wie das mit der mengenabhängigen Störwahrscheinlichkeit aus meiner 1. Nachricht funktioniert, wäre ich sehr dankbar. [Diese Nachricht wurde von mistercoolios am 29. Dez. 2012 editiert.] [Diese Nachricht wurde von mistercoolios am 29. Dez. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Innovation Engineer (befristet für 1 Jahr als Elternzeitvertretung) | HARTING steht für starke Verbindungen - rund um die Welt. Als einer der international führenden Anbieter industrieller Verbindungstechnik verbinden wir Kunden mit ihrer digitalen Zukunft. Und als Arbeitgeber? Verbinden wir rund 6.000 Menschen am Stammsitz Espelkamp und an Standorten weltweit. Mit tollen Mitarbeitenden, immer neuen Möglichkeiten und Innovationen rund um IoT und künstliche Intelligenz.... | | Anzeige ansehen | Elektrotechnik, Elektronik |
|
Bon Simul Mitglied Simulant
   
 Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 29. Dez. 2012 21:23 <-- editieren / zitieren --> Unities abgeben:          Nur für mistercoolios
Zitat:
ich möchte, dass die Störwahrscheinlichkeit einer Einzelstation abhängig von der produzierten Menge ist.
Dazu brauchen Sie keine Programmierung. Fügen Sie eine Störung ein, Arbeitszeitbezogen --> je mehr Sie Bearbeitungen auf der Maschine haben, desto mehr Störungen haben Sie. Störungen definiert man in Plant Simulation mit Hilfe von Verfügbarkeit, MTTR und MTBF siehe Hilfe. Zitat:
Außerdem soll die Einzelstation dann so lange gestört bleiben, bis eine Instandhaltungseinheit frei geworden ist.
Kein Problem: Dazu gibt es in Plant Simulation den Werker, oder wenn Sie es etwas abstrakter haben wollen den Exporter. Er stellt entsprechende Dienste zur Verfügung (siehe Hilfe Störimporter, Broker, Werker, Exporter). zu Ihren Methoden:
Code:
Einzelstation.stören(600);
Die Prinzipielle Syntax ist
Code:
objekt.methode/eigenschaft
Das Objekt können Sie absolut (.Modelle.Netzwerk.Einzelstation) oder relativ adressieren (ausgehend vom Standort der Methode). Nach 600 Sekunden wird die Störung automatisch wieder beendet.
Code:
waituntil ereignisverwalter.zeit = Instandanfang + Instandzeit prio 1;
Verwenden Sie hier besser >= falls Sie den Zeitpunkt nicht exakt erreichen:
Code:
waituntil ereignisverwalter.zeit >= (Instandanfang + Instandzeit) prio 1;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |