Autor
|
Thema: BEs in Abhängigkeit der Vorgängerstation beim Umladen priorisieren (1407 mal gelesen)
|
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 20. Jan. 2017 08:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich habe zwei Vorgänger für eine Station(MP_12). Wenn ein BE auf Vorgänger X (ZweiRunden) liegt, möchte ich, dass zwei BEs von Vorgänger X genommen werden und nicht von Vorgänger Y (Quelle). Eigentlich hatte ich vor, eine Methode für die Ausgangssteuerung der Quelle zu programmieren. Code: if ZweiRunden.Leer = true @.umlagern else if ZweiRunden.Leer = false waituntil ZweiRunden.Leer = true @.umlagern end end
Das Problem ist, dass er die Methode zwar durchläuft, aber irgendwann die ganze Linie voll läuft, da kein Ereignis mehr stattfindet. Der Zustand von ZweiRunden.Leer = false ändert sich nicht mehr zu true! Kann mir eine Flusssteuerung weiterhelfen? [Diese Nachricht wurde von JackCarver am 20. Jan. 2017 editiert.]
[Diese Nachricht wurde von JackCarver am 20. Jan. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 20. Jan. 2017 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für JackCarver
Hallo JackCarver, Zitat: Kann mir eine Flusssteuerung weiterhelfen?
ja, eine Flusssteuerung hilft. Mit Priorisieren von Eingang der Station wird immer von dieser Station umgelagert, falls diese Station umlagern wird. vg Nadin
------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 20. Jan. 2017 13:40 <-- editieren / zitieren --> Unities abgeben:
|
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 20. Jan. 2017 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für JackCarver
Zitat: Weißt du zufällig auch, wie man in einem Modell die Ordnung der eingelasteten Aufträge beibehalten kann?
Verstehe ich leider nicht. Ein Beispiel was du brauchst wäre gut. ------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 20. Jan. 2017 14:17 <-- editieren / zitieren --> Unities abgeben:
Ich hoffe, ich bekomme es verständlich hin. Es geht darum, dass es für jedes Produkt mit dem Namen LagergehäuseUT, LagergehäuseOT, LagerdeckelUT etc. (siehe Bild) immer nur ein BE gibt. Das BE LagergehäuseUT muss also z.B. zwei Runden drehen, um eine Auftragslosgröße von zwei zu erfüllen. Ich habe mir folgendes überlegt Die Quelle soll ein Produkt in die Linie einschleusen, wenn ein Produkt ausgeschleust wurde. Und zwar muss es auf diesem Lösungsweg das selbe Produkt sein! Folglich: LagergehäuseUT wird in der Senke ausgeschleust, also wird LagergehäuseUT in der Quelle eingeschleust. Gibt es da eine Methode zu? Erschwerend hinzu kommt, dass ich tlw. Produkte zur Nacharbeit eine zweite Runde drehen lassen muss. Heißt, dass meine Reihenfolge der Produkte an der Senke nicht mehr der aus meiner Tabelle übereinstimmt. Folglich: LagergehäuseUT wird in der Senke ausgeschleust, aber es wird irgendetwas anderes in der Quelle eingeschleust. Meine Methode für die Ausgangssteuerung der Quelle sieht so aus: Code: if Senke.statAnzahlAus >= 1 -- Zunächst soll die Linie gefüllt werden, ohne die Bedingung würde die Simulation nicht anlaufen waituntil QuelleModellplatte.statAnzahlAus = Senke.statAnzahlAus prio 1 @.umlagern -- die waituntil Bedingung besagt, dass erst wenn ein Modell "ausgeschleust" wurde, ein neues eingeschleust wird else if Senke.statAnzahlAus=0 @.umlagern end end
Bei dieser Methode habe ich auch das Problem, dass zwar zunächst die Linie vollläuft, sobald aber die erste if-Bedingung greift, er natürlich jedes Mal wartet, bis ein Produkt die Senke verlässt. Das kommt aber nicht häufig vor, daher läuft meine Linie leer (Was nicht der Wirklichkeit entspricht) Ich weiß, es ist ein sehr komplexes Problem. Ich hoffe du kannst mir helfen [Diese Nachricht wurde von JackCarver am 20. Jan. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 20. Jan. 2017 14:25 <-- editieren / zitieren --> Unities abgeben:
|
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 20. Jan. 2017 18:15 <-- editieren / zitieren --> Unities abgeben: Nur für JackCarver
Zitat: LagergehäuseUT wird in der Senke ausgeschleust, also wird LagergehäuseUT in der Quelle eingeschleust.
wozu dann Senke, wenn die Kante zur Flusssteuerung setzbar ist. Also von Ansatz keine Senke, sondern dieses Teil neu in das System mit einer Kante umleiten. Was wäre an diesem Ansatz falsch? Vg Nadin ------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 23. Jan. 2017 09:59 <-- editieren / zitieren --> Unities abgeben:
|
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 23. Jan. 2017 10:04 <-- editieren / zitieren --> Unities abgeben:
Ahhh habs schon! Du hast Recht :-) Manchmal sieht man den Wald vor lauter Bäumen nicht. Vielleicht hast du hier auch noch eine Antwort drauf: Wie kann ich es schaffen, dass Unterteil und Oberteil (UT und OT) immer zusammen durch die Linie geschleust werden? Die Sequenz soll also eingehalten werden. Vielen Dank für eine Antwort! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 23. Jan. 2017 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für JackCarver
Zitat: Ja von der Sache her richtig, allerdings benötige ich doch immer eine Quelle - Senke Beziehung, um die Simulation laufen lassen zu können?
Quelle und Senke sind Abbilder. Es sind Schnittstellen zwischen den untersuchten Bereich und Rest der Welt. Alles was an Material den untersuchten Bereich verlässt KANN mit Senke und Quelle abgebildet werden. Senke wird verwendet, damit das System nicht voll läuft. Das Volllaufen kann verhindert werden, indem in Quelle Anzahl Teile einstellt wird. Das Zählen der Ausgänge-BE an der Maschine "EineRunde" repräsentiert dann eine Senke. Dies entspricht ja der Logik: wenn TeilA raus, dann auch TeilA rein. vg nadin
------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 23. Jan. 2017 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für JackCarver
Zitat: Wie kann ich es schaffen, dass Unterteil und Oberteil (UT und OT) immer zusammen durch die Linie geschleust werden?
ohne programmieren mit Montage-Flusssteuerung-Demontage. Werkstückträger packen. An der Flusssteuerung die Entscheidung wohin umgelagert werden soll. Dann wieder von Werkstück nehmen. mit programmieren. Dein Leader laut Liste ist UT also von Logik her, falls immer UT vor OT (sonst einwenig komplizierter): wenn UT exit dann merke in Variable=1. wenn OT und Variable=1 dann Ausgang 1 wenn UT NOT exit dann merke in Variable=2. wenn OT und Variable=0 dann Ausgang 1
------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 24. Jan. 2017 12:03 <-- editieren / zitieren --> Unities abgeben:
Hi Nadin, leider komme ich nicht weiter. An MP_12 lasse ich mir gerade die Reihenfolge auslesen. Zunächst ist diese noch der Realität entsprechend. Aber im Laufe der Simulationszeit wird es unrealistisch, da die Sequenz zu 0,0 eingehalten wird. Könntest du mir noch weitere Ausführungen geben, wie du die Methode schreiben würdest und wo du sie einsetzt? Vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 24. Jan. 2017 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für JackCarver
Hallo, was hast du jetzt wie umgesetzt? ------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JackCarver Mitglied Student
Beiträge: 33 Registriert: 20.01.2017
|
erstellt am: 25. Jan. 2017 12:25 <-- editieren / zitieren --> Unities abgeben:
|