Autor
|
Thema: Be-Attribute werden zufällig verändert (889 mal gelesen)
|
Alecs Mitglied
Beiträge: 17 Registriert: 22.06.2005
|
erstellt am: 04. Jul. 2005 21:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich erzeuge an mehreren Quellen BEs denen ich per Ausgangssteuerung ein selbstdefiniertes Ziel (über Attribute, bsp: Platz := 5) mitgebe. Diese Ziele kommen aus einer Warteschlange, die von den Zielen selbst wieder aufgefüllt wird (wenn Ziel "1" fertig ist schreibt es die 1 in die Warteschlange und "ruft" damit ein neues BE). Die Quellen warten die meiste Zeit darauf, dass in diese Warteschlange etwas reingeschrieben wird. Jetzt wird nach einigen Sekunden bei manchen BEs das Attribut "ziel" verändert, und zwar jeweils auf den Wert, der als nächstes in der Warteschlange steht, und zwar ohne, dass eine Methode darauf zugreifen würde. Dadurch erreicht das BE nicht mehr das eigentliche Ziel, dieses Ziel kann dadurch nicht mehr "fertig melden" und ist fortan "tot". Kann mir jemand sagen, wie Attribute verändert werden können ohne das eine Methode aktiv wird? (ich bin so verzweifelt, dass ich mitlerweile sogar an einen Bug glaube :-)). Und hat event. jemand eine Idee, wie ich eine solche Zielsteuerung auf anderem Wege realisieren kann? Danke im voraus, Alec.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 04. Jul. 2005 22:44 <-- editieren / zitieren -->
Hi, es gibt schon Möglichkeiten Attribute ohne Methoden zu verändern z.B. bei den Lieferlisten der Quellen. Wobei das mit dem plötzlichen Verändern der Attribute glaube ich nicht so ganz. Mach mal folgendes: Gib mal dem Attribut einen neuen Namen z.B. Ziel1. Überall dort, wo auf das (alte) Attribut Ziel zugegriffen wurde wird jetzt eine Fehlermeldung kommen. Du kannst nun sukzessive die Attribute (in den Methoden) auf Ziel1 umbenennen und so herausfinden, wo ueberall auf das entsprechende Attribut zugegriffen wurde. 2. Was Du da nachbildest ist ja so einer Art Kanban-Steuerung. Das kannst Du auch mit einer Montage & Demontagestation modellieren. Die vorgelagerte Montagestation wartet dann immer auf ein (demontiertes) Teil der nachgelagerten Demontagestation (s. Anhang) Achtung zu Anfang muss bereits ein Teil auf der Einzelstations liegen! Gruss
------------------ DER SIMULATOR |
Alecs Mitglied
Beiträge: 17 Registriert: 22.06.2005
|
erstellt am: 05. Jul. 2005 09:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Simulator, viele Dank für die nächtliche Antwort. Leider hat es nicht so ganz geklappt, es wird wirklich nur in den Methoden auf das Attribut zugegriffen, die ich schon kannte. Ich habe das Problem jetzt -so glaube ich- etwas weiter eingegrenzt: Die Stelle, an der das Ziel zugewiesen wird ist eine Ausgangssteuerung. In dieser Steuerung kann aus vielerlei Gründen das Element pausiert werden: z.B. weil der Nachfolger belegt ist, weil kein Ziel vorhanden ist oder weil die maximale Zahl an zulässigen BEs im System ist. Der Ablauf ist -1 Ziel zuweisen -2 if Bedingung(was auch immer) then ?.pausieren waituntil Bedingung aufgehoben ?.entpausieren end -3 @.umlagern Sobald jedoch das ? entpausiert wird, wird die Ausgangssteuerung erneut gestartet, und das Teil, welches eigentlich schon ein Ziel bekommen hat, bekommt zum zweiten Mal ein Ziel. Das ist was ich im Moment glaube, was passiert. Jetzt überlege ich, wie ich ein Ziel zuweisen kann und dabei sichergehen, dass nicht pausiert werden muss. Er muss aber zumindest ab und an warten, bis ein Ziel vorhanden ist, ganz ohne pausieren geht es also nicht. Hast du vielleicht noch einen Hinweis für mich?! Danke, Alec. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alecs Mitglied
Beiträge: 17 Registriert: 22.06.2005
|
erstellt am: 05. Jul. 2005 10:26 <-- editieren / zitieren --> Unities abgeben:
Alles klar, Gefahr erkannt, Gefahr gebannt: Es ist tatsächlich so, dass ein aus der Ausgangssteuerung einer pausierten Materialflusseinheit stehendes BE beim Entpausieren die Ausgangssteuerung ein zweites Mal aktiviert. Ich habe jetzt nicht mehr den Baustein pausiert sondern seinen Ausgang gesperrt. Jetzt klappts. Grüße, Alex. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|